Skip to main content

Moving the TouCans Cootie Keyer to WebSockets Also, The Interconnectedness of Unschooling

 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



So, sometimes reading his blog is like hanging out on the 20 meter band and watching a waterfall display. You know other people are there, and you could, concievably interact with them.

And that metaphor, as it turns out, isn't the only way the WebSocket protocol is exactly what a remote Morse code key needs. Such a key needs for the to click on, or click off as close as immediately after the user closes or opens a contact on the Morse code key on their desk, or in our case, on their phone screen.

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

Popular posts from this blog

The Valentine's Day Magnetic Monopole

There's an assymetry to the form of the two Maxwell's equations shown in picture 1.  While the divergence of the electric field is proportional to the electric charge density at a given point, the divergence of the magnetic field is equal to zero.  This is typically explained in the following way.  While we know that electrons, the fundamental electric charge carriers exist, evidence seems to indicate that magnetic monopoles, the particles that would carry magnetic 'charge', either don't exist, or, the energies required to create them are so high that they are exceedingly rare.  That doesn't stop us from looking for them though! Keeping with the theme of Fairbank[1] and his academic progeny over the semester break, today's post is about the discovery of a magnetic monopole candidate event by one of the Fairbank's graduate students, Blas Cabrera[2].  Cabrera was utilizing a loop type of magnetic monopole detector.  Its operation is in...

Cool Math Tricks: Deriving the Divergence, (Del or Nabla) into New (Cylindrical) Coordinate Systems

Now available as a Kindle ebook for 99 cents ! Get a spiffy ebook, and fund more physics The following is a pretty lengthy procedure, but converting the divergence, (nabla, del) operator between coordinate systems comes up pretty often. While there are tables for converting between common coordinate systems , there seem to be fewer explanations of the procedure for deriving the conversion, so here goes! What do we actually want? To convert the Cartesian nabla to the nabla for another coordinate system, say… cylindrical coordinates. What we’ll need: 1. The Cartesian Nabla: 2. A set of equations relating the Cartesian coordinates to cylindrical coordinates: 3. A set of equations relating the Cartesian basis vectors to the basis vectors of the new coordinate system: How to do it: Use the chain rule for differentiation to convert the derivatives with respect to the Cartesian variables to derivatives with respect to the cylindrical variables. The chain ...

More Cowbell! Record Production using Google Forms and Charts

First, the what : This article shows how to embed a new Google Form into any web page. To demonstrate ths, a chart and form that allow blog readers to control the recording levels of each instrument in Blue Oyster Cult's "(Don't Fear) The Reaper" is used. HTML code from the Google version of the form included on this page is shown and the parts that need to be modified are highlighted. Next, the why : Google recently released an e-mail form feature that allows users of Google Documents to create an e-mail a form that automatically places each user's input into an associated spreadsheet. As it turns out, with a little bit of work, the forms that are created by Google Docs can be embedded into any web page. Now, The Goods: Click on the instrument you want turned up, click the submit button and then refresh the page. Through the magic of Google Forms as soon as you click on submit and refresh this web page, the data chart will update immediately. Turn up the:...