Red Echo

October 20, 2010

Current projects: intelligent juggling balls, Radian, ski jacket.

I’ve been doing some board layout for the juggling ball prototypes. It’s a tricky problem: we want to stuff a bunch of SparkFun breakout boards into an actual ball and toss it around to see what the LEDs look like and what kind of data we get from the sensors. There’s so little space inside that we can hardly make room for physical wires, besides which it’s just a nuisance trying to cut, strip, and solder all those little bits, so I’m designing a simple PCB that will route signals between the various breakout boards. I have about three and a quarter square inches to work with – definitely a challenge, and so far a most engaging one.

On the Radian project, I’m finally digging into the crux of the system, which is the automatic loop parallelizer. The work I’ve done so far has given me a simple, unremarkable, unfinished programming language with a couple of minor syntax quirks and an unusual internal architecture; now it’s time to make all that preparation start to pay off.

I have moments of doubt, where I wonder whether I really understand this problem as well as I think I do, fearing that I’m going to get hopelessly stuck in the implementation, or – worse – suddenly realize that there is a fatal flaw in the whole plan. When I’m really feeling uncertain I imagine that this fatal flaw will turn out to be something that is old news in the CS literature, but which I’ve never read about nor been clever enough to figure out for myself. Oh, well: even if the venture did turn out to have been doomed from the start, I’ve learned a lot from it, and there would probably turn out to be something else I could do with the codebase.

But honestly? It’s going to work.

October 16, 2010

Things that bug me about Ubuntu

1) Sometimes, when I log in, the cursor is invisible. The trackpad still works; I just can’t see what I’m pointing at, and have to guess based on rollover hilights. The only thing that fixes this problem is to suspend/sleep/whatever it is and then wake the machine back up again.

2) Sometimes, when I log in, a message pops up telling me something about a “local network service” that is incompatible with something called an “Avahi” service, and that one or the other of these services – it’s not clear which – has been disabled. I have no idea what any of this means; none of the system configuration programs have anything to say about “Avahi”.

3) The computer does not consistently go to sleep when I close it. Sometimes it does; sometimes it just sits there, screen glowing and fan running, until it either runs out of battery or irritates me so much I go do something about it. This may be an Eee PC hardware problem, but I’m blaming it on Linux because it’s the kind of fit-and-finish detail the Linux people don’t seem to notice.

4) The updater system is complicated, confusing, and doesn’t even work. The “Administration” directory has a program called “Update Manager”, and a separate program called “Synaptic Package Manager”, both of which appear to do more or less the same thing. I might have a better idea what the difference was if either program actually worked; instead, whenever I try to install or update anything, I get a series of error messages about “mirror.uoregon.edu”. What is mirror.uoregon.edu, why does my computer’s OS depend on it, and what am I supposed to do to fix this problem? I have no idea. Thus my package information has not been updated in 356 days, as the update manager helpfully pops up and tells me every month or so, despite the fact that I turned the automatic “check for updates” feature off owing to the above mirror.uoregon.edu problem.

5) Sometimes the network menu doesn’t show up when I log in, and it is impossible to tell whether the machine is connected to a wireless network,or to instruct it to log in to some new network. I have no idea why this happens. Restarting the machine usually fixes the problem.

I actually like this little computer quite a lot, and I think the Ubuntu people have done a pretty good job at polishing up the chaotic wilderness that is Linux. I am just frustrated by design misfeatures which leave me feeling like I am not the one in control of my own computer. Since I have no idea what to do about any of this, I’m posting it in hopes that people who work on the various components of this system may somehow, someday, perform some google search which puts them in touch with this post and thereby gain some insight into issues they might consider working on.

October 15, 2010

I’ve had a couple of Post Office failed-delivery slips kicking around for several weeks now. The place closes at six, so it’s nearly impossible to get there without making special efforts to rearrange my schedule. Having no idea what this package was, or who it was from, or why I should care about it, the errand just hadn’t seemed that important. Well, this morning I managed to scoot out of the house early, stop by the post office, and pick up these mysterious packages. It was just one package, which they’d tried to deliver it twice; a little tan envelope, addressed from Sofia, in Bulgaria. What on earth? I don’t know anyone in Bulgaria; why is someone sending me a tiny lumpy package which requires signature confirmation?

