Jul 16

“And I regret some of the recent behavior Russia that has exhibited, and I’ll be glad to talk about that later on including reduction in oil supplies to Czechoslovakia after they agreed with us on a missile defense system, etcetera.” — John McCain, 2008-07-15.

Still, he’s learning to use The Interwebs. Right now if he needs to see a web site or e-mail he has his staff show it to him, because he can’t operate a web browser. Oh well, at least he knows what a telephone is, judging from the photo.

So, we could go from a President who knows how to use a computer but doesn’t read, to one who knows how to read but can’t use a computer.

Feb 21

One of the problems of working in tech is it can get annoying when you see lots of money being spent solving the wrong problems, or implementing completely ineffective solutions.

Take credit cards and RFID, for example. There’s a big push in the US to include RFID in every card. I’ve had a card with RFID for just over a year now. The benefit to me? Theoretically, I can hold the card against the card reader, instead of having to swipe it through the slot.

That’s it.

And I say "theoretically", because in the half dozen times I’ve tried it at local stores that have the equipment, it has only worked once. In every other case, I’ve had to fall back to swiping the card through the slot instead.

This is dismal. Why the hell are companies like American Express spending millions of dollars on this RFID crap that doesn’t even work, when magnetic stripes are far more reliable and get the same job done?

If they wanted to spend money on an actual problem, they could implement two-factor authentication like PayPal are doing and wipe out fraud. I’ve seen credit cards with displays built in, it’s quite possible.

Instead, they started checking expiry dates. Then when all the merchants started recording the expiry dates in their databases and the criminals got lists of card numbers with expiry dates, they added 3 or 4 more digits to the the card and called it a Card Verification Number. Now vendors are recording those, and in another year or two the criminals will be passing around card number lists with expiry date and CVN, and we’ll be back to square one.

Another great case of solving the wrong problem was in the news today. Google is going to spend money allowing people to put all their medical records on the Internet. This is in response to an earlier announcement from Microsoft of a similar HealthVault service.

C|net says it’s a "laudable goal". No, it’s not, it’s a stupid idea. Let’s go through some of the reasons why it’s stupid.

Firstly, as soon as you centralize your health records in this way, you have a single big target for criminals to attack. Right now, if some hospital screws up and exposes a bunch of medical records, the chances of my being affected are very remote; it’ll only be the few thousand people who used that hospital who are in trouble. If everyone’s medical records are stored on Microsoft’s servers and they screw up, tens of millions of people could be affected.

Secondly, you have a single point of failure. Microsoft’s service goes down, and suddenly nobody can check in to the ER. Yeah, great idea.

Thirdly, if you’re running a hospital, you don’t want to have your computers that are used for medical records connected to the Internet, for reasons that should be blindingly obvious to everyone. So in practice, hospitals will need extra Internet-connected computers to obtain the health records from these services, and they’ll then end up printing them out on paper like before. Either that, or they’ll take the risk and put their medical records processing systems on the Internet. So, ‘no benefit’ or ‘reduced security’, you choose.

Fourthly, a centralized record of all health information makes selective disclosure difficult or impossible. Right now, if I go to the drugstore, they have the medication I’m taking in a list and can flag possible drug interactions. That’s it, but that’s all they need. In the glorious future, they ask for my central database ID, and the guy at the counter can browse the results of my STD tests, see if I had therapy for alcoholism, and so on.

Now, it’s possible that Google are going to make an effort to allow compartmentalization of the information, with need-to-know disclosure. They’re smarter than Microsoft, they might have worked out why it’s a good idea. But it’s a hard thing to do. When I go to a drugstore for the first time, how is it going to be handled? Will I have had to log on to Google at home first and list the information that I want to allow the drugstore access to? Or will they have a web browser in the store so I can do that? (If not, what if I forgot something important?) If they have an in-store system that I log in to to allow them access to my info, how am I going to know I can trust it not to record my keystrokes?

This selective disclosure requirement is why a single national ID card for all government services is a bad idea. It’s why combining all the cards in your wallet into one universal card is a bad idea. And if we look at your wallet, we can see the obvious alternative: put the medical records on a card.

