Beer/Soda Can Insulator, 3D Printed and Customizable

This project started out as a parameterized cross-hatched mesh cup of the right size to hold a soda can, for practice with the OpenSCAD software. A set of spiral arms is extruded from the base with a twist, and a second set of spiral arms with opposite twist overlaps the first set. I also put a hole in the bottom so the can could be pushed out from the bottom. It was a printer torture test, having to put millions of tiny dollops of plastic layer upon layer, but it came out satisfying. With a 67 mm inside diameter, it holds a can loosely.

Original Simple Mesh Can Holder

With a cold can inside, it felt nearly as cold as the plain can. I supposed it might as well also insulate the can like a cool version of one of those thick foam things, so that it might actually have some value. I added solid walls and ribs inside. The ribs reinforce the wall, which can comfortably be just 1 mm thick. The ribs also keep the walls from touching the can to form an insulating air gap with restricted air circulation. I retained the decorative cross-hatch texture on the outside, although it also lends some additional strength.

Walled Can Insulators

I used the Cura slicing software to convert the STL file to G-Code for printing with a layer height of 0.2 mm. On the print shown above on the right, the bottom curled up from the bed a little because my nozzle was a hair too high. I had also reduced the inside diameter to 66.5 mm and found the fit to be ideally snug. This goes to show how close the tolerance is; only 0.5 mm makes the difference between quite loose and quite snug.

I noticed that if the wall is widened to 1.5 mm thick, and Cura is told to slice with a single wall outline (Wall Line Count = 1), then the wall becomes two very thin concentric shells with sparse infill between them. That amounts to a second air layer for even better insulating properties. The blue print shown above has was made this way.

Finally, I thought the bottom of the can was begging for some text to be engraved on it, so I implemented a radial text module for OpenSCAD. OpenSCAD is currently weak in this area, as there is no way to query font metrics, so it’s impossible to find the widths of individual characters as needed to space them out proportionally. The first result using a naïve constant rotation angle approach looked terrible — characters like i and W very much need significantly different spacing.

I found a third party library developed by Alexander Pruss in 2018. It’s basically a giant table of font metric data that can be imported into OpenSCAD and some functions to look up detailed information on individual characters. To this library I added an extra function that gets the horizontal character offsets of each character in a line of text all in one go, which is far more efficient than retrieving the information one character at a time.

Radial Text on Bottom of Can Insulator

I printed the can insulator above with text engraved 2/3 of the way through the bottom. That was fine, but then I wondered about engraving the text all the way through. The problem is that certain glyphs contain holes where the center of the holes would be detached so they would fall out if printed. I was able to solve this problem by skewering those characters with vertical lines down the middle, and incorporated that feature into my radial text module. Some of the characters in question are “ABDOPQRabdegopq”, but I tried to include support for the Extended Latin code set. The percent sign (%) is an outlier. Here is a partial print I used to test radial printing with hole support.

The code for printing radial text is available in this repository:
and consists of

This can insulator is extensively parameterized with ~19 settings. Not only can the dimensions of different cans be accommodated, but details about the borders and texture can be tuned, as can the radial label text, font face and font size. When using OpenSCAD to open the file, be sure to check out the customizer window.

This object is available on Thingiverse here:
including all three of the needed .scad files and the rendered STL for a standard U.S. 12 oz (355 ml) soda can.

COVID Trends for Santa Clara County, CA

Automated graph of COVID cases and deaths for Santa Clara County, California, USA

The graph below is automatically updated daily with unmodified data obtained directly from the County of Santa Clara’s data site. The plot overlays the cases and deaths, and doesn’t censor the final week which is understood to have data that may still be changing.

Click on the image for larger view.

Cryptogram Helper

Whether you like doing daily cryptograms from the local newspaper or creating your own, you may find Cryptogram Helper interesting. Click below to try it out.

This utility will let you type in a cryptogram, or copy/paste it from another web page, and work on it easily without worrying about pencil and eraser.

If you give up, there is a Solve option that will work on most puzzles. But never give up!

Waiting For the Robert E Lee

This fun piece from 1912 was made popular by Al Jolson and other performers. It’s from the ragtime era (1900-1920) and is sometimes heard at ragtime festivals.

After seeing a version of this being played on a calliope, I found the original sheet music as published by F. A. Mills in 1912, and re-typeset it with just a few minor changes to improve the MIDI playback. The baritone sax is supposed to mimic a baritone, but falls short.

The recommended tempo is 120 to the quarter note (duration 3:07 if using all repeats).

Whitewash Man

One thing led to another and I discovered Whitewash Man, a 1908 ragtime piece by Jean Schwartz.

