I'm Avoiding My Front Door

Someone just rang my door bell, and I have no desire to donate money to anyone's damn cause. Seriously, I hate that it is legal to harrass people into donating to your cause. My cell phone has gone off like twice a day from the same batch of Colorado numbers trying to get me to send more money to the Human Rights Campaign (who I will not link to because they've been a pain in my ass).

So, here I sit, waiting out the person at the door who could be here to give me a giant million dollar check, but is more likely hoping I'll become a member of their organization for the low, low price of only $20 a month. And then I'll get a sticker and a newsletter.

Whee.

It's the year 2006. I've got multiple computers. If I want to give you money, I'll do it over the interweb. Please leave me alone.

Like Drinking Liquid Feces

On the way home from playing some basketball, I stopped at a local grocery store. I wanted to grab a Gatorade or water, but they didn't seem to have any cold. I headed to the cold drink session and saw a selection of Odwalla beverages. You know, the really pulpy/smoothie-type drinks loaded with vitamins and sold at a ridiculous markup. Still, I kinda like the Vitamin C one, but it wasn't what I was in the mood for.

Instead I made the mistake of reaching for the monstrosity known as the Super Protein Chocolate. How can anything chocolate milk related be bad? How can you mess up chocolate milk? SERIOUSLY. HOW CAN YOU FUCK UP CHOCOLATE MILK?

The good people at Odwalla can answer that question. They made a drink that I can only imagine is like drinking ones own feces, having never drunk my own feces (or anyone else's, for that matter). If I'd tasted someone's diarreah, I think it would taste like this. Never in my life have I tasted something so awful, so disgusting that I tossed it after one sip. That's how long the Super Protein Chocolate lasted. One sip.

I'm pretty easy going when it comes to products. Make me a bad burger, I'll probably just eat it and grumble silently. Bring me the wrong food at a restaurant and I'll probably feel bad about asking you to fix it, and then I'll leave a big tip because I feel like I've made your job worse.

I will not go silently into the night about the Odwalla Shit In a Bottle. I will not be silenced. I want to warn anyone who might stumble across this post to save their taste buds and avoid this drink like the plague. I want my $3 back and maybe an extra buck for the emotional and physical distress.

Sorry Odwalla, but this is, literally, shit.

Odwalla Super Protein Chocolate

WordPress 2.01

I finally bit the bullet and upgraded to WordPress 2.01. I had been hesitating since I hadn't wanted to reconfigure my plugins/themes/hacks, but figured I needed to do it eventually. My web host recently launched a nifty "you've got WP 1.5 installed, click this link and we'll upgrade everything for you."

I clicked, it ran, and it just worked. That's really nifty and a really good hosting feature. It's also something that now I'm noodling around in my brain figuring out how to implement something like that for some of the features that the company I work for offers.

WordPress 2.01 has a much nicer interface, with a really great text editing box. It's also got cool AJAX-y fields on the right that let you expand/collapse UI bits you care/don't care about. And now I can add category fields on the fly, which is fricking awesome. The post preview also gets rendered in your theme, so you know pretty much exactly how it'll look.

If you see anything that doesn't work the way it should, drop me a note here.

Opera Web Browser for the DS

A little over a month ago, I reviewed my then-new Nintendo DS, and I'm still using it a ton. Probably the most I've used a game system since Animal Crossing was out for the Gamecube.

Well, one of the things I mentioned in that article was the desire for Nintendo to release a web browser. Nintendo's gone and done one better -- they've worked with Opera to have get Opera running on the Nintendo DS. Here's the press release.

Very very cool.

Random Stuff -- The Super Bowl, Ads, and a Cool Blog

  • The Super Bowl = Super Blow. Poor officiating, ridiculously poor coaching on both sides, and two teams who decided to play about as generic a game as they could. Bravo.
  • The Super Bowl Ads sucked. Except for 2. The two Sprint ads. The first one, with the guy throwing his phone at the other guy as a "crime deterrent" was only mildly funny until he hit him a second time. Then it became really funny. It became a classic when the Sprint splash screen after that actually listed "crime deterrent" as a feature. The second Sprint ad was funny the moment they played "Baby Come Back", and became hysterical when they broke out the Benny Hill-reference. They both can be viewed at Sprinttvads.com.
  • My friend Alex pointed out to me that the founder of the first company I worked for (and one of the smartest people I've ever met), has a blog detailing the construction of his gigantic timberframe house. That's a serious project.

Albums bought recently:
Jenny Lewis and The Watson Twins -- Rabbit Fur Coat
Roger Clyne and The Peacemakers -- Live at Billy Bob's Texas
Clap Your Hands Say Yeah -- Clap Your Hands Say Yeah

A Trip to the Mall

Two interesting things I figured out at the mall yesterday:

1) I'm not on crack. All the kids I've seen sort of gliding around are actually gliding around. They've got little shoes with like a rollerblade wheel in the sole. It's the strangest thing ever. Boys and girls, gliding around, looking like they're sort of floating along a few cm above the ground. And yes, I wish I had them when I was a kid.

2) The whole Macy's/Filene's buyout is kind of annoying. I got a Filene's gift card for Christmas, and they were having some huge sale. I figured I should use it now, since I never shop there and would more likely forget I even had it. There was nothing in Filene's, so I headed down to Macy's, since Filene's had a sign up that Macy's will be accepting Filene's gift cards. "Nifty" I said to myself, and walked down to that end of the mall. I found myself a sweatshirt and some comfy track pants and decided to checkout with my haul.

