25 June 2008

Flippable e-books

I found a video about a dual-display e-book reader, which sounded like an interesting idea. And then I watched it:



...huh? They apparently seriously believe that pressing buttons to switch pages is a lot of work for users, and it's much easier to either manually simulate a page flip, or to actually flip the entire device over. I think they must be joking or intentionally lying, because anybody that actually used that device for more than 5 minutes would be so tired of either one of those actions they'd be begging for navigation buttons.

Worse is the "thumbnail" technology used for searching the entire text. The thing I hate most about physical books is it's hard to find a phrase I remember reading if I don't remember where it was. Never in my life have I needed to search through an e-book and thought "well, I can just use the find feature, but I sure miss being able to riffle through the pages hoping to stumble across what I want instead". The thumbnails are so absurdly small as to be useless, especially in a document with no pictures. Next they'll be telling us we should organize our photos on a giant digital table. I don't know how the trend of making digital devices that simulate analog devices and their flaws got started, but it should probably stop soon

21 June 2008

Product placement

I never really understood why companies spend so much money on product placement. I've never stood in a store thinking "Well, I need X. What kind of X does Jack Bauer use?" (obviously if I were to think this, Jack Bauer would be the role model). I figured maybe it was just a subconscious thing, where people choose things they've seen on TV because they vaguely remember hearing of them, but then I found this

hey i was watching Psych and they mentioned something called Kangaroo Paste. What is it? & Where could I buy it?

Bravo, Psych. By having Shawn mention for 10 seconds that he wants a fictional item, you've convinced somebody they want it, without knowing anything about it since it isn't real. I'm much more impressed with marketing people right now

EDIT: Also the verticoli hair brush

20 June 2008

Now I've got you

I'm having an interesting problem with Firefox 3: I'm unable to close my blog. Once I go to my main blog page, I can't close the tab or navigate away from the page, or Firefox segfaults. I like to hope all my readers have this problem, because then it's like a feature of my blog, but I expect not. I tried disabling Flash and all my extensions to no avail; I suspect the problem is one of the other media plugins, like Totem for playing audio clips. On the rare chance that somebody else is having this problem, let me know

18 June 2008

Open Reddit

I'm a big fan of Reddit, particularly the programming subreddit, so I was excited to see that yesterday reddit went open source. I got a copy of the code and started poking around; I never realized that Reddit is written in Python, which automatically makes it good. I also hate the Reddit developers less now; they've had a problem for months now with their RSS feeds showing duplicate entries, and have thus far claimed they have no idea what's wrong. I don't know Pylons (the framework Reddit uses), but after my initial poking around I too have no idea what's wrong, so for the moment they're not idiots anymore, although I plan to look into it further. A comment calling something a hack appears 8 times in their code, which is fairly respectable; I particularly enjoyed this comment I noticed in /r2/r2/config/middleware.py:

#god this shit is disorganized and confusing

17 June 2008

Linux Journal's Captcha

I forgot to post about this in my last article, I was too focused on my rockbox love. Linux Journal has a very unique captcha. Admittedly, the standard find-the-characters-in-the-distorted-image one can be difficult:



However, Linux Journal's solution is probably not the best. It's a particular annoyance because they require you to preview your comment before posting, which loads a new page, and they don't auto-fill/skip the captcha, so even if you fill out all the fields right you have to do at least two captchas. But that's not the problem, I can live with that, the problem is the captcha is a math question. And because (see myspace.com for corroboration) most people on the internet are stupid, they ask you a low number addition problem. Now, computers may suck at complicated OCR, but one thing they've pretty much got down is addition of single digit numbers.

For an amusing proof of concept, here's a greasemonkey script that will automatically fill in the captcha on any Linux Journal comment page:


// LJ-Captcha
//
// ==UserScript==
// @name LJ-Captcha
// @description Auto-fills the Linux Journal captcha
// @include http://www.linuxjournal.com/comment/reply/*
// ==/UserScript==

nodes = document.getElementsByTagName('span');
for(i in nodes) {
if(nodes[i].className == 'field-prefix') {
mathExpr = nodes[i].innerHTML;
mathRe = /([0-9]+) \+ ([0-9]+) \= /;

first = parseInt(mathExpr.replace(mathRe, "$1"), 10);
second = parseInt(mathExpr.replace(mathRe, "$2"), 10);

document.getElementById('edit-captcha-response').value=(first+second);
}
}