Turns out it is a pair of FND500 LED displays, which I apparently bought on eBay late one September evening. I really like FND500s; they haven’t been made since the mid-80s, and they light up with a gorgeous deep red semi-translucent glow. They’re not so great for long-distance readability but they look beautiful. I inherited a handful of them from an older electronics hacker’s stash, and bought another couple dozen on eBay once I found out how awesome they were – I periodically check eBay for more but had completely forgotten that I’d actually ordered any.

October 9, 2010

Finished “Orb of Awesome”



This space lander thing is a 48-channel LED light effect. There’s a USB port on the lower left which can be used to control it. I made this for my old friend and former coworker Aaron B., who wanted something cool for his desk.

October 8, 2010

Climbing wall at work is (finally) finished


This looks like astonishingly good fun: Jeb Corliss shows off his favorite wingsuit flights. The bit toward the end where he skims over a meadow and drops into a surprisingly steep canyon at the far side – wow!

End of an era: Microsoft is apparently going to stop offering 100% health coverage.

October 7, 2010

Project status

Three months ago I posted a list of the projects I had under way. Feeling like I am doing too many things and not doing them justice, I have been working toward spreading myself less thin. I’d like to let the project list shorten as I finish things, then refrain from taking on anything new for a good six months at least.

Finished since last update:
– Handbag for my sister Joanna
– Four more bloom lights, for Eva’s flower sculptures
– Blinking firefly costumes for Chris W. and his group
– Rhythm Robot v2 circuit board
– Flashy silver raver pants
– Blue/grey motorcycle-inspired modified jeans
– Reworked straps on a dress for Nika

Currently active:
– Radian (finishing the initial set of object model features)
– “Orb of Awesome” for Aaron B. (last remaining parts arrived today! finished this weekend, I hope)
– Steadyrocker midi clock device (circuit board layout done, next step is to get it printed)
– Rhythm Robot (updating firmware, designing a housing)
– Custom ski jacket (Martian styling, applied to goretex)

On the back burner:
– Sell the older two of my three motorcycles
– Tune up the Suzuki and install the Corbin seat
– Intelligent juggling balls
– Red shot silk dress w/gold lining
– Ballistic nylon motorcycle pants
– Groovik’s cube dimmer code
– Hammerbox percussion synthesizer

Finished handbag for Joanna



I sewed in the zipper panels and the lining tonight, then attached the handles (vintage bamboo!). It’s finished: I’m going to enjoy looking at it for a few days then send it off to Joanna.

Nice to check one off the list!

October 5, 2010

I’ve been pecking away at Radian again. I burnt myself out building the object system last winter, and haven’t touched the project in six or seven months. It’s still been ticking away in the back of my head, though, and during a plane flight a couple weeks ago I discovered that I am ready to dig in once again. I hope to reign my enthusiasm back a little this time around – this kind of work needs to be done at a calm, steady pace, with plenty of time to think things over.

I haven’t added any new capabilities to the language yet, but there have been plenty of loose ends to clean up, and in sorting them out I have been refreshing my memory of the architecture and the work yet to be done. This is a project which could keep me busy forever, of course, but I’m actually encouraged to see how much is already there.

October 1, 2010

Suppliers of various enclosures for electronic equipment:
OKW – wide variety, mostly plastic, lots of handhelds and a fair number of desktop-type console boxes
Hammond Manufacturing – industrial focus, wide array of plain metal and plastic boxes, more functional than pretty; they have some nice steel/aluminum + walnut boxes though
Protocase – custom metal boxes, only a handful of styles but they will make them to any dimensions, and will do custom panels and silkscreening
Bud Industries – also industrially focused, functional parts but not particularly pretty

September 29, 2010

Anatomy of a Typical Phone Conversation. No, really. It’s awesome, and not in some cheesy making-fun-of-pop-culture kind of way.

September 27, 2010

I’ve been playing Bejeweled on my phone lately, and while on the way to work this morning I had an idea: one of these 8×8 RGB LED matrix displays would be a great interface for a touch-sensitive standalone version of the game. You could use the LEDs themselves as touch sensors, multiplexing them as both inputs and outputs. Pack it up in a sleek little aluminum shell and you’ve got a fun little party toy.

I’m not going to build this.

September 21, 2010

Interesting discussion on StackExchange: What’s new in persistent/immutable functional data structures since Okasaki’s classic book Purely Functional Data Structures? Turns out there are a number of interesting systems that have been published since then.

Maybe I should take another crack at that functional version of the left-leaning red-black tree I was working on in January.

September 17, 2010

