Website Review: Treasure Island Music Festival 2010

mentioned she liked reading my rants on how websites are built, and since I’m in the website-building business, it makes sense that I’d have some insights on what’s what. This is not to say that I’m an authority on how sites should be built, nor am I the only one spending time nitpicking. There are sites that focus on the whole package, like and Web Pages That Suck – both of which, for some reason, have pretty bad UI – but are thorough and well-written. As a developer, not a designer, I’ll try to focus mostly on use of code, and how websites that look just fine could greatly benefit from a bit of code rewriting.
(I don’t know if I’m going to write even more than one of these, so I decided I’d stick this on my personal blog for now.)
The lineup for the 2010 Treasure Island Music Festival was released yesterday. I’m pretty excited about everything on day 1 (being more of an electronic than indie guy). The color scheme for this year is a little strange (reminds me of a rotten fruit salad) but otherwise I like the design they’re going for. I was a bit appalled when I took a look at the code and a hodgepodge of tables jumped out at me.
The tables, Duke! The taaabblles!
There’s a myth that the <table> element is an awful, taboo, even deprecated thing that shouldn’t even be thought about when it comes to putting a site together. It’s false: <table> is great for, well, tables. Spreadsheets. Charts of data. Anything that can be logically arranged in rows and columns. But I don’t see any spreadsheets on this page:
Rotten fruit salad
In fact, I don’t see any rows or columns at all, in a traditional sense. I suspect tables were used to “speed up” development, as this reeks of a “slice and dice” job, where the developer was given a mockup and he decided, for some reason, to splice it into tiny bits and shove it into a series of convoluted tables with rowspans and colspans.
Bottom line: splicing is baaaad. I can’t think of a situation in which splicing would be a good thing to do. When you splice a PSD into tiny images and scatter them throughout a page, you do a few things:

  • You waste time taking apart an existing design and putting it back together, when you don’t have to
  • You make a page hard to maintain – what if the design changes?
  • You increase the amount of HTTP requests by a buttload
  • You doom a page’s SEO value by increasing load times, removing any opportunities to make a page semantic and machine-readable

The developer, instead, could have exported the entire design as a single PNG (oh god, I just noticed that they’re all GIFs), set it up as the background of the main site container, and overlaid some absolutely-positioned lists, whose text content is hidden via CSS. That is to say, the site with styles disabled would look something like this:

Treasure Island Music Festival

October 16 & 17, 2010

  • LCD Soundsystem
  • Deadmau5
  • etc…
  • Belle & Sebastian
  • The National
  • etc…

And with CSS implemented, the site would still look like it does above.
I am generalizing in one area, though, and that’s with hover states. If you yearn for the days when your visitors could be whisked away to a magic cyberspace of interactivity, then I guess you gotta implement your danged hover states one way or another, so you do have to splice the PSD and save the images individually (or turn them into sprites, or something equally clever), and use CSS to specify what shows up when you hover where. Instead, this site uses a horrid cocktail of JavaScript and invalid HTML attributes (srcover? oldsrc???).
In general, this a site that, despite being functional and pretty-looking, makes me want to smack the developer upside the head. It lives in a world where <table>, <div>, and <img> are the only HTML elements worth using, substitutes CSS for deprecated/invalid HTML attributes, loads a million images when in a perfect world it wouldn’t have to load any (web fonts! SVG! etc.!…), and sacrifices any chance of being accessible to search engine bots or those with disabilities (no meta tags, no alt text, not a hint of semantic HTML usage).
Boy, this was kind of therapeutic. If you found this at all interesting, feel free to send me some more examples. I’m looking to rant about recent, small-scale sites that aren’t overtly horrible but could use some work. Or I’ll find ’em instead.


Good thing I'm okay at puzzles

My roommate locked himself out of our apartment, but noticed it before he left his building. After waiting around for his building manager, he decided to come down to my office building and pick up my building and apartment keys.
He’s got a weird sleep schedule, though, so chances are he’ll be asleep when I get home. I suggested that once he gets into the building and apartment with my keys, he picks up his key, puts my two keys inside the mailbox with his mailbox key, and I open up the mailbox with my mailbox key to retrieve my two keys.
As he was leaving I realized I wouldn’t be able to even enter my building to access the mailbox if he had my building key, but then I remembered that my cell phone is also a key – I just use the numpad at the building door to dial my phone and unlock the door.
I took the elevator back to my office floor, and tried opening the front door to my office – locked. As a contractor, I don’t have a keycard. Fortunately, a round of loud knocking alerted someone and they let me in.
My head hurts.