With the "medical records on a card" approach, there’s no central point of failure. There’s no way for criminals to get fifty million people’s medical records at once. There’s no need for hospital computers to be connected to the Internet. And selective disclosure can be done simply by having more than one card–a pharmacy card with my prescription drug list, perhaps a mental health card, and a full medical history card for my doctor. In fact, that’s pretty much what I already have, since several US pharmacies issue regular customers with pharmacy cards so they can check for drug interactions. All we really need to do is standardize the cards, put data chips on them to increase capacity, and get card readers in the hospitals.

Oh, sure, I can lose my card. I can also disclose my Google login, though, and I’m betting average mouth-breathers are far more likely to choose bad passwords or write them down or tell them to phishers than they are to lose a credit card.

But no, we’ll spend money on the dumb solution instead, perhaps because it’s really all about control. Solving the problem sensibly wouldn’t give any company control over fifty million people’s medical records, and that’s what this is really about.

Update: Via Slashdot, a WSJ story on the perils of a single centralized healthcare database : a woman’s insurer gets access to her mental health records because they’re stored in the same place as her regular healthcare information, and decide she’s probably malingering and deny her claim.

Jan 18

Human beings have different kinds of memory; they remember things in different ways. Three common classes of memory are spatial memory, visual memory and verbal memory. (There’s also chronological memory, but that’s not relevant to my point here.)

I have excellent spatial memory. It’s what I rely on most. For example, if I start to think about how to get to a given place in town, I literally find 3D visualizations of my route flashing into my consciousness. I also have pretty good visual memory; when I make the journey, I verify that I’m going the right way by comparing the visual appearance of buildings and landscape that I pass with the scenes I remember.

My linguistic memory is terrible. If you asked me to name the actual streets on the route, I’d have a hard time remembering them. My mental map of London, for example, only has 6 street names. This makes me a really bad person to get directions from. “You take the narrow road that heads off at a thirty degree angle, right at the place with the green copper roof, over the light colored bridge…”

There’s an upside to my condition. If you rely on verbal memory to navigate, as soon as you step outside your known area you are pretty much lost until you can find a familiar street name. In contrast, I have a pretty good chance of navigating between two known points, even if the area in between is totally new to me.

This hierarchy of types of memory also applies in my interaction with computers. When I want to find my password manager, I don’t remember its name. Instead, I remember that it’s in the bottom hierarchical menu of my KDE menu, positioned near the top, and has a green icon.

I know this experimentally, incidentally: back in the System 6 days there was a joke Mac INIT that removed all the text from the menus. I tried it, and was quite startled to discover that I could still use most of my favorite applications.

With that background out of the way, I would like to talk about why for me, the new KDE 4 application launcher is a user interface disaster of epic proportions.

Continue reading »

Jan 01

In mid November, our contract with AT&T (formerly Cingular) expired. We switched to T-Mobile and got BlackBerry Curve phones.

I was a BlackBerry skeptic for a long time. I didn’t think I wanted a phone with a full QWERTY keyboard. This changed when we looked at the phones available. It turned out that the Curve was only marginally wider than the average phone, perhaps a centimeter or so. It’s otherwise comparable to mid-range phones in size. It ends up being pretty much as portable as our Sony Ericsson Z520a phones.

The BlackBerry UI is best described as “retro”. The icons look like 1990s Windows, the text fonts look like 1980s Atari ST, and the general method of navigation most resembles Palm OS. This is both a good thing and a bad thing. Starting with the good, the UI is clearly designed from first principles to work well on a handheld device. The central trackball handles scrolling, pointing and clicking. It sits easily and naturally under the thumb. You can do pretty much everything with one hand, including browsing the web and checking e-mail.

This is in marked contrast to the iPhone, which pretty much requires two-handed operation. Windows Mobile devices suffer from having a desktop UI squeezed into a handheld form factor, and also require two hands, and often a stylus. Symbian is designed for phones, but the UIQ interface for smartphones uses a stylus. Overall, then, the BlackBerry works better than other phones I’ve tried when you’re standing in an airport with a coffee in one hand.

On the downside, it’s hard to find the icon you want in a hurry, because of their visual clutter. Perhaps a replacement UI theme would help; I’m a little tempted to grab the theme designer and start working on one, but it’s Windows only. The fonts were initially problematic too; nowhere near as nice as Apple’s, and they took some getting used to.

But when it comes time to reply to an e-mail, niggling issues with fonts were forgotten as I got to grips with the keyboard. Yes, it requires both hands, or more accurately both thumbs. It’s not as fast as a full size keyboard, but it’s faster than Palm Graffiti or Windows Mobile pen input, and much faster and less frustratingly error-prone than I found the iPhone’s on-screen keyboard to be. Unless Steve relents and allows a Son of Newton to use the Newton’s non-cursive text recognition, I can’t see it being bettered.

Textual messaging is where the BlackBerry really shines. It’s quite possible to thumb out fairly lengthy e-mail responses, or even update your web site. As far as IM, there’s support for Google Talk and AIM built in, as well as Yahoo Messenger, Windows Live Messenger and ICQ if you know anyone who still uses only those. There are third party clients for non-Google Jabber and other protocols, and in addition, there’s BlackBerry’s own BlackBerry Messenger, previously called PIN messaging.

If you have a friend who also has a BlackBerry, PIN messaging is definitely the way to go. The manual doesn’t cover its benefits, so I’ll digress a little here. Unlike other IM systems, PIN messaging is tied to the BlackBerry device by a unique ID. You connect with another person initially by sending them an invite via their BlackBerry-specific e-mail address, or any other address they access via BlackBerry e-mail. When they reply, their device records the device ID you sent, and sends you theirs.

The primary benefit of PIN messaging is that it’s push-based. The recipient doesn’t need to be logged in. If their phone is switched off, the message will be queued until they log on.

The second benefit of PIN messaging is that it’s reliable. Unlike SMS, messages don’t get randomly dropped. In addition, you get delivery confirmation automatically for every message: when you hit enter, the line you typed appears in the transcript with a small icon next to it indicating that the message is going out over the network. When your device receives positive confirmation that the recipient’s device has displayed the line you sent, the icon changes.

If that’s not enough, there’s a third benefit over IM or SMS: there’s a separate “ping” option. So you can set up your regular notification to be something discreet, and know that your spouse can ping you to set off something more noticeable if necessary.

Other than that, PIN messaging has the usual file transfer, allows you to send voice memos, and looks and behaves like regular IM. For us, it has completely replaced SMS, not least because it doesn’t cost 15¢ a message.

One interesting feature of the BlackBerry is that as well as individual icons for each messaging system, there’s also a unified inbox that shows IM, SMS and e-mail in one place. This makes sense, as they all have pretty much the same UI on the Curve; the protocol is almost an irrelevant detail. I believe that if you attempt to send pictures via SMS, the phone automatically uses MMS, but I haven’t tried it.

Web browsing is a mixed bag. The built in BlackBerry browser has two modes, mobile mode and “desktop” mode. Although there are references to WAP, the browser copes with both, the mode just determines how the page is formatted for display. In mobile mode it works like a typical phone browser, in desktop mode it tries to deal with things like tables, CSS and JavaScript. Overall it makes for a pretty good browsing experience, as phones go. (If you haven’t tried browsing from a phone, the main issue isn’t usually layout–it’s latency. Each page request takes a ridiculously long time to send, compared to a desktop system. I assume this is something to do with the mobile network.)

An alternative is Opera Mini, which takes the “thumbnail of page with moveable active area” approach to web browsing. It works surprisingly well with sites that the built-in browser can’t cope with, like zagat.com. (Yeah, good move, make a web site of restaurant reviews that doesn’t work with a phone browser.)

Maps are another strong point. There’s a map application supplied, but I downloaded Google Maps for BlackBerry, which is free and offers pseudo-GPS location by correlating your active cell to its geographical location. Accuracy can be as little as 50m or so in cities, up to 1km in the countryside. The Google Mail application also works well once downloaded.