Rhythm Robot rev 1 prototype



I’ve just finished assembling the first revision-1 Rhythm Robot board. Where the previous prototype was a carefully hand-wired assembly of four perfboards, this is a single machine-printed circuit board. I’ve also eliminated a couple dozen passive components. Assembly to this point took an hour and a half.

Worldchanging.com is hosting an event called Future City on the Friday after next (October 1st), featuring the mayors of Seattle and Portland. It’s going to be a big fancy thing with food and beer and art, and among the art will be Eva’s flowers, and thus, my bloom lights; which is the whole point of this message. If you want to see the finished pieces in action, and you feel like discussion about Cascadia, climate change, and government policy would be a fascinating way to spend an evening, maybe you should think about coming along!

September 13, 2010

How to make your own laser using parts available at any hardware store. Yes, seriously: the lasing medium is plain old air at ambient pressure, ionized by an arc discharge between two long parallel electrodes.

September 11, 2010

Structure Synth is a cross-platform application for generating 3D structures by specifying a design grammar. Even simple systems may generate surprising and complex structures. The design grammar approach was originally devised by Chris Coyne (for a 2D implementation see the popular Context Free Art).

Structure Synth offers a graphical environment with multiple tabs, syntax highlighting, and OpenGL preview. Integration with third-party renderers (such as Sunflow and POV-Ray) is possible using a flexible template based export system.

I have had an idea kicking around in my head for years about a 3D version of Starfish based on similar principles. The process of building the rendering engine always seemed daunting. Perhaps I could base the generation algorithm on this system…

September 9, 2010

After some emails back and forth with our real estate agent, Ava and I were finally ready to send in our offer paperwork last Saturday. Then I happened to pull up the page for the house: to our shock, the house had been delisted! Not sold, just… removed. Very strange. We talked to our agent again; he speculated that they might have decided to rent it out, and said we should probably just send in the offer anyway.

Several days pass. Silence. They neither accepted, rejected, nor countered our offer. This, our agent tells us, is very strange. Our hopes sink. What could possibly be going on?

Well, now we know: Real-estate brokerage suspended by regulators. Turns out the selling agency has been involved in all kinds of fraud, and the listing for the house we want was pulled off MLS along with all of their listings. Since then, the owner has put the house back on the market – at an even lower price! – and we’re about ready for another try at making an offer on it.

September 2, 2010

Sylvia’s Super Awesome Maker Show is always energetic and adorable. The latest episode is all about Arduino, with a couple of easy-to-build projects that make light and noise.

September 1, 2010



I picked up this pair of “Kik Girl” raver pants at Value Village for ten bucks. They were a little too small for me (women’s size 11) but I bought them anyway. Then I went over to Stitches and picked up three yards of some sturdy red grosgrain ribbon with a retroreflective stripe down the center. I slit the side of each pantleg, sewed in the ribbon, et voila! – even shinier raver pants that fit me perfectly and go well with my general design aesthetic.

August 31, 2010

I have had this idea kicking around idea for a percussion synthesizer device, probably based on an STM32F103. Today I found a document on the ST web site explaining how to generate 12-bit stereo using the built-in DACs. Super simple – all you need is a pair of RC filters and an audio jack!

There is something a little perverse about embedding what ends up being a softsynth into a piece of hardware, but I really like having a dedicated UI for my audio gear, and I like not having to deal with all the complexity and uncertainty of a computer.

How to program an MSP430 from Linux, using TI’s Launchpad board (the one that costs $4.30 and includes a USB interface). Looks like it is generally a big nuisance. I wonder how much work it would be to rig up an Arduino-style interface for the LaunchPad that does all the necessary mspgcc manipulation?

August 30, 2010

The Mesh Potato project appears to have a lot in common with my walkie-textie concept. It’s based on a completely different set of technologies and user interactions, but the end result is similar: a free, open, decentralized telecommunications mechanism. I wonder if it would be possible to make the systems cross-compatible?

August 27, 2010

I really overcommitted myself this summer. I did finally manage to get the last of six bloom lights working just before Eva had to leave for Burning Man. I don’t have any pictures but hopefully there will be some good ones when everyone comes back from the burn. I also spent an evening helping Chris with his group’s firefly costumes, assembling four controllers with light sensors and high-powered LEDs; the idea is that each light will flash at some adjustable interval, and that the controllers will watch for other flashes and try to stay in sync. This of course means that they will pick up on any source of flashing light, of which there will be many on the playa. Add on half a dozen minor errands I’ve run for other friends, and I’ve ended up doing a surprising amount of Burning Man prep considering the fact that I am not even going this year. Oh, well. I’m working down my list of commitments and trying to refrain from making any new ones for a while. I need a break – and a few long nights of sleep.