First I saw Neville Dickie performing miscellaneous pieces at the 2018 West Coast Ragtime Festival, and subsequently looked him up on YouTube, where I saw his 2009 performance of The Whitewash Man, with Hal Smith accompanying on drums. This is a truly joyful arrangement by Mr. Dickie that is in a higher register than the original with expert embellishments.

The Whitewash Man – as performed by Neville Dickie & Hal Smith

Of course I found and downloaded the sheet music, where the only version to be found was the original publication, which is rather simple and dry (although not entirely trivial to play). I played it a lot and kind of customized my rendition, but have since stopped playing it that way in favor of the Sutton version below. The plain original can be seen here on a digital player and is not too exciting:

The Whitewash Man by Jean Schwartz – Original Sheet Music

Further research turned up Ralph Sutton’s extremely jubilant performance, which was published on an album called Carolina in the Morning in January 1949. It can be heard below, and I managed to find a high quality FLAC audio file archived from a 78 record. Amazingly there were less than 90 views of this video in the past 5 years. Let’s fix that!

The Whitewash Man – as performed by Ralph Sutton

I wanted to be able to play this version, and decided to try transcribing it. I used the Transcribe! software, but soon gave up. The less-than-great audio quality and the complexity of the piece made it too hard to determine which notes were being played.

Around a year later, I ran across the AnthemScore software that claims to convert audio files into sheet music, and gave it a shot. Success! Although the music output by the program is a real mess, it gave innumerable insights into what the music might be, and then working with Transcribe! I was able to interpret and write down what I think is close to what Mr. Sutton played. This took entirely too much time.

Then I spent too much time learning to play it at speed. I will try to record my (poor) rendition of this at some point.

Mr. Sutton’s tempo is an extremely fast 120 to the quarter note (duration 2:50). During the course of detailed analysis at very slow speeds, I never ran across anything that could be definitively be called a “mistake”. If there were any, they were perfectly integrated into the performance and are part of the transcription.

Squirrel Toss

It’s near time for the 2019 West Coast Ragtime Festival. I felt motivated to compose another ragtime song. This one took a couple of weeks off and on, and plus a lot of minor edits ever since.

This piece tells a short story about squirrels. If I could draw, I’d add illustrations.

  • Farmer Bob is looking out his window and notices something
    • A squirrel is getting into the bird feeder
  • Bob constructs a slingshot trap
    1. Bicycle inner tube
    2. Colander
    3. Hair trigger
  • The squirrel is catapulted into the trees
  • Bob celebrates its funeral
    • …prematurely, as it turns out the squirrel just comes back for more
  • Bob confronts the squirrel, who bites him
    • He flings it onto the roof
      • He goes back inside, defeated

The recommended tempo is 84 to the quarter note (duration 2:25).

Sinky O

For the first time, I attended the 3-day West Coast Ragtime Festival (2018) in Rancho Cordova, near Sacramento, California. It was about time, as I’ve been playing ragtime since high school and thinking about the festival for several years.

I spent about 3 solid days writing Sinky O, an original ragtime piece. I hoped to perform it during one of the few “open piano” sessions at the festival, which I did, but only a couple people were present and I did a lot of messing up.

There are some rough edges in the piece. The ending is sudden and the minor section is a little limited and repetitive. I may work on it some more.

The name is a play on the term “cinquillo,” which is one of three Spanish rhythms along with the tresillo and habanera. Cinquillo denotes a particular rhythm consisting of: 8th, 16th, 8th, 16th, 8th. Jelly Roll Morton’s works were influenced by Spanish music; he added what he referred to as the “Spanish Tinge”. Some ragtimes (e.g. Solace) were written using habanera.

The recommended tempo is 200 to the 8th note (duration 3:00).

Merry Go Duet

If you have not yet seen the original post about my Merry Go transcription for player piano, please read about it here.

The transcription was initially organized in four voices in the Lilypond source file. This made it relatively easy to direct Lilypond to write out a couple extra scores for a single-piano duet version. The two treble voices can be played by Primo, and the two bass voices by Secondo. This shows the power of Lilypond for maintaining multiple renditions from a single source file.

The duet was still not immediately playable. A few chords had too many notes and needed minor tweaks. The last 3 measures needed an alternate playable version; I think I struck a reasonable compromise by having the players alternate the fast final runs, and by reducing the 3-octave run to 2-octave. And in this version, the final chord does not contain all eight C keys on the piano!

As of this writing, the duet has not been performed by two people. I did record myself playing Secondo and then played Primo over it, but there may remain some awkward overlaps with two players on one piano.

If you’d like to print the 6-page duet in book form, I would recommend printing page 4 as simplex, pages 1 and 5 as duplex, pages 2 and 6 as duplex, and page 3 as simplex. Then you’ll be able to have Secondo on the left facing Primo on the right, for 3 pairs of pages. The page numbering is designed with this scheme in mind.