Rockbox > Linux Journal

I'm starting to wonder if Linux Journal is like The Onion for Linux. Every article I have ever read on that site (so like 3) has at some point made me stop and wonder if it's just a big joke. But they went too far when they did a video about Rockbox. Now Rockbox is pretty much amazing. It's an alternate firmware for MP3 players, and I've used it on mine since about 20 seconds after I got it. It has a million features and is in general better than whatever firmware you're using, in every possible way. Here is what the 6 minute video Linux Journal did on it consists of:

  • First two minutes -- Talking about how he attempted to install Rockbox on an iPod Nano v3, iPod Nano v2, and Toshiba Gigabeat u, the last of which he actually went to the store to buy just for this video. As he discovered through totally unnecessary trial and error, Rockbox does not support any of these; ironically, it does support these devices, just not these particular versions. You can feel free to go through the same trial and error with your device, or you could just check the compatibility list helpfully offered on rockbox.org

  • Next two minutes -- Playing DOOM

  • Next minute -- Showing "demos" like plasma and fire. At one point he mentions for a few seconds that you can play music

  • Last minute -- Advertisement for GoGrid. Seriously



At the very end he mentions that it can play music, but doesn't actually show it. I'm starting to suspect that maybe this was meant to dissuade people from using rockbox by covertly making it look terrible. He demos it on an ancient, monochrome iPod that he has to have plugged in because it has no battery strength anymore; he mentions several times what a terrible player it is. Super choice there. And then he spends half the time rambling about the players it doesn't support, the problems his ignorance has caused, and how neat GoGrid is.

I posted this as a comment on the video, but apparently they didn't feel it warranted approval: Despite what the video portrays, Rockbox is fantastic. It's not nearly as ugly as it looks in the video; that player blows and he's using an ancient rockbox version, there's a whole bunch of different themes, like:


Everybody who has a supported player go try Rockbox, you'll love it

Crypto-virus, oh noes!

I keep seeing articles on this, and I've even commented on a couple, but I haven't actually mentioned it on here: I don't get the gpcode thing. I'm not exactly old; I'm certainly younger than the people writing these articles about the coming malware armageddon, but this is not exactly unprecedented. There was a virus in the 80s (I can't find the name anywhere now) that copied your FAT to RAM and wiped the main copy, then made you play a slot machine type game to try and win your files back. Sure, not extorting money out of you, but that's only because they lacked the highly networked computers of today necessary. This was 20 years ago, so I don't know why everyone is so shocked by this revolutionary virus. Forget the slot machine virus, I remember before malware was the cool thing to write when viruses actually deleted stuff. None of this encryption, "pay us and you can get everything back" nonsense, and certainly no attempts to be stealthy so they can live on your machine for years sending spam e-mails -- they deleted everything they could find as fast as possible and then laughed at you about it. Why is a virus that encrypts some of your files worse than a virus that deletes all of them?

On an amusing side-note, if you use openoffice instead of office, tar/gzip instead of winzip/winrar, and png files instead of jpgs (none of which are at all unreasonable, my Vista machine does all three), you're practically immune to this virus, it doesn't check for any of those extensions at all.

Firefox 3

I'm told Firefox 3 just launched a few minutes ago. I'm not really sure if it did or not since its Mozilla's whole website is down hardcore, but I guess that's probably a good sign. World record FTW

