Red Echo

September 18, 2012

I might be done with Burning Man.

There’s this thing with altered-reality experiences: they don’t last forever. You gain some new perspective through them, you acquire an expanded sense of what is going on in the world, but repeatedly pursuing those experiences doesn’t continue to expand your perspective. It has something to teach you, but once you’ve learned the lesson, what do you do with it?

I’ve been to nine burns, starting in 2001. The first was difficult, stressful, not a lot of fun, but it planted a lot of seeds. The next couple of burns changed my life and I would not be the person I am today without them. Those experiences stretched out my awareness of life possibilities and gave me a sense of purpose around the creative arts. Then there were a few years where I ran with that, throwing down the best I had to offer each summer.

Now… why am I going back? It seems to be a cycle of diminishing returns. As the event develops, it gets bigger, thus more civilized, thus more limited, and the sense of possibility I feel when I crunch across that old dry lakebed fades into memory. I know what I can do out there, and I’ve taken that back home and done my best to build a life where I can do that all the time. When I go to the burn now, more and more I see the scaffolding, the stage set, the limits of the illusion, and the less I feel any expansion of possibility.

Time to blow it all up and start over. Innovation becomes repetition becomes tradition. Time to strike out on my own. Floodland 2013.

September 11, 2012

Light art project

I’m going to delay my re-entry into the workforce by another month to work on an LED project. This will be the most complex piece of lighting I’ve ever attempted, incorporating 1,344 individually addressable RGB LEDs driven with 24-bit gamma-corrected color. That’s over four thousand individual control channels which have to be timed at megahertz resolution. On top of that, the display will be running an evolving, adaptive, algorithmically-generated animation loop… and the computation will be distributed across a peer-to-peer processor network. I am so excited I can barely stand it.

Why am I doing this? My friends Michael T. and Likhita K. want a custom chandelier for their dining room and asked me to design it. We spent a few hours last week with a couple bottles of wine, kicking around ideas, and came up with a concept incorporating trees, waves, and fireflies… it’s going to be beautiful and unique, a little bit Art Nouveau, blown glass and wrought iron and braided copper… all powered by an array of ARM processors.

September 7, 2012

Formal specification of the grammar for POSIX regular expressions

Surprisingly difficult to locate in a search: most articles discussing “posix” and “regular expressions” and “grammar” discuss the use of regular expressions in parser implementation, where what I want to do is implement a parser for regular expressions themselves.

September 3, 2012

Back home

Back in Seattle, typing on my laptop at the local pub. I’ve had one night of sleep on a proper bed in a motel and another at home, but I’m still feeling pretty vacant. Aside from some desultory unloading and cleaning work, I’ve done almost nothing today.

Ava’s lungs really don’t seem to handle playa dust well, so she was pretty sick by the end of the week and not having a good time at all. I spent Saturday packing up the car, and we left straight after her burn-perimeter shift was over. A good steamy shower seems to have helped her; I hope the cough doesn’t linger for six months like it did last year.

I’m sorry to say it was an unsatisfying week, and I’d have done better to stay home. The event itself was pretty much the same thing as ever; I just didn’t have anything to do most of the time, and what I tried to do mostly didn’t work out. My friends were scattered all over the playa, thanks to the Great Ticketing Fiasco, and Ava was too sick to spend much time walking. I went out one night in a dust storm with the KAOS art car, and there was one other walking expedition which didn’t end in tears, but there were no “wow” experiences, nothing to make this year stand out, nothing that made me feel moved or inspired or changed.

Well, ok, there was a “wow” moment on Saturday night when they blew off the last round of fuel bombs in the man base, and the whole building erupted into an enormous fireball, and everyone covered their eyes and backed up as fast as they could because OH WOW IS THAT HOT. That put a grin on my face. It was a little echo of the titanic oil derrick explosion back in ’07.

All together, though, I didn’t have a good reason to go, wasn’t able to find any good reason to be there once I arrived, and I wish I’d stayed home. Oh well. With nine burns under my belt I guess they can’t all be awesome.

August 24, 2012

one last update before Burning Man

Tuesday morning I finished wiring up the playa scrambler. Midafternoon, I took a break to go visit Opscode for a couple hours. Then I came back and got down to business with what I thought was the last couple of hours needed to finish off the trike.

It’s a complicated machine, with three separate chain loops: one connects the motor to the rear axle, another connects the pedals to the front ratchet box, and the third, the longest, connects the front ratchet to the rear axle. Over and over, I’d get it all rigged up, take it for a test ride, exult in the thrill of its decent speed and astonishingly responsive steering, then stop with a sudden horrible noise and discover that the long third chain had popped off one or more of its sprockets.

I won’t bore you with the long, long list of hacks and kludges and clever tricks I tried out to solve each of the never-ending series of problems, but if you ever get a chance to look at the trike in person I’d be happy to show you. Some are obvious. I never got a test ride to last more than a block or two before failing. After working for eighteen hours straight, it was time for the trucks to leave; I hastily welded on one more chain guide, rolled the trike up onto the trailer and went to bed.

