The eclectic musings of a bitter software engineer.

Archived Posts

Displaying posts 121 - 130 of 582

Yahoo!

Monday March 19, 2007 @ 09:17 PM (PDT)

You know how, when something really incredible happens to you that you had always sort of dreamed about but never thought would actually happen, there's this adjustment period where it just doesn't feel real? And you feel pretty much the same as you always did, but then occasionally the full realization of what's happened hits you, just for a minute or two, and leaves you kind of stunned? That's how the last few weeks have been for me.

I've accepted a job at Yahoo! as a Senior Web Developer on the Yahoo! Search team. In the coming weeks, Felicity and I will be leaving the drizzly Pacific Northwest and moving down to sunny Santa Clara, California. We're both pretty excited.

I remember a conversation Felicity and I had a few years ago when I was feeling depressed about my job at the time, which was pretty boring and unfulfilling. She asked me what company I would want to work for if I could work for any company in the world, and I told her I'd want to work for Yahoo! because it seemed like a really fun place to work.

When I tore open the purple box containing my official offer letter and it actually yodeled at me, I knew I had made the right choice.

JyteBot

Thursday March 15, 2007 @ 09:57 AM (PDT)

If, like me, you've been wasting a lot of time on Jyte recently, you might enjoy this little hack I've cooked up. One feature Jyte doesn't provide (yet) is the ability to watch for new comments on claims that aren't your own. This makes it difficult to carry on discussions because the participants have to remember to keep checking the claims they're interested in to see if anyone has said something new.

I set out to fix this last night, and the result is JyteBot, a Jabber bot that keeps an eye on Jyte Spy and will notify you via Jabber whenever someone comments on a claim you're interested in.

To start using JyteBot, just add jytebot@gmail.com to your Jabber roster, then type help to see a list of available commands.

As I said, this was a pretty quick hack that I whipped up last night, so JyteBot may go down briefly every now and then while I work out the kinks. Nevertheless, I hope you'll find the service as useful as I do. Enjoy!

No God of War II for me.

Wednesday March 14, 2007 @ 11:38 AM (PDT)

Never pre-order video games from Amazon.com. Or anywhere else, for that matter.

I thought I'd get the jump on the crowd by pre-ordering God of War II several months ago. Up until this morning, Amazon insisted that I would have my game by March 15th. Then, today, after it was too late for me to order it anywhere else, Amazon sent me an email saying the shipment was "delayed", which is bullshit code for, "we accepted pre-orders for way more copies than we actually expected to have in stock; please enjoy this free kick in the balls courtesy of us."

What has this experience taught me? Pre-ordering games is just as effective as not pre-ordering games, except that when you pre-order a game, you can rest assured that you'll be disappointed. When you don't pre-order, there's always a slight chance you might actually find a store that has the game in stock.

Update: Lo and behold, Fred Meyer had 150 copies in stock! Take that, Amazon.

The glasses, they do nothing!

Friday March 09, 2007 @ 07:55 PM (PST)

When I was a wee lad, I had perfect vision. I could spot a flea on the nose of a bumblebee at half a mile. When the school nurse lined everyone up once a year and gave us all vision tests I used to pretend to have difficulty reading some of the letters just to avoid embarrassing my classmates, and she still told me I had 20/20 vision.

My vision has been getting steadily worse since then. A few years ago I finally got glasses and was amazed at how much clearer everything was. The optometrist told me that my right eye was horizontally elongated while my left eye was vertically elongated. No matter, the glasses fixed that right up...for a while.

Within a year, my vision was totally sucktastic again, even with the glasses. Finally, about six months ago, I dragged myself back the optometrist and got a new prescription, and everything was perfectly clear again...for a while.

The other day while I was browsing the web, the vision in my left eye got blurry. Click! Just like that. One second it was fine, the next it was blurry. I figured I was just getting sleepy or something, but no. It stayed like that. It's still blurry. Aren't these things supposed to happen gradually?

At this rate, I'll be legally blind by the time I'm 30.

How not to write a JavaScript trim function

Monday March 05, 2007 @ 11:11 AM (PST)

God only knows why JavaScript's String object doesn't have a trim() method to remove leading and trailing whitespace. Pretty much every other scripting language has something analogous to trim(), but JavaScript must have called in sick the day they were passing those out. This means that one of the first tasks for anyone doing any type of string processing (especially form validation) in JavaScript is to write a trim() method (or use a framework that provides one).

AppFuse describes itself as "an open source project and application that uses open source tools built on the Java platform to help you develop Web applications quickly and efficiently." In other words, AppFuse is a Java web application starter kit that provides the first fifteen layers of unnecessary complexity for you so you can concentrate on more important things, like fooling yourself into thinking Java is a good language in which to write web applications.

As my coworker Brett discovered today, the JavaScript trim() method provided by AppFuse is utterly retarded:

// This function is for stripping leading and trailing spaces
function trim(str) { 
    if (str != null) {
        var i; 
        for (i=0; i<str.length; i++) {
            if (str.charAt(i)!=" ") {
                str=str.substring(i,str.length); 
                break;
            } 
        } 
    
        for (i=str.length-1; i>=0; i--) {
            if (str.charAt(i)!=" ") {
                str=str.substring(0,i+1); 
                break;
            } 
        } 
        
        if (str.charAt(0)==" ") {
            return ""; 
        } else {
            return str; 
        }
    }
}

