So Google requires an Android app be updated to a later API version if it’s to be distributed. No version 33 for the Play Store! That means a few gigabytes of downloads for the updated Android Studio and Android v35 SDKs.
Unfortunately, this Android app is built in Ionic/Angular/Capacitor. So we have to update from Ionic 7 to Ionic 8, Angular 16 to Angular 18, and Capacitor 5 to Capacitor 6. But that means we can’t use Nodejs 16 anymore. Which means that the Docker container we use for building needs to upgraded from Ubuntu 18.04 to at least 20.04.
We haven’t even gotten to the obsoleted Capacitor plugins yet. @capacitor-community/barcode-scanner has been deprecated in favor of @capacitor-mlkit/barcode-scanning, and I’m sure there are others. I’m just hoping the APIs are at least reasonably similar.
Once again, my plaint is: why didn’t I become a plumber?
The annual Venice Mardi Gras parade was on the 25th (due to scheduling issues, that’s the midst of Lent this year!), so it was time to make a costume.
As the self-appointed official unofficial photographer, I always need to be able to wield one or more cameras, so my costumes tend to focus on some kind of headgear that won’t get in the way. Past costumes have included wild structures to hide a fill-in flash, wizard hats, a big papier-mâché fish, and the like. This year, since the theme is “Magical Mystery Trip,” I figured a variant on a top-hat would hint at magicianishness. A magical geometrical figure adds to the alchemical implications, so I put a Mardi Gras themed dodecahedron on it.
The top hat itself is made of cardboard. I started by measuring my head with a piece of string, cutting out a sheet from a delivery box (the corrugations pulled over the hard edge of the table to make it flexible), and creating a cylinder. Duct tape was used inside to hold it together. A top plug was hand-drawn, cut out, and hot-glued into place. Oh, so much hot glue. It’s great for imprecise work like this: it fills gaps, is adjustable for those vital few seconds, but hardens quickly into a pretty good secure bond. The brim was then drawn onto a sheet of chipboard, cut, positioned, and glued. After that, I cut the cylinder down to the curve with a razor blade, and taped in some padding with gaffer tape to help smooth that edge.
Then the hat part got put aside for a bit while the decoration was implemented. A dodecahedron is a geometric solid made of twelve pentagons. To add interest, I used Affinity Designer to illustrate a collection of pentagonal patterns based on fleurs-de-lis. You can download the design file as a PDF.
I took the file and a pack of acid-free chipboard to CrashSpace, and zapped out a bunch of pentagons on the trusty Epilog laser cutter. The chipboard comes in sheets that are 12 by 12 inches and “medium weight” which translates to 0.057 inches (~1.47mm) thick. Because the boards are not perfectly flat, the laser cutter doesn’t cut exactly the same across the entire sheet, meaning that some of the cut-out areas aren’t completely cut out.
In the vinyl- and paper-cutting crafts world, they refer to removing the cut-out portions from a design with the delightful term “weeding.” For most of the patterns, weeding just involves popping out the loosely connected portions. But there are places where I got poor through-cut. Also, the density of the chipboard is not very uniform, so some areas took a lot of cleanup with an X-Acto knife.
If I had been wiser, I would have recut these at a slightly slower speed to make sure there was complete cut-through.
Then, out came the hot-glue again, and the pentagons were assembled into a dodecahedron. You can kind of see in the lower left corner of picture below a temporary jig I made for positioning the pentagons into groups of three for rapid gluing. It’s not very precise, but fortunately it doesn’t need to be.
Next came painting. I have a set of metallic acrylic paints that were bought for last year’s Mardi Gras mask. In retrospect, I should not have bought them as the “metallic” effect is produced by tiny plastic flakes like glitter. Ugh. Micro-plastics. We’re all full of ’em, and it’s only getting worse. But I already have the paints, so I decided to use them.
The final result didn’t end up looking half bad. I wore a not-terribly-clashing floral front-plate for my FloMask to complete the look.
photo by Nina JJarus
In the spirit of Mardi Gras, at the end of the parade, the hat was given to a school teacher whose students had just learned about dodecahedrons.
I’m not sure how, but at some point I came across this Instructables article on building models from maps. The article shows you how to use Terrain2STL and Kiri:Moto to get a portion of a map, generate a elevations file in STL format (originally designed for stereolithography, it’s a format supported by lots of 3D programs and tools), and convert that file into topographical slices.
So I revisited the House Mountain area, and went through the process. I chose to exaggerate the vertical considerably to make it more identifiable. The tools yielded me an SVG graphic of all the layers. I did further conversion, and cut the scene out of chipboard using CrashSpace’s Epilog laser.
Click on any image to enlarge
I lost many of the finer peak tops into the interstices of the laser cutter. Even the ones I did manage to keep were difficult to glue. I’d use a magnifier and tweezers if I were to do it again.
I’m tempted to 3D print the STL file on a filament printer. The output would certainly be smoother and more detailed.
In ye olde days, I designed stuff in POV-Ray to render whatever fantastical scenes I was imagining. I’d spend hours figuring out textures and constructive solid geometry to create images. It was a slow process. Files were extremely slow to render. On my trusty Intel 80386-based PC running DOS, a scene of any complexity would take all night to render at 640×480 pixels.
Now, 30-some-odd years later, I still play with a constructive solid geometry modeler — in this case, OpenSCAD. The idea is that I could output the models to a format like STL, and then 3D print them into physical being. I haven’t actually done very much printing of models, but it’s an interesting possibility nonetheless.
By Pieter Brueghel the Elder – Levels adjusted from File:Pieter_Bruegel_the_Elder_-The_Tower_of_Babel(Vienna)_-_Google_Art_Project.jpg, originally from Google Art Project., Public Domain, https://commons.wikimedia.org/w/index.php?curid=22179117
Below are some images from a work in progress. I was inspired by seeing the Breugels painting above in a YouTube video. The tower is not only a great metaphor, but an interesting image and architecture.
My architectural thoughts go more Gothic (more flying buttresses), and parametric. By parametric, I mean that I figure the design can be based on a set of variables, for example, the ratio of height to width of a wall segment. For each value of the variables, the code can generate the appropriate geometry.
My ability to create this way is limited by two things: my trigonometry is not particularly strong, and my ability to keep a stable 3D point of reference in my head is even worse. So I start with sketches and pages of cosines and arctangents, and then end up doing a lot by trial-and-error. Because thinking in this mathematical space is hard, I end up getting frustrated and putting the project aside for days or months before picking it up again. Not to mention, even with today’s super-fast computers, as the complexity increases, the time to render an image increases!
So, my tower of Babel is not complete. There’s been some progress. I played with it a little today. Maybe one day I’ll finish it. Perhaps I’ll even print a model.
I’ve hooked up this blog to the fediverse. The improved visibility will doubtless increase readership from none to the lofty realms of zero.
Posts will federate as posts/toots/notes from @admin. Presumably, comments/responses will propagate back somehow too. I could read the manual, but I’m just going to sit back and see what happens.