Ryan Grove
Sunday December 03, 2006 @ 09:27 PM (PST)
At 3 am this morning I hunkered down in front of the local Target, determined to get a Wii or die trying. The ambient temperature was a bit below freezing and there was a wicked breeze whipping around the building from the east, but I held my ground at the number five spot in line.
At 5 am Brunslo showed up to keep me company, which was a good thing because by then my toes were completely numb with cold. He held my spot in line while I went across the street to Starbucks for some life-saving hot chocolate. Toes defrosted, I rejoined the line.
Finally, at 7:30, two Target employees emerged. One guy seemed to be trying to look tough and mean and stood there with his arms crossed, telling people to get into an orderly line, like he was worried we were going to rush the doors or something. I guess he must have been a veteran of the PS3 launch. xkcd was right, though; the Wii-seekers were pretty cool people. The other employee started handing out tickets. He announced that they had 3 or 4 Playstation 3s, and for some reason he assumed that the first few people in line would want them instead of Wiis. I only saw one guy take him up on it. Everyone else, including me, asked for a Wii ticket instead.
With ticket in hand, Brunslo and I retreated to my car, where we defrosted our buttocks on the heated seats and waited for the doors to open at 8:00. A short time later, we emerged victorious with a Wii and several games.
We managed to get in a good three hours of gameplay before I crashed. I think it was worth it.
Ryan Grove
Friday December 01, 2006 @ 09:20 AM (PST)
I woke up this morning to find that I was mostly deaf in my right ear. No amount of yawning or forceful repressurization of my ears resulted in any improvement. There's no pain yet, but so far it looks like this is shaping up to be some kind of ear infection. That or I'm actually going deaf. Crap.
Ryan Grove
Wednesday November 29, 2006 @ 03:31 PM (PST)
My window at work looks out onto the back parking lot, so every time I stand up to stretch in a feeble attempt to keep my wrists and back alive for just a few more years, I see all the horrible parking jobs perpetrated by my fellow employees.
The most frequent breach of parking lot etiquette is the one illustrated in this photo. The owner of the silver Honda on the left has erroneously parked in an area that is not a parking space. In actuality, this area is, for lack of a better term, a "backing-out area" provided for the convenience of the cars occupying the two spots directly bordering it. If there were another car next to the Honda and a car in the leftmost handicapped parking space, the silver BMW would have a very hard time backing out of his space and the handicapped fellow would find it nearly impossible.
In this particular parking lot the backing-out area isn't clearly marked as such, but anyone with two eyes and a lump of clay between their ears should be able to figure it out based on the lack of white lines and its proximity and position in relation to the bordering spaces. And yet, every day there's at least one car parked there; often two.
I wish I knew whose cars they were so I could shun them in the halls and give them dirty looks in the break room.
Ryan Grove
Saturday November 25, 2006 @ 12:45 PM (PST)
Net::Amazon::S3 is a simple, easy to use, pure Ruby implementation of the Amazon S3 REST API. It aims to provide a more Rubyish interface to the S3 API than other libraries and has no non-Ruby dependencies, so it's completely platform-independent.
I wrote this because I needed an S3 library for Crackup and the existing libraries left much to be desired. They all seemed to be based on Amazon's horrible and unnecessarily complex Ruby example code, which was unsettling. To make matters worse, none of them supported uploading from (or downloading to) IO streams, which meant entire files had to be read into memory for transfer (not exactly practical when you're working with multi-gigabyte files).
The API presented by Net::Amazon::S3 is very simple and allows you to do some pretty useful things with S3 in only a few lines of code. It also supports uploading from IO streams and downloading in chunks, which means it's usable with any size file (up to the 5 GB limit imposed by S3).
Net::Amazon::S3 can be installed via RubyGems with just a few keystrokes:
gem install net-amazon-s3
Complete API documentation (including examples) is installed along with the gem, or you can read it online.
Update: Marcel Molina, Jr. from 37signals has released a new S3 library, AWS::S3, that's much more complete and (in my opinion) much better than Net::Amazon::S3. Since he said nice things when he emailed to tell me about his project, and since I like AWS::S3 so much better anyway, I won't be developing Net::Amazon::S3 further.
Ryan Grove
Monday November 20, 2006 @ 11:25 PM (PST)
Crackup 1.0.1 is out. This release fixes a bug with the handling of symbolic links in Unix and looks for gpg.exe in the registry if it isn't found in the system path in Windows.
Ryan Grove
Sunday November 19, 2006 @ 11:21 AM (PST)
A lot of people are saying Casino Royale is the best Bond film since Sean Connery quit. They’re wrong. The Living Daylights was the best Bond film since Sean Connery quit. Casino Royale may just be the best Bond film ever.
Ryan Grove
Thursday November 16, 2006 @ 09:09 PM (PST)
All I want for Christmas is one or two of
these bad boys.
Ryan Grove
Wednesday November 15, 2006 @ 09:59 PM (PST)
I've released the first version of Crackup, my simple solution for creating encrypted remote backups. Since I last mentioned it, it's been rewritten in Ruby (PHP was getting on my nerves). I've been using the rewritten version for my own backups for about a week now and I'm pleased with it.
Installing Crackup is easy as pie if you've got RubyGems installed:
gem install crackup
There's some very preliminary documentation (by which I mean basic command-line usage info) here. Real Soon Now I'll add some examples and a description of how the backups are stored so you can reverse engineer your backups in the unlikely event that I get hit by a bus, you lose your original data, and every copy of crackup-restore disappears off the face of the earth.
Ryan Grove
Thursday November 09, 2006 @ 10:18 AM (PST)
Slashdot has temporarily disabled comment threading because they've got so many comments that their comments table (which uses a MySQL mediumint for parent ids) has overflowed. This is one of those theoretical limits I've always tried to plan for in my own software but never imagined I'd actually run into. I bet they feel pretty silly right now.
Ryan Grove
Thursday October 26, 2006 @ 09:42 PM (PDT)
I bought myself a new video camera today. It's a sweet little gadget, but the manual leaves something to be desired, which is surprising considering that Sony isn't some rinky-dink little company. Here are a few snippets of particularly delectable Engrish from the manual:
On the drop sensor
To protect the internal hard disk from the shock by dropping, the camcorder has the drop sensor function. When a drop occurs, or under a non-gravity condition, the block noise to protect the camcorder may also be recorded. If the drop sensor catches a drop repeatedly, recording/play back may be stopped.
Save all your recorded image data
In the case of your image data being damaged, save all your recorded images. It is recommended that you save the image data on a DVD using your computer. Also, you can save it using VCR/DVD device.
Note on operational temperatures
When the temperature of the camcorder becomes extremely high or extremely low, you may not record or playback the camcorder to provide protection to the camcorder. In case of this, a message appears on the LCD screen.
Note on using the camcorder in highlands
Do not turn on the camcorder in a low-pressure area, where its altitude is more than 3,000 meters (9,800 feet). This may damage the hard disk drive of your camcorder.
EASY button
By pressing the EASY button, most of the settings on the camcorder will be automatically operated. In this way, you can use the camcorder with simple operation (Easy Handycam operation). During Easy Handycam operation, you may not use some of the buttons on the camcorder.
Note before sending your camcorder for repair
Your camcorder may be required to initialize or change the current hard disk of the camcorder, depending on the problem. In the event of this, the data stored on the hard disk will be deleted. Be sure to save (backup) the data on the hard disk (see "Handycam Handbook" (PDF)) on the other media before sending your camcorder to repair. We cannot guarantee any loss of your hard disk data.
On use and care
Avoid rough handling, disassembling, modifying, physical shock, or impact such as hammering, dropping or stepping on the product. Be particularly careful of the lens.