(Yes, I am going to hell for poking fun at this poor woman)

…so Jessica’s mom, she lives out in Santa Fe, and she has a neighbor that’s very, very old. And, being as they’re in the High Desert, where the air is thin, this old lady, she’s got an oxygen tank she lugs around with her. And so she wants to park right in front of her house, and she doesn’t want anyone else to park there. So she figures, I’ll go get myself a “Handicapped parking” sign, put it up on my front gate. That way, no one else will park in front of my house. So she goes out and gets one, but I don’t think she read it too carefully:

d. oh.

using Javascript to refresh an image without a cache-busting parameter

…say you’re using Javascript to reload an image periodically, say, every 60 seconds, and the image never refreshes. If you look for help across the web (as undoubtedly you have, since you’re here now, right?) you’ll find a) A bunch of people telling you to tag on a url param that’s a random number, and b) A bunch of snippy JS people who will insist, very condescendingly, you haven’t set your response headers correctly, and it’s not javascript’s problem, and you should think before you post such stupid questions.

Well, it turns out they’re both wrong. With the latter, the problem is, a browser has an internal page-level memory space that it will “remember” image urls with. When you create an image in javascript (via an Image() object or innerHTML, take your pick), if that image src has already been requested once on that page, the browser will give you that image from its internal memory, regardless of the image’s Expire or Cache-control headers. It won’t be put into the browser’s cache, sure, but it still stays in the browser’s memory for as long as you’re viewing that page.

The former seems to be the quick fix – the image src is always unique, so it’s not in memory, and the browser will ping the server for the image. But this approach fails if you’ve actually set your target image’s headers correctly (which of course you should). Because with this approach, the server sees each request as unique, and will send a new copy of the image down the pipe, regardless of if you wanted it to or not. You’re similarly screwed if you’re working on a  high-traffic sites using a CDN – since a CDN (usually) contains cached copies of files from a master server, adding the cache-busting parameter to an image on a CDN will force the CDN to re-acquire the image from the master server before sending the image, which defeats the whole purpose of using a CDN in the first place.

The solution, unfortunately, is pretty hacky – to add a hash mark (#) to your image before applying a cache-busting parameter, i.e.:

function updateImage() {
	document.getElementById('image_arena').innerHTML = '<img src="/your/constantly/updating/image.jpg#e' + Math.random() + '">';
	setTimeout(updateImage, 60000);

This will psyche out the browser into thinking the URL of the image is unique (“Hey Firefox, look over there! PSYCHE!!11!”), but in the actual HTTP request anything beyond the hash gets stripped before the request is made. So, the browser thinks the request is unique and pings the server for it, but the server will know for reals wether or not the request is new, and send the appropriate 200/304 response*. Everyone’s happy, except for possibly your sense of aesthetics, since that is an ugly url you’re passing. But since you’re the only one who will probably see them, you’ll be alone in your secret shame.

*Yes, I did just bust some HTTP response codes.


To Chip: The latest! -David Foster Wallace

Many years ago Christina Dixcy and I went to the Barnes & Noble on Union Square to hear DFW read from his just-released Brief Interviews with Hideous Men. There might have been other people involved, I’m not sure, as it was a long time ago. Anyway, as Christina and I were among the privileged (read “smug, hipster”) few who had actually read Infinite Jest (me, twice, cause I’m geeky and post-modern that way, and Dixcy, with an ingenious method of physically cutting the book into 3 mini-books (with their accompanying footnotes, natch) to facilitate subway reading, cause that thing was way to impractical to read underground, man).

And so he reads, I don’t remember which story, and then, it’s over, and we go to get in line to get our books signed. I admit I’m a little starstruck and nervous about the encounter. And the guy ahead of us, it’s his turn, and here he is, probably as shy and starstruck and nervous as I am (well, not as shy), and he’s standing in front of a guy whose work he admires, and wants him (DFW) to know that he’s a fan, and has already read the book David is touring to promote the release of, but not quite sure what to say, on account of nerves, probably, so anyway he blurts out what had to be the first thing that popped into his head, “Hey, so did your father really wave his dick at you when you were thirteen?” (a reference to a story in BIWHM). I couldn’t see, but I’m sure dude cringed the very second it left his mouth, sucked in his breath, knowing he had said the Precisely Wrong Thing. DFW sighed, looked up, said, “fiction: from the Latin Fictae, meaning ‘made up'” and gave him his book. Dude slinked off, probably to a bar, to lament that he had met a great author and Blown It like an Anthony Michael-Hall character.

Pressure was off of me, though – cause I was next, and instead of standing there silently or uttering a voice-cracking “I-I-I-I’m a big fan of your work!,” which is what I probably would have done, I now had a “oh man, can you believe that guy?” bond with my new pal Dave. He signed my copy with the above statement, saying something about how he used to make signatures more personal, but after something was taken out of context, he had stopped. He, Dixcy and I shared a slightly obscure Monty Python reference, had a nice friendly laugh, and we were on our way. On the subway home, I reflected that he seemed like a nice guy, I was glad to have done it (like I said, I was pretty nervous about the whole book-signing thing), and most importantly, I was glad I wasn’t the guy in front of me in line.


Todo #49,470,129

  • Create a line of Butter products under the name “I Can’t Believe It’s Not ‘I Can’t Believe It’s Not Butter!'”
  • Create a line of Ice Creams with the product name “This Can’t Be ‘This Can’t Be Yogurt’!”

It’s like there’s some sort of conflict between North and South that continues to be waged

Body massage?

(thanks, Ozone Ferd!)

Poor Jessica. This stupid “Atlanta is a second-tier city” crap will not die down. She wrote a piece for Creative Loafing, hoping to at least balance her Google results in the Great NYC-ATL-Non-Battle-Of-2008, only to a) be outed on that Bloomberg piece in the comments, and b) to find out that it’s part of the Loaf’s cover story this week. Sigh. At least they didn’t quote her by name.

So I read the CL piece, and I think that everyone’s missing the point – in the NYC vs ATL battle, you don’t have to pick just one. Clearly they both have merits. So I’m going to push out the jive, and bring in the love, with my own responses to CL’s two top 10 list ideas:

Top Ten things native Atlantans Love About New York City

  1. It’s like living on the Sesame Street we watched as youths
  2. Sushi is delicious, plentiful, and significantly cheaper
  3. A working public transportation system
  4. Bars within walking distance, and taxis for when they aren’t
  5. Architecture with a sense of history to it (i.e. buildings built before 1970)
  6. Prospect Park
  7. The sense of neighborhood you get from living on a brownstone-lined block with a hundred other people
  8. Street vendors selling coffee and pastries in the morning – oh man do I miss those guys
  9. That one big snowfall a year that seems to take the city by surprise
  10. Rooftop Parties / Gardens / Decks , with beautiful views of the City.

Top Ten Things Former Brooklynites Love About Atlanta

  1. Falling asleep to the sound of crickets
  2. Centralized air conditioning (you have no idea what a huge quality of life improvement this is)
  3. The concept of home ownership in a nice neighborhood not limited to the obscenely rich
  4. Car ownership is practical (yes, this is a double-edged sword, I know)
  5. Friendly idle chitchat with strangers
  6. Being able to see the sunset, sky, and stars without having to flee the city
  7. Cool modern architecture (i.e. skyscrapers built past 1960)
  8. If you find a cool free concert/event, it’s not guaranteed to be mobbed with thousand of other people who also found it.
  9. A surprisingly good culinary scene
  10. Unplanned horticulture – seeing greenspace doesn’t involve a trip to a park or garden

Nickel and Dimeing Comcast’s Ad Budget

My brother pointed out that, with all my traumas with Comcast that I’ve been blogging in order to get the Comcast Cares guys to find me (in vain, unfortunately), the Google ad-sense content algorithm is showing lots of ads for, ironically enough, comcast. So I’m going to place a hopefully Comcast-filled ad banner (based on how many times the word Comcast is in this post, natch) right here:


100 Nerd Points for me