The BlackBerry OS appears to be Java based, and is pretty solid. It’s more reliable than a Palm; I’ve only managed to crash it once, which is comparable to Linux on the N800 in solidity. Initial bootup (after inserting a battery) is horrendously slow, but once running it seems to use a soft power off which doesn’t require a full boot. The UI is generally responsive at all times, unlike some Sony Ericsson phones. You can put the phone into standby mode by holding down the power switch. In standby the screen and keyboard deactivate, but you can still receive messages and calls. The same hold-down-button action brings the phone out of standby instantly.

The one bug I’ve found so far is in the BlackBerry web browser. After a while the cache gets full and slows browsing down tremendously. The workaround is to empty the cache once a week.

The phone shows a lot of attention to the details of how a mobile device should best operate. For example, an ambient light sensor behind the notification LED turns the screen brightness down in dark areas, and automatically turns on the keyboard backlight. The LED itself has behavior customizable through the notification options; each event (phone call, IM, SMS) can have any or all of a user-chosen sound, vibration, and LED flashes. You can even set different messaging systems to have different notification; for example, I have IM just flash the LED a few times, unless it’s a PIN message from the spouse.

Mac sync is a bit of a sore point. There’s a package called PocketMac that BlackBerry purchased and now give away for free. It worked for me, more or less, but had some annoying bugs. (For example, syncing with a subset of address book records didn’t work, and editing records on the BlackBerry resulted in duplicates.) The solution is simple enough: Mark/Space have a Missing Sync for BlackBerry, which makes everything work, and even syncs user pictures so you can see the face of the person calling you if you’ve given them a picture in OS X.

Overall, it’s the best mobile phone I’ve used. Whether it’s good for you will of course depend on your use cases. If you’re someone who likes to talk to people or use voicemail rather than IM or e-mail, or if you have little patience for customizing software, the iPhone is probably a better bet. It certainly look prettier. But if you prefer text to voice and prefer functionality to prettiness, the Curve beats the iPhone hands down. This may change once they stop crippling the iPhone and open it up to third party applications; we’ll see. For now, I’d pick the Curve again, even if the iPhone wasn’t tied to AT&T.

Update: Oh yeah, the Curve is also a quad band phone. That’s de rigeur, so I didn’t even think it was worth mentioning.

Dec 07

I’ve been testing to see which feed readers support authentication sufficiently to enable you to log in to LJ somehow and hence see LiveJournal protected posts in your web feed reader.

Do work, by prior login: Sage. Akregator. Opera*. Safari*.

Do work, by modifying URL: Mozilla Thunderbird.

Do not work: Google Reader. Bloglines.

Other people report that they work: FeedDemon. NetNewsWire.

*Not tested, but I’m pretty sure they do because the feed reader code is part of the web browser.

In all cases, the basic feed URL is http://users.livejournal.com/sucker/data/atom where sucker is the LJ user ID.

To modify the URL for applications like Thunderbird, place ?auth=digest at the end of the URL; for example http://users.livejournal.com/sucker/data/atom?auth=digest The feed reader software should then ask you for a login name and password of your LJ account, in order to access the feed.

For feed readers that work with prior login, you go to www.livejournal.com in the appropriate browser and log in. The feed reader then picks up protected entries next time it refreshes.

Trying out feed readers

There are tools to export your LJ friends list to OPML. You can then import the OPML into a feed reader, and try out the equivalent of your friends page to see how it looks.

Other solutions

If you’re technically inclined, you can use the LiveJournal authentication proxy. Or if you trust some random guy with your LJ password, because after all you’re only using it to gain access to read stuff, then you can use the hosted version he provides.

This is the approach I’m going to take, as I’m too addicted to reading web feeds on my BlackBerry. So if you’re in the habit of posting friends-locked stuff on LiveJournal, and plan to continue to use LiveJournal, please add _lj_sucks_ as a friend.

Jun 11

I’m an iPhone skeptic. While I appreciate good UI design considerably more than the average person, a good UI alone is not enough to make me accept a crippled and overpriced product.

At WWDC today, Steve Jobs has announced that the third party SDK for the iPhone is…make all your applications web applications, and access them from the Safari browser. Which means the user has to pay network bandwidth charges to run the application, and can’t make or receive any calls while it’s running. And of course, no service means your applications all stop working.

So basically, the iPhone is a closed platform, a very pretty but underpowered cellphone. It’s not a smartphone. It lacks even the capabilities of many low-end handsets offered by GSM networks, but it’s going to be sold at a premium price.

Let’s see how it compares with my current 2-year-old phone, for example:

Feature iPhone My phone
Address book Yes Yes
Calendar Yes Yes
Sync with Mac Yes Yes
Camera Yes Yes
Web browser Yes Yes
Google maps Yes Yes
E-mail Yes Yes
Weather Yes Yes
Photos of incoming callers Yes Yes
Instant messaging Yes Yes
Play MP3, AAC audio Yes Yes
Play MP4 movie Yes Yes
Familiar telephone keypad No Yes
3rd party applications No Yes
Java No Yes
Fits in jeans pocket No Yes
Price $599 $99

To me, that’s a hell of a tough sell.

You may point out that my tiny phone’s screen isn’t great for browsing the web, but that’s just tradeoff I made because I like a phone that’s truly pocketable. If you prefer a big screen, you can get a Blackberry or Treo for $150 or less. Right now, Cingular has refurb 8525 devices for $99.

I prefer the hybrid solution: pair a small phone with my Nokia N800, and browse the web at triple the resolution of the iPhone. You can get an N800 plus a small Bluetooth phone and you’ve still saved $200 over buying an iPhone.

In addition, most of today’s phones take SD cards for memory expansion. I can dump movies onto a 4GB SD card and stick it in the Nokia. If I need more space, I’ve got a couple of extra 1GB cards floating around. What happens when you use up all the memory in your iPhone? You’re stuck, there’s no expansion option.

If the iPhone was $99, or even $199 at the most, I might be interested. At $599, it ought to sell like the similarly-priced PlayStation 3. It’s the most overpriced Apple product since the Mac Cube. (Which I loved the design of, but didn’t buy because it was overpriced.) It’s the most overhyped since the first Newton.

Oh, I’m sure Apple will sell some. I mean, the Motorola RAZR sucked, but plenty of people had to have it because it looked so cool. But then, the RAZR wasn’t $600…

Jun 09

Friday was definitely the worst Friday ever.

I wandered in to the office with my coffee, and discovered that my main work laptop—an IBM ThinkPad, obviously—had mysteriously powered itself off overnight, instead of merely going to sleep. I booted it, only to get the dreaded Fan error message.

(If you’re falling asleep already, skip down to the moral of the story.)

A fan error is pretty much the kiss of death for a recent laptop. The quest for ever faster and slimmer portable computers means that today’s portables are designed with fans that suck cooling air through their innards. No fan means the machine overheats as soon as you do anything that strains it a bit; and that could be something as trivial as leaving a web browser running on a Flash-heavy web site, especially if you have Eclipse running in the background.

Still, I have a backup laptop, for exactly this eventuality. I keep it mostly synched up with the main one. I started transferring my recent data across. Before long I was logged in to work via the VPN.

I’d just gotten my first batch of e-mail when I discovered that a clever user had found a way to bypass ACL security and replicate an old, shut down database with a new, in production database. This had wiped a chunk of important configuration data.

I found the backup I could get at most quickly, and did a temporary restore. Then I asked a colleague to pull a more recent backup onto a spare partition of the System i server (aka AS/400), which I then used to do a proper restoration.

I had just about finished documenting what had happened and putting new precautions in place to stop it happening again, when my laptop locked up solid. I suspected the ATI video drivers, so I switched back to the open source ones (which are less buggy) and continued.

Overnight, it locked up again. This was very suspicious. To have Linux lock up once, well, that’s not unheard of when proprietary drivers are involved. But to have it lock up twice, the second time with no closed source software running in the kernel—that smelled fishy.

