Navigation:

Put Navigation Here

From Windows to Linux

I buy computers like I buy cars – I bite the bullet and buy everything I want and then I drive it for 10 years or into the ground – whichever comes first. Unfortunately, after seven years of Microsoft Update “patches” my circa-2002 Dell Inspiron 8200 Pentium 4 notebook is too horrifically slow to to tolerate.

Unfortunately, because after watching the slo-mo train wreck following the release of Vista, I’m (Almost) Done With Windows, it’s time to upgrade – but not to a vanilla Windows machine.

So I bought a new HP Pavilion dv8 Notebook – Quad-Core i7 @1.6GHz, – 8GB RAM – and, for the moment, Windows 7 Pro.

However, as my family is all back east and I am laid up after knee surgery, my goal (by Jan 1st) is to be set up as follows:

  1. Hardware, as above, running a stripped down 64-bit Ububtu 9.10 Desktop and VMware Workstation 7.

  2. A virtual machine running 64-bit Ububtu 9.10 Desktop and as many of my applications as I can find Linux replacements for.

  3. A virtual machine running Windows for legacy applications and apps that I just can’t find Linux replacements for.

    This capability can take one of three forms:

    • A fresh 64-bit Windows 7 install with my applications reloaded as needed and my data ported.

      The downside here is that the transition from 32-bit to 64-bit may be turbulent.

    • A clone of my 32-bit Windows XP system converted to a virtual machine.

      The downside here is that it will run even slower using a single core with a slower clock rate. Of course, the good news is that this will remove all temptation to keep doing stuff on Windows.

    • Or, one of each.

      The downside here is that I might spend time tinkering with Windows that is better spent re-learning Unix.

Playing around with my new machine – and getting a blue screen of death within 4 hours – has fueled my determination to get beyond Windows.

Let the adventure begin …

Why I’m (Almost) Done With Windows

For some reason, I decided in the mid-80s that I should expand my technical chops to include Windows because that platform is used by the the vast majority of the installed base. While that may have been a wise choice professionally, it was frustrating to move from HP-UX (which would run for years without rebooting) to Windows (which would crash, freeze, blue-screen, etc. on a regular basis and which would require re-installation from scratch on an annual basis to maintain performance).

Let me give credit where credit is due. First, Microsoft does an amazing job producing software that runs on thousands of weird hardware configurations produced by PC clone manufacturers world-wide. Unlike the Mac with its rigidly controlled specifications, in the PC world, thousands of variations on the theme are produced every year and Windows runs (albeit imperfectly) on most of them. Where the Mac has one program, PCs have dozens. Where the Mac as three peripherals, PCs have hundreds. The Windows ecosystem is a wilder and less civilised place than Mac-land. This drives costs down and options up.

There are, however, a number of things that I can’t stand about Windows including:

  1. I click on something – anything – and Windows becomes unresponsive. Click, click, and click again, and eventually I see in Process Explorer that 80%, 90%, or more of the CPU is busy running “System Idle Processes” whatever the hell that is.

  2. After a fresh install, Windows XP is (or was) snappy. A year latter, it’s sluggish and slow. It’s not like I install an uninstall software applications for grins and giggles. Mostly, I read mail, write documents, etc. – i.e. I work on content.

    Oh, I do run Microsoft Update on a regular basis. Should just patching software result in a sluggish mess? I think not.

  3. Intel Giveth and Microsoft Taketh Away

    The first Windows PC was – if I recall correctly – 12MHz with 512Mb. I pointed, I clicked, I waited. Typed keystrokes often ran ahead of displayed characters. My old laptop is 1.8GHz with 2GB. I point, I click, I wait. Yes, the graphics are better but in terms of me getting my work done as fast as I can do it – I’m still twiddling my thumbs and waiting for my PC.

    As fast as the hardware manufacturers can improve performance, Microsoft adds eye-candy and bloat-ware to return performance to the expected norm. It’s a vicious circle – hardware drives software which drives hardware – everybody wins except the end user who – like me – chooses not to by a new PC every year or two.

    One of the smarter guys I worked with at HP once told me that “… the customer doesn’t pay us the the CPU cycles we burn or the memory we fill. They pay us for the resources that we leave behind for their stuff.”

    Pity that Microsoft never got the word.

  4. An operating system should …

    • … be stable.

      On HP-UX machines, we would often not have to reboot them for years at a time – never mind having to rebuild from scratch periodically just to keep the performance up.

    • … be fast.

      Certain processes, such as booting, populating the Choose File dialog box, and moving or deleting files just seem to take forever on Windows machines. On Unix, file operations are zippy – not so on Windows. And don’t even get me started on drive letters and the lack of real symbolic links and mount points.

    • … protect other processes and the system itself from malicious processes.

      Where Unix comes from an (untrusted) multi-user, server tradition. Windows comes from a single-user, desktop tradition and despite advancements from the NT days onward, it still shows. One process uses too many resources or otherwise goes sideways, and the whole system bogs down forcing a reboot.

      It probable doesn’t help that my Desktop looks like my desk top. Yeah, I like to leave stuff open as long as I think I might need to remember it. I’m hard on a system, but I don’t see why PC’s that are a hundred to a thousand times better than the X-Windows workstations that I used a decade or more ago can’t keep up with my untidy ways.

    Microsoft has had my entire adult life to develop an operating system that fulfills these basic responsibilities. XP came closest, but still fell short. After Vista, I have faith that Windows 7 will continue to disappoint.

  5. Vista! – Wow! – ‘nuf said.

    Actually, in all fairness, I’ve never used Vista. I just watched the whole slow-motion train-wreck – including the “upgrade Vista to the classic (XP) experience” – unfold from the sidelines.

Through my volunteer work at the Space Elevator Games I have had the opportunity to test-drive a Windows 7 laptop and it doesn’t suck too bad. Never-the-less, after watching Vista unfold, I made myself a promise – that XP was the last Windows I would ever use.

Unfortunately, you can’t really get a new PC with Windows XP anymore. More on this later.

Google Wave – First Impressions

So, I’ve had the opportunity to use Google Wave for several weeks now. Here are my first impressions.

  1. It’s a wicked cool way to collaborate – more fun than email, IM, or chat. I’m even more convinced than ever that this will be the way we communicate 5 or 10 years down the road.

  2. It does have some performance and stability issues however. This is to be expected since Wave is definitely in a pre-alpha, developer preview state. Even a friend of mine at Google is still on the waiting list to get access.

  3. If you don’t know other users to start conversations with and you aren’t a participant in any existing conversations then you are left talking to yourself which is boring no matter what tool you use.

    At the start, attendees of Google I/O were BCCed on several announcement waves so we could read, but not write and could not see the other attendees. We could, however, see the wave IDs of the Google Wave team members who wrote these waves. So I quickly added them to my contact list and started a new wave to point out that just having an account on Wave isn’t enough. A few days later, someone started a new wave with an “invite-bot” as one of the participants. This wave we could edit, adding our wave IDs to an opt-in or opt-out list. I’m not sure how this works on the back-end, but soon my inbox started filling with waves that I could fully participate in. That’s the good news.

  4. The bad news is that a number of waves started showing up in foreign languages that I can’t read – mostly ideographic, east Asian languages like Japanese, Chinese, and Korean. I’m happy to see people from other parts of the world interacting on wave. I believe that down the road, with good translation-bots in the mix, Wave has the potential to bring the whole world closer together and bridge cultural gaps. But for now, I don’t want to see “Michael Jackson <unreadable> king of pop <unreadable> bless <unreadable>” Unfortunately, I haven’t found a good way to eliminate these waves so that they stay eliminated. I’ve tried muting them, I’ve tried moving them to an “Ignore These” folder, but they keep coming back. It’s like playing “Whack-a-Mole.” So, I’m glad that invite-bot exists, but “be careful what you ask for” definitely applies.

  5. Even worse, too many in the developer community are posting their lame-ass, first-draft widgets and robots in public for the world to see. We each got two wave accounts – our ID and our ID-test – which should be enough to allow people get their stuff debugged BEFORE inflicting it on everybody else but I suppose that good development discipline is too much to ask for in such a diverse community.

  6. I suspect that waves in fonts that are not universally deployed and badly behaving robotic participants may be behind much of the slow speed and frequent crashes that I am seeing.

  7. Google Wave needs a much better way of finding, entering, and leaving conversations before it is ready to release to the world.

But, despite its current rough edges, Google Wave is a wicked cool way to collaborate – more fun than the law allows. I can hardly wait for it to be complete, stable, fast, and universally available.