Ava and I looked at a couple more houses yesterday. One was a 1900 construction just around the corner from John & Holly; it was in surprisingly good shape, had a nice big yard, and would have needed very little work. Three bedrooms upstairs, a nice big kitchen (built as an addition to the original house!), even a parking space. The other place was a wreck – priced accordingly, to be sure, but it would have been months of work, and it really wasn’t what we were looking for.

I think we’re about ready to make an offer: despite being on a busy street and having no yard, we really like the house on 23rd. It’s a good price, a good project, and a good location.

Work is going OK. It has been tough keeping everything in the air since I have been burning so much energy on other projects, but that is settling down, and I’ve done some good work in the last couple of days. I’m working on a design and estimate for the next phase of the project I just finished; not a big thing but it has some interesting challenges.

August 26, 2010

Wedding anniversary

Ava and I got married one year ago today. We took a motorcycle trip down the Pacific coast, hung a left at Crescent City, rolled into Reno, got a wedding license, and headed over to the Arch of Reno Wedding Chapel about twenty minutes before they closed for the day. Tonight we’re going to go celebrate the milestone at El Gaucho.

She’s the one I want, and I’m glad we have each other.

August 14, 2010

I had an unexpectedly adventurous night and ended up sleeping til noon this morning. So far I have spent this scorchingly hot summer afternoon sitting at my desk; my sister MJ is working on a paper for a law journal, and I’m trying to help her out with the final editing work. Truth be told I’m almost always happier indoors with a fan when the weather is this hot; I’ll almost certainly perk up when sunset approaches.

I finally got around to listing my FJ600 on craigslist. I haven’t gotten any responses yet, though, which is disappointing – it’s such a pretty little bike! Oh, well, I’ll keep at it.

Ava and I are thinking seriously about making an offer on a house. We looked at the place a couple of weeks ago – it’s definitely a project, but one well within our capabilities, and it has a lot of Craftsman-style character that will make it cozy and appealing when we’re done. It’d be a great place to live, within a few blocks of many of our friends – it’s actually just a mile further down the road we currently live on.

I’ve always been scared of the financial commitment involved in buying a house, but between the low interest rates and the depressed housing market, the monthly mortgage & tax on this place would only cost half again as much as we’re currently paying for one bedroom of a house shared with two other people. The place is big enough that we could easily continue sharing space with friends, too, making it even more affordable.

August 13, 2010

I get the impression that most people who rave about Git are really not so much talking about Git specifically as the notion of distributed version control in general. Take, for example, this very helpful cheat sheet: the features the author gets excited about are those every DVCS shares, while git itself is such a complex beast that it justifies this kind of lore-collection.

Maybe Mercurial is better. I’ve installed it on all my machines now and hope to set up a repository here soon so I can try out its workflow.

August 11, 2010

A list of publications on algorithmic botany: a long list of formulas for simulating various aspects of plant development.

August 9, 2010

Projects I am currently working on:

– Handbag for my sister Joanna
– “Walkie-textie” mesh-networked text-messaging device
– “Orb of Awesome” for Aaron B.
– Intelligent juggling ball circuit prototype
– Rhythm Robot v2 circuit board layout
– Four more bloom lights, for Eva’s flowers
– “Hammerbox” percussion synthesizer algorithm
– “Steadyrocker” MIDI clock device
– Helping Chris W. and company build blinking firefly costumes

Projects I am not working on, but wish I were working on:

– Sell the older two of my three motorcycles
– Install the new Corbin seat on my Suzuki
– Fix the grille on my car so the hood once again stays latched
– Summer jacket, in grey cotton twill
– Red shot silk dress w/gold lining
– Radian
– Tuning up the groovik’s cube dimmer code
– Fixing Adam’s light-up hoodie

August 6, 2010

The LeafLabs blog has an article on realtime audio processing with a Maple board – particularly interesting as realtime audio processing is exactly what I want to do with the Maple board I bought a few weeks ago. I haven’t had a chance yet to do more than make its LED blink, but the design of my upcoming percussion synthesizer is an ongoing mental background thread.

« Previous PageNext Page »