That lasted a couple of hours. Wednesday evening I came back to clean up the disaster I’d left in the shop, then I pretty much went to bed again, but not before emergency overnighting four small sprockets. Assuming they arrive during the morning on Friday and not the afternoon, I’ll take them with me and try to fix what will hopefully be the last set of problems on-playa.

Today I got up feeling about as wrecked as if I hadn’t slept. Ran some errands. Got a bit more than half of my “to do before leaving” items checked off. Spent two hours building a solar-powered phone charger out of bits from my parts box. It doesn’t actually seem to work and I can’t figure out why – all the components work individually… my brain is so fried I can’t really debug it properly. I’ll take it along anyway; maybe I can fix it once I get there.

and then… for some reason i decided to try to finish the playa coat project I abandoned when work on the trike started to get intense. I did not exactly succeed – the garment is missing its pockets and collar, the tailoring isn’t great, the inside is a mess of raw unfinished edges, the cuff stitching is laughably uneven, and the lower hem is just a quick pass with a serger – but it’s finished enough to keep me warm without looking too much like an unfinished project.

now it’s 1 AM. time to crash.

flight leaves 3:15 pm tomorrow. will I be ready? Of course I will. what choice do I have?

August 16, 2012

I got the rear chainring mounted on the playa trike yesterday. It took all day: I wasted five hours laboriously designing and building an adapter plate that would allow me to bolt the chainring on to a set of studs welded on to the old sprocket, which in turn was bolted on to the wheel’s original studs, only to discover that this offset the wheel so far to one side that I’d have to cut away half of the swingarm to allow it to spin freely. Mounting the chainring on the other side wouldn’t work, because the motorcycle wheel hub is aluminum and thus not weldable. After that didn’t work out I was tired and frustrated so I tore it all apart, screwed the nuts on to the original studs, hacked out the middle of the chainring so it would fit over the wheel, and then just welded it on, maintenance be damned. It wobbles and it’ll be a total pain to replace, but whatever, it’s done and I can move on to the next thing.

Today’s project, assuming I can find a way to work through the amazing heat, will be to fabricate a bracket, mount the electric motor onto the swingarm, and chain it up to the largest of the rear sprockets. After that I need to rig up a motor controller. I have a little silver box with a lot of wires sticking out of it that is supposed to be the controller for the same model of scooter the motor came from, but I am dubious: it does not appear to be robust enough to survive the playa, and in any case it has too many wires for the number of functions I expect it to perform.

I’m thinking about rush-ordering a solid-state relay, pairing it up with a capacitor, a schottky diode, and a microcontroller, and calling it a day. I don’t need reverse and it’s easy enough to program in a fixed accel/decel curve as a simple low-pass filter on the input.

Now how to control it? The traditional solution is a potentiometer mounted in a twist-grip, but it occurs to me that there’s an existing input I could use instead: this machine has a set of pedals, after all. What if I measured the speed of pedal rotation and spun the electric motor proportionally? That is, you make the bike go faster by pedalling faster, and slow down by spinning them more slowly. This method of control might be wonky in the city, where you have hills to climb, but out on the dead-flat playa the only factor that matters is how quickly you want to travel.

This mechanism would also reinforce our claim that this machine is just an unusually elaborate e-bike and not an unusually small mutant vehicle, and therefore in no need of a mutant vehicle license. If you pedal it to make it move, after all, doesn’t that make it a bike?

August 14, 2012

Spent the evening with seven-year-old Isabella at one of the Hackers on a Train 2012 soldering workshops. She chose one of the more ambitious kits, which will be no surprise to anyone who knows her, and we got about halfway through a Gamby video-game kit incorporating an LCD screen, joystick, speaker, and the like. This is after she completed the Diavolino kit which will provide the computational horsepower. (The Diavolino is an Arduino-clone, and the Gamby is a daughterboard.)

I’m awfully tired now, and I made her do almost all of the soldering at that. She’s a very intense and intently focused girl who wants to know everything about everything, and while it is very rewarding to help her figure things out it is also a lot of work! Oh, well, somebody has to train up the next generation, and this way I get to “pay forward” all the time people spent helping me learn when I was her age. It’s also deeply satisfying to get to see the little gears in her head turn and watch her put things together and learn how to make her world work.

August 7, 2012

I spent a couple of hours working on Radian this afternoon and have absolutely nothing to show for it. All I did was restructure code and move it around. I really like the freedom this project affords me to clean things up as I go: the codebase stays tidy, and new features don’t generate excess complexity. Refactoring just feels good.

August 2, 2012

It’s just shy of midnight on a Thursday, and there are six people working at ALTSpace, none of whom were among the original group of members. I’m still surprised at how far this project has gone and how quickly it has gotten there. Where will it go next? We’ve taken all the space we can get in the current building, and I don’t think it would be realistic to try to move anywhere else. Perhaps we’ll help start new hackerspaces around the city instead – sort of a chain of ALTSpace franchises…

August 1, 2012

