As a followup to this… I tried to take a picture of the actual goose in question, but my camera was uncooperative.
Also, I have no idea what compells me to use French for this exercise. It just feels right. Maybe they’re Canadian Geese.
As a followup to this… I tried to take a picture of the actual goose in question, but my camera was uncooperative.
Ross a fait une promenade au bord du lac. Il y avait une oie sur la route qui etait au bord du lac. Ross a marché sur la route. L’oie a dit, <<Gonk!>> Ross a continué à marché. L’oie a dit <<Hiss!>> Ross marchait encore L’oie a couru à Ross. Ross a couru loin.
This past weekend, Leah and I went up to visit her family and friends in NJ. Here’s some observations…
That is all.
A roundup of things I’ve noticed or thought of lately…
Every once in a while, the little girl who lives across the alley from me will try to strike up a conversation. This is usually a little uncomfortable for me, because, while when you’re a kid, you’re always warned not to talk to strangers, no one ever tells you, as an adult, whether you’re supposed to talk to strange children. But I guess technically we’re not actually strangers: we’re neighbors. Maybe it’s just a symptom of the times that I should think there was anything at all unnatural about being on conversational terms with the children of the people who live across the alley.
But anyway, the reason I bring it up is to relate this conversation:
Her: (Talks a bit about her love of digging up bugs and worms)
Me: (Polite interest)
Her: What do you love?
Me: (after thinking) Well, I like video games. And movies. And I love my girlfriend.
Her: You’re lucky you have a girlfriend.
Me: Yes I am
Her: If you had three girlfriends, you’d be the luckiest man in the world
Me: (after a bumfuzzled silence) I think one is about all I can handle.
So, regular visitors may have noticed some strange error messages last week. Those should be gone for now. I was spammed so hard that the database which runs this blog broke, rather severely. I’ve managed to recover almost all the data to a new database, but the comments table was completely trashed. This means that old comments have been relegated to the status of “ghosts”, and will vanish in the event old pages ever get updated.
How do other bloggers deal with spam? I’ve got spam filters, but those don’t really help: a million spam comments an hour pouring into the Junk folder breaks the DB just as bad as a million a day going to the page — and it’s not just the spam being received that causes the problem: just by the act of hammering the server with their spam, they suck up my bandwidth — and I do mean suck.
Anyway, I’ve got some redirects in place now to divert suspicious activity away from the comments pages. It’s possible that you might accidentally fall into one — make sure you never navigate your way to a page called spider-trap, as you’ll fall permanently into my list of banned IPs.
You scored as SG-1 (Stargate). You are versatile and diverse in your thinking. You have an open mind to that which seems highly unlikely and accept it with a bit of humor. Now if only aliens would stop trying to take over your body.
Your Ultimate Sci-Fi Profile II: which sci-fi crew would you best fit in? (pics) |
In honor of my 200th post, I thought– well, okay, this has nothing to do with it being my bicentennial; I just noticed it when I clicked on “Entries” and saw the number 199 next to it. So, anyway, on with the post…
You may not know the term, but you’ve probably seen a CAPTCHA by now. The acronym expands out to the not-really-meaningful-unless-you’re-a-CS-guy “Completely Automated Public Turing Test to tell Computers and Humans Apart”. A bit of background:
Alan Turing, one of the founding bigwigs of the whole theory of computers as we know them, had this theory: If we stick a human being at a terminal of some sort (This was Turing, back in the fifties, so he was thinking of a teletype, but IM would work just as well) and have him chat for a bit with two other entities, one of which is a computer and the other one is a second human, if the guy at the terminal can’t tell which is which, the computer has demonstrated actual human intelligence, or, at least, something close enough to it to be interesting.
So, in a nutshell, a Turing Test is when a human tries to tell whether something else is a computer or a human. This is fairly easy (The human is less likely to say “BZZT! DESTROY ALL HUMANS!” if you annoy it). A CAPTCHA, which is sometimes ambigiously called a “Reverse Turing Test” is when a computer tries to tell if the entity it’s talking to is human or another computer.
That is to say, it’s one of those things you get when you sign up for something on the internet and they show you a picture of some distorted random letters and ask you to type them in.
This is actually a pretty hard test. It’s comparatively easy for one computer to convince another computer that it’s a computer (“Perform these six hundred hard math problems in under a second” is a pretty simple way), but how do you convince it that you’re human? The computer conducting the test can’t measure your capacity to love, or detect if you have opposible thumbs or anything like that — in fact, the reason that it’s so easy for a human to distinguish computers and humans is that humans can perceive a lot of things that computers can’t — which, of course, means that that distinguish a human (taking the test) from a computer (taking the test) are things that the computer (giving the test) can’t perceive.
So, the way to tell the difference is to generate the sort of problem that humans are good at solving and computers aren’t, and ask the test-taker to solve it. Fortunately, a computer can indeed generate problems it can’t solve itself. Or, a human can provide the computer (giving the test) with a crib sheet. The most common kind you see is the kind I mentioned above. Computers are pretty good at reading written words, but not if they’ve been distorted. So you print some letters in an image, mangle them a bit, and ask the test-taker to read them. This is doable, though it’s not all that easy: mangle the letters too much and a human can’t read them. Don’t mangle them enough, and a computer can. Most of the letter-based CAPTCHAs you see on the internet aren’t all that good, and throw up manglings that a very clever computer could work out, though there are some very good letter-mangling CAPTCHAs out there. Also, CAPTCHAs can often foil humans with vision problems (Like my color blindness).
Another CAPTCHA you see sometimes shows you several images and asks, say, “Which one is a puppy”, since that’s a hard thing for a computer to deduce. This works pretty well, but, unlike the letter-mangling test, the computer taking the test can’t generate new pictures of puppies, so unless it’s got a huge stockpile, the computer taking the test could just poke at random until it got in purely by coincidence.
I read a paper about CAPTCHAs back in grad school, and there was a really neat point they made. Unlike all the rest of computer security, if a CAPTCHA is broken, it’s basically great for mankind. Let me explain: You’ve by now probably heard of the animated cursor bug in Windows. No good can come of exploiting the animated cursor bug. There aren’t really useful things you can do by hacking an animated cursor. It’s good for exactly one thing: compromising systems to the owner’s detriment. Cryptography is largely based on number theory. Until modern cryptography was invented there was no practical use for number theory. People studied it purely for love of math. Aside from its mathematically interesting properties, the only practical use for the RSA algorithm is to encrypt data. Which means that if someone discovers a problem with the RSA problem, RSA encryption is broken. The problem itself has no positive use value, beyond breaking cryptosystems. This isn’t the case for a CAPTCHA: if a computer manages to foil a CAPTCHA, it means that the computer can do something which computers are historically bad at. If it can consistently find the puppy, then we have created a computer that can identify puppies, and puppy-identification is a skill with unlimited commercial application. If our computer can consistently read mangled words, then the next generation of business card scanner software will be able to tell that the business card you ran through it isn’t for “Lockheart Martini”.
But this is just a comically longwinded introduction to what I want to show you. Woe be to all of us the day a computer learns how to break the new Hotness CAPTCHA. It uses AmIHotOrNot API to ask users to identify which of several pictures shows the hottest person. Personally, I think they missed a great oppertunity by not calling it amibotornot.com.
The other CAPTCHA I’d like to show you comes to us via Defective Yeti: Internet Access CAPTCHAs. This one is designed to tell whether the testee is a human, a computer, or an idiot. What’s neat about this is that it’s much more likely to be foiled by a clever computer than a stupid human.
Welcome to the internet. Enjoy your porn
As you may already know, I’ve had some trouble with my TiVo over the past few years.
Tonight, I had to reboot it; it locked up while I was deleting the jumk it had accumulated. Upon my reboot, I found that Something Was Wrong.
Specifically, whenever I pressed one of the arrow keys, the thing would go crazy, scrolling to the bottom of the list and then making the “You’re at the bottom of the list. Stop pressing down, stupid” noise until I pressed something else. So, thinking maybe the remote was jammed, I stuck my hand over the business end. No joy.
So I googled. No joy.
So I reset the tivo again. No joy.
I reset the TiVo remote. No joy.
It was fine until you pressed a button, then it went crazy. Finally, I noticed that the yellow “I’m receiving an IR signal” light was staying lit. (I should note at this point that I’m colorblind, and only know that the light is yellow thanks to information I’ve found on-line; it looks the same color as the green “I’m connected to a power source” light to me). Whenever I hit a button, the light would stay on. Sometimes it would go off as I gesticulated angrily at it.
I replaced the batteries in the remote. No joy.
I tried standing up and placing my hand over the IR receiver. The yellow light went out. I tried zapping it from inches way. That worked fine. One down key, moves down once. Yellow light flashes then goes out.
I tried from further away. Yellow stays on. Key keeps repeating.
I got it into my head that maybe my ceiling fan (being reflective) or some other light source in the room was creating some sort of weird feedback loop. Turned off everything. No joy.
What I did find was that if I waved my hand in front of the receiver, the yellow light would switch off. This worked at close range only. At greater distances, I had to gesticulate more wildly.
I sat down, resigned to the fact that my TiVo was once again borked.
And then I worked it out.
Here is my reverse-engineered algorithm for how the TiVo remote control subsystem works:
if ((x=incoming tivo keypress)) while (tivo is receiving any sort of IR signal at all) do x
You see, I wear ankle weights most days, in order to beef up my exercise regimen — which turned out to be a double-edged sword, as I will explain in a later issue — in the hopes of keeping my diabetes in check.
You’re probably wondering at this point what this has to do with, well, anything at all. What it has to do is this: When I got home tonight, one of the first things I did was to take off my ankle weights. I set them on the couch beside the very spot which currently contains my ass. I set them on top of a small pile of paid bills that I have to file.
What I didn’t know was what was under those bills.
The remote control to my DVD player.
You see, my weights had pushed one of the buttons on the DVD remote. That signal, on its own, was not enough to fool the TiVo. However, whenever the TiVo saw a legitimate signal from its own remote, the fact that it was still seeing an unrelated signal kept it going. When the remote operated normally at close range, it was because my body was blocking the spurious DVD remote signal. When I gesticulated angrily, I was cutting past the beam from the remote.
Hopefully, googling this will help future generations. That’s why I’m adding the following gibberish, it being things I tried googling in order to find out what the hell was going on:
tivo yellow light
tivo doesn’t respond to remote
tivo remote light stays lit
tivo extra button presses
tivo remote spurious presses
tivo arrow buttons
tivo scrolling goes crazy
(Kind folks at Google: Please don’t mistake this for a shameless attempt to pad out my page to attract hits. This is what I googled for to try to find the answer to my question, which means that it’s part of the story about what I did to solve the problem. Thanks)