We wished happy birthday to our first brat, who turned six today. At his request, instead of the perfunctory song, we put on a high-fidelity version of this amazing excerpt from Disney’s Fantasia 2000.
Eric often talks about that he would like to be remembered when he dies. I hope he grows up on his present trajectory – rather like the free spirits shown in the cartoon. If over his many remaining years, he manages to express the sort of genius of Gershwin and the Disney animators, he will certainly be remembered. Then again, he also mentioned wanting to find a potion that lets him stay six years old forever, so maybe that’ll be enough time.
It’s been easy for me to have given the benefit of doubt to US TSA folks in their efforts to keep US flying passengers safe. They have in some ways an impossible job. And, being spoiled with private aviation, I am unlikely to be subjected to the full monty of the TSA any time soon.
But stories like this one and this one and this one make one wonder just what the end game is here. How much are people expected to put up with, before throwing their hands up, and giving up on commercial air travel? (Only an aggressive few may ever sue.)
Then it struck me. Perhaps people giving up on commercial air travel is a not-unfavourable outcome, as far as the current US federal government is concerned. After all, it would cut down on flying, which would cut down on flights, which would cut down on fuel consumption. Wouldn’t that be a simply splendid counter-manoeuvre to the failure of efforts to curteil that horrible CO2 gas?
As last year, Eric's and Stuart's halloween costumes were home-made, thanks to a month of crazy late-night sewing sessions by Juimiin. Eric wanted to dress as a lamp, and Stuart eventually decided on a comparatively simple tiger.
Juimiin wrestled for a long time with the various internal stiffeners and odd shapes to make the thing look like that. She used prototypes from cardboard, miniature and full-sized, until it was good enough.
My small contribution was to add a bit of glitter to Eric's lamp headpiece: something to light it up. A simple disembodied flashlight was ruled out as not interesting enough. Instead, the idea was to put a ring of LEDs around the rim of the lamp shade, and have the lights do some little dance. That needed a little microcontroller, a little power supply, some LEDs, and some connecting wires.
Our home electronics supplies running a little low, but a bit of shopping around suggested that the Lilypad Arduino system would be a good choice. A few days after ordering a bunch of parts from SparkFun, and grieving over the hideous shipping/handling charges to get the stuff here, a big box arrived. It was perfect.
The microcontroller has 12 digital outputs, which can be wired directly to the tiny LED+resistor modules. Software for it is written in C, with a reasonable amount of on-board flash storage. The workstation connection hardware and the editor/compiler/loader software is straightforward. My little animation program worked the first time I tried it, with only a few LEDs connected with alligator clips.
It was time to install the thing into the costume. I decided to sew all the machinery into the face of the cone, where it would be visible to people curious about how it worked. In the Lilypad scheme, the specially provided sewing thread not only fastens the boards to the cloth, but also functions as conductive wiring.. It was important not to short-circuit parts of the circuit, so loose ends of the threads had to be meticulously trimmed. Yet, to make a good surface-touching (unsoldered) connection to the connectors, several nested loops were needed.
Eric showed off the complete glittery costume -- let's just call it "crazy desk lamp with lights" -- several times during the next few days. He liked it and a lot of people just stared. Mission accomplished.
void setup () { unsigned i; for (i=2; i<13; i++) pinMode(i,OUTPUT); randomSeed (analogRead (0)); } // mode 0: ring around the daisy void mode0 () { static int horse = 2; const int interval = 80; static unsigned long lt = 0; unsigned long t = millis(); unsigned i; if (lt == 0) lt = t; if (t > (lt + interval)) { lt = lt + interval; digitalWrite (horse, LOW); horse = horse + 1; if (horse == 14) horse = 2; digitalWrite (horse, HIGH); } } // random sparkle void mode1 () { static int horse = 2; const int interval = 20; // flash interval static int dark = 10; // number of intervals of darkness static unsigned long lt = 0; unsigned long t = millis(); unsigned i; if (lt == 0) lt = t; if (t > (lt + interval)) { lt = lt + interval; digitalWrite (horse, LOW); dark --; if (dark <= 0) { horse = random (2, 14); digitalWrite (horse, HIGH); dark = 10; } } } void loop () { static unsigned long lt = 0; unsigned long t = millis(); static int mode = 0; const int interval = 7500; if (lt == 0) lt = t; if (t > lt+interval) { lt = lt + interval; mode ++; } switch (mode) { case 0: mode0(); break; case 1: mode1(); break; default: mode = 0; break; } }
headline: Strippers angry, in tears over peep shots
summary: underdressed professional strippers take breaks on building roof, plainly visible to people in nearby buildings; some guy takes pictures, made to feel like a criminal, strippers feel like victims, sympathy to ensue (?)
in other words: Taking your clothes off in public to titillate others for money: empowerment. Taking your clothes off in public not to titillate others not for money: victim.
source of that background din: the world’s smallest violin playing a sad, farcical tune
About seven minutes ago, a narrow band of nasty weather woke me up due to the strong winds. About six minutes ago, electricity was lost in our neighbourhood. About five minutes and fifty seconds ago, our recently installed house-wide backup generator started up “in anger” for the first time, making a fair bit of noise and a stream of electrons that let me write this.
UPDATE: About one hour later, the grid returns, the generator rests. Time to go back to sleep.