Alas, I hadn't read the fine print. They won't accept them until Feb 1. So, I could put my stuff back, miss the sale, and try to find stuff at some point in the future. Or, I could pay now and then go back on Wednesday and have them hit the gift card and put the funds back on my credit card. I chose that route, but it made me wonder why they couldn't just take the card now. You know, help the customer out and all.

I guess it doesn't matter in the long run, because they know I need to use the gift card and they already have the money from it. Anyway, I think I'm just cranky I didn't get some roller-shoes.

Web Hosting Lessons I Learned This Week

At work we're wrapping up the development/stabilization of a new platform rollout. All sorts of planning went into it. Much smarter people than me figured out really clever ways of moving data around, and ensuring that all of the servers would be running the same code, would stay in sync, and the platform would be rock solid.

That was the theory, at least. It should have worked. Except for two things:

1) Microsoft FrontPage sucks.
2) Macromedia ColdFusion sucks.

The vast majority of web hosting customer use FrontPage. It's unfortunate, but Microsoft made it easy and cheap for people to build web pages, so now you have to support it. If it was just the WYSIWYG editor, it wouldn't be a big deal. People would build pages, upload them through FrontPage, and all would be well with the world.

But that's not how FrontPage works. FrontPage uses these server side things called extensions to keep track of the state of files, so that it only needs to upload ones that have changed. It lets you synchronize your local files with the server, getting the latest versions on both. It does stuff weird stuff with templates and themes, where it tries to guess what you want/need, and will *actually change your code* if it things something has changed.

Why did this make my life miserable? Well, it turns out that installing the FrontPage Extensions into someone's web directory is problematic. It doesn't always work right. Sometimes, the extensions doesn't get installed at all. Sometimes certain files are missing, leading to the code change situation described above.

In the end, the most reliable solution seems to be to always install the FrontPage Extensions locally. That seems to alleviate most of the issues. However, when you're working with a shared platform, that's not the optimal solution. You don't want to have to spawn off operations to run on separate boxes, especially when the datastore in the background is a central share. Alas, that seems to be the remedy to the installation issue.

Worse yet, there's not really a solution to the issue with FrontPage changing code. One of our tools brings over the user's files, installs FrontPage, and (in theory) that's it. The user is all setup.

Except ... FrontPage sometimes times out when calculating the file statuses (remember that from earlier). So FrontPage then just changes a bunch of files and things get all broken. All a user would need to do is reupload the files, and that fixes things, but still, it's not an optimum thing for the user.

All that is just FrontPage.

Why does ColdFusion suck? Because it runs as an ISAPI filter. When it stops working, it brings down *every single person on the server*, whether they use ColdFusion or not.

That's simply a broken way to implement a product.

Those two things contributed to a long week. The upshot is that the hours spent now are likely to save many more hours down the road.

My Nifty List Last.fm Profile

So, I use Last.fm to aggregate what I listen to in iTunes and on my iPod. It does some cool stuff like telling you what you've listened to the most overall (The New Pornographers, Fountains of Wayne, Harvey Danger), in the last week (The Arcade Fire - Neighborhood #3 (Power Out)), etc. It's pretty cool.

I don't log in all that much, since I've got an iTunes plugin that automagically updates it. You can generally see the results over on the right hand side of this page, or by directly visiting my profile.

I quickly logged in when I got home from work, just to see if anything new was happening on last.fm, and lo! I see my little profile synopsis:

My Last.fm Profile

Check out that number of songs listened to. Nifty.

I rock.

If Only I Had a Foot Rest

My work chair is setup so the arm rests fit just below the height of my desk. This way, I can lean back in my chair, put my feet on my cube walls, and slide my chair in real close to my desk. If I'm sitting normally, my arms generally rest on the desk anyway, so this works out perfectly.

Of course, there's one exception. I just wedged the fingers of my right hand between my arm rest and my desk, while simultaneously sliding my chair in. This resulted in a significant amount of pain, a couple of purple fingers, and my having to type using less than the normal amount of dexterity.

I think I will survive, but it sucks. If I had a foot rest, this never would have happened, since I wouldn't be trying to put my feet on my cube walls. I suppose it wouldn't have happened if I wasn't a complete fidget who needed to be contorted into odd sitting positions (like my current one leg tucked up underneath the other position).

Anyway ... ouch.

Moving a MySQL Based Message Board

. . . is a huge pain in the ass. A little over a month ago, we decided to move the Blair Wasdin Project (Red Sox/General Baseball) and Chair Chuckers (Celtics/General Basketball) message boards from the old crappy web host they were on to a newer, better web host.

The basics of this are easy:

  1. Move web files
  2. Move databases
  3. Repoint DNS

Simple enough.

And the first step--moving the web files--is easy. FTP down from old, FTP up to new. Easy.
The last step is also trivially easy.

That leaves ...

Step 2. It's a complete bitch. Since most shared web hosts don't give you access to the MySQL server, you can't just go grab the database file and move it. You have to move the actual contents of the DB through SQL insert statements. Create tables and fields, insert data; rinse; repeat. There are some tools to make it easier, bundling the jobs up into a big batch text file, but on a message board with thousands of posts, these files become quite large. Uploading generally causes the remote web server to time out. So you have to break the file up into smaller chunks.

It's just tedious.

I'm sure there's a better way, but I was lazy and this was the best I could figure. In the end, it worked. It just took a long time, and during the time you're moving data, new data is getting inserted. So, short of turning off the board for a period of time, you're simply fighting a losing battle.

Why am I writing about this? Mostly so that I'll remember how to do this if it comes up again. Partially to remind me to think about (and Google) a better way of doing this, should the need arise. And a little bit just to vent about an annoying process and think about a way to improve this situation for shared web hosting customers (which is my job).