Here's an idea I've had a few times but never gotten around to implementing: when an application encounters a correctable data consistency error, or does something that's likely to fail, it should log something to a table so that another process (which may not be written until years later) can double-check that nothing messed up, or clean up after the operation. User (spammer?) deletion is a good one -- as in a large application, it's easy to forget to implement all the cleanup logic when adding new features.
This year I've been getting back into electronics, after an absence of about 10 years. Some advances are amazing (microcontrollers with built-in USB for $4! High quality PCBs for $5/sq in and free shipping, with no minimum size! Low quality PCBs at $14 for ten 5 cm x 5 cm boards!)... but some things don't seem to have changed. It looks like there's still no standard part library format or converter. Perhaps a project like Homebrew or RubyGems, with a minimal built-in part library and an easy way to locate more parts, would be nice to have here? Also some shortcuts for generating parts. I would really like to be able to run 'partlib install SN65HVD12P' and have it download and install symbol/footprint info into my schematic/PCB editor.
This year I've started feeling like writing in public again, and it turns out my blogging code hasn't rotted *too* badly, so here goes (continuing a post I started in May...).
Since moving to the USA, one thing I've done a lot of is go to [music] festivals. Most notable, I've done Burning Man three times, but I've also been to Coachella twice, the Treasure Island Music Festival, Outside Lands, my Burning Man camp's private campout, False Profit's Priceless campout, undoubtably some more I've forgotten, and Lightning in a Bottle. The latter is what spurred me to write this post, because it seems to have a much smaller web presence than the others. It seems that it's a fairly young event, vaguely connected to Burning Man (it's been described as "Burning Man with training wheels"), and pretty strongly connected to Coachella (the group that puts it on -- the Do LaB -- is responsible for much of the large scale art each year at Coachella).
My take on it: LIB is beautiful. It's probably the best looking festival I've ever been to. The location and decorations are amazing. It's tranquil but colourful, with a fun neo-hippie vibe -- I was really impressed. The seminars and such weren't really up my alley, but I can't deny that the crowds of enthusiastic listeners and serene meditators set the atmosphere well. The overall feel of the festival was such that I had a great time even when hanging out at camp, and wandering around the campground -- I certainly didn't feel the need to spend the whole weekend down at the dance stages.
On to why I wrote this post: to get some info out onto the web about the details and logistics of camping at LIB.
LIB has two areas: the 'lower festival' and 'upper festival'. The lower festival is where you'll arrive. The big parking lots are down there, along with the main stages, art, and vending areas, plus some camping. The stages, art, and vending are mostly on grassy areas, and most of the camping is on dirt. If you're not one of the first to arrive, you'll be sent up Lumi Hill, to the upper festival, which has similar ground cover -- grass for the vending and yoga/meditation areas, and dirt for camping.
Setting up your tent is a little reminiscent of pitching camp on playa (although without the crazy winds!) -- the dirt is just about as hard and dry. I highly recommend bringing alternate tent pegs -- go to Home Depot and pick up some 10 inch nails, one of the big orange 45 oz deadblow hammers, and a pair of vise grips. They'll go in easy, and come out easy. You can probably scale down a bit from there, but anything will be better than the fragile little pegs that come with most tents.
It's HOT. Baking hot during the day, but not awfully warm at night, so bring your airy summer outfits, but also some way to wrap up well at night. The style is more hippie than raver or postapocalyptic -- beads, tie-dyes, muted colours, scraps of cloth, faux-Japanese (with plenty of mystical symbols: sacred geometry and the like), and just-out-of-the-circus outfits dominate over gold bikinis, day-glo, cowboy hats, and utilikilts.
The heat makes sleeping just about as difficult as at Burning Man, so Springbar/Kodiak Canvas tents, and any form of shade possible, will be just as useful. The camping area gets pretty crowded, so you might not have enough room for a hexayurt, but a shade structure will make your life a lot easier. We took a tent that was barely big enough for a twin air mattress, plus one of Costco's little $40 easy-up shade structures, and it was okay, but the heat was still pretty ridiculous even in the shade. If I keep going to festivals like this, I'll probably blow $500 on a Kodiak Canvas 6010 (deluxe flex-bow 10x10) and some Aluminet, which should make worrying about shade a thing of the past. Bring some lighting for the outside of your tent, as the "blocks" are large, and unless you're lucky enough to camp near someone else with distinctive lighting, you may have a hard time getting back home. Cheap battery powered Christmas lights are probably the way to go here.
Along those lines, if you buy early enough, you'll be able to get a car camping pass that will let you bring your car all the way into the campground, which will save you many hours hauling gear back and forth between the parking lot and camping area. There are shuttles, but they're patchy late at night and miserably full when you're trying to get back to your car to leave. I'm guessing a car camping pass would have saved us about three hours of busywork and waiting around when it was time to leave -- I'm definitely getting one next year.
There are showers, but they are not free, and the line is long. Water is free, but the dusty ground makes it difficult to just string up a sunshower somewhere, because the runoff will flow downhill and soak someone's tent. If you have a proper shower enclosure (and some way to catch the runoff so you can dispose of it somewhere it won't be a nuisance), bring it!
There are security checkpoints within the festival, but they only care about checking your wristband; you can bring food and alcohol from your campsite to the main stages, as long as it's not in a bulky cooler. That said, there's plenty of great food and drink for sale everywhere, although it's pricey, and vegetarian (vegan, even?). Next time I'm bringing a supply of red meat, and a little tabletop BBQ unit. I was very jealous of the neighbours and their bacon breakfasts.
Not much point bringing a bike; there are a few there, but the whole space is small enough that walking isn't a problem, and the hills are quite steep.
If you're into yoga, bring your mat! I tried doing it on a beach towel, and failed miserably.
Anyone sending out notification emails or messages to a mailing list: put the recipient's name in the To field
Gmail's spam filter is pretty good, but sometimes it misclassifies messages. These are normally messages from commercial mailing lists -- I'm guessing other Gmail users have reported messages as spam rather than figure out how to get off the list, and this has resulted in Gmail deciding the list is spam. I've found one pretty good indication that something labelled 'spam' is actually real: it includes my name. So I have a gmail filter that forces anything with my full name in it to go into the inbox. So - if you're sending out notifications or mailing list messages and you have the recipient's name, please put it in the message! Ideally in the 'To' field, but it would be a good idea to stick it in the message body too.
So, I'm in this temporary apartment, which is amazing, but way too expensive to live in for more than a couple of months. In the same building there's a much larger and nicer unit, which is also cheaper (by virtue of being unfurnished and requiring a 6-month rental). I'd like to move into the other unit, except that (a) I need to give 30 days notice to vacate my current rental and (b) the management company has an immediate move-in policy, which means that you have to start paying rent as soon as you sign a lease -- and the leasing agents seem to be very adamant that they never bend this rule. They also seem to be big fans of raising the rent between when you tour a unit and decide you want it, and three weeks later when your notice period at your old place is up.
As such, saying "I'd like to move into that other unit - how about I move right now but keep paying the higher rent until my notice period is up, so you get the same amount of money out of me except have a pricier unit free to re-lease earlier?" appears to be pointless, and so instead I'm going to have to go apartment hunting in a few weeks so that I'm not at the mercy of whatever random price increase they decide to enact. More work for me, less certainty for them. Yay big company policy.
Wow. So, I moved to San Francisco in February, and the company I work for just did a round of layoffs. This isn't my first such experience (and thankfully I wasn't affected this time, which was a bit of a relief as my right to stay in the country is tied to me being continuously employed here), but what's different this time is that I'm actually living in the Bay Area, which means I come up when recruiters do LinkedIn searches for hiring leads. So far I've received 41 messages from recruiters - 23 on Thursday, 9 on Friday, 5 over the weekend, and 4 today. Crazy!
This is really interesting, because it's the opposite of the usual situation, where you put out a job offer and get a bunch of resumés. Now I see where people are coming from with their job application advice posts; there are some things you can do to really make your e-mail stand out a lot. Several recruiters have sent me vague "Job Opportunities in the Bay Area!" posts, including one who wrote today asking for a phone number where he can call me about some undisclosed position. These probably work OK when generally fishing for people to shop around to companies, but at times like this when everyone's getting dozens of messages, putting specific information in your messages would make it much more likely to get responses. If I'm ever sending out recruiting messages, they'll be titled something like "Web Developer (PHP/JS/CSS) opportunity at Fictional Software Company, Palo Alto, CA". Title, tech, company name and location. That sort of thing would seriously stand out.
(Just to be clear, I'm staying at Ning for now. Recruiters, thanks for your e-mails, though; they would have been great if things had turned out differently! Keep 'em coming; I won't be replying myself, but I'll summarise them and pass them on to the people I know who are on the job market.)
Well. I've resurrected my old blogging tool and blog data from my last laptop, so, prompted by Ben Ward's 2009 retrospective, here goes the first post of the new year. 2009's been... interesting. This time last year, I was interviewing with Ning, after Yahoo! closed the Brickhouse team/project/experiment that I'd been part of for just over a year, since late 2007. Brickhouse (and Fire Eagle, the project I spent most of my time working on there) was an incredible environment, where I met some very cool people and made a couple of close friends. I'm glad I had the chance to be part of it.
So, Ning offered me the job, and my priorities abruptly switched from trying to extend my Yahoo! contract to trying to wrap up and hand over Friends On Fire, the Fire Eagle Facebook app that I'd been working on, before taking off for the year's first trip over the Pacific, to meet my new coworkers and learn about the software I'd be working on, in late January. That all worked out well, and I had a great time in Palo Alto.
I returned home, had a crazy week trying to be productive on this codebase I'd barely scraped the surface of at the same time, after which my appendix gave up the ghost, putting me in hospital for the next three weeks, then off work for another three!
The rest of the year has been a bit of a blur. I've travelled a lot: Wellington, Auckland, Adelaide, San Francisco, Munich and London, plus a couple of smaller trips inside Canterbury: Peel Forest, Loburn, Hanmer Springs, Arthur's Pass. Reconnected with a bunch of old friends, and made many new ones. Spent a lot of time at the Christchurch Creative Space and with the people who hang out there. Visited almost all of my family living outside Christchurch; in five different cities: my brother, two cousins, an aunt, and an uncle and his family!
At some point in August, I mentioned to my boss that I'd just booked flights for a visit to San Francisco, and was planning to drop by once every few months, and she asked "well, how about moving here instead?". I slept on it, and took her up on the offer the next day. The process of getting a working visa was surprisingly smooth, and in November I found myself the proud holder of a passport with a US H1B visa sticker, and a whole set of new things to do to tidy up my life in New Zealand for easy transport (or storage).
Another notable thing to mention is that I picked up an old hobby: DJing. I dragged my turntables, mixer, stereo and records down to the Creative Space every week for a little while, then took the whole rig out to the Melting Man outdoor dance party, where I met the Mystiq Catalysts, who introduced me to drum & bass and the Serato line of digital DJ equipment. Since then, I've played several times at their Thursday night jam sessions, and have started running my own dance music club night, "Midweek Mix", on Wednesday nights at Foam, the same club. I suppose you could call it my first DJ residency? Now, with the move date getting closer, I've been spending the last few weeks trying to digitize as many of my 12" vinyl records so I can take the music with me and DJ in America without having to carry the (rather heavy) physical media. It appears that the type of music I used to DJ (or "spin", which seems to be what people in SF call it) from 1999-2002, trance and progressive trance, has fallen out of favour at home but still has a bit of a following in SF, so it'll be interesting to see how things go when I make it over.
So, now, all the Christmas and New Year celebrations are over, and it's back to work! 2009's been a transition year for me -- between one stage of my life that ended with the hospital stay, and another, that'll start when I arrive in California -- and the best year I've had in a long while. I'm excited to see what 2010 will bring ...
(No comments here any more, but you can comment on this on Facebook, if you're my friend there.)
For some reason the default OS X terminal program, Terminal.app, sets TERM=xterm-color but doesn't send the correct keycode that a colour xterm would send when you hit backspace. The solution is to set TERM=rxvt.
The instructions at the end of that link are a bit out of date; here's how to do it on OS X 10.5.6:
- Open Terminal.
- Hit Cmd-, or select Terminal > Preferences from the menu, to bring up the Preferences.
- Click Settings (the second icon from the left in the bar along the top).
- Click Advanced (rightmost tab).
- Select 'rxvt' after 'Declare terminal as'.
- Uncheck 'Delete sends Ctrl-H'.
... and you're done. You might also want to click through to the Keyboard pane and select 'Use option as meta key', which is useful (although I wish I could use Command as the meta key).
A couple of good books I've read over the past week:
- "Imperium" by Robert Harris.
- "The Bourne Identity" by Robert Ludlum (I've never seen the film, but the book was good).
Following that, I'm just starting on "Zen and the Art of Motorcycle Maintenance".
I've been away for a bit. My appendix started playing up on Sunday 23 February and sometime between then and Wednesday 26 February, when I was admitted to Christchurch Public Hospital, it burst, resulting in a full blown case of peritonitis. There was a pretty nasty week in hospital while I was recovering from the operation, and also dealing with pneumonia (a surgical complication, I think) and the rotovirus stomach bug (which I guess I caught in the Emergency Department). Since then it's been pretty much waiting for things to straighten themselves out, and finally today (after 2.5 weeks in hospital) I've been pronounced stable enough to go home for the weekend. Thanks so much to everyone who e-mailed or twittered their well wishes - it really made the time pass much more quickly.
[Update: There was some other news here, which is still valid but probably doesn't need to be recorded in perpetuity on my blog.]