The TouCans keyer works much better than it ever has in the past, (apologies if you were on the receiving end of a key down lockup), and it's all due to connections I made while unschooling with the 14, 12, and 10 year old gang of kids here. This story stars when they were 9, 7, and 5 years-old, so strap in :)
I've probably written about this before, but here's the rough chain of connections
- The, then, five year old, known as Tawnse here, and I attend a design exhibit at SFMOMA where
- She and I find a Foldscope, a simple origami-inspired microscope that's pretty fun, and pretty cheap
- Tawnse develops an interest in microscopy
- The gang and I join the San Francisco Microscopy Society
- The Society is working on archiving their old documents. Daize, (aka K06BTY), and I are working on a book about Mike Gladych where we've accumulated a lot of documents.
- We attend their archivist committee meeting. I read the list of committee members, and there's a name I recognize, Simon Willison
- Sure enough, Simon is one of the original creators of the Django web framework, a tool I've been using for years
- We meet Simon, learn about his blog, learn about his current project Datasette and start attending his office hours from time to time, (Anyway.)
- Meanwhile, we develop an entire ham radio QSO and F2 ionospheric mapping suite using Datasette as the main data analysis engine
That brings us to the Interconnected blog by Matt Webb, a place Simon's blog frequently references. I enjoy Matt's blog both because of his writing style and subject matter. He writes about things I'm generally interested in—LLM enabled programming for example—in broad strokes that make me aware of things that I wouldn't have found out about otherwise.
And that... That brings us to WebSocket!!! WebSocket is not HTTP, it's not designed to send your credit card information and its not designed to bring you lengthy web pages with gorgeous high-res pictures. It is designed for Web based interactive video games. Applications where lots of small, fairly important messages need to make near real time transits from user to machine and back to user. Matt uses them to facilitate in post-cursors for his blog. If you're reading the same page as someone else, you may see their cursor scooching around the screen. It gives the blog a sense of ambient co-presence.
In previous iterations of the Project TouCans remote Morse code keyer, the code has measured the amount of time the key was pressed down as well as the amount of time the key was released between presses. Once the user felt they had worked through enough characters, they could click 'Send', sending the stream of time intervals to the Pico-W controller on the ham radio rig. The rig would then duplicate the stream of key up and down times. The scheme worked, but there were large delays between starting a message and it being transmitted over the antenna. Speaking of waterfalls and remote keyers, here's a demo of the buffering method.
You can hear me using a Tuna Salad Sender key to bang out code locally which is sampled on a laptop via a Halikey, (the Halikey plugs into the Tuna Salad Sender via a stereo plug and provides a USB-C output that communicates key ups and downs to a computer.) When I hit the send button on my remote key app, the key timings are sent to Project TouCans via a WiFi enabled Pico-W on the rig. The Pico-W then plays my key taps into the manual keyer on the rigs Rockmite. It works well, but there's a lot of delay.
With the WebSocket protocol, the code simply sends on and off messages. The protocol is fast enough to not need buffering!
What you send is what you get... almost immediately.
So, if I hadn't known Tawnse, who was interested in microscopes, I wouldn't have met Simon, and read Matt's blog. I probably wouldn't have ever seen WebSocket, and Project TouCans wouldn't have been as cool :)
Hopefully, in a few months, we'll be selling PT Tender Senders. Keep watching here for more announcements!
Comments
Post a Comment
Please leave your comments on this topic: