While the wife is blogging about vast conspiracy theories, I'm busy sharing more intellectual fare.
Like more Muppets, this time doing "Habanera" from Carmen



So I needed a method to take a long, nested list and turning it into a compact, multiple acolumn list, in order to display it as sort of a site map for the home page for a site I'm working on.
Being a huge fan of jQuery, it was naturally my go-to library of choice.
Scanning the plugins site, I found a possible solution from a feller called Ingo Schommer called columnizeList.
Score, right? Well... not exactly, at least for my case.
Ingo used some of the methodoligies outlined in this article on multi-column lists on A List Apart. One of the caveats of his methodology is that each list item has to be the same height. This works Ok for a lot of use cases, but since I'm using a Drupal menu as the source for the list, it could contain arbitrary text I don't control.
So, I started from scratch. Instead of relying on consistent line heights, and applying different margin settings to list elements, I instead decided to decompose the large source list into several smaller lists (one for each column) and then use a css float parameter to make them all appear side-by-side.
Here's a sample list for a demonstration, cribbed from Ingo's example:
(apparently a list of the most common fillers for the middle initial in Jesus H. Christ)
Anyway, here's what my script does to the above list:
And here's the code:
There are only two parameters - cols, the number of columns to break the list into, and constrainWidth a boolean (defaulting to false) to specify whether you want all columns to be the same width.
I've tested with IE 6&7, FF3, Safari3 and Opera 9.something (for the three Opera users on the planet). The code could use a bit of refactoring perhaps for the purpose of beautification.



We went down to the Phoenix Apple Store today to get my lovely bride an iPhone. Or technically, to get me a new 3G iPhone, and give her my old one.
This turned out to be one of the worst retail experiences I've had in a while.
First, the store is an unholy clusterfuck. There is no sales counter; instead, there are adolescents in brightly colored shirts. If you find the right one, they'll give you a ticket, and tell you which other bright-shirted adolescent you're supposed to stand in front of.
So we did. We got our ticket, and waited by two guys in turquoise, while they helped some hipster doofus get his phone set up. They didn't acknowledge our presence. We waited, more or less patiently, for the first 25 minutes or so. Betsy went to the bathroom twice (or was it thrice?). After about half an hour, the doofus finally packed his new phone in a super-kewl translucent Apple bag and left.
Then the teal-shirted guys turned away from us, and the half-dozen iPhone customers assembled behind us. And consulted with another prepubescent. And walked over to a guy that had just walked in. And helped to sell him his iPhone.
I calmly watched for a minute or three, then walked over to ask these gents, in polite terms, WTF?
They ignored me, or at least tried. They wouldn't turn towards me, but I saw the taller Teal Guy notice me with a twitch of the eye. I got closer and asked more pointedly,
"So what is that line for, anyway?"
Teal Guy #1: "That's the iPhone line."
Me: "Yeah, I know. I've been standing at the front of it for half an hour, waiting for you guys to assist me."
Teal Guy #2: "You weren't waiting for us. You were waiting for the next available Specialist. We are helping this gentleman next."
Me: "Seriously? Then here." (as I hand him my ticket)
We walked out. Me disgusted, Betsy slightly embarrassed (she embarrasses easily).
Oh great Steve Jobs, why in the FUCK would you make me come to your shitty store to be either ignored or treated poorly by your obnoxious staff. My first iPhone was ordered online, delivered to my office, and activated from my laptop. No problems, no interaction with $6.50/hr self-important douchebags.
It was enough for me, a 15+ year Mac user and Apple customer, to consider not buying another Apple product. And definitely not from one of their retail establishments.
But of course after soothing myself and my bride with McDonald's ice cream cones, cooler heads prevailed.
We went across the street to the AT&T store, which was almost empty, rather than packed with homely hipsters and plastic Scottsdale types like the Apple store.
They didn't have iPhones in stock, but the courteous, professional sales girl ordered one up for us. I can pick it up in a week or so. No standing in line, no shitty treatment by little hipster wannabes telling us to step back from the aisle and wait. And since we were going to transfer Betsy's T-Mobile number, we'd have had to go to an AT&T store anyway to finish the transaction.
I should be able to get in and out of a store with a new electronic trinket in under 5 minutes. I shouldn't have to wait while a "Specialist" does some supposed magic. I give you my money, you give me the box, I leave. I've actually purchased cars in less time than it took me to not purchase a stupid phone.
I know his Steveness won't give a shit that he realized a miniscule less profit on this transaction. But the fact remains that I won't advise anyone to shop in an Apple store - retail or online. It's just a bad experience. And for a company that purports to be all about the experience, I think it's bad business.



Came in this morning, and the entire central part of our building ... reeks of cat piss. Apparently this happens whenever it rains with any vigor, due to the crazies that are raising colonies of feral cats under our building.
I watch them feed the little buggers outside my window every day. I'm tempted to "accidentally" dump water on them one of these days.
Thankfully, my office is not in an area affected by the stench. Yet.
Yarns have already been spun by MSFF old-timers about the unholy aroma that permeates the building when one of the many cats actually dies in the crawlspaces. I cannot wait to experience that myself.



It's becoming clear to me that many (perhaps not all) NASA web sites and web services are set up in such a way that it's damn near impossible to get the information you need out of them without chanting the correct incantation and sacrificing a chicken. It's a bit frustrating, and a bit like the web c. 1999.
Case in point: I need to retrieve data from a JPL data service and a Goddard application to feed data into a little widget I'm working on for the Explore Mars site (old site still up).
In an ideal world, I'd query those services and they'd return something in spiffy XML or JSON format, which I could parse with a script or Flex, and I'd be done.
In a less ideal world, the web pages would be formatted in such a way that I could pull the data I was looking for out of the HTML source code using some clear delimiters.
Unfortunately, the reality is somewhat less convenient:
The JPL Horizons service has three ways to access data -
The Goddard page is just as inconvenient - no friendly text tools there at all, just a goofy Java applet. Sigh. Guess I can run all the equations to calculate the data myself.
My hope is that I can make my own little corner of the NASA web-o-sphere somewhat more friendly to those that wish to get at the data without spending their days figuring out ways to scrape screens and parsing emails.
Disclaimer: I understand why some of these tools may have been built this way, but c'mon, I know it really is rocket science, but is it that hard to push this data out into an XML file, or at least CSV, if you've gone through all the trouble of making the calculations already? Or, just format your web pages so that the data is wrapped in a reasonably parseable tag structure?



Chinese restaurant called TRANSLATE SERVER ERROR
I'm not sure what Chinese string this restaurateur fed to the translation software used to to generate the giant sign hanging over the entrance, but I'm pretty sure it wasn't: TRANSLATE SERVER ERROR. Ah, the special problems of translations into other alphabets.
(Thanks, Mark!)
Update: In the comments, Insect Hooves adds, "OM NOM NOM. I love their Segfault Chicken. And their Short Stack Overflow is to die for. Ooooh, and their 404 Not Pound Cake (foghorn)"
[Copied verbatim from Boing Boing]



I really didn't think it was possible for folks out here in the West to be worse at anything than those great people in Greater Blufflestank. But I found one.
Folks out here in the desert can't drive for shit when it rains. On our way back from the Middle of Nowhere (The interesection of AZ-87 and AZ-260 in Payson, AZ) we hit rain. Strong rain, but not Biblical rain. Not pull-off-the-road-in-a-panic rain (guess what people did?). Not drive-35-miles-per-hour-in-a-65-zone rain (guess what people did?). Not-drive-your-SUV-over-the-limit-and-wreck-in-a-fiery-crash rain (guess... well, you get the point).
The last incident was the apparent cause of a 1.5 hour backup we sat in that closed 87 for a while. With great hope I punched the 'Detour' button on the Garmin, hoping it would navigate us around the gridlock... unfortunately its suggested alternate route was a 150 mile trip vs. our 47 mi. return, and we'd already been sitting for 1/2 an hour.
There was also no shortage of people driving well over the limits of their vehicles - Scottsdale douchebags in Range Rovers rolling on dubs and bitter dads in Honda Odysseys alike tailgating me as I was doing 65 in the mist.
And upon our return to the Phoenix metro area, we had to take two detours from our normal route due to flooding. Nice. At least we enjoyed the scenic drive out to the mountains, if we couldn't enjoy the trip back.



Here's Morgan's blow by blow report from his trip to the beach. Yes, he apparently twittered every couple of minutes. Please join me in making fun of him. Read from the bottom up.
morganbonner: This is your beach reporter Morgan signing off. I have survived another battle with the elements, though only by sheer luck.... about 1 hour ago from web
morganbonner: Yep, she's packing up to leave. Wouldn't you know it, an attractive woman just arrived in front of me. Figures. about 1 hour ago from web
morganbonner: It appears Allison is growing tired of inflicting the nerd-equivlient of waterboarding on me. She seems ready to leave.... about 1 hour ago from web
morganbonner: How many Sundays left without football? Eight? Goddamnit. about 1 hour ago from web
morganbonner: A couple of dudes are rubbing sunsreen on each other directly in front of me. Taking glasses off in 5...4...3....2....1.... about 1 hour ago from web
morganbonner: I don't want to take my iPod out for fear of getting sand in it. Christ this sucks. about 1 hour ago from web
morganbonner: Allison says that she will never drag me to the beach again if I buy her a pool. I am seriously considering her proposal. about 2 hours ago from web
morganbonner: Due to the liberal application of sunscreen on my face, my glasses keep falling down my nose. This is very upsetting to me. about 2 hours ago from web
morganbonner: Allison says I need to go in the water. Yes, because being lunch for some shark is going to make me so much more comfortable. about 2 hours ago from web
morganbonner: So, you're just supposed to lay here? about 2 hours ago from web
morganbonner: A large cloud has arrived overhead. Ha ha! Morgan 1, Day ball 0..... about 2 hours ago from web
morganbonner: There is a bird hovering near me. If only the crossbow I just purchased from www.budk.com had arrived yesterday, I could solve this problem. about 2 hours ago from web
morganbonner: Besides Allison, there is one attractive woman on this beach. One. And even she's kind of a Chubby Chubberson. What up with that? about 2 hours ago from web
morganbonner: In the immortal words of one Anakin Skywalker....."I hate sand. It gets everywhere...." about 3 hours ago from web
morganbonner: On our way to the beach. So giant day ball....we meet again at last, but this time the advantage is mine!! about 3 hours ago from web



If only our proud nation's Commander in Chief and his minions had picked up a copy of The Art of War, wisdom from a man that lived 500 years B.C. (or B.C.E. if you're so inclined), before setting off to war on foreign soil.
Just two pages in, Chapter 1, Line 2-3:
"When you engage in actual fighting, if victory is long in coming, the men's weapons will grow dull and their ardour will be damped. If you lay siege to a town, you will exhaust your strength.
Again, if the campaign is protracted, the resources of the State will not be equal to the strain."
Ch. 1 Ln 6:
"There is no instance of a country having benefited from prolonged warfare."
Ch. 1 Ln 10:
"...Contributing to maintain an army at a distance causes the people to be impoverished."
Happy Independence Day.


