September 19, 2009

The Pirates United Will Never Be Defeated

"We have, ourselves, full confidence that if all do their duty, if nothing is neglected, and if the best arrangements are made, as they are being made, we shall prove ourselves once more able to defend our Internets, to ride out the storm of war, and to outlive the menace of tyranny, if necessary for years, if necessary alone.
Even though large parts of Internets and many old and famous trackers have fallen or may fall into the grip of the Ifpi and all the odious apparatus of MPAA rule, we shall not flag or fail. We shall go on to the end, we shall fight in France, we shall fight on the ef-nets and darknets, we shall fight with growing confidence and growing strength in the air, we shall defend our Internets, whatever the cost may be, we shall fight on the beaches, we shall fight on the, we shall fight on the /. and on the digg, we shall fight in the courts; we shall never surrender, and if, which I do not for a moment believe, the Internets or a large part of it were subjugated and starving, then our Empire beyond the seas, armed and guarded by the Anon Fleet, would carry on the struggle, until, in Cerf's good time, the New World, with all its power and might, steps forth to the rescue and the liberation of the old."

September 15, 2009

Onwards and Upwards

Congratulations, Facebook! Now for the other 6.4 billion.

(Side note: looks like Google's playing Wolfram Alpha's game. Round Two: fight!)

September 14, 2009

The Ongoing Saga of Evan's Search For Housing in San Francisco

I've finally uploaded a couple of albums, as promised - one for our intern-squad trip to LA, one for random.choice() style samplings of SF. The latter album will hopefully expand as the term progresses!

The small handful of people that actually read this thing might have noticed a considerable lull in post volume - and not without good reason. For illustration, here's a timeline of my weekend:
  • Friday, 9 pm: pass out from exhaustion. Turns out I still haven't caught up on sleep from the month of death, a fact which late-night mid-week meanderings in Mission can only exacerbate.
  • Saturday, 9 am: wake up, foot it to Lower Haight for breakfast.
  • Saturday, 11 am: still at breakfast place, firing salvos of Craigslist replies. Aiming for the clusterbomb strategy; the housing search in San Francisco is not exactly easy, especially when you're a male international student looking for something short-term.
  • Saturday, 12 pm: moved on to Upper Haight, where I score myself a longboard.
  • Saturday, 1 pm: running laps around here to the dismay of tourists and local art cognoscenti alike. Still need practice before I can take this thing to the streets.
  • Saturday, 2 pm: finally work up enough confidence to book it down to Stockton and Market, where I've got an overpriced screen-repair appointment at the not-so-aptly-named Genius Bar.
  • Saturday, 4 pm: with everything in working order, I work my way back to the hostel.
  • Saturday, 5 pm: keycard doesn't work. Uh oh.
  • Saturday, 5:30 pm: I learn that, contrary to my understanding, the hostel has fubar'd my reservation; I was supposed to check out this morning. At least they're nice enough not to charge me for the privilege.
  • Saturday, 6:50 pm: after a hasty sack-packing and another ear-grinding leg on the BART, I'm standing on the San Jose-bound platform at Millbrae Caltrain. The plan? Lug myself to the office, drop my stuff off, and find a nice comfortable couch to crash on. Oh, and I just missed the train.
  • Saturday, 8:30 pm: I finally get to the office.
  • Saturday, 9 pm: I check my email, where I find a welcome bit of good news - one of the Craigslist postings actually responded.
  • Saturday, 9:30 pm: One of my coworkers happens to be working late on a rush job; he kindly offers me a place to crash for the night.
  • Saturday, 11 pm: I'm watching Clash of the Titans. Hey, this nomad business isn't half bad.
  • Sunday, 11 am: me, my longboard, and I make it out to the Caltrain for a trip back into SF. Not having a place to stay, I ping jverkoeyen; he volunteers the services of his fine floor for the cause. Random discovery - turns out there's a farmers' market right outside California Ave. Caltrain every Sunday.
  • Sunday, 2 pm: standing at Embarcadero and Market. The Craigslist poster rings me; I've arranged a viewing at 4 pm. Between then and now, I've got to find Jeff and get my ass across most of downtown SF to the far side of Mission. Whatever will I do?
  • Sunday, 3 pm: turns out Jeff and his girlfriend Emily shelled out for a mattress and bedframe off Craigslist and need help moving it. In return, they'll ship me across town in a Zipcar pickup truck and pass off a set of keys so I can get into their place.
  • Sunday, 3:40 pm: I reach the room I'm viewing with time to spare. The tenants show me around. Good vibes all around; these people are exactly the kind of laid-back I need right now.
  • Sunday, 5 pm: eating in some supposedly Cambodian restaurant near Mission.
  • Sunday, 8 pm: a meal, a spot of rainy longboarding, a none-too-quick bus ride, and a short hike later, I reach Jeff's place. It's exactly as sparsely furnished as I had imagined.
  • Sunday, 9 pm: I find a corner supermarket with the help of a map Jeff left on the counter.
  • Sunday, 9:30 pm: I'm eating a hasty meal of baguette, cheese, turkey, pasta salad, nectarine, and orange juice under Bay Bridge.
  • Sunday, 11:30 pm: restless, I take a brief promenade about the apartment complex grounds. Nice pool; there's something pleasantly surreal about living in the shadow of an enormous bridge.
  • Sunday, 12 am: lights out. Too much busy-work roaming for one weekend.
And that was it. Gasp. I must have covered the whole city a zillion times.

On the upside, I've landed a place to live for the rest of the term; I'm bunking up in my favourite hostel in SF until move-in. That, and I have yet to injure myself longboarding. (Depending on who you ask, that's either a good sign or an indication that I'm not doing it right. We'll see - I've got plenty of time and hills to reverse this trend with.)

September 12, 2009

Board in SF

Shelled out a wad of cash today for a longboard, which I've been (painlessly (so far, at least)) riding around SF on. My goal is to cut door-to-door times in the city core by 60-75% compared to the estimated walking time on Google Maps. (I'd estimate 80-90% for cycling, but this is immeasurably cooler - not to mention far more prone to catastrophic failure.)

And, yeah, I promised pics a few days back. I have yet to deliver on that promise, but I'll definitely post here when I do!

September 10, 2009

You've Been Facebook'd

Where "you" is TechCrunch. Long live engineer humour!

September 3, 2009

Where Two Files Meet

(Note: I promise that I'll post something more generally interesting before this day draws to a close, for non-technical values of generally interesting.)

Let's say that you have two large unsorted files, each of which is essentially a long list of strings, and you want to find their intersection. There's the simple brute-force way:

while read line; do grep "$line" file2; done < file1

There's a problem - this is quadratic! Fortunately, we can cut this down pretty easily with the old time-memory tradeoff:

sort file1 > file1.sorted
sort file2 > file2.sorted
sort -m file1.sorted file2.sorted > combined
diff combined <(uniq combined)