You Want How Many?
I used to work near a little restaurant called “Rasta Grill”. It was this weird fusion of Italian and Jamaican food, and everything was absolutely delicious. We’d walk down to Rasta at least once a week or so and have giant plates of spaghetti with jerk chicken in the wonderfully bizarre atmosphere.
Well, we always suspected that some of the employees perhaps took the Rasta theme a little far, and occasionally partook of Jamaica’s other famous export. Our suspicions grew one day:
Us, ordering: …and an order of garlic bread.
Cashier: [writes “GBR” on the ticket, but draws the “G” almost like a “6”]
Cook, taking ticket: OK…. hey, what’s “6 B R”?
Cashier: That’s a “G”. It’s garlic bread.
Cook: [long, confused pause] And they want 6 of ’em?
Don't Bump That Flash Drive
From the manual of an Asus Eee PC:
The solid-state disk drive’s head retracts when the power is turned OFF to prevent scratching of the solid-state disk drive surface during transport.
I think someone got a little zealous with the find-and-replace.
Buffer Overrun In Antitrust
Skip this unless you’re really, really geeky.
Still with us? OK. In the movie “Antitrust”, there’s a screenshot of some code that has a possible Denial Of Service vulnerability:
/* are we doing a GET or just a HEAD */
boolean doingGet;
/* beginning of file name */
int index;
if (buf[0] == (byte)'G' &&
buf[1] == (byte)'E' &&
buf[2] == (byte)'T' &&
buf[3] == (byte)' ') {
doingGet = true;
index = 4;
} else if (buf[0] == (byte)'H' &&
buf[1] == (byte)'E' &&
buf[2] == (byte)'A' &&
buf[3] == (byte)'D' &&
buf[4] == (byte)' ') {
doingGet = false;
index = 5;
} else {
/* we don't support this method */
ps.print("HTTP/1.0 " + HTTP_BAD_METHOD +
" unsupported method type: ");
ps.write(buf, 0, 5);
ps.write(EOL);
ps.flush();
s.close();
return;
}
Because I can’t resist such things, I paused the movie to read over the code. Now, I’m assuming this is Java instead of C++ because “boolean” wasn’t spelled “bool”, although I’m not sure why they’d be using Java for performance critical code. Anyway. See the ps.write(buf,0,5);
line near the end? Well, “buf” is presumably the string that the client sent to the server. If the client is broken (or malicious) enough to misspell “GET” and “HEAD”, then the server politely tries to tell the client what it did wrong by sending “buf”’s value back.
Which brings us to the hack. If “buf” is less than five characters long, then that “ps.write” line will attempt to read past the end of “buf”. If the calling function doesn’t handle index error exceptions, boom! The service crashes: Denial Of Service. Note that this is still better than the C++ equivalent, which would write the contents of memory immediately following the end of “buf” back to the client.
No, I’m not exactly good at sitting back and watching movies.
Guest Post By Gabby The Ancient Shark
There is a extinct shark called Megalodon.it lived 45,000 million years ago! Fact:Its teeth are seven inches long!I don’t no how it died and I bet I will never find out!
Guest Post By Gabby My Other Cat
Another blog about a cat!I had a cat named Oat meal.We gave him away 4 years ago.He hated us, he hid behind the dryer, but he loved his toys only!
How Not To Save A Game
I was about halfway through a game called “Final Fantasy XII: Revenant Wings” on my Nintendo DS. I was having a great time and loving it until a stupid bug wiped out all the work I’d put in and made me start over.
When I was in the middle of a particularly involved battle, the red “low battery” warning light came on, so as soon as I finished I tried to save my game. Big mistake. The DS used up its remaining power during that instant and turned itself off. When I plugged it into the charger and turned it back on, I got a message saying that my game file was corrupt and had been deleted.
OK, in retrospect, I should have plugged my DS into the charger before I tried to save my game. Still, it should be impossible to destroy your old information by writing a new version of it. That’s just good design. Unfortunately, FFXII doesn’t have a good design. See, the problem is that FFXII saves its game by writing over the pre-existing save file. Since the power died during that write, the results were half old game and half new game. Hence corrupt. Hence deleted. Here’s how a competent programmer would handle the same situation:
- Create a new save file and write the information to it.
- Delete the old file.
See the difference? At no point do the two files get mingled together, and the old file stays valid and ready to use until the new one is completely written. In the absolute worst case of a power failure during the saving process, you’d lose the new information but the old data would still be intact and safe.
I don’t know whether the buggy code was written by Square Enix, or if they were using Nintendo’s built-in game saving method. Regardless, it’s dumb and should be fixed ASAP for all new games.
Guest Post By Gabby Hatchetfish
The hatchetfish spends the day in deep water and rises closer to the surface at night to feed.It has light organs on its upper surface to attract small squid and other invertebrates.The hatchetfish also flashes its light organs on and off to communicate with others of its kind.
SCOX Is Deficient And Bankrupt
Right now, as I type this, the Yahoo! Finance page for SCO has a caution sign and the text: “SCOX is deficient and bankrupt.” We’ve all been thinking it for ages, but this is the first time I’ve seen an “official” source say so. Wonder what that’s all about?
Guest Post By Gabby Goalsgoalsand More Goals
At school we divide the school year into four quarters.In each quarter we have a reading goal.A reading goal is a set of points.This quarter my goal is 12 points.I’m at 11 points 95% of my goal.I can’t wait untill I make my goal!
It's Been A Long Time Since I Rock And Rolled
It’s been a long time since I rock and rolled,
It’s been a long time since I did the stroll.
Ooh, let me get it back, let me get it back,
Let me get it back, baby, where I come from.
We were going to be rock legends, but it didn’t quite turn out like that.
I realized a few days ago that my kids had never heard Led Zeppelin, and that seemed almost criminally negligent. I rushed out to get “Zoso”, played it while I drove them to school, and dropped them off just as “Black Dog” was finishing. Then “Rock & Roll” kicked in and I thought about my best friend in high school, Rob. He’s writing graphic novels these days and I’m wrangling bits. He’s at least managed to get himself recorded, but the piano in my living room is about as close as I’ll come to playing in front of an audience again.
Don’t get me wrong — I wouldn’t trade the life I have for anything. I’m happy, and as far as I know, so is Rob. It’s just that we were supposed to be on the cover of Rolling Stone by now.
Guest Post By Gabby The Fall Festival
There was a Fall Festival at school today I first went to the sign that said
sandy candy.We got a tube and filled it with sand-like candy.It was differnt colors.Next, we went to a table with hair spray and tatoos.My hair was:red,
blue, and green.I had a candy corn tatoo that washed off like the rest did.
Now, we went to a sign that said bobbing for doughnuts.Gage bit into a plain
doughnut Ashley bit into a choclate doughnut and Hannah bit into a plain
doughnut and I bit into a choclate doughnut.We coud’nt use are hand and
they were hanging from strings.Now we went to a sign that said stuff a
scarecrow.There was a shirt, pants, and a sack that looked a face.We stuffed them with newspaper.Now, we went a table where we could make a
halloween sack.I put cat stamps all over mine.
Guest Post By Gabby My Morning
When my alarm went off at 7:00 I got out and landed on my sister, Ari.She
fell out of bed and I fell to.I got into my clothes and went out of my room to
get breakfest.When I was done I brushed my teeth and hair.Now I could play.But I got on the computer instead.
Scam Calls From Card Services
I just got a phone call from a “private caller” (that is, with no caller ID information) and heard a recording from “Card Services”, who claimed that my credit card’s interest rate was about to go up and to press 9 if i wanted to lower it to 6.9%. Being bored, I pressed it.
Caller: Hi, would you like us to lower your interest rates?
Me: Who are you with?
Caller: Well, would you be interested?
Me: Who are you with?
Caller: We are Card Services.
Me: So, you’re not affiliated with my bank?
Caller: slams the phone down in my ear
I guess they weren’t.
So, if you also get a call from Card Services, remember that it’s 99.9% likely that they’re scammers and that it’s morally OK to mess with them. If you want to have fun and waste their time and otherwise abuse them, reply here to tell us what happened so we can all enjoy it.
Update on July 30, 2009:
By request of a letter from the Rubinis’ attorney, I have removed their home addresses from comments. Please do not re-post such information. Thanks.
Update on August 11, 2009:
The Rubinis issued this statement via their lawyer:
Clear Financial Solutions does not engage in or perform any telemarketing activities. Any complaints or allegations to the contrary are false and without merit.
Guest Post By Gabby Jake Is Crazy
My brother Jake, is crazy!In baseball he ran with his jaw open and his arms
in the air!He whacked my dad with a bat!He even says funny things like
the"Cheese Cake Factory"He said"Mabye they surve cheese cake!“Jake is
crazy!
Guest Post By Gabby Dad Is Funny
Dad is funny.He played a trick on my sister.He says somthing like “Guess
what?“Ari would say"what?“Dad would say"Chickenbut!”
I Guess I Do Really Hate Shopping At Wal Mart
Jen and I were in Kansas City for a convention when Jen decided to exchange some newborn-size diapers for a larger size. Unfortunately, we’d left the receipt at home (because we don’t make a habit of carrying around receipts for every bit of baby gear we take with us) and that completely flummoxed the Wal-Mart staff.
When all was said and done, I had to give them my driver’s license so that we could make the 26-cent swap between two unopened, undamaged packages of baby diapers. I gritted my teeth and managed not to say anything that would get me banned from the store, although I was so tense that I signed the exchange form hard enough to shred it.
And this is why I think that I probably now officially hate shopping at Wal-Mart. We weren’t trying to exchange a plasma TV or a box of donuts. We just wanted to trade up to a larger size of diapers, and this ended up requiring my driver’s license and a signature.
What I should have done — and what I’d love to see everyone doing — is to ask politely for a printed copy of their corporate privacy policy. After all, some stranger is entering my personal identification information into a computer for some unknown purpose, and I think I have the right to know why they’re doing it, how long they plan to keep it, and what their policy and mechanisms are for protecting it in the meantime.
Besides, even if I never read the thing, I’ll know that it cost Wal-Mart far more than $0.26 to print and hand-deliver the document to me. Sometimes just the satisfaction of knowing that their stupid, anti-customer policy costs them more than they made off the transaction makes it a little more tolerable.
Yam No More
Back in my Amiga-using days, I had an email program called YAM. It was excellent and ubiquitous; almost everyone used it. It had three unique features:
- You could configure it to embed small bits of personal information in outgoing emails, such as your birthday.
- When it saw these bits in email that other people sent to you, it could add the information to your address book.
- It had an option to automatically send a “happy birthday” email to everyone in your address book on their birthday.
I was active on a lot of mailing lists, so my address book was pretty full with people I’d hardly met. I sent them happy birthday emails each year, and on my birthday, it was fun to get flooded with a few hundred little messages from well-wishers I didn’t know except maybe from some obscure discussion group.
I had the sad realization a few days ago that for the first time ever since I started using YAM, I didn’t receive a single email from it this year. Not one of my old friends still does this. While it’s not very big in the scheme of this, it still marks the sad end to a happy era.
My Ecco Shoes Are Junk
I bought a nice looking pair of Ecco shoes a couple years ago. Actually, they were probably the nicest shoes I’ve bought before or since. I don’t have a reason to wear dress shoes often, but when I did, they looked nice and I was proud to have them.
About a year ago I noticed that the soles were starting to come apart. I wrote to Ecco to ask for advice, got a short reply along the lines of “we received your message and will get back to you soon”, then nothing. As of about a month ago, they finished literally rotting off — the soles were disintegrating in big, soft rubbery chunks — and my mother-in-law did me a favor by having them re-soled. I wrote again to Ecco to tell them what happened but this time I haven’t gotten a reply of any kind.
I will never buy their shoes again. They look great but were completely destroyed and unusable after wearing them perhaps 10 times to church, job interviews, and other extremely low-abuse situations. What’s worse is that they couldn’t be bothered to respond to customer concerns (although I admit that my second message to them wasn’t quite as polite and deferential as the first). I guess they just don’t really care about quality or customer satisfaction.
There is now a gallery of pictures of rotten Ecco shoes that have been sent in by readers.
Winning By Any Means
I was walking through our house when I saw Jake. He was watching me stone-faced with eyes open wide and bugged out. In our house, that means one thing — staring contest. I returned the stare as I walked nearer and bent closer to his level.
Closer.
Closer.
Until he reached up and poked me in the eyeball and yelled, “you blinked! I win!”
Yeah, he got me: I definitely blinked. I think I can still see his fingerprint on my cornea.