I ran a Memtest86 diagnostic, and sure enough: bad RAM in my backup laptop. Oh joy. I flipped the machine over and swapped the RAM with the DIMM from the machine with a dead fan. The errors continued. So, it looked like an error in the internal RAM. I took the DIMM out of the RAM slot and ran Memtest86 again. Hypothesis confirmed.

I consulted the handy Hardware Maintenance Manual. It turns out the internal RAM can be replaced too, but you have to remove the keyboard to do it. So, I did that and swapped the internal DIMM. This time Memtest86 still looked good after a couple of minutes, so I powered off, put the second stick of RAM back in, screwed everything back together, and now I have it running an exhaustive test.

Monday, I’ll get the dead laptop and bad RAM shipped to the service department.

The moral of the story: Always buy the extended warranty on a laptop. Even the best ones are significantly less reliable than desktop systems; they are more prone to overheating, and their tiny fans tend to get clogged easily or simply burn out. When something does go wrong, laptop parts are significantly more expensive than desktop parts. Repairs frequently involve motherboard or display module replacement, and can easily cost as much as the machine is worth.

Feb 09

I find to my surprise that I’ve not posted here before about EBD. So, here goes…

Over the years I’ve noticed that people who are exposed to Emacs for an extended period of time become unable to use other software. I don’t just mean that they refuse to use other text editors; I mean that they cannot tolerate any non-Emacs interface for any task.

They read news in Emacs. They read their e-mail in Emacs. They can’t use a simple pager to page through their manual pages; they use Emacs, and insist on rewriting man pages as info documents. They use Emacs to assemble and play MP3 playlists. They can’t even use a web browser; they read the web using Emacs w3-mode.

Try to get them to use another piece of software, any piece of software, and you’ll be treated to a lecture on how it isn’t like Emacs, and Emacs is much better.

I call this curious affliction Emacs Brain Damage. It’s a stiffening of the brain cells, an inflexibility of thought caused by excessive Emacs use.

Users of other text editors don’t seem to have the same problem. You don’t see vi users complaining that they can’t possibly read e-mail using mutt or pine. You don’t get BBEdit users refusing to touch iTunes. Eclipse developers don’t use it to read Slashdot.

EBD sufferers will often try to explain away their condition by claiming that the Emacs interface is simply the optimum way to interact with a computer, for all possible tasks. It’s not that they can’t use other software because they are inflexible; it’s because Emacs is simply a better interface than all other software.

I emphatically reject this rationalization for a very simple reason: when I first started using Unix, I used Emacs. I only switched to vi years later.

It’s also worth noting that the RSI sufferers I’ve encountered have almost all been heavy Emacs users. Famous Emacs hackers like jwz and RMS have suffered from RSI. Some Emacs users have written extensive notes on the technology they’ve had to use to enable them to continue to use Emacs. I think that demolishes the “Emacs is simply superior” argument quite nicely.

Dec 17

There’s an article by Donald Norman that has been stirring up controversy online. Whereas last time I thought he was wrong, this time I think he’s right—mostly.

In general, he’s correct that people don’t buy the simple, well-designed stuff. Instead, they buy the stuff that looks like it has the most features; and they tell what that is by looking at how many settings and controls it has.

Not always, though. The best exception that proves the rule is the now almost ubiquitous iPod.

Continue reading »

Sep 27

There has been a lot of GPLv3 discussion on tech sites. Perhaps predictably, a lot of it has missed the point or miscategorized the changes.

If you read the history of the Free Software Foundation and the GNU Public License, you discover that it all came about because Richard Stallman found himself having to use broken software that he wasn’t allowed to fix. The entire purpose of the GPL is to ensure that everyone who uses a piece of GPL-licensed software can change that software, use the changed version, and distribute it to other people.

The GPLv3 changes are not some radical new direction, there’s no bait-and-switch going on. The problem is simply that a number of organizations have found ways to use GPL-licensed software, but still break the spirit of the license by preventing users from being able to change the software, use the changed version, and distribute it.

Continue reading »