Here’s an editorial by some guy who runs a couple of tech startups about the importance of correct grammar and its effect on his hiring decisions. I’m not sure I necessarily agree with this, but it makes me feel warm and fuzzy inside all the same:

If you think an apostrophe was one of the 12 disciples of Jesus, you will never work for me. If you think a semicolon is a regular colon with an identity crisis, I will not hire you. If you scatter commas into a sentence with all the discrimination of a shotgun, you might make it to the foyer before we politely escort you from the building.

Some might call my approach to grammar extreme, but I prefer Lynne Truss’s more cuddly phraseology: I am a grammar “stickler.” And, like Truss—author of Eats, Shoots & Leaves—I have a “zero tolerance approach” to grammar mistakes that make people look stupid.

In the same vein, programmers who pay attention to how they construct written language also tend to pay a lot more attention to how they code. You see, at its core, code is prose. Great programmers are more than just code monkeys; according to Stanford programming legend Donald Knuth they are “essayists who work with traditional aesthetic and literary forms.” The point: programming should be easily understood by real human beings—not just computers.

July 12, 2012

movin’ on

I’ve spent significant portions of the last two-and-a-half days working on Radian. I’ve made no new breakthroughs – just doing cleanup work and fixing one major bug – but it feels good to be able to dig in and sustain my focus on the project for more than an hour or two at a time. I wonder how far along I can get in the next month or two? Perhaps I’ll finally be able to push past the threshold where it goes from being a hacker’s curiosity to a sparsely outfitted but usable tool; the list of missing pieces grows steadily shorter.

July 10, 2012

job verdict: finished

I was fired this afternoon – first time ever! It’s not the outcome I was hoping for, but it’s a relief to be done with the job. The pay was good and the cafeteria was excellent, but the work was tedious and uninspiring, difficult in the bad ways and not the interesting ones. I stuck it out in hopes that I could eventually establish myself and move on, to a project I could actually care about, but was never able to get out from under the grind of the “starter” project.

I’ll probably never work for another large company. I can’t identify what exactly it is that makes big companies such ill-fitting environments for me, but the pattern is clear. Every time I’ve worked for a small company, I’ve rocked the house; every time I’ve worked for a big one, it’s been a disaster.

Well, it’s their loss. I’ll find something else to do. For now I’ll hack on Radian, maybe do some more backpacking, enjoy the summer. I might still tinker with the electric motorcycle, even though the commute it was designed for is no longer happening…

June 26, 2012

I’m not fired yet but neither am I not-fired. I haven’t actually seen my boss in person for over a week; he was out of town last week, and either out of town somewhere else this week, or just not coming in to the office yet. I have no idea what is going on. I’m just chipping away at the work in front of me waiting for whatever will happen to happen.

Ava and I just got back from Renton with our not-totally-shiny but new-to-us Range Rover. It’s a ’92, the Classic model, and it features twenty years of maintenance records.

Yay.

June 6, 2012

We had the last spiderweb electronics work party last night and finished assembling all 60 node lights. Each one includes a battery holder, accelerometer, controller, and a pair of LEDs, and they’re designed to fit in the center of an aluminum clamp node that will join each cable crossing in the web. Tonight I’ll work on programming all these chips and start calibrating the algorithm based on the actual results I get back from the accelerometers.

In other news, Ava and I are talking about cutting down the title-free CB750 frame I am no longer going to use as an electric motorcycle and put it to work as the back end of the electric scrambler trike we were already planning to build for Burning Man. With a 350-watt, 24-volt motor it won’t go very fast, but the idea is to construct a comfortable, visually impressive e-bike for playa cruising, and the playa has a 5-mph speed limit. The big fat motorcycle wheel and coil springs will make for an awesome mutant look. We’ll have to retain an actual pedal mechanism in order to qualify as an e-bike, but that’s a small compromise.

…wait, Burning Man? Yes, it looks like I might end up going this year after all. I have no project and almost none of my friends are going, besides which the whole ticketing fiasco left a bad taste in my mouth, so I hadn’t planned to go. (Thus the whole Floodland effort – I needed a Burning Man project that wouldn’t actually involve going to Burning Man!) But Ava’s going with the Iron Monkeys, so I’ll have a place to crash, and a ticket opportunity basically fell into my lap, so I think I’ll take a few days and swing by for a flying visit.

December 29, 2009

Back from California, where I spent Christmas at my mom’s place, with Ava, and most of my siblings. It was a short visit since I couldn’t take much time off work, but it was good to see everyone. We went to see “Avatar”, spent a day in San Francisco getting rained on, romped around in the snow at Echo Summit, and then went home. Now it’s time for work again.

Happy to say the latest TSA craziness had no effect on our flight. I wish there were some way to fly Seaport all the way down to Sacramento.

Rental car was really unsatisfactory: do not buy a Dodge Caliber. Gutless engine, ugly styling, squirrely steering, and it was hard to see out of the scrunched-down windows. The only thing I liked about it was the red inset panel on the upholstery.

« Previous Page