For comparison, here's a much more sensible JavaScript trim() implementation written by Douglas Crockford and freely available on his website:

String.prototype.trim = function () {
  return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1");
};

However, even if we ignore the fact that AppFuse's 23-line implementation can be replaced by a one-line regular expression, there are several other things wrong with the AppFuse function. It was obviously written by a Java developer who didn't know regular expressions and wasn't at home in JavaScript. How many problems can you find?

Mozy makes good

Friday March 02, 2007 @ 09:51 AM (PST)

Dave Robinson from Mozy sent me an email this morning apologizing for the problems I had restoring my files and promising to address them. What’s more, they’ve also sent DVD copies of all my data via FedEx Overnight, and they’ve given me a complimentary year of service. Wow.

That’s a very classy response. Thank you, Mozy.

Update: Despite Mozy’s attempt to make things right, I still ended up losing some of my data, and judging by the comments my blog posts have received, I’m not alone. Please don’t use Mozy. I now recommend CrashPlan, which I’ve tested extensively and which doesn’t suck.

It turns out Mozy isn't so hot after all

Thursday March 01, 2007 @ 08:14 PM (PST)

Last week a hard drive in my home file server died, taking hundreds of gigabytes of MP3s, movies, source code, and other things with it (including the uncompressed master copies of all my cinematic masterpieces). Fortunately, I had backed up the important stuff using Mozy. Unfortunately, Mozy’s restore functionality turns out to suck. Bigtime.

Mozy gives you two options for doing a restore. The preferred option (according to Mozy technical support) is a web restore. You log into Mozy’s website, select the files you want to restore, and then wait about six hours while Mozy’s little file restoring robots pull the files off the storage servers, pack them into self-extracting 7Zip archives, and copy them over to a web server, at which point Mozy sends you an email saying your files are ready to be downloaded.

Before trying that method, though, I tried Mozy’s newer Windows Explorer integration, which displays your backed up files in Explorer as if they’re on an external hard drive and allows you to begin a restore operation by simply selecting the files and directories you want to restore and choosing “Restore” from the context menu. Easy enough, right? Wrong.

Every time I started a restore, Mozy would crunch for a looong time searching for the files on the server, then finally start downloading them. I’d go away and let it run for a few hours, only to return to find that Mozy had hung and was just sitting there doing nothing. Canceling and restarting a restore operation takes a good 15 minutes or so, since the Mozy client doesn’t seem to be very happy about responding to cancel requests.

After about three days of continuously trying and failing to get Mozy to restore my files via this method, I decided to try a web restore at the prompting of Mozy tech support. As described above, my web restore files were created and I was emailed when they were ready to download. In the email was a link to a special Mozy web page that had download links for six archives, each about 4 gigs in size.

I queued up all the links in my download manager as Mozy had suggested and then went and did other things. When I returned several hours later to check on the progress, two of the downloads had finished, but the others had failed.

Unfortunately, Mozy’s restore website thinks it’s smarter than me, so it removes the download link (and deletes the archive) when it thinks you’ve downloaded the file. I was able to restart three of the downloads, but the remaining one had already been deleted and I couldn’t resume the download.

This means I now have to go through my 8,000+ restored files manually and try to figure out which ones were in the archive that Mozy wouldn’t let me download so I can create another web restore request to re-download those files. Thanks Mozy.

I’ve now spent four days trying to coax my backed up files out of Mozy’s broken servers, and I’m fed up. Mozy’s great at making backups painless, but it’s totally broken when it comes to restoring, and that makes it pretty goddamn useless.

I feel cheated now, especially after having written such a glowing review of Mozy earlier.

Update #1: All three remaining downloads have now failed as well. Great.

Update #2: Mozy has apologized for the problems and gone way beyond the call of duty to try to make things right.

Update #3: Despite Mozy’s attempts to make things right, I still didn’t get all of my data back, and I now strongly recommend using CrashPlan instead of Mozy.

George Lucas is a moron

Monday February 12, 2007 @ 10:19 AM (PST)

No wonder everything George Lucas touches turns to shit these days. He thinks Empire was the worst Star Wars movie.

Consolas is rocking my world

Thursday February 08, 2007 @ 11:20 AM (PST)

I'm absolutely in love with Microsoft's Consolas programming font. It's the most beautiful, readable programming font I've ever used, and I've tried tons. Before now, Courier New and (in a pinch) Lucida Console were the only fonts I could stomach for writing code, but Consolas outdoes them both.

Smokin' Aces

Monday February 05, 2007 @ 09:59 AM (PST)

Go see Smokin' Aces. Right now. The fact that it has a 27% rating on Rotten Tomatoes only proves that film critics are retards who hate fun. That was one of the most entertaining movies I've seen in a good long while.

Sidenote to the two inconsiderate bitches in front of us who kept flipping open their cell phones to text their dealer or whatever: Please get cancer and die in a fire. Thanks.

Copyright © 2002-2008 Ryan Grove. All rights reserved.
Powered by Thoth.