Fighting Foo at the Wang

My friend came through huge a few days back, picking up some cheap tickets through work to go see the Foo Fighters live at The Wang Center. When he said he got tickets, I was figuring on balcony seats. Nope, 15 rows back from the stage. Hell yeah.

I wasn't exactly sure what to expect from an acoustic Foo Fighters show. I'm a decent sized Foo fan. Don't have all the albums, but I've got a bunch, and I think "Everlong" is one of the greatest air drumming songs of all time. In fact, if they ever put out a Drum Hero game (like Guitar Hero), that would have to be one of the songs. Yet still, it's acoustic. It could be really, really boring.

We get there, and we're there in time to catch the second half of Frank Black's opening set. I'm not yet a huge Frank Black fan. I like him, I understand his place in music history, but I can't claim that I've heard a ton of his solo stuff. 'Twas good though. He rocked out, just him and his acoustic guitar, and one a capella song. A good opener, albeit short.

Then, after an interminable 30 minute break, Dave Grohl walks out and starts playing a song, just him and his guitar, off of the most recent album (which I don't have). The whole place is quiet, listening to him go, and then mid-way through the song, the rest of the (giant) band comes out and ***BOOM*** this huge orchestral sound comes out. Violin, organ, xylophone, guitar, bass, triangle ...

It was like I'd gone to see the Foo Fighters and out walked The Decemberists.

Furthering my Foo/Decemberists confusion, I noticed Petra Haden (from that dog.! and The Rentals! and the aforementioned Decemberists!) who'd recently been playing with The Decemberists (and singing vocals, I believe, on their awesome new album which I'll write about soon). And there's Pat Smear! Who left the Foo awhile back, but apparently is back for this acoustic tour.

Very cool.

So they start rolling through songs, with Dave interspersing some pretty funny banter, keeping everyone entertained. It's such a laid back atmosphere. The band sitting down, the crowd (Foo Fighter fans mixed with the typical upper crust Wang Center clientele) quietly rocking out in their seats.

They finish up the set with "Times Like These" which rocked hard, but was decidedly acoustic and decidedly different than normal, when you add in all of the unexpected sounds of the extra percussionist and Petra Haden.

After a typical few minutes of crazy crowd applause, Dave rolls back out for 2 solo songs in the encore. He then says he's got time for one more, and starts playing "Everlong", and the crowd goes nuts. Again, about halfway through the song, he stops. The band walks out and they just go flat out through a couple more verses of the most awe-inspiring version of "Everlong" you'll ever hear. Very cool to hear and see (and I kept thinking I'd buy a live CD/DVD if they put one out).

I've been looking around for some pictures, but Flickr doesn't have anything from the Boston show yet, so I bring you pictures courtesy of The Boston Phoenix.

Petra Haden!

Petra Haden!

The show!

Evite to Google Calendar Greasemonkey Script

I've been using Google Calendar for a while now. It's not perfect, since I can't sync it with my home and work Outlook calendars. That would be perfect (have GCal do a bi-directional sync with Outlook), but in the interim, the fact that I can have my calendar send me SMS alerts and have it automagically pick up calendar items from GMail are enough to make it worthwhile for me.

The only annoying thing has been the fact that Evite (which is still really widely used) doesn't have a "add this event to your Google Calendar" link in their interface, and I'm guessing, probably never will, as GCal has some Evite-like functionality, and Evite probably views that potential loss of ad revenue as too big of a risk. I won't debate the validity of that argument, but simply say that I was getting frustrated at having to hand copy events from Evite to GCal.

I'd remember that I'd always want to write my own Greasemonkey script. For those unfamiliar with Greasemonkey, it's a Firefox extension that allows you to insert content/functionality into an existing website. For instance, until Gmail added a delete button (a ridiculous UI oversight), there were numerous Greasemonkey scripts that let you add your own delete button. Pretty cool stuff. There's thousands of scripts out there, most of which are just designed to increase the usability/functionality of some of the most popular web sites.

So I started hacking. It took me a while to get my brain back up-to-speed on Javascript, and then it took me even more time to work through all the hoops I needed to in order to get the info out of the Evite interface and into one that Google Calendar would like. After a few hours of hacking, my crude code was working. I had a nice link in the left-hand "tools box" on Evite, right under the "Add to Outlook" link that says "Add to Google Calendar." When you click it, you get a Google Calendar Add Event page, with the data pretty filled.

So, I thought I'd share the script, for those who have wanted to do the same thing. It's available right here:

Evite to Google Calendar Greasemonkey Script

If you take a look at the code, you'll notice is really, really, really hacky. I wasn't quite smart enough to come up with an elegant way of translating the human friendly Evite time to less human friendly Google Calendar URL time. I tried some of the built-in Javascript UTC time conversion functions, but they weren't having any of it. So I hacked my way around it.

I've already noticed one bug -- if you don't have a defined start and end time, it won't create the link at all. I'm not sure how I'll handle that (probably check to see if there's a "to", and if so, define the end time), but for now, it'll cover the majority of invites with a start and end time.