Realistic Expectations for New Subscribers

Okay, it seems like I have a few even though I’ve made no effort to promote this blog at all.

First, please recognize that this blog is, at best, somewhere in my top ten things to do on my computer – closer to the bottom than the top.

My first priority is to develop my skills in a couple of new technologies – Ruby on Rails, Google Web Toolkit, and Google Wave.

My second priority is to deploy several web applications as a professional portfolio to demonstrate these skills and fill the gap since I last hacked code for a living.

My third priority is to find employment in one of the above areas.

Then, I have some creative writing and some related work trying to sell my novel.

Far down the list, is blogging – unless and until I have something burning to say.

BTW, one reply asked me if I intended to blog about “… new details about Michael Jackson’s Death emerge.”

No.

My interests are computer science, geo-politics, aeronautics and aerospace (esp. the space elevator), scuba diving, and creative writing

<rant> I have less than zero interest in the superficial trappings of our celebrity driven culture except to say that while we are mesmerized by these trivialities, a billion lean and hungry Chinese and Indian students – much more interested in accomplishment and prosperity – are working hard to take America’s place at the top of the food chain.</rant>

’nuff said.

Wave of the Future

Just back from Google I/O and soon off to bed to take a nap. Up at 5 AM two days in a row is tough on a guy who’s natural sleep cycle is down at 2 AM.

But, I must comment on Google Wave.

I have felt the ground shift under my feet this much only three times in my life.

The first was October 17, 1989 during the Loma Prieta earthquake – 7.1 on the Richter scale.

The second was November 9, 1989 when the Berlin Wall came down. Never expected to see that in my life.

And the third was sometime in the spring of 1993 when I walked into a conference room at HP to look at something they were calling a “web browser.” After clicking on a couple of links, I knew that this would change everything.

I felt that again this morning.

Imagine an application that combines all of the best features of email* (* meaning all programs that serve this function) with IM* with Evite* with Wikies* with Microsoft Word* with Wordpress* with Google Groups* with polling and serveys* with form based data entry* with Flikr* with Facebook* with Twitter* with bug reporting* with tagging* with …

Now imagine that rather than competing with each of these apps for your mind-share and precious attention span, it embraced these applications and interacted with them seamlessly through “robots” on the server. This means that you can create and share a conversation across a broad community of people using Facebook and MySpace and Twitter and email and any other application for which a proxy robot has been developed and they can all participate fully even though the characteristics of their application’s interactivity model as well as the speed and reliability of their network connections differ wildly. Google Wave is agnostic about these things and everything gets synched up as needed when participants enter or exit the conversation.

Now, imagine that it combined all of these things into a real-time collaborative conversation down to the level of multiple people making simultaneous character-by-character edits to the same line at the same time. Not only that, but you can embed this conversation in your own web-site or blog.

Now, imagine that it did all of these things within a single user interface using drag-and-drop of rich-text and media content rather than wiki-codes, _TML markup, insert hyperlink, or other application/domain specific tricks.

If you’re still standing, imagine that it also used a spell checker not based on dictionaries, but on language knowledge derived from the analysis of the entire indexable web – oh, and not just English but any of 40 languages with on-the-fly translations between any two languages. We are talking, for example, about people from the United States, Great Britain, Russia, China, Saudi Arabia, etc., none of whom speak each other’s language or dialect, all collaborating on a “conversation” available in each of their languages – or any one of dozens more.

Now, imagine that you can join this conversation in the middle but see it from the start and use video playback like controls to rewind, play back, and watch it evolve over time.

Now, imagine that all of this runs in-the-cloud (or some federated version thereof for security and/or competitive reasons) as most of Google Wave will be open source and the protocols will be open.

Finally, imagine that this app runs in any “modern” (AKA HTML 5) web browser with the same level of responsiveness that you might expect from a native app. This means not only Google Chrome but Firefox, IE8, Safari, Opera, and others. Oh, and by the way, the user interface runs in the browser but all the heavy lifting is done on servers in the cloud so it’s light-weight enough to run on your cell phone.

Oh – My – God!

This really changes everything.

Welcome to my new updated website.

This is a work in progress, but I’m hoping that now that I have the artwork figured out, I can port my content from my old site and new material in alignment with my current professional interests. This material will be organized under “Navigation:” to your left.

As I work, I will comment of the methods and tools I use here.