…so last night I put a new hard drive in my MacBook Pro. It was like the old days of putting a new hard drive in the Tivo, except for with a piece of equipment that’s about 4 times more expensive.

I followed directions I found here, and if you’ve got here because you’re about to do the same thing, here’s
a handy tip: Print out your instructions, then put pieces of tape on the backs of each page, so the sticky side is facing up. That way, you can stick the screws you remove to the part of the instructions where you removed them, making it easier to figure out which screw goes where. You can insert your own infantile “screw” joke here, if you like. Also, despite the instructions, you don’t need a spudger, unless you like the hilarity of asking for one at various hardware / electronic stores (which was worth it for me, although I still couldn’t find one).

Also, Cheers! to Apple and their Theory of Relativity confounding Time Machine! Made things as simple as turning it (Time machine) on, backing up the drive, stepping on a butterfly while hunting dinosaurs, and them choosing “restore from backup.” Two hours later and voila! ‘1.9 GB remaining’ becomes ‘198 GB remaining’!

And Jeers! to Comcast, who still suck big horrible noxious fartgassings – although I finally have a working Tivo I’ve been double charged for the installation, somehow.


oh my freakin god F____ YOU COMCAST YOU F____ING IDIOT MUNGASSES!!!11!!

so right this very second I’m on hold with comcast, the 4th time I’ve called tonight. The idiot technician who came out to install the cable card without checking to see if it actually works. So, I call tonight, to see if they can fix that. Well, actually, I call four times:

1. I talk to jackie for 30 minutes who “transfers” me (I think “let me transfer you” is comcast-ese for “let me hang up on you”)

2. I talk to Jessica, who puts me on hold for 30 minutes while she “finds someone who knows about cable cards” (i.e. hopes I go away)

3. I talk to Stephanie, who “transfers” me once again

4. I talk to Randy, who, I just got off the phone with. Surprise surprise! Sends out a tech. Next Sunday. Despite the fact that I told her exactly what is happening, and that I know that, courtesy of this link, the problem is that my card is not configured correctly (which I found while trying to fix it myself, courtesy of Tivo’s Extremely Helpful Tech Support Pages (NOT SACRCASTIC! Thank you tivo for bein a lone voice of intelligence in a sea of Comcast dementia).

So that’s four calls tonight coupled with the three this morning (and not including Jessica’s call (!)). The other calls were because our phone and internet went out again. I called the “Executive Escalation” line to ensure that the issue wasn’t the incorrect address, as it was the last time the phone went out. She assured me it wasn’t. I called the regular comcast tech line, to make sure that the problem wasn’t the address. I again was assured it wasn’t. I called one more time, all sneaky like, to make sure they had the right address associated with my account. I talked to Keith, who told me there were actually 3 addresses (WTF?!?!?!) associated with my account, but wouldn’t tell me what they were, and again assured me that the address wasn’t the problem. The tech fixed our phone issue around 2:00 PM – I’ll give you one guess what the problem was.

Oh, Comcast Cares gurus, where are you? You gave me so much hope that this would all be fixed when you first contacted me. Instead I’ve had to call comcast and get the runaround EVERY SINGLE F___ING DAY I’ve been home since I ordered this service. It’s getting rediculously hard for me to not just blow up at every single person I talk to.

(I know this picture is about flash, but just substitute “comcast” where appropriate and you’ll get the gist)



More Comcast rediculousness

….so I was all excited when the Comcast Blog Monitors found my rant, hoping that I would get some resolution out of it. But no, I sent them my account info, was told “someone would be contacting me”, and that was it.

Although maybe they shamed “Mrs Jefferson” into actually doing something, because she called to tell me that she had rescheduled my appointment to tomorrow! Yay! Except it was tomorrow between 11-2, which I can’t do because I work for a living. So it got re-rescheduled back to next Wednesday the 20th. A week and a half for the Comcast Glorified UPS Guy to com hand me two cable cards.

Also, get this: apparently you can’t change your address over the phone. I know this because they got my address wrong. How they did that, I don’t know, because I started my account online. The lady I talked to to reschedule my appointment said she needed to contact a dispatcher (WTF?!?!?!) to change my address.

..and then so last night I get the automated “how did your install go?” phone call, which I answer truthfully, then I get connected to another service rep, so says “what happened?” so I tell her the whole spiel. Her response can be summed up with “well, that ain’t right” – no options to make things right, no explanations for what happened or attempts to find out where the process went wrong – just sympathy that it got messed up. I don’t want sympathy, that’s why I have this blog. I want someone to take action (or responsibility).

She also told me that a) Technicians aren’t allowed to change work orders, b) I have to go to a Comcast store to change my address (WTF?!?!) c) her supervisor was “at lunch” (8:00 PM) but she would talk to them (I thought about the whole wrong work order / general miscommunication within comcast, but actually it was to see if I could pick up cable cards from a store (which I already knew I couldn’t from previous phone conversations, and told her as much)) and call me back. Which, astoundingly, she did – I had assumed that she was just getting me off the phone, much like Mrs Jefferson, previously – but at 11:54 PM!!!!!! Six minutes to midnight, I get a phone call from a comcast rep just to tell me that no, in fact, I can’t get cable cards from a store. Thank you soooooooooo much. Also, that 9:00 PM limit that Mrs Jefferson talked about? Maybe they should make that an actual rule instead of an Excuse to not talk to a manager….


