Saturday, November 10, 2007

Review: iRobot Roomba

Got an iRobot Roomba a few months ago from Fry's. I don't recall which model it is, but it doesn't matter because they've since come out with a new generation.

At first, Roomba only worked in fits and starts. After running for a while, it would bump into something that appeared to knock it silly. It would spin backwards in a circle for a minute or two until it gave up, confused. Amusing though it was, it really made the whole thing pointless since you couldn't leave it unattended. iRobot customer service turned out to be a joke. I was about to take it back to Fry's, but out of nerdiness and ultimately stubbornness, I decided to tinker.

First, I found the Roomba diagnostics that some poor guy apparently reverse-engineered. Kudos to the Roomba engineers for putting in the testing routines, and shame on the writers for not including the instructions in the manual. Double shame on the web guys for not posting it on their website.

Armed with this information, it was soon apparent that the cliff sensors weren't seeing the ground. Roomba thought it was perpetually about to fall off a cliff. I tried the usual (for Roomba owners) sensor tricks with tape, aluminum foil, even mirrors, but to no avail. With a digital camera CCD and an infrared remote I proved that the sensors themselves were working. Eventually I deduced that the sensors, located on the bumper, had a loose connection that the bumping would aggravate.

Now, it was time to put my college degree to use. I located the sensor that was most troublesome, and I repeatedly applied rapid, blunt force to that part of the bumper. That is, I hit it. I hit it over and over until it worked. Not only was it an effective repair, but it was quite satisfying.

The only other problem I had with it was the battery, which took quite a while to break in. I think the trick was to run it on "max" mode a few times to deplete the battery, and let it charge long after the LED says it's done. I can't be sure, though, since I tried a lot of things; draining the battery is a routine fix for rechargeables. Nowadays I almost always run it into the red, either in one shot or across multiple rooms.

I haven't had any troubles from Roomba since. Occasionally I clean it. More often I don't, and it keeps on trucking anyway. Bottom line: If you want one, get one, but buy it at a place where you can take it back for a refund, not just a replacement.

Thursday, October 25, 2007

Still Open

For my next unfinished project, I present www.still-open.com. Basically it's supposed to tell you what restaurants would still be open by the time you got there. I've successfully deployed version 0.01, which is an empty error page. Coming soon: version 0.02, which is a single entry for "Denny's."

Tuesday, June 26, 2007

BONG HiTS 4 JESUS

Yesterday in Morse v. Frederick, Big Chief Roberts had this to say about ‘bong hits’:

Gibberish is surely a possible interpretation of the words on the banner, but it is not the only one …

Some others are “that the sign advocated the use of illegal drugs” (emphasis mine) and that “the phrase could be viewed as celebrating drug use.” I count three interpretations here, though Roberts counts only two. Surely, there are more than one.

‘Bong hits’ may or may not be advocating the use of illicit drugs. If it were, it might not be protected speech, since encouraging kids to break the law is a no-no. So what does it take to advocate something? As it turns out, Roberts has something to say about advocacy in Power v. Money on the very same day:

… [A]n ad is the functional equivalent of express advocacy only if the ad is susceptible of no [other] reasonable interpretation ….

‘Bong hits’ is an ad for Joseph Frederick. It says, ‘Look at me, I'm a wild teen rebel.’ And it worked, because I now know who he is, yet I am no more likely to smoke a plant or to worship a carpenter. The only difference between 'bong hits' and a thinly-disguised political smear is that Frederick is only a whore for attention, not for power and money and the occasional sexual favor.

In his dissent, Justice Stevens points out Roberts' hypocrisy with a satisfyingly large bitch-slap:

… THE CHIEF JUSTICE announces today … that when the “First Amendment is implicated, the tie goes to the speaker,” … and that “when it comes to defining what speech qualifies as the functional equivalent of express advocacy … we give the benefit of the doubt to speech, not censorship” …

However, this isn't even a tie-goes-to-the-runner situation. It is up to the censor (the power-wielder) to demonstrate that the danger of a speech justifies its suppression, not the speaker to prove its meaning, harmless or otherwise. Without evidence that Frederick was advocating drug use, nor evidence that anyone would have been persuaded to do anything illegal, there's no argument supporting denial of First Amendment rights. As best as Stevens could tell, the only reason the Court could find for supporting Frederick's suspension was that it was now up to school officials across the country to interpret the Constitution:

… it is hard to understand why the Court would so blithely defer to the judgment of a single school principal.

Finally, one could argue (especially, but not exclusively, if one is a follower of any of a number of backwards and repressive religions) that some “social events,” such as prom, are school-sanctioned advocacy of underage sex. Couple that with an official denouncement of safe-sex practices, and suddenly a bong hit should seem a small worry to those concerned with high-school students' well-being.

Tuesday, May 08, 2007

D-Link DGL-3420

Just bought a DGL-3420 from Fry's to act as a wireless adapter for my girlfriend's old iMac. Configuration of some of the functions, including WEP, only works with Microsoft Internet Explorer due to stupid broken JavaScript. No Firefox, no Mozilla, no Netscape, no nothing.

"No problem," I think. "Just update the firmware, that'll probably fix it." The box ships with firmware version 1.01, and firmware 1.02 is out there. But guess what else is broken in 1.01? Yep, firmware update.

In summary, you'll need IE just for a moment to use this thing. Once up to firmware 1.02, though, enabling WEP works in Firefox. Naturally, it's quite possible that newer boxes will ship with 1.02 and Fry's is just unloading the old inventory.

Thursday, February 15, 2007

Office simulator

Ever wonder what it's like to be a firmware engineer? Here's a Flash simulation of what goes on in my office. And here's another for the mechanical engineers.

Tuesday, May 30, 2006

Global warming

Is our wasteful, polluting society causing global warming? Maybe. Who knows?

Is pollution therefore harmless? No, of course not.

Everybody forget about global warming in politics. It's like arguing over whether it will rain tomorrow, when right now your house is burning down. Tree-huggers can find plenty of other environmental disasters that greedy slobs will have a harder time dismissing.

Sunday, March 26, 2006

You can't get fooled again

A couple of thoughts stirred up by a recent Motley Fool on NPR:

First, the CEO of Netflix claims that he does not know the meaning of the word "throttling." Nor does he know the meaning of the word "unlimited."

Hastings said the company has no specified limit on rentals, but "`unlimited' doesn't mean you should expect to get 10,000 a month."

I'd be okay with it if Netflix advertised "up to 9,999 movies per month." But that's still not unlimited. Perhaps this guy has been using the same dictionary that Congress has.

Second, some guy was pitching his book, The Wal-Mart Effect, which is deliciously ironically available on walmart.com. He didn't quite have the spine to call Wal-Mart evil, but apparently he dug up enough dirt to make it obvious.

He explained that Wal-Mart creates and takes advantage of sweatshops in other countries even though OSHA wouldn't stand for such things here. What he didn't mention (at least on the radio) is that Wal-Mart creates them here, too.

While it would be nice if the United States would forbid or at least restrict trade with countries that don't respect human rights, it's not going to happen. China would be first on the list, and it would be political suicide to even mention cutting off trade with them.

Here at home, though, we can make baby steps. Wal-Mart, like all big companies who are practiced and skilled at breaking the law, points its finger. "It was the contractor who hired the illegal immigrants, so you can't blame us." Bullshit. If a person gets caught buying stolen goods from a shady character in a dark alley, that person isn't allowed to keep the stuff. The stuff goes back to the proper owner. And the buyer may be facing charges for possessing stolen property.

If Wal-Mart makes (saves) money by hiring out its dirty work, it has no right to that money. That money should go to the workers from whom it was taken, illegally, in the form of unpaid wages. Wal-Mart should be fined punitive damages as well, the amount increasing each time they do it.

Corporations have no soul, no morals, and no God save The Bottom Line. They aren't swayed by stern warnings the way people can be, and you can't put one in prison. They will follow the law if and only if doing so is more profitable than otherwise. We must make it too expensive for them to break it.

Monday, March 20, 2006

Dubya in 2008

Please join me in my campaign to repeal the 22nd Amendment. With the lesser Bush's approval rating in the toilet, there's no better way to show what we think of him.

Each so-called Republican needs to look into his heart and ask if Bush deserves a third term. Gas profits are at an all-time high. Osama is as free as a bird. Iraq is in civil war. And all in just six short years! Think what other missions we could accomplish in another six. The Constitution shouldn't stand in the way of Patriotism. If you believe in true American freedom, you'll reelect Bush.

Update: An Executive Order establishing a Continuity Presidency is on its way.

Sunday, March 12, 2006

DVD burning resolved

Lately I've been suffering from a couple of ultimately unrelated problems when trying to burn DVDs (in Linux). I'm repeating what I found elsewhere in hopes it's easier to find for the next guy.

First off, burning was horribly slow, and the CPU usage was abnormally high while burning. Turns out KDE has copied Microsoft's dubious auto-insert notification. The solution: turn it off. BTW, KDE, it's ridiculous that the dialog box that pops up does not offer an option to turn off the daemon forever. As others point out, K3B should also detect the problem and warn about it. I wonder if I should give Gnome a shot.

The other problem was that double-layer DVDs wouldn't burn in some modes. The solution here was to upgrade the DVD burner firmware. In particular, I upgraded my Sony DRU-800A from KY04 to KY06. I found the firmware version in /proc/ide/ide1/hdd/identify. The firmware upgrade utility only runs in Windows, but after all the box does say "for Windows" on it.

Tuesday, February 28, 2006

Why Sonny Bono is unconstitutional

Not the dead guy, the Act.

First, let's take a look at the relevant part of the Constitution (emphasis mine):

The Congress shall have Power [...] To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries;

Now, notice right away that the Act is retroactive to works already published. That means Mickey Mouse gets twenty more years of copyright. It is not difficult to conjecture that Congress might, in twenty more years, extend copyright another twenty years. Then they might do it again. Obviously, if they did, forever, copyright would not be secured for a 'limited time.'

'But they haven't!' says the Supreme Court. Of course they haven't done it forever, dummies. And they never will. That's the way forever works. Forever is the infinity of time. So let's look at infinity.

Infinity, colloquially speaking, is where you can always add one more. (Or twenty more.) So, can Congress always add one more? More precisely, will the Court always let them add one more?

Suppose the Court allows Congress to make an unlimited number of limited-time extensions to the copyright term. Clearly, this is not a 'limited time.' We need not actually reach infinity to be unlimited; we merely must have no limit.

Since the Court cannot allow an unlimited number of extensions, it must therefore at some point limit the number of extensions and, consequently, the number of years. One day the Court has to draw the line. '99 years is enough,' perhaps. Hold it! Go back to Constitution. Only Congress has the power to decide the term of copyright. The Supreme Court does not.

We're left with an inductive proof by contradiction: If any retroactive extension to copyright were constitutional, then an unlimited number of them also would be constitutional, which is, of course, unconstitutional. Therefore, no retroactive extension to copyright is constitutional.