RSS RSS feed | Atom Atom feed

StumbleUpon
Security Theatre, Part n

Full of sound and fury, signifying nothing

According to a BBC report on the latest security theatre, airline customers are now to be subject to the following indignities for in-flight entertainment:
  • Customers to remain seated during final hour of flight;
  • No access to hand luggage and a ban on leaving possessions or blankets on laps during this hour.
Now I don't know about you, but I don't find this very comforting. The thought of being forced to sit still is inculcated in obedient citizens from kindergarten (a German word meaning roughly "vegetable garden to grow kids"). But at a certain point things like bladder pressure will win out. And what happens if you're in mid-whiz at the one-hour mark? Do you get shot by the air marshall while trying to return to your seat? (Watch the news for this one, folks). The entire process is utterly ridiculous. If the bomber had tried to light his fuse at the 45 minute mark into the flight, who can doubt that they'd ban visiting the toilet between 37 and 52 minutes after takeoff?

Remember the shoe bomber and how airport security made everybody take their shoes off before flight? Didn't stop the next religious fanatic with a fuse to light, did it?

The notion of an allegedly civilized nation dancing its "security" policies in the wind every time there's a real or perceived threat, to so vastly inconvenience its population while at the same time making no difference to the actual terrorists, is so laughable it's earned the term "security theater" - putting on a big show, but doing nothing for actual security.

It's not just me saying so. See Bruce Schnier's many writings on this topic, and his essay The Psychology of Security. Bruce is a well-known cryptology and security researcher; he knows whereof he speaks. TSA, not so much.

StumbleUpon
OpenMoko: Beginning to End

A tale of unfulfilled expectations

front view of FreeRunner This article has been withdrawn from the blog; a revised version of it is hopefully going to be published on a commercial web site this month.

StumbleUpon
OpenMoko and Android

Two approaches to an open-source cell phone

A few people have asked me at various times for a comparison of the  OpenMoko and Android cell phone projects. Given that I advocate for the former, and also for Java which is (and is not) the base language of the latter, I am expected to be able to say something intelligible by way of comparison. So here goes.

Android is a project spearheaded by Google to make an open-source phone. It uses Linux and its own Dalvik virtual machine, and applications are written in Java against the Android API and compiled down to Dalvik bytecode. Android does not expose the rest of the Linux services and does not support other programming languages. Android phones are available from a few carriers.

Openmoko, funded by Openmoko.com, is at the other end of the spectrum: it also uses Linux, but exposes all of it to the developer. The "main" stack of phone apps has been re-written several times, using various X-based toolkits. The "official" OM2009 stack is in large part written in Python. C/C++, Java and Perl are all available. Openmoko phones are available from Openmoko.com. However, because it is all open source:
  • you can run Android on Openmoko hardware;
  • you could (people have) run Openmoko software on other devices, including Palm PDAs, other Linux phones, and software emulators;
  • you can probably run Openmoko software on Android hardware;
  • you can run QTopia on Openmoko hardware;
  • you can run one of half a dozen Linux distributions on your Openmoko hardware;
  • you can (eventually) run other OSes such as OpenBSD on Openmoko hardware;
  • etc.
From one point of view, they are not enemies. Both support the open source model. But as Openmoko developers have pointed out some time back, Android sits on top of Linux, abandoning most of the open source world and reinventing its own universe. Openmoko embraces all existing open source projects and any new open source comers. As a single example, communicating to your Openmoko phone from a desktop/laptop computer consists merly of running the industry-standard ssh and scp programs, included with every *Nix and readily available for those other OSes that need them. Talking to your Android phone requires finding, installing, and figuring out how to use an ad-hoc program called "adb" (at least the third use of this name, after Unix' Algol/Another DeBugger and Apple's Desktop Bus).

From another point of view, of course, they are competing. Competing for market share (neither has made much inroads in the consumer space). Competing for developer mindshare. Android tends to get a lot more press, partly because of the "big G" lineage.

People sometimes ask if I think Openmoko should just fold up and go on to something different, given how far ahead Android has moved? I've never been a fan of quitting while you're behind. Imagine if Linus Torvalds had quit while Unix was ahead; his then-little school project would never have seen the light of day, and we'd all be running BSD and System V. Nothing wrong with those - BSD was already on its way to becoming a full open source *Nix, as represented today by OpenBSD, FreeBSD and NetBSD - but things would be rather different in what is now the Linux community, to say the least. Or if Bill Gates had quit while IBM was ahead. Or if Steve Jobs had quit while MS-Windows was ahead. Or if the U.S. had quit the space race when the Russians launched Sputnik. You get the idea. Don't quit while you're behind, nor when you're ahead. As Nathaniel Branden once put it, "a beating heart is a living heart" - so keep on pumping!

And, at any rate, the "real" release of Openmoko software, OM.2009, is almost upon us; I am running a beta of it on my Freerunner (GTA02), and it's actually usable as a cell phone. Butt-ugly compared to some of the earlier releases, but it "just works". Formal release is expected this summer.

StumbleUpon
Site Modernization

Every web site needs to keep improving, and your obd't servant is no different. I started almost exactly a year ago by replacing the old blog software with Pebble. Then I got busy with real work, and had to put aside site maintenance. Around the beginning of this year I was able to modernize both the home page of darwinsys.com (making it new and graphical) and the layout of the rest of the main site. This week, I re-did the Java Web Frameworks site, which has gone from coyote-ugly to fairly modern looking, after being re-implemented using the Seam framework. So, I am now running Seam ("war deployment" option) on Tomcat in production.

At the same time, I had to upgrade the Tomcat web server from 5.5 to 6.0, which went fairly smoothly, although there may be a few little bits that need a boost.
Tags :

StumbleUpon
Microsoft Bites Me Again

I just created a Java application that is needed on several platforms, one of which, alas, is the ubituitous and ill-designed Microsoft Windows XP.  In the project there are some classes that are auxilliary to the main program. Naturally enough I created a package for these called "aux". In Java a package name is also used as a directory name when the files are stored outside of archives, as they are during development. Hmmm. "aux".  I know that Apple Computer long ago had a UNIX version called A/UX, but I didn't know anybody else had dibs on the name. But it seems Bill Gates was after Apple even back when MS-DOS was being cloned from CP/M-86. For it turns out that "aux" is a reserved filename, not just in MS-DOS, but even today in Windows XP (for all I know and don't care so please don't tell me, Vista too). It's because "aux:" is a device name, and the system is too scatterbrained to tell whether you mean that, or a file, if you just type "aux". The result is that WinZip was unable to restore all the files in this package; so I had to waste about half an hour adapting to this (including copying these files again, changing their package name, changing all the files that refer to them, making sure the changes made it back to my real OS (no extra points if you can guess which one it is) and get committed into my source repo so that I don't have to put up with this "hideous botch" ever again. Until next time we meet some screw loose in the M$ universe, that is.