I think.

I'll gladly take any suggestions, improvements, bugfixes people want to send my way. Like I said, this is one of the hackiest hacks that ever hacked a hack, and it's very likely that much of what I did was stupider like a fox.

If you find it useful, please let me know. I'll at least use it until Evite decides to add it themselves.

Son of a Beach or ColdFusion Sucks

I'm taking a couple days off from work and heading up to the beach for the day with some folks. Should be a nice break from the ColdFusion-rich days I've been spending at work. We're working on a project to take ColdFusion users from being spread out across our Windows servers and move them to their own Windows servers, where poorly written code can't take down other, non-ColdFusion pages.

I'm not a big fan of ColdFusion. I can understand why people would use it if they're not particularly skilled developers, but once you know enough to use ColdFusion well, it seems like you'd want to use ASP, Perl, Python, Ruby, PHP ... something .... anything else. ColdFusion runs through Java, so it tends to be slow when you're running it through IIS. Making things worse, we've discovered that ColdFusion's default JDBC-ODBC bridge is pretty much crap. When you get 12 concurrent database queries, the ColdFusion ODBC service dies. But not gracefully, it gets stuck in a state where it can't be stopped or started. The box has to be rebooted.

Why does this suck royally? First, because ColdFusion users (at least those using our service) tend to write really crappy code without closing their queries and sometimes running queries within queries, and they can hit that 12 concurrent database queries pretty quickly. But the bigger gotcha, the bigger kick in the junk, is that ColdFusion is installed as a wildcard script map in IIS. That is every single page request, ColdFusion or not, goes through ColdFusion for ColdFusion to decide whether or not it wants to handle it. So when ColdFusion dies, NO PAGES GET SERVED FROM THAT BOX AT ALL. It's really quite annoying.

Yes, there are some things we could do to mitigate it. The logical one would be to remove the wildcard script map, but that actually breaks ColdFusion (some wonderful work you've done their, Macromedia/Adobe).

So, we've actually decided to segment ColdFusion users and use a native JDBC driver rather than the ColdFusion JDBC-ODBC bridge. I've spent the last few weeks of my life on this, moving customer sites, testing, writing Perl code to automate the process. It's been fun taking existing ColdFusion DSNs and recreating them in the new format. It's been more fun finding out the various little things that the new JDBC Microsoft Access driver doesn't support that the traditional ODBC driver does. (Hey, for some ridiculous reason you've got an Access replicated table? Fantastic, the JDBC driver won't read it. Hey, you're using RND in your query? Fantastic, the JDBC driver doesn't support it. Hey, you're using a raw 'Yes' in your query to match a checkbox column. Fantastic, change your query to != 0 to pick up the positive values.)

It's been a long few weeks, but it's gone pretty smoothly, all things considered. But I hate ColdFusion, and I hate Access.

Thus, I'm off to the beach. Where there will be no ColdFusion. And no Access. Just my iPod, newly loaded up with all of the episodes of the Band in Boston podcast, as pointed out by Bostonist. I'll be back soon feeling refreshed and ready to deal with more ColdFusion fun.

Ch-ch-ch-changes

