Author Archive

Two months with the iPhone

Friday, September 28th, 2007

So, full of anxiety but pumped about iTunes on the iPhone, I ran the iPhone update 1.1.1. I was anxious because I had hacked my phone to allow me to install third party applications. It worked fine, but it removed all my previously installed stuff.

I’m not going to hack it again. I realized, as it was reloading (and I was nervously waiting) that I didn’t use hardly any of the crap I had installed. Yeah, some of the stuff is neat in premise… but just not as useful as I had hoped. Peer to peer GPS? It’s nice, but it doesn’t work. Etch a sketch? Also very cool… but after the “oohh that’s neat” feeling of drawing on an iPhone with your finger, it loses its luster too. Even “useful” apps like terminal and Python saw no use. The things I use on the iPhone are the things that Apple sold me. Safari, Mail, Phone, iPod. That’s what I use. That’s why I have an iPhone. I wish there were more things I could do with it–REAL GPS for instance would be cool, but won’t happen. Document editing, though, would be even better.

I’m just happy not to own a new iBrick.

Tags:

A trivial blog post

Tuesday, September 25th, 2007

I spent a good hour or so yesterday battling a particularly nasty bug. Well, it wasn’t really a bug, just a curiosity that took me on a wild goose chase through several hundred lines of source code. I found a comment in my source from a couple months ago that said “trivial” and nothing more, between an if block and an else block. I thought it meant that the following code (the else block) was trivial, and seriously wondered why, since the code in the else block was actually not trivial at all.

Well, it finally dawned on me–I put “trivial” in the source code to force subversion to recognize a new version of the file I was working on. Trivial meant that the commit was trivial, not the code. Very very frustrating. (more…)

Tags:

Dying in video games

Saturday, September 22nd, 2007

In a short break in the midst of a lot of programming I have to do right now, I visited Slate, which I don’t do that often, but I came across a post about killing your avatar in various video games, especially a new one called “Pain”, a silly looking, cartoonish game which involves nothing more than flinging your character out of a slingshot to kill him. They put together a fascinating slideshow about video game death which is well worth watching–the Roller Coaster Tycoon video in particular is highly captivating. (more…)

Tags:

Does usability matter to big companies?

Monday, September 17th, 2007

Over the weekend, I did a couple of things with big enterprisey companies which have big enterprisey applications for consumers to, er, use. I purchased a computer from the online Dell outlet, sought support from Microsoft, slogged through insurance forms on State Farm’s site, and, oh right–paid my iPhone bill. Warning: I rarely sound so whiny as when I’m criticizing the interfaces of companies who should know better. (more…)

Tags:

What I did with my $100 from Apple

Monday, September 17th, 2007

I bought a wired keyboard (very sleek, very thin) and a wired Mighty Mouse. $105 with tax, and I really wanted one of those keyboards anyways, and frankly, I’m very tired of 1) replacing the batteries and 2) dealing with annoying wireless latency issues that only bother people who type really fast. I hope it works out. Now if I could just get a Mac monitor on my desk, there will be no doubt which side I’m on.

I will say I’m a little ticked that I couldn’t use that $100 on iTunes. I guess that by selling us hardware, Apple’s only really giving back $70 or so since its margin is certainly better there than iTunes.

Tags:

What I listen to while I write code

Tuesday, September 11th, 2007

I couldn’t think of anything else to post, so I decided to put up a brief synopsis of my current musical adventures, especially what I listen to while I program.

  1. The Knife. These guys are great; sort of electronic with fast beats. I listen to them when I really just need to focus, even if I’m having a bad day. I’ve never written any great code with them playing, but what they do for me is allow me to write code even when I really don’t want to.
  2. The Hold Steady. I can’t listen to most of their stuff except in full album format, and I never listen to them just to get motivated. I reserve The Hold Steady for when I need to stay on a hot streak. I can listen to them on headphones, like The Knife, so they’re good for a midday streak often.
  3. The Decembrists. I have all their stuff on my computer, and I’ve written a lot of my best stuff to their erudite lyrics and catchy melodies.
  4. Radiohead. An old standby for writing great code. My very best coding sessions have involved listening to everyting they’ve ever done, in chronological order–it’s what I put on when I know I’m hot and I want to stay that way for the next 12 hours…
  5. Dave Matthews Band. Not many programmers I know of are down with DMB, oddly, and I can’t listen to them for really hard concentration, but for basic bug fixing, they’re alright.
  6. Mayaflyer. I like to start and end every day with Mayaflyer. They’re the only reason I’ve ever produced a worthwhile line of code, ever.
  7. Wilco. Unbelievable for sustained periods of productivity. I can code for hours, especially with “A Ghost is Born.”
  8. Just about anything from Schubert onwards, chronologically. I code really well to Shostakovich symphonies, Brahms concertos and sonatas, and Menotti’s operas. Also Philip Glass. If you’re a programmer reading this, try some Glass, especially the album of the Brazilian group playing his stuff, it’ll blow your mind.
  9. TV on the Radio, The Strokes, The Libertines, The Yeah Yeah Yeahs, Velvet Revolver, Portishead, Interpol, We are Scientists… see Radiohead.