Old emails

Damn I have used my LJ in the past month more than I have all last year. I guess I’m REALLY BORED.
So bored, in fact, that I will now share with you some ancient emails that are sitting in my Hotmail folders, titled "Important Stuff", "Cool Stuff", and "Family and Friends". I made these folders in 1996 and they have accumulated some real gems over time. Looking through them, I always wonder what these people were replying to or what I sent back to them, but alas, Hotmail didn’t save sent emails back then.
I’ve removed some last names and email addresses. If you find an email of yours in this post and you want it removed, well, I’m flabbergasted and astounded that you actually found and recognized it, and sure whatever I guess I’ll take it down.


Pac-Man iPhone Wallpaper

Note: as of the release of iPhone 12, all iPhones have different screen resolutions and icon placements. It’s a bit tough to keep up, so I’m now doing these on-demand. If you don’t see your specific device below, please let me know in the comments.

This wallpaper uses actual sprites from Pac-Man, and is probably as close to exact as you can get it. Here’s what it looks like on my phone:

Instructions for use:

  • Tap through to the following images, and tap and hold to “Add to Photos” or “Save Image”
  • From your Photos app, go to the new image in your Camera Roll and press the lower-left Share button
  • Choose “Use as Wallpaper”
  • Zoom out as far as possible by pinching inward
  • Choose “Set”, then “Set Home Screen”

I’ve made a few variations – one with no ghost home, one with no top/bottom border, and one with neither. But you can also download the PSD (XR / 11, 11 Pro, XS Max / 11 Pro Max, 12/12 Pro, 12 Pro Max) to make your own.

The following links are for iOS 9 to iOS 13:


The following links are for iOS 8 to iOS 7:


The following links are for iOS 6 to iOS 4.2:


  • Ghost home and borders (3GS, 4, 5)
  • No ghost home (3GS, 4, 5)
  • No borders (3GS, 4, 5)
  • No ghost home or borders (3GS, 4, 5)

P.S. – the iPhone 4 versions are not just upscaled versions of the iPhone 3GS ones – Apple knocks each icon down by a single pixel once it’s twice as big, so I had to nudge each wallpaper down by 1.

The following links are for iOS 4.1 and below:


  • Ghost home and borders (3GS, 4)
  • No ghost home (3GS, 4)
  • No borders (3GS, 4)
  • No ghost home or borders (3GS, 4)

Vote in this poll plz.

Back in the heydays of LiveJournal I sprang for a Permanent Account, which means I should be able to post polls forever. So I might as well take advantage of this and ask you guys a hard question about our trip:
I might post a second poll later, identical to this one but with the #1 most droppable place dropped.


Europe Trip Omg

Anna and I are going to Europe! For 2.5 weeks! In November!…
Yes, we’re really, really jumping the gun and planning way too far in advance. But what the heck there is not much else to do during downtime at work. At this point we’re planning on visiting these places:

  • London
  • Paris
  • Cinque Terre
  • Rome
  • Venice
  • Munich
  • Berlin
  • Amsterdam

We’ve already bought some pretty cheap airplane tickets. We’re planning on taking trains from place to place, and using as many sleeping cars as possible to save time and money.
Doing this in 2.5 weeks is a little ridiculous, so we are considering dropping Rome, Venice, Amsterdam, or some combination thereof. We’ve never been to Rome but there are definitely enough churches to see along the way, I’ve been to Venice but hear that it’s murky and ugly in November, and I’ve also been to Amsterdam and while it’s beautiful, I’m not really sure what there is to do for 2 days unless you plan on taking mushrooms.
I’ve been nerding out in planning this thing. We’re using Google Wave to collaborate on all the aspects of the trip – airfare, trainfare, lodging, things to see, dates and locations, etc. etc. The events we’re proposing so far are on a Google Calendar, which I am sending through Yahoo! Pipes, entering into Google Maps, and back into an iframe in Google Wave so we can see a map of places we plan to go to. I’ve already put a Google Spreadsheet together of possible times, durations and fares for train travel from place to place.
The only real downside to planning so far in advance is that we have so long to wait and obsess over it. I’m hoping that when the time comes we aren’t too jaded or disappointed, but it’s not a genuine concern. In the meantime we can learn more about the places, cultures, and languages, so when we’re there we don’t just hang around the biggest tourist attractions we can find.
This also means that there’s time for you out there in blogland to give us suggestions on what to see and what to skip. C’MON, DO IT.