So I said I was going to eventually change my theme. I was fixing up some of the other sites I help run (Dewey's House, Blair Wasdin Project, Chair Chuckers), and I got motivated and decided to start messing with my site.

I was browing the WordPress Community Theme Viewer and came across this one by Lasse Havelund and I was smitten. Not the perfect color scheme, and I need to make a new header image (gotta find out if The Gimp can read PSD files ... I think it can!), but damn, it's nice looking. I've been making some small tweaks here and there (changing where the comment text goes, some sidebar rearranging and changing, and the nifty digg! post icon). The big thing will be a new header image.

Of course, I just mucked around with Gimp for a while and it sucks dealing with PSD files (well, with layers), so I'm probably going to have to find someone who's got Photoshop and actually make some real edits. Or maybe I'll just go with my craptastic Photoshopping skills.

Thankfully, I know some folks who are good at this sort of thing. Because I suck at the Photoshopping.

A free beer for whomever can come up with a better header image.

Studio 60 on the Sunset Strip

I've watched the Studio 60 on the Sunset Strip pilot twice now. It's really, really, really, really awesome. If you liked Sports Night or The West Wing, I have no doubt you'll like this show. The pilot is unmistakeably Aaron Sorkin, and after 4 seasons of TWW, it's pretty much impossible not to dig Bradley Whitford and Timothy Busfield reading his dialogue. And given how great Matthew Perry was in his short run on the show, he's pretty much perfect as well.

I'm going to do a pilot blow out in the next couple of days (thanks BitTorrent!), once I watch two more that I have on my hard drive.

The early results:

  • Studio 60: ++
  • Aquaman: --
  • Heroes: +
  • Kidnapped: meh

Big Breakfast

I just ate a McDonalds Big Breakfast.

I'm sure I'll regret it later. Like, on-the-crapper-as-my-insides-slowly-ooze-out regret it.

But, for now, it was a really good choice. Sooo tasty.

I Can Walk Like a Penguin!

Ah, YouTube. Is there anything from my childhood that you can't find?

Nope. YouTube, you are the greatest ... I really hanker for a hunk of cheese.

"Hello, Appetite Control? Need more protein. Playing tennis today, you knoooow!"

OK Go -- Masters of the Music Video

I've written about OK Go before. They play some power pop. I'm a fan of the power pop. They put out an album last year that was pretty good, and the song "Do What You Want" was one of my favorite songs of last summer. Oh, the memories ...

OK Go got some notoriety when they put out a video for the song "A Million Ways." It's a video that harkens back to the old days (and certainly has a nod towards the work of Spike Jonze) when videos were more about drawing attention than whatever it is that videos are these days. Good videos have always been about being out of the ordinary (think "Da Funk" by Daft Punk, "Everlong" by Foo Fighters, "What's Up, Fatlip?" by Fatlip, "Weapon of Choice" by Fatboy Slim).

The video for "A Million Ways" fits the bill:

OK Go's new single is for their song "Here It Goes Again", and I think the new video has upped the ante:

Skating across treadmills! Synchronized treadmill dancing! Lip syncing! Fantastic.

Late to the game on Lily Allen

I'm sometimes a little late to the game when the new band blows up on MySpace or the mp3 blogs (though I've found that elbo.ws helps me keep up a bit better). I also keep an eye on Ben Loves Music, which overlaps my musical tastes pretty well (and since he's a DJ, it means that I can find a place where I'll know the words to all of the songs).

Anyway, point being, Lily Allen's been all over the place and I just hadn't bothered to check her out. Mostly out of sheer laziness.

I'm reading my RSS feeds (at some point I'll throw up an OPML file of the feeds I read), and there's a post about the latest setlist ... I start reading because it starts with Weezer's "No One Else", which is a great tune and one I'd never expect to hear played. Five tracks later I'm floored -- Lily Allen covering the Kaiser Chiefs' "Oh My God" ... this I have to hear.

So a few Google searches later and a trip to a couple of blogs to find the song, I've got it downloaded. And it just flat out rules the school. Enough to make me go check out a bunch more of her stuff. What I've heard is good. Very Brit-pop mixed with hip-hop mixed with a metric ton of sugar. I'll probably add it to the list of things to try and pick up (like Ambulance LTD's new EP) in the next week or so.