Oh, and as for what I’m reading right now, I’ll admit without embarrassment that I’m progressing through the Harry Potter series in order; I’m on book four and loving every second of it.

Tags:

I want my $200 back

Thursday, September 6th, 2007

So Apple announced a $200 rollback on iPhone prices…. TWO DAYS after my return policy expired. I am so livid; more than I’ve ever been at a technology company (even Microsoft). I pay $599 for an iPhone a couple weeks ago, and then they announce a 33% reduction in price. I won’t say I’ll never buy anything from Apple again, because I *certainly* will. No doubt. Their stuff is the best, the one, the only… which makes this a million times worse for me. Please Apple, don’t let us, your die hard fans and best evangelists start to hate you… send us gift cards, iTunes songs… anything. If you dropped the price $20 a month for 10 months, fine. But this, this is purely a slap in the face.

UPDATE: I feel slightly better after learning that I’ll get a $100 credit to the Apple Store. I mean, yeah, I’d rather have cash, and I’d rather get all $200 back than just $100 of it. But it’s better than nothing.

Tags:

on productivity

Thursday, September 6th, 2007

Ever since I got my iPhone, I’ve been drawn more frequently to YouTube, that glorious time suck. I suppose it’s because YouTube is now even easier for me to abuse than ever before, but the fact remains. I saw an interesting one over the weekend, the “hipster PDA” which is an organizational tool consisting of note cards, a pencil, and an alligator clip. The “hipster PDA shuffle” is the same, but with an iPod shuffle instead of the alligator clip (funny, right?)

Also over this last weekend I had a programming spurt of unprecedented effectiveness and productivity. All this, plus the normal course of my reading has led me think a lot harder about why I work the way I do, which is to say, why do I have such great and productive 60 hour spurts which last a few days and then return to normal efficiency? Or more importantly, how do I change my ways so my output doesn’t drop but the schedule is more predictable?

I’d like to think that I started to answer this question for myself over the weekend. See, my biggest problem is that when I hit a brick wall in the course of writing code, invariably I end up watching YouTube for three hours (if I’m good at programming I’m much better at watching YouTube). So this weekend, when the urge to watch the ‘tube hit, I managed to drag myself out of my chair and into the conference room, away from any computer, and refocus on planning and architecture. It worked amazingly. I did about two weeks worth of work in three days.
Anyways, working at the office with other people, I can’t always go to the conference room or pace the floor with my music blasting, so I’m going to need to find a more social method of working. Ideas?

Oh, by the way, I wrote this post from my iPhone.

Tags:

Object Overloading in PHP5

Tuesday, August 7th, 2007

One of my biggest complaints about PHP5 is that you can’t do genuine object overloading, you can only fake it using the __call() method and its brethren. The crappy part about __call() is that if you want to do anything complex, you end up reinventing the wheel in a big if, elseif… else block, or maybe a switch statement. It’s not well suited for real overloading, Java style. We’re better off just using func_get_args() at the top of a method and choosing different paths based on what we find in the function arguments. But that too can get overwhelming. I thought of a solution which I find interesting. I’m not saying it’s right, or even a good idea, but it comes as close to real overloading as anything, is quick enough to use, and demands strict variable typing. (more…)

Tags:

A Very Nerdy Mistake

Sunday, August 5th, 2007

Cursed with a little bit of free time this weekend, a need for a break from coding, and no desire to go out, I went to Borders on Saturday night to buy a book on Java (the incomparable Thinking in Java), since I discovered after a few hours of coding it on Friday that I’ve gotten a bit rusty (more on that later). Somehow, I ended up with all four “Revenge of the Nerds” movies, bundled to sell at $19.99. The original is a favorite of mine, but I hadn’t seen the other three, so I figured, why not? Then I watched them all in a row. (more…)

Tags: