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).

My Review of the Nintendo DS  

Over the last couple of days I've mentioned my acquisition of a Nintendo DS, and a couple of games for it (Mario Kart, Animal Crossing). The DS is a pretty nifty device, a little bigger than I expected, with two pretty bright, detailed screens. The ones in the store don't do the screens justice, as they've been pawed and scratched to crap. It's plastic, but feels very strong and rugged. In fact, I dropped mine today and it's no worse for the wear (I'm a complete spaz).

Visually, playing a game like Mario Kart rocks. The top screen is the game screen, and it's graphics look to be N64 quality. There's no issues with speed or smearing or blockiness; everything looks great. The bottom screen is more than just a novelty gimmick, as it serves as a map/radar, and is absolutely invaluable. Once you play with it, it's nearly impossible to play without it.

I've got a little bit of issue with the size of the controls. I've got tiny hands, but even my hands cramp up using the tiny directional pad and buttons. Still, the controls are tight and responsive, and I'm able to play for an hour or so before I really need to take a break. The size of the directional pad is probably the one thing I would love to change on the DS.

There's only really one gimmicky thing on Mario Kart. In Battle Mode, when playing the traditional Balloon Battle, you actually need to blow up your extra balloons by blowing into the microphone. It's a little ridiculous, but does add a little bit of strategy to the game.

Animal Crossing doesn't have any of the niggling control issues Mario Kart does, as you simply don't have to use your hands as constantly. It's a more leisurely game, looks just like it's Gamecube counterpart, but with a slight curve to the world, which is a bit interesting. The touch screen control helps immensely when trying to write letters, move lots of items, or even just wander around. Animal Crossing is like Nintendo DS crack.

I haven't even touched on the wireless aspect of the DS. First, setup was a breeze, once I worked out a quick setting change I had to make on my fairly old D-Link wireless router. (Amusingly, this change also made the wireless connection to my TiVo significantly more stable, so kudos to Nintendo for that, too). There's room to store 3 different wireless setups, which means I can store my home setup, my work setup, and then use the 3rd to just grab whatever the local access point is. Once you connect, it just works. Mario Kart allows you to race people from around the world, and, again, it just works. Animal Crossing does the same, allowing you to connect to other towns. For this feature, or to race against folks you know in MK, you need a friend code, which I'm thinking basically is just a hash of some constants (the MAC address?) that Nintendo uses to find people who've connected to their network. Enter the code, and you can race against someone, or visit their Animal Crossing town. No charge, and it all works pretty smoothly.

I'd love if Nintendo would add a web browser, and I'm waiting for someone to come out with a media player adapter that accepts SD cards. The Nintendo DS would make a perfect device for a trip: browse the web (across both screens!) in the airport, then watch a movie (video top screen, controls bottom screen) on the flight. Considering companies released such add-ons for the Gameboy Advance, I've no doubt they'll be coming for the DS.