Comcast says, “we have no record of your Tivo request”

O RLY? –

first page work order

and here’s a close up:

…so guy comes to my house to install the cable. I say to him, did you bring the cable cards for the tivo? He said no, it’s not on the work order (which he doesn’t let me see until he’s “done” and leaving). But he “calls” the “dispatcher” and tells me that someone will be by to drop the cable cards off by 5:00. So, when 6:30 rolls around, I call comcast, talk to a “Mrs. Jefferson”, and you would not believe the doublespeak and evasion that ensued. It’s like she was trying every excuse in the Comcast Playbook, trying to figure out which one would stick:

  • She has no way of talking to a dispatcher, so she doesn’t know if the guy’s just late or not coming at all.
  • She has no way of talking to the dispatchers, so she has no idea about the original tech’s call to bring the tivo cards.
  • The dispatcher she talked to was out of the office by 4:00, so she doesn’t know what happened
  • The dispatcher she talked to said the technician she sent out never called her about the tivo cards.
  • There was no record of my request for Tivo cards (despite the two pictures above, and a confirmation email and a transcript of an e-chat with the salesperson)
  • Apparently that means that the technician took it off the work order. Apparently, when a technician doesn’t complete the work order, he can just take the offending line item off and mark the work order as complete. Voila!
  • But doesn’t that mean you no longer have an accurate record of what was requested? And that the original order isn’t complete? “Well, that’s why I’m creating a new work order for you”
  • So the earliest date someone can come by and hand me the tivo cards is August 21st. Note: there’s no install here, I just need the cards. 2 weeks to get 2 stupid cards.
  • Could I speak to a manager? Sure, but her manager was at lunch right then (7:00 PM), so he would call just as soon as he got back. Except his wife was in the hospital, so he might not be back for the rest of the day.
  • Is there a manager on duty right now? Yes, but he’s busy with another customer, and it’s their policy to not call customers after 9:00.
  • The managers there also aren’t part of her department, so she doesn’t know if they would be able to help me anyway.
  • Managers have a 24 hour window to call customers back, but they’re usually very busy.
  • I can be put on a “cancellation list”, wherein if someone cancels an appointment, They will come to me instead.
  • This process of this list is that Mrs. Jefferson, who has no contact with the dispatchers, when the dispatcher calls her, out of all the other reps, to say they have a cancellation, she can then call me and make sure I’m home.
  • This can be summed up with the sentence “I’m making this up to placate you into thinking you can get your cable install completed earlier, but you really have as much of a chance of getting one of these cancellations as you do of getting a manager to call you back. Suck it.”

I guess no-one’s interactions with Comcast are entirely kafka-free…

Powered by Wordpress and MySQL. Theme by openark.org