Thursday, May 19, 2011

The flexibility of Linux

I'll admit, I'm somewhat interested in Google's Chromebook concept. The Chromebook is Google's spin on the "netbook". Announced in May last year, Chromebook goes on sale in mid-June.

The Chromebook runs Google's Chrome OS, which is based on Gentoo Linux. While Linux has appeared on netbooks in the past (and were the only option on the very first netbooks) this is another example of the flexibility of Linux. You can use Linux as a base for almost any computing platform - it's small, fast, and supports a variety of hardware.

When I first heard about the Chromebook, I started thinking about how you might go about "building" a Chromebook-like netbook. Now that Chromebooks are about to go on sale, I thought I'd revisit this idea here.

First, let's understand the concept of the Chromebook, what makes it different from other netbooks.

The idea is that you have a netbook where all your data is stored in "the Cloud" (Google Docs, etc.) so that nothing of value is really on the netbook. There's no "desktop" concept, you can't really save anything to your Chromebook. You do everything (including documents, email, games) via a web browser. This potentially makes for a very secure computing environment.

Starting from that, the Chromebook is essentially a mobile web computer, under the assumption the Internet is "always on" (or at least, "mostly on" - leveraging Google Chrome's support of HTML5 offline mode to continue working.)

Google Chrome is already available for Linux. And that's all we need to start "building" a Chromebook-like netbook:

Start with a "bare" version of the "X" Window System. Imagine a "window manager" that doesn't really manage any windows. If the Chromebook doesn't support a "desktop", then your "window manager" doesn't need to do much. In the simplest case, you need an "action bar" that lets you connect to open wi-fi networks, displays battery, and lets you logout.

The Samsung Chromebook sports a 1280x800 display. Here's a mock-up in those dimensions. I'll fill in the pink area next.

In this mock-up, maybe clicking on the user's name will bring up a simple dialog with "logout". The icons on the right could be clickable too, to join a network or to put the netbook to sleep. There's no option to bring up local applications - because you do everything in "the Cloud".

The "window manager" only has to keep track of one window: Google Chrome. The "window manager" doesn't need to support features such as virtual desktops, because Chrome supports tabbed browsing on its own.

You won't have the option of a file manager or a terminal program ("shell" window) in such an environment, but neither does Chrome OS. This is really intended to get you online, for you to do your work there.

How fast could such a system boot up? I installed a minimal Fedora Linux on an old laptop to test. This machine only takes 9 seconds to boot into text mode on a 2GHz single-core CPU with 1GB memory, no services running. Assuming a graphical environment like I've described above, this system might take a total of 11 seconds to boot up into a "login" screen.

Once you've logged in, probably another 2 seconds to bring up the "window manager" and start Chrome.

That's not very different from what Google is claiming for the Chromebook: about 8 seconds to boot. I'd guess that's the time it takes to get their "login" window, which is pretty bare:

So there you have it - all it takes is a "window manager". I used to have the programming madskillz to write such a thing, but my C is a bit rusty these days. I haven't looked around, but I'd bet someone has written a minimal "window manager" like the above. Maybe someone can point me to a link in the comments.

Tuesday, May 10, 2011

Linux to the rescue

Yesterday, I wrote that Windows killed my laptop. A few updates, and my laptop wouldn't boot anymore - not to Windows, not to Linux, nothing.

Fortunately, I have a USB flash drive with Fedora 15 beta, so I was able to boot from that and get back to work.

A few of you suggested that one of the Windows updates had messed up the boot sector. I thought that sounded a likely culprit. A little googling, and I quickly found several suggestions to restore the Linux "GRUB" boot selector.

So, now my laptop boots again! That's Linux to the rescue.

Monday, May 9, 2011

Windows killed my laptop

Our office isn't on Active Directory yet, so when I changed my network passwords this morning, I had to go through the ritual of booting back into Windows to change my password there too. As I watched Windows "preparing to install updates", I was reminded that yeah, I had let Windows install some updates last week after I attended a webinar (I attend a virtual meeting about once a month, and the other end requires Silverlight.)

It took only a few minutes, but I watched as Windows installed all its updates, then shut down. That was odd, I thought. But maybe it required a reboot for the updates to take effect.

I rebooted back into Windows - or tried to. After the BIOS screen, nothing happened. My laptop just sat there, blinking that underline cursor, doing nothing.

I tried rebooting. It did the same thing, just blinked that cursor at me. I let it sit that way for more than 5 minutes. Nothing.

A few more reboots, and I managed to convince myself that my laptop just won't boot anymore. My laptop will successfully make it past the BIOS screen, then blink the underscore at me. I can't even get to the Grub boot selector, to boot into Linux. Windows killed my laptop.

Gee, thanks, Windows.

I'm not sure what happened. I watched Windows install the updates, and everything seemed okay. I didn't see any error messages. And Windows shut down just fine, and rebooted the laptop, so it's not like the updates or the shutdown/reboot process was interrupted.

Fortunately, I have a USB flash drive with Fedora 15 beta, so I'm running that at the moment. That's Linux to the rescue.

Thanks, Linux!

Thursday, May 5, 2011

Scanner support

At work, we're planning to re-organize our storage area, and "clean house" on some dead/old items. So today, I was looking through what's in storage, and happened across a neat find: a scanner.

It's a UMAX Astra 2100U, so a USB scanner. From what I could find, this dates back to 2001. While this is a 10-year old device, if a 600x1200 dpi scan is what you need, it would be nice to have a working driver.

But according to UMAX, the 2100U scanner is supported only under Windows 98/98SE/ME/2000/XP and Mac OS 8.0 to 9.1. Confirming this, the UMAX support download page doesn't have drivers available for Windows Vista or Windows 7. Mac users are also out of luck, as MacOSX drivers aren't available, either.

But Windows and Mac support may not be all that great, anyway, even on the versions officially supported by UMAX. This review from 2001 warns about driver compatibility:
This tempting scanner can give great scans, unfortunately the software required to run it crashes both Macs on which I tried it, and it rewrote system files on the Win2000 PC I on which I tried (unsuccessfully) installing it.

It is incompatible with a Mac running iTunes 1.1 software. UMAX says they are working on this as of March 2001. Good luck!

It also made a 350MHz iMac completely unstable and unbootable. It took over an hour for of one of the most kind-hearted Mac specialists in San Diego to get it running again.

Another reader in Chicago wrote ME trying to get my help in getting her system to run. UMAX couldn't get it to go. That's too bad, because I gave up myself. Hopefully UMAX will take back her scanner.
Maybe that's why this scanner was in our storage area, with a note taped to it reading "No longer works - cannot find working driver."

Out of pure curiosity, I plugged the scanner into my Linux laptop. A few clicks in "System - Administration - Add/Remove Software" and I had installed Sane and the plugins for Gimp. So about 2 or 3 minutes.

Sure enough, the scanner works! I scanned a few test images, whatever I had around the office, and loaded them directly into Gimp. Works great! Another example where Linux support is ahead of the competition.

Monday, May 2, 2011

Still Linux in Exile

I really appreciated hearing the positive comments to my question, if Linux in Exile is still needed. Sounds like my blog fills a need, tells the "other side of the story" about how Linux users view the Windows world (rather than the other way around.)

So, I've decided to keep blogging. Someone needs to keep pointing out that Windows operates in a kind of weird way, and demonstrating (sometimes by counterpoint) that the Linux desktop is a mature, stable platform. Linux is no longer the bare-bones desktop platform of the mid-90s.

I'll keep the Linux in Exile name, even though I'm no longer (technically) "in exile". The name is catchy, and I like it.