EDIT: Hey, it works. Most of Mozilla.org is still down, but they must have done some sort of load balancing on just the Firefox download part, so that's working perfectly. I thought I'd post how to patch extensions to work with Firefox 3, as most of mine are apparently written by authors too lazy to do so themselves. Most places will tell you to use the nightly tester tools; this works too, I've used it before, but sadly Firefox's add-ons page is down so I can't download it at the moment. I've also seen instructions on how to patch the XPIs, but there's no need to do that if you already have them installed; this is how you manually patch add-ons that you already had on Firefox 2. Obviously these add-ons haven't been tested under Firefox 3 or their authors probably would've updated them, so there's a chance things will break when you do this:

  1. Open your extensions folder. On Linux it's at ~/.mozilla/firefox/(your profile)/extensions; on Windows, C:\Documents and Settings\(your username)\Application Data\Mozilla\Firefox\Profiles\(your profile)\extensions

  2. Each plugin is in it's own folder, named with a hexadecimal UUID. Open the first one and open it's resource descriptor, install.rdf. It's plain text, so any editor will do (read: use emacs)

  3. Somewhere under em:targetApplication you'll find em:maxVersion. If it's 2. something, change it to 3.0.*

  4. Repeat this procedure for every extension folder

  5. Move all the folders you changed (or all of them, it doesn't matter) to some temporary location

  6. Restart Firefox; your add-on list should be empty now

  7. Move all the folders back to your extensions folder

  8. Restart Firefox again; the add-on window should automatically open to alert you it has detected new extensions. All your extensions should be listed as before, but enabled now


Screenshot from an XP machine:

14 June 2008

Holy crap, people do have rights

Somehow I missed hearing about this for two days, but apparently the Supreme Court essentially overturned the Military Commissions Act. I practically fell out of my chair when I saw, I was under the impression we stopped caring about rights approximately the moment we elected a Republican President. The oral arguments are actually pretty interesting.

On page 31, Ginsberg says "in every practical respect, Guantanamo Bay is U.S. territory", which is one of those things the government tries to skirt. It's thoroughly enjoyable because unlike the typical forums you see these people at (press conferences, etc.) where they can just ignore questions they don't like, the justices don't let them dodge stuff; Souter in particular doesn't put up with their shit. Clement spends a good deal of time dancing around whether or not Guantanamo prisoners are "prisoners of war" or not; they obviously are, but the government has declared pretty emphatically that they're not so we can avoid the Geneva Conventions. Scalia -- and my approval of this one phrase shouldn't be taken to mean I in any way like any decision he's ever made -- says on page 49 "if we had to either charge or release these people, what would they be charged with? Waging war against the United States? Is there a statute that prevents non-citizens from waging war against the United States and provides criminal penalties?", to which Clement brilliantly responded "Not as such". I thought this was excellent, since he's essentially saying these people have broken no laws, and yet they're somehow still not prisoners of war; they're in that fun gray area where we can do whatever we want.

Ultimately this whole argument hinged around the idea of CSRTs. Before this decision, inmates got to go before a "Combatant Status Review Tribunal", which was a sort of laughable affair where officers decided if an inmate was an enemy combatant or not. While they're doing that, the inmate doesn't get a lawyer, doesn't get to see the evidence against him and really doesn't get to do much of anything. Most of the time if the inmate manages to win (i.e. are declared to be a non-combatant), another CSRT is convened so the officers get to decide again. Waxman's explanation of why this whole concept blows is good, starting on page 72. Breyer says it pretty succinctly on page 61: "it has been six years, and habeas is supposed to be speedy."

Kennedy, who wrote the majority opinion, had one of the better quotes I've seen come out of this court: "To hold that the political branches may switch the Constitution on or off at will would lead to a regime in which they, not this court, say ‘what the law is,’"

Too true. And what did McCain have to say? "I think it's one of the worst decisions in history"

Please, sir, can I have another?

I hate religion, but I make an effort to avoid all-out religion-bashing on my blog since I know religious people (although there are exceptions to this rule). However, this drives me crazy. I've seen it a thousand times, and it seems like the most obvious self-deluding nonsense, but again and again I see it. This woman was falsely accused of stealing some cop's gun, and spent 10 months in jail. She sued the city when she got out and won $7.7 million dollars. Her reaction:

"I'm going to go home and lie down for a little bit," an ecstatic Jackson, 41, said after the verdict. "I feel relieved. I'm happy, and I'm thanking God."

Why? Why are you thanking God? Why aren't you pissed off that God made you spend 10 months in jail, that part isn't God's fault? But it's God's doing that you got $7.7 million. God has a pretty good deal going here; he controls everything, gets to take credit for all the good stuff, but doesn't get blamed for bad things. The ultimate religious explanation for why bad stuff happens to religious people is that God gives the greatest tests to those he loves the most. Really? That sounds like a damn fine reason to not be on God's good side, maybe then I won't get thrown in jail for 10 months as part of some sadistic test. God reminds me eerily of a mafia don, and religious people are mafiosi trying to stay on his good side. When bad things happen, the don tends to punish those closest to him, so it's a lot more risky being there than being some random guy he's never heard of. But they stay there anyway, because either they hope they're going to get rewarded someday, they don't realize there's no reason to put up with it, or they're too scared to death to leave. God is Yakavetta, and theists are Rocco

And now it's all too clear why the concept of hell exists in religion, because without hell there would be no reason to put up with God's shit

EDIT: My girlfriend just sent me NeedGod.com; I recommend everyone check it out. It tells you, surprisingly, why you need God. At one point it asked me, "Does the fact that you're headed for Hell concern you?", and when I responded that it did not it exclaimed "It should concern you". Why?

Perhaps you feel safe because you don't believe in Hell. This can be likened to standing in the middle of a busy highway and shouting "I don't believe in trucks!" . . . God has given us HIS WORD on the existence and purpose of Hell...

OH. My bad. I didn't realize God has given us HIS WORD on the subject, what was I thinking. And not to nitpick or anything, but in the highway example, you can see the trucks

08 June 2008

Arguing with users over what they want

I wrote a whole bunch of this a long time ago when I stumbled across the debate that resulted in the FunPidgin (apparently now Carrier) fork of Pidgin. As their website puts it, "Unlike the Pidgin developers, we believe the user should have the final say in what goes into the program."

If you've missed this whole debate (likely even if you use Pidgin), it started with this bug report for Pidgin. The problem was stunningly simple: in the new version of Pidgin, the input text area automatically resizes itself. This is fancy and neat, but it also can't be sized larger than about 4 lines of text, which makes a lot of people sad, and some people find the auto-resizing jarring and unpleasant. This massive support ticket is basically a huge argument between the users and the developers about whether users want this feature or not. Seriously, a whole group of users telling the developers they want something, and the developers telling them they're in some way addled and don't really want it at all.

If your users want a feature, unless it's too difficult or time-consuming to write, you should add it. Your users shouldn't have to defend or justify why they need something, that's ridiculous; if they say they need it, they need it, and developers saying "no, you really don't want that" is absurd. Users have better things to do than sit on your bug tracker begging for you to implement something you've already written; obviously they want this feature.

I've always been of the opinion that if users want two competing ways of doing something it should be an option, which I know isn't a universally accepted view -- I might go so far as to say it's the minority view. I like the ability to customize how my programs work, since usually I don't like the defaults. Trillian was spectacular at this, and it's still my favorite IM client of all the ones I've tried; every single time I disliked something there was a preference to change exactly that. The pidgin developers do not believe this; they state repeatedly that they want a "better" (they frequently put the quotes around it too, like they're mocking themselves) solution than adding a preference. That's great and all, but either find one or give us the choice back. There might be a better solution than adding a preference, but adding a preference is still a better solution than telling a section of your userbase to go fuck themselves. The developers even mock the users in some of the posts, asking why they're not clever enough to write a plugin to do this. Is this supposed to be some sort of battle between developers and users, where developers change something and then taunt the users to try and change it back? I know lots of users don't like preferences; personally, I don't know why they can't just ignore them them, but apparently the mere fact that options exist bothers them in some way. Nonetheless, the users saying that they want an option and the developers telling the users that the users don't want an option is so obviously ridiculous that I can't believe this is still going on.

This quote was particularly amusing; it makes me think maybe the developers are missing the point completely: "it proved to be impossible to get both manual sizing and automatic resizing to work at the same time". Really? That's like saying "well, we tried to let the user set the size manually, but that damn automatic sizing kept automatically sizing". Obviously they can't work together, it has to be one or the other. Almost like it should be the user's choice. Like some sort of "preference" or something. They should have a dialog for those. I loved this solution: "What if manual sizing is disabled when automatic sizing is enabled?" Maybe it's just that this seems way more obvious to me than it apparently is to other people if this was actually considered ground-breaking enough to post, so I'll lay out my fairly brilliant solution to this problem in hopes of merging: Have an "automatic input resizing" checkbox. When it's checked, the input box auto-resizes. Manual resizing does not work. When it's unchecked, the box can be manually resized. Auto-resizing does not work. If anyone needs further clarification, I will send them a truth table

I dislike the notion that developers need to protect the silly users from themselves and not give them an option that deep down the developers are confident users really don't want. This is very much a Windows point of view.