(Or maybe I'll finally just get myself the disposable credit card number so I can start using allofmp3.com.)

The Pain of Shared Web Hosting

The company that hosts my site, DreamHost, has been experiencing some serious problems recently. Hardware dying, power outages, and just general instability has caused this site to blip up and down a few times, and has caused more outages for The House That Dewey Built. DreamHost does a nifty thing and has a little bit of transparency into the process through their status blog, where they attempt to keep folks up to date with what's happening on the hosting side. It's a really great idea, assuming you have the stomach to expose yourself to the world.

Having worked in the shared web hosting industry for about 10 months now (not at DreamHost), I can relate to the troubles they're having. No matter what you do, hardware dies in unforseeable ways, and when that happens, occasionally backup hardware goes down too. Or one problem masks another, and you peel back the layers until you get down to the main issue.

In a dedicated hosting environment, this usually means you take down a server or two and have a couple of expensive customers mad at you. It's usually a manageable situation.

In a shared hosting environment, each problem means potentially thousands of customers have an issue, and it means they come looking to you for answers.

This DreamHost Blog post is a pretty good example of what can happen when you expose yourself to your customers. You get the good:

The thing that Dallas didn’t say, is how smooth DreamHost is taking it, I had my doubts about the company before I signed up, but this week has proven that I made no mistake, and that the admins know what they are doing.

Good job DreamHost, lets hope next week brings better luck.

And you get the bad:

My clients are frying about the recent reliability issues. I am loath to move them (over 100), but clearly DH needs to spend more of its profit margin on hardware!

Can we all say, together, “R E D U N D A N C Y” ! !

And, if your landlord can’t seem to get its power systems stable maybe they need to be sued for non-performance.

We’re using DH for business, not for play. It’s got to be more reliable

Maybe Dreamhost will be nice enough to cover all of the ad sales I’m losing off my website. Now it’s JUST my ad server database that’s down… they’re really sticking it to me…

Again, I love transparency, and I think this is just some of what you have to deal with when things go wrong. I wish the company I worked for was more transparent sometimes (and, the reason I'm not being transparent about where I work is because, as a corporation, I don't think they're ready to be transparent just yet, which is unfortunate).
And, again, you'd think that I'd be right there griping with the rest of the masses, given that this has affected *my* site.

But I'm not.

Because I've seen the other side. I've *been* on the other side. I've been the guy trying to explain to a customer why their site was down, or why it's still down, or why it may not be back up right away. The customer never sees the planning side--they just assume when something goes wrong that it was preventable and someone's fault. Sometimes it is.

Sometimes, however, it's the customer's fault. Let me explain ...
DreamHost is a shared web hosting provider, and a low cost one at that. They spread a bunch of sites out across servers, to better utilize the resources of the server, and they make money off of the folks who barely use their sites. The 5% of users who completely pillage the servers are money losers, but they're the price you pay for bringing in all of the less active users. It's all about economics and economies of scale.

Here's where customers are to blame. They expect that the slice of the server they're renting for $7 a month is *theirs* and they should be able to do whatever they want to it. If they want to run a CGI script that uses 100% of the processor, why not? If they want to move all of their binary data into their MySQL database so that they can pretend that they're not really using any web space, who are you to argue that they're killing the database server? They're the customer, they've paid for their chunk of the server.

Well, yes they have. But it doesn't give them the right to kill things for the rest of the folks on that box. Unfortunately, most shared web hosting customers don't think about things in those terms, in terms of a community. They just think about the site they own.

This is what leads to problems. The 5% of customers complain that they want to use cron, and 5% of a big number (total customers) is a big number, so you give them cron. Then they bog down the server, so you spread them out to other servers, which they then bog down. Replace cron with anything (unlimited databases, unlimited bandwidth, multiple websites on the same account, etc.). All propositions that lose the host money, but are done with hopes of attracting a large enough clientele to make it a winner.

But all of the additions occasionally come with the cost of downtime, or instability, or whatever. It certainly sucks, and it's not excusable, but it's shared web hosting.

So I say to the fellow complaining about his ad revenue: why the HELL are you on shared hosting if it's so important to you? Spend the money and get a dedicated host.

If your site is so important that it can't afford downtime, you should be paying for a dedicated host. It's that simple. The 5% of customers who cause server problems are almost inevitably the same ones who should be on dedicated hosting. Remove them from the mix and things would be far more manageable.

The flipside is that you can't drive them away. You can't afford to. They're the advocates. They're the folks who pimp the hosting (and get their affiliiate kickback) and bring in the other 95% who make the money. It's a double-edged sword, and one that's made all that much tougher when a company like DreamHost takes an admirable stance and tries to be transparent. It's the same thing that Jason Calacanis has been discussing with his offer to pay DIGGers to post stories on the new Netscape DIGG-alike--your most active users tend to be partially responsible for the success of your product (even if they often cost the most).
Shared web hosting is a fun, exciting, and often stressful biz. Doing it naked can sometimes bring the pain, and I can relate to what the folks at DreamHost are experiencing.

Now please make sure my site stays up.