Wednesday, February 28, 2007

Ubuntu 7.04 Alpha 4/5? Sudden flood of updates, operational oddities

The Ubuntu developers have been busy. First I got a 133 package update yesterday, followed by something I'd not seen before: a second update that told me it was performing a version update. I'm assuming this is for migrating Alpha 4 to Alpha 5.

Some interesting operational features and oddities:
  • I've seen this happen before but I've never commented on it. When an application crashes a Gnome dialog appears asking if I want to send in a crash report. If I say yes it gathers information and sends it to the Ubuntu bug site. If it's a new bug I'm told so, otherwise I'm directed to a page with other bug reports matching my problem. From that point I can either enter a new one, attach to an existing, or just not do anything. Two comments on this feature:
    1. It's better than Windows, and
    2. It's better than any other Linux distribution I've worked with so far because no other distribution I've worked with had this feature.
  • Compiz is definitely not all there yet, but it's improving. I enabled it after the updates, and got the familiar wobbling windows and shadowing effects. I would have left it enabled except that window interiors refuse to display. The window decorations are there, but nothing on the interior. Oddly enough the Desktop Effects applet works regardless, so I was able to turn the feature off when it was in Compiz mode. One other excellent feature: unlike the Suse implementation, I don't have to log out to finish enabling it. It's turned on and off right there on the desktop. This is going to be slick when it's finally finished.
  • Sound has become erratic. Sometimes when I boot up it doesn't work, sometimes it does.
  • Somebody got rid of Control Center! It's gome from the System menu. Fortunately it's still in Ubuntu. I create a new launcher for it on my upper panel. The System menu now has a Preferences menu, and I don't like it nearly as much as Control Center.
  • After downloading four '300' Quicktime videos from RottenTomatoes, I found I can play them back (and when the sound works, I can hear them as well). I've also discovered I have excellent WMV support. With all my favorite codecs covered I have absolutely no reason to run Windows on this platform any more.
Between the new features coming out for Ubuntu 7.04 and NetBeans 5.5 and 6, it's turning into a very interesting new year.

More Ruby and Rails on NetBeans 6

Just a quick update.
  • If you start up WEBrick and then kill the IDE, the WEBrick process still runs. I find this to be true on Linux as well as Windows. Using whatever method you know on the platform you're running, find the Java process which is running the current WEBrick instance and kill it. I'm quite sure it will be handled better in later releases. This is the first release.
  • You can start another WEBrick from the properties menu select Run Project.
  • I don't know if it was there before, but after picking up the latest Ruby updates from the update center I noticed that there is an 'IRB - Interactive Ruby Shell' as the first entry under Windows. Sure enough, I get an irb shell. Cool.

Tuesday, February 27, 2007

Ruby development support advancing in NetBeans 6

As an outsider looking in it's difficult to determine when the time is right to try out new bleeding-edge NetBeans features. One new feature being developed for for NetBeans 6 is Ruby and Rails support. It doesn't come bundled with the latest milestone release (7). Instead you have to download it from the Update Center.

The Update Center modules are in a folder labeled 'Ruby'. With the Ruby modules NetBeans acquires the tools to create Ruby projects as well as create Rails projects that run on top of the Ruby tools. Unlike Eclipse's Ruby support, NetBeans uses JRuby entirely. There might be arguments as to which is better, but having tried both I see no advantage of one over the other. If there is any kind of advantage then it would be with NetBeans, since it can be installed and run without an external Ruby installation. But I can't imagine a Ruby developer not having a Ruby installation. Nor could I imagine a developer choosing JRuby over standard Ruby. JRuby is slower, and compared to the upcoming YARV, much, much slower. See "Ruby Implementations Shootout: Ruby vs Yarv vs JRuby vs Gardens Point Ruby .NET vs Rubinius vs Cardinal" for further details. I'd recommend that if you use NetBeans Ruby to develop and initially test, then deploy to regular Ruby to finish testing.

I also learned why Tor Norbye is called "a programming machine" and "epic". Yes. He is. I could not create a Rails project when I first installed the Ruby modules from the Update Center. So I sent an email to Charles Ditzel with a cry for help. Charles forwarded it to Tor. And Tor then replied back. We passed a number of emails between us, but in less than 12 hours Tor had solved the problem and provided a solution. It turned out that the update center modules were missing two files; activesupport-1.3.1.gemspec and activerecord-1.14.4.gemspec. Tor sent me the files, I dropped them where they were supposed to be, and bingo! Everything worked after that. There's even a bug (with fix) filed against the problem.

Here's a successful creation of a Rails application, and the automatic startup of WEBrick within the IDE running on OpenSuse 10.2.

Followed by the ubiquitous Rails stock web page.

Being an initial release running in a NetBeans milestone (essentially an alpha), there are some rough edges. But that's to be expected. I hope, as a user, I can provide quality feedback to make Ruby support as successful as I believe it can be. Far more valuable than the technology being developed are the people developing the technology. I've 'met' a lot of really great people lately as I've written about my various experiences with Suse, Ubuntu and NetBeans. Tor Norbye and Charles Ditzel are two more super folks. Thanks guys for all your help.

Sunday, February 25, 2007

Why it is.

There's a critique of my recent posts on Ubuntu over on adamw's blog titled "What is it?". He starts off with the following provocative thesis:

Another of those bizarre raves about Ubuntu.

It’s a perfect example of the genre, really. The guy installs the distro, installs some updates, runs Firefox, reboots, and concludes it’s the best thing he’s ever seen.


Let me give a little background about myself before I answer that question as well as other points in the post. I was introduced to Linux by my long-time friend Jim Smith back in the early 90's when the kernel was at version 0.99pl13 (I think). At least the kernel wasn't at the 1.0 release level yet. The distribution was SLS. Since then I've used Yggdrasil, Slackware, Suse, and Redhat/Fedora Core. I sampled a bit with Mandrake, but never stayed with it for long. I even installed Free BSD when some of my more hard-core Unix friends were around to help with the occasional problem. On the commercial side I've used Ultrix (DEC's version of BSD, 1986), SCO (the original Santa Cruz Operations Xenix 286 and 386, 1989), Univel (from the AT&T/Novell joint venture running on a 486, 1994) and Solaris (1996 onward). Lots of Solaris, both on the server as well as the workstation. And it's all been for Real Work. No web surfing, Flash, streaming video, or serious gaming. My last big task was participation in a long development effort of an HLA-based multi-federate distributed simulation running on Solaris servers connected to multiple Java-based clients running on Windows XP.

I know that most, if not all, the distributions can get similar tasks done. In fact, that distributed HLA-based simulation I just mentioned was ported from Solaris 8 to RHEL 4, a task I helped to start up before I left (2004). Some really sharp engineers finished it after I'd left, and it was successful. It was successful not just because the engineers were very sharp, but also because RHEL, and more specifically the 2.6 kernel, had matured to the point that it supplied the same OS features and functionality that Solaris provides and the application used extensively. If we'd tried that effort on an early version of the 2.6 kernel or 2.4, it would have failed.

So. After a long day at the office, it's fun to come home and play on the computer. I don't mean just games. I mean surfing and streaming content as well (at least that's what it means to me). And I'd like to do that in conjunction with "real work". I can certainly do this on a Windows machine. It would be nice to have the same level of capability on a Linux (or even *BSD for that matter) machine. That's why my focus is what it is, and why I'm pleased to see how features I take for granted on Windows are as easy to set up and use on a Linux distribution. But let's continue...
Because, make no mistake about it, there’s absolutely no substance to this review. Every distro uses the same font rendering engine - freetype. Every distro includes Firefox. There’s nothing special about the Ubuntu installer (the One installer is as good or better, if a bit less polished; other distros have similar features). The sound thing is just regular Distribution Hardware Randomness - note how he compares Ubuntu to ‘earlier’ distros, likely any distro of the same kernel vintage would work.
One man's substance is another man's fluff, so I'll concede the point. Remember, however, that this is just a personal blog. If you want real reviews heaven only knows there's plenty of "harder hitting" reviews to choose from. I can't compete with them, and I don't even try. What I do comment on are my personal experiences and what strikes my fancy.

With regards to the font, there is indeed a visual difference. I don't know what it is, but when installed off the ISO and before any tweaks are performed on the fonts, I find Ubuntu 7.04's font selection and rendering to be better than Suse 10.2's. I have sat the monitors of both machines side-by-side to make sure, and Ubuntu's is better. I'm in the process of determining why, and I'll write about it later, but the emphasis is what I've experienced without having to change anything after first installation.

You make an interesting comment about sound. Sound on the Ubuntu machine has never worked with Fedora, all the way up to Fedora Core 6. Sound has always worked with Ubuntu, going back to at least 6.06 LTS (I know, I booted them and tried a few simple experiments to prove the point). The success of sound on this platform has to be tempered by the fact that the motherboard is based on an old nForce2 chipset. This is by no means state of the art now. But then you have to ask "If Ubuntu can support it, why can't Fedora?" Especially if it is just kernel related.
The only conclusion I’ve come to yet is that what people _say_ impresses them about Ubuntu is not what actually impresses them about Ubuntu. What impresses them is something else that they don’t manage to actually write down.
Now that's interesting. Here I am blogging away about what impresses me and I'm accused of now writing it down.

What impresses me about Ubuntu every time I install it in a VM is the fundamental - to use a controversial term - GNOMEness of everything. It’s very definitely the GNOME of distros, where SUSE and Mandriva are the KDE. You don’t get a lot of choices. Everything is very streamlined, very efficient, and very well designed. There are little bits of this experience hiding in this review trying to get out, like the smooth way the Ubuntu update process works (using a very well designed updater and judicious use of the notification system).

And that I agree with. In fact, I've said (and written) that the Gnome implementation of Ubuntu 7.04 is the best (out of an admittedly limited) implementation I've every used. Better than Suse 10.x, better than SLED 10, and better than Fedora Core. Everything Works Smoothly. The Ubuntu 7.04 Gnome implementation does a good job of implementing everything according to the principal of least astonishment (or rule of least surprise).
To me Ubuntu is, and I mean this in the nicest possible way, a triumph of style over substance - it’s not that it doesn’t _have_ substance, but it doesn’t have any _more_ substance than anyone else (it really has less); it just uses style to give the impression that it does. I’m not suggesting this is lame or cheap, I’m suggesting it’s something others could learn from.
There's plenty of substance to Ubuntu, or else I'd not waste my time. But style plays a big part in the selection process. Our society is saturated by style (insanely good to horribly bad) such that when it's missing or poorly implemented it stands out like a sore thumb. Note, for example, the excellent use of style in the Mac interface (all Mac interfaces), and how Microsoft is slowly getting this clue and is attempting to use it in such areas as Vista (to good effect), the design of the XBox 360 interface and even the oft-maligned Zune.
The process of installing Mandriva or SUSE is utterly different. In many ways it’s better; you get more stuff and more choices for what to do with it. But it’s an experience no-one exactly enjoys, it’s more a task you slog through and then arrive at the end thinking ‘well, I’m glad THAT’S over’. Installing Ubuntu, by contrast, feels kind of…cool. Sure, if you want to do something the installer doesn’t want you to do, you’re up a creek without a paddle, but the feeling is important. This applies even to the One installation, which is much more streamlined than DrakX. It’s still slightly inelegant. It still asks you more questions than you quite feel comfortable answering. It still feels, basically, like looking after the neighbour’s kids. Installing Ubuntu feels like the _other_ neighbour’s extremely cool university student offspring taking you to all the best clubs in town. It’s glitzy and shiny and makes you feel a bit like a rock star. I think that’s the feeling all these Ubuntu reviews try (and fail) to pin down.
Ah-men brother about installing Suse and Fedora Core. Suse's installer has gotten better with each release, but it's still time consuming, and if you missed something out of the nearly-infinite selections you can make in detailed mode, then you get a repeat with Yast2. As for feeling like a rock star, that is a bit over the top. I just like the fact that when you install Ubuntu It Just Gets Out Of The Way. It is simple.

As for being up a creek without a paddle, that's where "Add/Remove Applications" and the Synaptic Package Manager come into play. Add/Remove gives you the glitzy catalog-style view of applications, while Synaptic lets you get down into the fine grained nitty-gritty of distribution management.

Ubuntu has a staged approach to installation that I've come to appreciate.
  1. Boot into the live desktop. Let the user check out those features she finds are important to her. This is where you start to build a good positive experience.
  2. Get it installed. Install from the live desktop. You've already got the libraries and X booted for a great graphical installer. Install it with the most-used applications and the tools for further configuration after the installation to hard disk. Get it installed quickly and cleanly and continue to build the user's confidence and positive experience.
  3. After installation, show the user a stylistic catalog of additional applications she can install and use. Want to play back DVDs? Show her how. Want to use the latest version of Java (Java 6)? Show her how. Whatever it is she could do on Windows or Mac OS X, give her the same equivalent experience, and then help her quickly find it and easily install it. Add/Remove does this.
  4. For the sophisticated user who wants fine grained control and understands the system, open it up with Synaptic. Yes, they can royally screw things up that way, but that's what freedom means. Freedom to make a choice, even a bad one. Just remember that with freedom comes the responsibility of accepting the consequences of your actions.
I like Ubuntu's installation approach over Suse's because with Ubuntu you get to work a heck of a lot faster. I have been involved in more than one Suse installation where after spending too much time selecting applications and features to install, Suse's installation just crapped out at the end. I've had my greatest problems in that area with notebooks. With Ubuntu I get a much higher level of confidence it will work when it boots from the live CD, followed by a successfull installation. Then I can go in and finish the installation of specific tools and applications.
I still believe MDV is a far better distro than Ubuntu. (I also think SUSE is.) You can, ultimately, do a lot more stuff a lot better. But it doesn’t make you feel like a rock star. I think we (and our erstwhile colleagues / competitors at Novell) need to work on that a bit.
Ah! Mandriva! The ulterior motive finally surfaces... It's funny you should mention Suse. It's my primary distribution of choice, and my blog is littered with little reports about my experiences with it. I think that Suse 10.2 has the best KDE desktop of the various distributions I've touched to date, and prefer to work with KDE rather than Gnome. And I think that Suse could benefit using Ubuntu's method of boot and installation rather than Suse's classical method.

To me this is not a zero-sum game. I'm not looking for a single winner in this process. More fundamentally I'm looking for healthy alternatives to Microsoft Windows. I mentioned Vista earlier, and as pretty and stylish as it has become, it has picked up habits that really disturb me. I feel that Microsoft Windows has gone from being merely intrusive to being heavily invasive of my use of my computer. The prime driver is DRM. Microsoft put it in to help the poor studios continuously re-sell the same content over and over and over again. Microsoft is in the perfect position to apply the same technology to software updates, including the entire OS. Then I'm really screwed. I wind up with a machine not much different than the XBox 360, in which Microsoft has complete control and I don't. I want to foster a dialog with other Linux users so that all of Linux improves over time. We need Linux (and other free alternatives) now more than ever. It may not turn out this way, but I see a time where our computers are so locked down and controlled that we loose the fundamental freedom to really innovate. I don't want to have to go through an authority just to get into my machine's hardware. And I'm afraid that's where we'll wind up if we're not careful.

Saturday, February 24, 2007

Suse 10.2, part 12: Getting WMV video to work in Firefox, adding VLC

After getting Windows Media Video (WMV) to successfully play within Firefox on Ubuntu 7.04, I attempted to achieve the same functionality within Suse 10.2. I pretty much succeeded.

Installing WMV Playback

When you install Suse and attempt to play WMV from CNN's web site, you get the following dialog.

In order to successfully play back WMV, I installed xine-extra (optional Xine plugins). Everything else had already been installed according to Yast2. What follows is a screen shot of the plugin working.

Faith the two-legged dog.

What's interesting is that there are no controls on the plugin like there are under Ubuntu or Windows. I have no idea why.

Installing VLC

While I was trying to find the right combination of packages that would enable playback, I installed VideoLAN's VLC media player. You can find directions to do this at the VideoLAN site. There is, however, one additional step you need to take for Suse 10.2. You need to add the following repository to your Yast Installation Source:

That will allow VLC dependencies to be properly fulfilled.

Once VLC was installed I plopped my Serenity DVD in and checked out VLC's playback capabilities. What follows are some screen shots. Nothing spectacular. I just put them in there because I liked Firefly and Serenity.

Fruitee-Oatee-Bars make you bust out of your blouse...

Dramatic decision to head to Miranda through Reaver space...

Miranda touchdown...

Final Thoughts

Looks like I might just keep Suse around a little longer. I've still got lots to learn.

Is it time for me to replace Suse with Ubuntu?

I'm thinking really hard about replacing europa's Suse 10.2 installation with Ubuntu, or possibly Kubuntu. I'm not too crazy about Kubuntu because of its insisting that Konq be the default web browser, not Firefox. Trust me, I like Konq for its file browsing, even more so than Nautilus, but Kubuntu's "pure KDE" philosophy bugs me a bit. That's why I've liked Suse to date; it strikes a good balance between KDE and other applications on the desktop.

Once again, though, while making some minor customizations I was reminded why Ubuntu 7.04 is so "likable". I went hunting for applets to add to the upper panel, and discovered that the "Add to Panel" applet has been cleaned up so that finding anything to add to the panel is a whole lot easier than it used to be.

Above is the initial view. Note that custom applications have been moved out of the main window and above it as a pair buttons. The long strip view of older "Add to Panel" implementations is gone. It's organized so much better.

Adding a custom application (in this case, Wireshark), is easy to find and quick to select.

Are You Sure About This?

I've invested too much time, effort, and money over the years with Suse to just casually toss it away. And Suse has been an excellent work platform. Most importantly it has been the best distribution to run on my Gateway notebooks over the past two years. It's not a decision to be made lightly. But I can't help but note how everything seems to work that much better on Ubuntu. And it's just an alpha. It's only two more months until April. I think I can wait until then.

Ubuntu 7.04 Alpha - CNN (WMV) streaming video success

As another example of what I've missed, and how much Ubuntu has progressed, I was able to watch CNN videos for the first time on a Linux distribution. It's a feature I don't even have on any of my Suse installations.

So what? Because if the Linux desktop boosters every want a credible alternative to Windows and Apple's OS X, then it had better learn to do what they do now so effortlessly. And streaming media content is one of the key features that everybody takes for granted and notices not by the inclusion, but by their absence.

I can't tell you exactly how I was able to enable this. I know it wasn't working when I first installed 7.04. But while attempting to make DVDs work, I did install GStreamer extra plugins, VLC media player, and Xine extra plugins. Somewhere within that mix was probably the enabling codec/player that allowed me to stream CNN video.

My next step is to see if I can easily install these packages as RPMs on Suse 10.2 and see if this same feature is enabled.

Final Thoughts

All is not peaches and cream with this. I went to Coming Soon's movie trailer page, and attempted to play back variously encoded content. I know already that Flash video plays great (via Comedy Central). WMV plays great. Real Player media, specifically version 4, did not play directly in the browser. Instead it was kicked out to Totem, where totem informed me it had no codecs to play the clip. Apple Quicktime doesn't play at all. It shows up in the browser as a black, silent square. This is just an alpha distribution. I'll be very interested in how it matures.

Friday, February 23, 2007

Ubuntu 7.04 Alpha 3/4 - Trying out the controls

I finally got some more time this evening to try out various applications with Ubuntu 7.04. But before I get started, I need to clarify a statement I made earlier. Not only are the Ubuntu developers deserving of praise, but so are the Debian developers as well. I meant no disrespect to the Debian developers or their hard work.

Firefox and Flash

One of the first and biggest surprises centers around Firefox and the Flash plugin. I went to Distrowatch to tracking down a few leads, and was presented with Firefox's "You need a plugin" banner and button at the top of the page. What the heck. I pressed the button to see what would happen. What happened next was absolutely profound. It worked. By that I mean the Flash plugin was downloaded and installed by Firefox without me being directed to Adobe's Flash download site. After it was downloaded, it was installed, and the Distrowatch front page refreshed so that the Flash content started to work. I was amazed, and just sat there in wonder. The last time it had worked this smoothly was Windows. It certainly doesn't work this well on Open Suse 10.2. Just to make sure it really worked I went over to Comedy Central and John Stewart. It works flawlessly. Oh, if all the other plugins and codecs would work so effortlessly. Unfortunately, they don't.

Package Management

I had one reader of my first Ubuntu entry write about Automatix2. That's a nice suggestion, but it doesn't work with Ubuntu 7.04. The most current version it works with is 6.10. I refused to be fooled (in case they were wrong) so I downloaded the DEB file and installed it. Sure enough, when I tried to run it the first time a dialog popped up and informed me it would not work on version 7.04. When that happened I turned to Synaptic Package Manager on the Control Center, found where I'd installed the package, and had Synaptic remove it completely. And you know what? It did.

While I was in Synaptic I installed the ATI drivers for in a attempt to use the ATI 9600's hardware acceleration. The drivers didn't work, and they even caused the desktop to lock up when I tried to run some OpenGL applications. So I turned to Synaptic again, removed them completely, and found I had corrected the lockup problem.

I can live with issues of things not working in an alpha release. This is, after all, an alpha release. Did I mention this is an alpha release? What leaves me spinning faster than a turbine is the inability to easily and cleanly correct a screwup such as this. This version of Ubuntu (and I suspect, quite a few earlier versions as well) allows for this ability to correct installation mistakes. Every Linux distribution, especially final releases, and most particularly enterprise releases, need to have this ability, and it needs to be the same (or damn near close to it) so that skills learned on one distribution are transferable to another if needed.

What's with this "Alpha 3/4"?

Turns out that Alpha 4 was released last Friday, and I didn't know that little fact when I downloaded and installed Alpha 3. So I thought I was going to have to download Alpha 4 and do another re-installation. But after looking at the release notes and checking the release versions of a few sample applications, it looks like that massive 412 package upgrade right after I installed Alpha 3 migrated me automatically from Alpha 3 to Alpha 4. Will wonders never cease?

Looking for OpenOffice 2.1

I was mistaken about needing to install OO 2.1. When you look at the splash screen or about dialog, it says OpenOffice 2.0. But if you look at the fine print on the about dialog, it actually says 2.1. Looks like I had it all along.

Huston, I have a problem

I was cruising along so smoothly for so long that I went on ahead and tempted fate by trying to play my Serenity DVD. That's when fate bit back. Sure enough, as soon as I stuck the DVD in the drive, Totem popped up and immediately said it had a problem. OK. Let's see if I can find the right support with the tools supplied with Ubuntu. That's when I turned to Applications | Add/Remove...

Add/Remove Applications is probably one of the best package management tools I've used under Linux. The other is Yast. There was one instance where I couldn't use this tool and it told me so, recommending I use Synaptic instead. And here's where I have a problem. If Add/Remove "knows" I need to use Synaptic, then it should offer to launch it for me rather than just suggest I use it and then force me to hunt it down and launch it from Control Center.

In any event, I used Add/Remove to install Movie Player Totem, VLC, and Xine extra plugins. None of those choices helped provide libdvdcss, the decoder required to view DVD movies. I had to eventually hunt down a solution via Google, and then drop into a shell and work some command line magic with wget and apt before I could find the right version of libdvdcss and play back movies on Totem and VLC.

The final trick to this was to execute the following:

wget -c
sudo dpkg -i libdvdcss2_1.2.9-2medibuntu2_i386.deb

When I did that everything started to work.

Final Thoughts

While I was busy installing packages from Add/Remove and Synaptic, I installed Java 6. It replaced the version I downloaded and installed by hand, and it worked flawlessly. I have NetBeans 6 Milestone 7 working on this machine because of it. Again, it took little effort and no surprised to just get it to work.

I've made more progress getting this machine set up in two days than I did in a week with Suse, and I thought I knew Suse pretty well. While I'm not going to say that Ubuntu 7.04 is better than Suse 10.2, it's certainly as good as. Except in one key area. Logistically, support-wise, Ubuntu is far better than any distribution, including Suse 10.2 and Yast. The tools just seem a lot more approachable, and the system seems more rugged and more forgiving of screwups.

The two failures I've had (easily installing DVD playback and video acceleration) are no different than what I've experienced with other distributions. I'll revisit the video acceleration later when 7.04 hits beta.

Easy DVD playback. What can I say? That we've had the ability essentially since 2002 and the work of DVD-Jon? That after five long years you'd think it would be made better available? Everything else works out of the box with Ubuntu. Why not this feature as well? Yes, I got it to work, but not easily. It's time to make this a part of Ubuntu and move on.

I'm still quite happy with Ubuntu. Happier, even.

SLED 10 Gnome miraculously heals itself after another update, and then gets NetBeaned

In early January I reported how an update, applied to my SLED (Suse Linux Enterprise Desktop) 10 system before the Christmas break, led to the failure of the system's graphic (X11) desktop, and the failure of Gnome's window manager. Well, the same thing happened again this week; I got a whole slew of updates, that led to the failure of X. However, when I finally fixed the X breakage, I checked and discovered that the Gnome desktop was miraculously healed. Not only that, but the theme under Compiz had changed color from blue to green.

Complaint #1

SLED runs with an nVidia graphics card (it's an older Boxx hardware system with an Athlon 64 FX-55). I use the nVidia driver bundle for 64-bit Linux. Every time the kernel is updated, I loose that driver and have to reinstall it. This is what I'd like to see from SLED (or any distribution for that matter) in the future:
  • Ideally keep track of third-party kernel drivers and move those over when the kernel is updated. That way when I restart after a kernel upgrade the system will continue to work.
  • If you can't move the driver, of if you do move it and it fails for whatever reason, then have X fall back to a degraded graphics mode. For example, Windows has for years fallen back to 800 x 600 x 16 colors. This ancient VGA mode isn't good enough for full-scale work or games, but it's more than enough to run the tools necessary to fix the problem. And I know that video mode works, because Suse uses it in its graphic software installer.
  • In X's degraded mode, display, in plain English (or whatever local language you've selected) the problem that put you in degraded mode.
  • Finally, fix Sax2. Please. Or replace it with something else that helps really manage the X windowing system under X. If the new Sax (call it Sax3) can't start X, then have it come up in 800 x 600 x 16 mode and then help you quickly fix the problem.
I can almost understand OpenSuse having this type of issue (well, not really). But SLED 10 should be bullet-proof in this area, and it's not. I had to force a re-install of the nVidia graphics modules from the bare console. Not a big deal for me, but it would certainly freak the non-experienced user.

Complaint #2

Zen is still broken. I got the shed-load of updates by checking via Software Update. Sure enough I had a whole raft of critical updates that needed installing, which I did. When is Zen going to be fixed? A partially working (or totally broken?) Zen might be tolerable on the free-as-in-beer community version, but not for a distribution marked as 'Enterprise'.

Back Under Gnome and Compiz

In any event I'm back under Gnome and Compiz. I'd stay under KDE except that I also use NetBeans IDE with Java 6, and sub-pixel aliasing of text on NetBeans works automatically under Gnome but not KDE. Besides, Gnome is tolerable enough and I have access to the KDE applications I like under Gnome.

This time around I decided to download and install NetBeans 6 Milestone 7. I'm curious to try out some of its developing features and to check out the new icons and some of the look-and-feel changes. I've got the Update Center wizard running in the screen shot above.

I much prefer NetBean's update center over Eclipses. It's centralized and easy to follow. What's more, the NetBeans repository maintainers add, from time to time, installation modules that themselves contain links to other repositories. Finding modules is easy and fast. But it does have its problems. My two biggest complaints are the lack of real information about a module in the bottom window of the pane and the fact that every time I select a module and move it across, all the controls resize themselves in weird and funky ways. So yes, there is certainly room for improvement.

I took advantage of the NetBeans Module Projects update to create one of the new projects, just to see what it was like. I've opened up one of three forms in this example project.

And here's the same form in source view. Again, this is all under SLED 10 x86-64 and Gnome.

Closing Thoughts

I know it's really obvious to those deep NetBeans users that NetBeans 6 (and 5.5 for that matter) has crossed the threshold from a supernerd's tool to being a regular old office tool. NetBeans now provides 'Visual Basic' approachability to Java. Everything you need, from creating forms to attaching code to debugging is all there in one package, and it's dead simple to use. Need a simple database? It's got that too. Want to work with Web forms and AJAX? The hooks are in NetBeans and the complete additional package is right there on the web site where you got NetBeans. NetBeans may have its flaws, but being difficult to setup and use is not one of them. Folks no longer have the luxury of time to hunt down and install all the necessary bits required to do non-trivial development in the IDE. The NetBeans management and developers have recognized this and it made IDE life a lot simpler in that regard.

One other thing I've noticed. NetBeans 6's startup is a lot faster than any prior release of NetBeans on every platform I've tried it on. I take small comfort in the fact that Visual Studio 2005 is no faster than NetBeans 5.5 Windows on startup. I don't believe that startup speed should be a primary driver for acceptance (unless it's really bad), but the startup speedup in NetBeans 6 shows attention to details. Thanks.

Thursday, February 22, 2007

Ubuntu 7.04 Alpha 3 - Notebook boot

In an earlier post I enthused about how wonderful the Ubuntu 7.04 installation was on old hardware. One single datapoint does not a trend make, however. Others have attempted to install and work with Ubuntu, and walked away from it back to Windows. With that in mind I decided to boot the 7.04 distribution disk on my Gateway M685 notebook and see how it behaved. A quick rundown of the notebook's features: Core Duo 2.0 GHz, 2GB DRAM, nVidia GeForce Go 7800 w/256MB video memory, 1680 x 1050 17" screen, SATA drive, Intel 975M chipset. As you can see this is a far cry from the system on which I first installed 7.04.

This version did boot on the notebook. The good news: this is the first version of Ubuntu that came up completely, all the way to a working desktop, on the Gateway. The bad news: it came up in 1024 x 768 resolution, and the screen was very slow to redraw. Slow redraws were quite noticeable when dragging or just scrolling windows. The audio also failed to work. I did, however, grab some quick screen shots and stuff them on a thumb drive plugged into the machine.

As you can see I pulled up System | Control Center and took a look at the screen resolution. I'll have more to say about Control Center, but so far it is the cleanest implementation of this tool I've had to deal with. The first time I was presented with it was under SLED 10. Unbuntu's developers have cleaned it up, making everything easier to find.

I wanted to bring up System Monitor, but couldn't find it in the menus. So I went looking for it as a lower toolbar applet, and found it. The 'Add to Panel' application has also been shown some love. Again, items are easy to find. I quickly found System Monitor (and CPU Frequency). I installed System Monitor.

System Monitor hasn't changed. I sure wish it would. Everyone has seen by now the new eye candy and touches going into KDE 4. It would be nice to see something similar going on for Gnome. But considering the issues surrounding Gnome development, I don't expect that to happen any time soon.

Final Thoughts

Again, this is an alpha release of 7.04. I expected problems, but I found a lot more good than I expected. Although the screen is limited and the sound doesn't work, everything else did, especially the USB subsystem, USB mouse, SATA hard drive, and networking. I could, in a pinch, use this to get real work done. My biggest concern is sound. Ubuntu 7.04 uses kernel 2.6.20. This is the latest kernel and still sound does not work. I normally run Suse 10.1 on this machine, and it uses 2.6.16 (Sound doesn't work with Suse 10.1 either). The notebook is nearly a year old (I got it May of 2006). Linux is continually getting a black eye with regards to hardware and driver support. Some dopey yahoo like me drops a live distribution onto a machine like this, attempts to run/install it, doesn't get important features to work, and then (somewhat rightfully) bellyaches about it. Screen and sound are two very important features. I know Linux supporters point at Vista driver woes, but to be honest, Vista's support for hardware is still much better than Linux's in some areas, especially on this notebook.

Regardless, I await future releases of Ubuntu 7.04. It's worth waiting for. It should only get better.

Wednesday, February 21, 2007

Ubuntu 7.04 Alpha 3 - Installation

I finally broke down and installed Ubuntu (7.04 Alpha 3) over Fedora Core 6 this evening. I decided to do this after reading about Eric Raymond's rant against his installation of FC6. In the end he installed Ubuntu 6.10 over it. So I decided I'd give it a whirl as well.

I've always appreciated Ubuntu's live CDs, considering them to be some of the best, if not the best, I've ever worked with. But I never took that one final step and made a permanent installation, preferring instead to use Suse or Fedora Core. Now that I've finally installed Ubuntu, I have to wonder why I took so long. I mean, considering it's an alpha version, it has got to be the sweetest thing I've ever installed. To be fair to FC6 I've not had the problems that Eric documented. But I have to say that based on my limited exposure so far, Ubuntu 7.04 stands head and shoulders above FC6.

One of Ubuntu's many qualities I've noticed is the clarity of the screen. It is sharp and clean, and the font rendering is superb, better than any distribution I've seen to date, better even than Suse 10.2. In fact, better even than Windows XP. The font rendering equals every Apple display I've seen to date as well. I have bad eyesight, and I notice and appreciate quality text immediately.


By this time booting into Ubuntu is a no-brainer. Put in the CD, hit the reboot sequence for the computer, and follow the on-screen instructions. It Just Works. Once booted up there are two icons on the desktop, one of them for installing Ubuntu. Double click on that, and then follow seven simple steps to install Unbuntu.

The installer is the best I've worked with. Step six, which fires up the partitioner, is superb. It was clear and simple and did exactly what I wanted and expected. I chose to perform a manual partitioning, which allowed me to save and reformat only those partitions I wanted to. Once I'd made my selections, the installer went to work. In about 10 minutes the installation was finished, and the system rebooted.

First Run

Rhea is no longer considered a power machine. It's an AMD Athlon 2500+ XP (Barton core) with 512MB of DRAM. It's got an ATI 9600 budget video card. The display is an old Sony E400 Trinitron tube. And yet, in spite of those 'limitations', it comes up, looks good, and runs fast.

One feature that gave me a pleasant surprise: the sound system works on this system. The motherboard chip set is an nVidia NForce 2. Sound worked under Windows 2000, but not under FC6. When FC6 was first installed I was twiddling with the speaker volume, and left it turned up full. When Ubuntu fired up the first sounds nearly knocked me out of my chair. So I turned down the volume. And that's the second pleasant surprise. The volume under Ubuntu 7.04 is as loud as under Windows 2000. Other, older distributions were too quiet, or totally silent, with regards to sound. I'm looking forward to playing with the multimedia aspects of this distribution.

The first application I fired up after first boot was Firefox 2. Thanks, Canonical. I really do appreciate standard tools, not substitutions such as IceWeasel. The next thing I noticed was a message on the desktop telling me I had 412 updates available. OK! Well, in for a penny, in for a pound. I let the update system have its way with the machine.

Ah. Update is finished and I have to restart system. Excuse me...

Second Boot

Well, second boot after 412 updates was totally uneventful. The system came back up and I'm back to work. Perfect. Here's some screen shots illustrating what I've experienced so far.

Here is where the updater is busily downloading the 412 updates onto my system. For the first time I have to say I don't want to go screaming off and change the theme to something more contemporary. I may change the desktop theme in the future, but I don't have to. The default theme is fine just the way it is.

After downloading, we're now applying the updates

Once finished, a message appears at the upper right telling me a system restart is required. My only complaint is that the text and the box could be bigger. I did not click on the notification icon, preferring to save and close everything first. That leads to my second minor complaint. The dialog disappears, but leave a mysterious blue circular icon on the upper tool bar.

Fortunately being the monkey that I am, I just had to press that little blue icon, which produced another message, this time a well-formed dialog, telling me a restart was required and did I want to do so now? In this case I did.

Final Thoughts
  • This whole experience has been too cool. My complements to the Ubuntu team for putting 7.04 together. If this is an Alpha release then I can't wait for the betas or the final release.
  • Gnome doesn't suck in this release of this distribution. In fact it's great. I have no desire to change to another desktop manager. I fired up Nautilus, and wonder of wonders, it came up with everything I want on a file browser; I didn't have to hunt down and turn on/turn off one feature. It was configured perfectly.
What I'll be doing next:
  1. Checking out DVD and CD playback.
  2. Checking out the other applications.
  3. Attempting to update OpenOffice from 2.0 to 2.1 with this distribution.
  4. Playing with the repository system to see if it's better and faster than RPM.

Tuesday, February 20, 2007

World Wind 4.1 vs. Google Maps: Map Viewing in the early 21st century

I like maps. Old, new, hand-drawn, or digital. I like the stories they tell. An offshoot of this fascination with maps is a fascination with the images sent back by probes sent to nearly all the planets of our solar system, including Earth. The two most interesting (for me) applications for viewing Earth images are Google Maps (GM) and Nasa's World Wind (WW) application.

I recently installed World Wind 1.4 and went zooming around the Earth with it. It's slick. On my notebook the response to moving over the surface or zooming in or out is silky smooth and immediate. While I had WW up I decided to compare its satellite imaging with Google Maps. While the majority of sites look identical or nearly identical, some of the sites under World Wind are deliberately obfuscated to the point where, if you want a clear image, you're better off using Google Maps. First example, my favorite paranoia place, Area 51. The first image is from WW, the second from GM.

GM has matured since its initial introduction. I can't believe everything I can spot on the map. I was surprised that I could zoom as far as I could with Area 51, but I did reach a point where GM couldn't (or wouldn't) get any closer. Unfortunately I didn't see any UFOs parked on the tarmac. Maybe they had their cloaking devices active.

A more serious area to view is the hole in the ground where the twin towers of the World Trade Center once stood. Since the urban data for WW is current only up to 2000, I zoomed over to the area in New York and looked down. I then looked at the same location in GM.

I don't know how current the images are for GM, but for me it was sobering enough to look at the before (WW) and after (GM) of 9/11.

World Wind is a cool application. I use it for general viewing of the Earths surface. If I want more detailed urban information I use Google Maps. I'm waiting for Nasa to finish the Java version of WW. The current version requires .Net 2.0 and DirectX, which pretty much ties the application to Windows. I'm learning to use WW to do other things, such as view the surface of Mars. Both are a lot of fun.

OpenOffice 2.1

Folks in the FOSS camp tout OpenOffice (OO) as an alternative to Microsoft Office (MO). The basic argument is that OO, for most uses and users, is every bit as good as MO, but without the high costs of MO. They further like to point out that most documents transfer back and forth between OO and MO, allowing for some degree (YMMV) of interoperability. There's some truth to those arguments, but here's another: to achieve interoperability between OO and MO, you will also give up a good degree of higher quality on the MO side. I define quality here as interoperability between complex objects in documents, and the rendering of said complex documents. Here's an example of where OO fails to match the quality of MO.

The majority of my complaints about OO center around Impress, the PowerPoint alternative. Unless the slides are very simplistic in composition Impress does a poor job displaying them, especially if there were first created by PowerPoint. In the following examples I've create a simple example slide that includes an embedded Visio drawing. This is typical of how I, and many others I work with, use Microsoft's Office applications. OO 2.1 was used for this comparison, and OO was installed side-by-side with MO on Windows XP.

Here's the basic example slide. The graphic in the middle was created by Visio, and is embedded in the slide using OLE (I can still use that term, can't I?).

The nice thing about embedded graphics is that double clicking on them opens the associated application within PowerPoint. I initially create the graphic within Visio and then copy-and-paste it into PowerPoint, preferring to do any clean-up within the slide itself.

And here's how OpenOffice renders the slide. I found it remarkable that it could render it at all, but it's certainly not good enough for presentations. The idea that I should 'dumb down' the content by inserting an image of the graphic instead of the graphic itself isn't a reasonable solution. Since the majority of the people I work with can see the MO slide with the Visio embedded image (with or without Visio installed), I have no real incentive to go to the extra steps (and trouble) of making it more cross-platform as it were. And I make no apologies.

I offer, as a final example, the same slide being displayed in Imprise on OpenSuse 10.2. It's OO 2.0, not 2.1, but the issue is still the same on Linux as on Windows.

Sunday, February 18, 2007

Starting comparison of IDEs

Booting Knoppix allowed me to play with a number of applications bundled with the distribution. One of them was MonoDevelop, the Mono C# IDE. I was intrigued with the prospect of being able to create cross-platform applications in C# that could be developed equally on Linux using MonoDevelop as well as on Windows using Visual Studio 2005. What I discovered is that MonoDevelop is a simplistic development IDE at best. If you want a powerful IDE under C#, then it's best to stick with Visual Studio under Windows. For other languages, such as Java, there are alternatives to powerful and complete cross-platform editing.

I started this simple experiment under Windows XP on my notebook with VS2005. I wanted to create a complete project with solution file that I could then attempt to open under MonoDevelop running on Linux. I followed a Microsoft walk-through (similar to a Java trail) that allowed me to create a very simple C# application with a single window and some controls. You see it executing below.

As a reference to the C# project I then recreated that application under Java using NetBeans 5.5, again on Windows XP. I am, admittedly, something of a Java booster. You see it executing next.

The next image is the VS2005 Professional IDE with the composer and one of the controls (a Label) selected. I've got it organized in this view with the control palette on the left and the attribute panel on the right. It's quick and easy to interactively build windowing applications.

The next image is NetBeans 5.5 in the form design mode. This layout is slightly different, but equally easy (for me anyway) to use. Again, a label has been selected such that it's highlighted in orange against the blues and grays of the designer.

Comparison of VS2005 and NetBeans IDEs

Ignoring the languages, there's actually more that's similar between the two than different. What struck me was the strong similarities (look-and-feel as well as behaviors) between VS2005's form editor and NetBeans Matisse form editor. Both editors allow you to place controls anywhere, and both editors produce 'guidance bars' that show edges and well as distances between controls on a panel. Since I had worked with such features on NetBeans before I touched them on VS2005, I can honestly say that my work with NetBeans prepared me for VS2005.

While there were many similarities, there were some important differences I had to be careful off. For example, double-click on a Button control in Matisse and you just change the button's text. Double click on a Button in VS2005 and you wind up in the code editor for that control's click event handler. I had Emacs key bindings set up under VS2005, so I kept hitting ^X^U over and over...

While this is by no means a real comparison, I have to give considerable kudos to the Matisse develpment team, and I also have to admit that I preferred Matisse's designer over VS2005's. I found it easier to place controls under Matisse than under VS2005, and Matisse seemed to give more visual cues when placing and sizing controls, especially in relation to other controls on the panel. I'm going to work with both a lot more in the future, so my opinion of both may alter a bit in the future. But right now I give NetBeans 5.5 the nod over VS2005, at least with regards to RAD.

Moving to Linux

After getting both projects entered the and the applications built and tested, I rebooted my notebook and came up under Suse 10.1. Because Windows NTFS partitions are read-only, I copied the VS2005 and NetBeans projects over to locations under Linux. I ran the C# assembly as a simple smoke test to see if Mono could run it. It did, as you see below.

I did the same thing with the Java application, as you see next.

Opening the Projects under Linux

I learned something important today. When you go to the MonoDevelop release page and see the section devoted to describing the Visual Studio 2005 importer written in strike-out text, then it appears to be an indicator that it's a feature that's not going to be implemented, either in the current 0.12 release (I was hopeful after all) or in the 1.0 release. Not only could I not import the VS2005 solution file, but I couldn't open form in some sort of visual editor, either. I wasn't looking for a VS2005-style editor, I was looking for just about anything. Instead when I opened the file it came up in source mode only.

When I opened the NetBeans version of the project, it opened up beautifully.

In the process of working with the project I closed a few panels, but it's essentially the same view as I had under Windows XP.

C# Execution Differences between Windows and Linux

Although at first blush it looks like the C# application executed identically, this was only after two iterations of debugging between Windows and Linux. Under C#, labels have a dynamic size attribute. They can grow or shrink at run-time based on the length of text assigned to the label. Dynamic labels work just fine under Windows. Under Linux, and Mono 1.2.3, they truncated text based on the size (length) of text in the control during design time. Under Windows and VS2005 I had to turn dynamic sizing off, then manually stretch each label out to the maximum length it would take to show every label. When I did that and re-ran the C# application under Linux then it ran as it did under Windows.

Look and Feel Differences

Another annoyance of C# under Linux is its default choice of look-and-feel. Admittedly the sample application is no real test, but the controls it used for the buttons are not part of the style I use under Gnome. In fact the button styles look like something from Windows 9x or 2k. Java, while it can use the host OS style, was consistent in its use of the Ocean look-and-feel, which I don't have much use for on either platform. Java uses Windows look-and-feel if you tell it to under Windows, and it looks quite good. If you tell Java to use the Gnome theme, it looks rather bad. I'd rather use Java Ocean theming under Linux than Java Gnome.

Is There a Clear Winner?

Not really. For an excellent cross-platform development experience I believe you can't beat Java, using NetBeans 5.5 or Eclipse 3.2.1. Eclipse, through MyEclipse, provides Matisse in an Eclipse plugin, so you can get the same excellent form designer found in NetBeans. Both NetBeans 5.5 and Eclipse 3.2.1 are top-notch open and free IDEs.

The problem is that Java is falling from favor in a number of quarters, and C# is rising in its place. The reasons for this are varied, but in some instances the Java community has no-one to blame but themselves. I won't rehash the history (you can read about it from plenty of others), but the result has been a dissatisfaction with Java and Java tools that Microsoft with C# has taken advantage of. Microsoft has even provided a VS2005 C# Express version that is free as in beer, and it was used to great effect in the recent delivery of Nasa's World Wind 1.4. It should be noted that Nasa dropped the C# version to concentrate on a Java version, forcing a group of open source developers to finish the C# version using .Net 2.0. and Visual Studio Express. It would have been a real coup for MonoDevelop to have helped in this effort.

I'll need to work a bit more with MonoDevelop to better understand it's capabilities. It's tough (some say unfair) to criticise MonoDevelop in this way, but it's going to happen no matter what. I firmly believe in the quality of the Mono VM, having used it for some time now for non-GUI work.

Ghost Rider a fun ride

You're gonna read a lot of bad reviews aimed at "Ghost Rider"; go check RottenTomatoes to get your fill. Every one of them miss the point. This is the kind of movie you go to see for the cheese. It's an adaptation of a comic book with lots of CGI. So sit back, munch the pop corn, and just go with the Rider. It was a great way to spend a few hours Saturday.

I'm no big fan of Nicholas Cage, but I certainly don't have the negative reactions to him that others seem to delight in documenting (the critics). I thought he pulled off a good performance in the movie as Johnny Blaze. I've read that he's a hard-core fan of the Rider, and so he tries to do the role justice. In my opinion, he pulled it off.

The movie starts off with a young Johnny Blaze riding motorcycles with his dad at local carnivals. Peter Fonda shows up one evening as Mephistopheles, the demon who tricks a young Johnny Blaze into selling his soul to save his dad from cancer. But Mephistopheles is the trickster, so while his dad is miraculously cured of cancer the next day, he dies the same day in a carney accident riding his motorcycle for the paying customers. Young Johnny is crushed by the incident and tries to leave everything behind. But before he can leave town completely Mephistopheles shows himself to young Johnny one last time and reveals the real deal, and that Mephistopheles 'owns' him. After that encounter, young Johnny rides off and grows up into Nicholas Cage. And as Cage, he goes and does crazy stunts, like a successful 300 foot nitro-powered motorcycle jump across a football field with six Black Hawk helicopters smack in the middle with millions of fans watching. And killing demons who are trying to bring a literal Hell on Earth. You know, crazy guy stuff.

Another really fun character was Sam Elliot as the Caretaker and former Ghost Rider. After Johnny's/Cage's first transformation into the Ghost Rider, Johnny miraculously rides up to the exact cemetery/'hallowed ground' where the Caretaker currently resides, then collapses at the foot of his father's tombstone. Johnny recovers, and the Caretaker, while stitching up a few cuts, begins to fill Johnny in on what's really in store for him as the Ghost Rider. Sam Elliot was superb, but then he always is. I found it interesting to see him in "Ghost Rider", then to see him again that night on the SciFi channel as Col. Ross in "The Hulk".

This is definitely a guy flick. It's Hell on two wheels. It's dark, violent, corny (in a great way), and Good Triumphs Over Evil at the end of the movie. And it's got Peter Fonda and Sam Elliot. Too cool.

"You know, I used to ride a bike like that too."


"Ghost Rider" comes in #1 at the box office with a weekend total of $44.5 million. If they all paid $6 to see it like I did, that's about 7.5 million moviegoers. It'll be interesting to see how it holds up next weekend. Next week's crop of movies look a little weak ("Reno 911!: Miami", "The Number 23", "The Abandoned", and "The Astronaut Farmer"). Another pan of the critics, "Night At The Museum", came in number 10. It's earned $237 million over the last 9 weeks. My wife and I saw it when it first came out because we'd read the story to our girls when they were little. We both thought it was excellent.

Friday, February 16, 2007

A quick review of Knoppix 5.1, part 2

It's impossible to write a decent review of any complex distribution, let alone Knoppix. These few posts are a quick pass at features that caught my eye while I had Knoppix up and running. This time I'm going to look at two IDEs, Eclipse and MonoDevelop.

Everybody should know what Eclipse is by now. Along with Sun's NetBeans, it's one of two of the best open and free IDEs on the market. Eclipse, written in Java, started life as a Java IDE. Over time it has grown into a development platform for C and C++, SQL (and database management in general), various dynamic languages such as Perl, Python, Php, and Ruby, as well as software engineering in general. NetBeans is following a similar path. As significant as it is to find Eclipse, it's also notable that NetBeans is not a part of Knoppix. Let me also note that Java 5 is bundled with Knoppix, but not Java 6, which was released in November 2006.

The version of Eclipse bundled with Knoppix 5.1 is the latest release, 3.2.1. Starting Eclipse for the first time presents a simple but polished introductory page. Each of the five entries on the main page is a hyperlink.

Clicking 'Tutorials' presents a reasonable starting selection for the newcomer to either Java, Eclipse, or both.

Selecting 'Hello World' presents the user with the Java view, and instructions on how to write the ubiquitous Hello World program in Java within Eclipse.

Eclipse is a complete environment. Here I've finished my first Java program, and I've executed it, all within the IDE. Eclipse provides sophisticated debugging facilities such that if my Hello program had a problem I could debug and hopefully fix it.

Mono is all about developing C# applications under non-Windows operating environments, especially Linux. You can read all about Mono's history (and controversy) on the web, but suffice it to say that you can develop and build C# applications that can move with relative ease between Linux and Windows. I'm not familiar with how deep the compatibility goes between Microsoft's C# and .Net under Windows and Mono's C# and .Net implementation under Linux.

The workbench to C# and .Net under Linux is MonoDevelop. When started the first time MonoDevelop presents a more utilitarian face to the user than does Eclipse. But there's more than enough there to get anyone started.

To make the comparison to Eclipse reasonable, I've selected to create a C# console application, another Hello World variant.

If you're familiar with C-like languages (including Java), then writing for C# is very straight-forward.

Building and executing your C# assembly is dead simple.

One feature that's nice about eclipse is how the information is available right up front. Here's an example of C# information running on MonoDevelop under Suse 10.2.

Eclipse and Mono provide powerful tools for development under Linux. Many will point to emacs, make, gcc and gdb, and there's a lot to be said for the fact that the kernel is written in C. But Eclipse and MonoDevelop, with their extensible architectures, point to a level of integration that provides real benefits to complex application development over the individual warhorses. This is where Knoppix really shines. It exposes you to new, and complete, solutions without risk. And once you've kicked the digital tires a bit and taken it around the block, then you feel a lot more comfortable in installing an application or the entire distribution. For example, after playing a bit with MonoDevelop, I went and installed it on Suse 10.2.

MonoDevelop Update

After installing MonoDevelop on Suse 10.2, I was able to spend a more time investigating the IDE in greater detail. The MonoDevelop (MD) home page covers MonoDevelop. One of the news entries was how MD was approaching a 1.0 release. This is interesting when you consider that the current version is 0.12. Oh well. As good as MD appears to be, it is not as mature an IDE as Eclipse or NetBeans, but that doesn't mean it's bad. Far from it. One major feature that will be missing when MD 1.0 is released is integrated debugging. This is not to say that Mono doesn't have a debugger. It does: mdb. It's just not fully integrated into MD.

Thursday, February 15, 2007

A quick review of Knoppix 5.1, part 1

It's been my dark secret for years that I used Windows 9x, then Windows 2000, then XP, to 'bootstrap' Linux. I'd download an ISO for a given distribution, then use Windows (first Roxio, then Nero) to burn the CD. Then I'd boot into the distro and give Linux a whirl. Up until Suse 10 I never seemed to have the same level of success buring CDs with Linux that I had with Windows. But all that's changed now. Suse is the workhorse that does everything for me now.

Using KDE apps found within Suse 10.2 (and found on other distributions with current KDE tools), I downloaded and burned the Knoppix 5.1.1 DVD ISO and gave Knoppix a whirl. The apps I used were KTorrent to grab the ISO and K3b to burn it. I find the latest KTorrent to be every bit as good as Azureus, and K3b is absolutely great for burning any type of CDROM or DVD.

Why go to the trouble to download and boot the various distributions? Because you learn something new every time, and you get an opportunity to check advances and new features not available with your distribution without having to install anything and breaking a perfectly good installation. I like to keep tabs on Knoppix because it was one of the first 'modern' live Linux distributions available. Knoppix was pretty hot when I first grabbed version 3.1 in 2003. Unfortunately I think Knoppix looks pretty rough around the edges these days when compared to Suse, Fedora Core, and Kubuntu.

Knoppix 5.1.0 was released around late December 2006. Then version 5.1.1 was released in early January 2007, apparently to correct some rather serious flaws. I ran into one of 5.1.0's more serious flaws with the Desktops applet; if I switched away from Desktop 1, I couldn't switch back. There were stability issues as well, but I was able to work around the flaws in 5.1.0 enough to get some screen captures and appreciate some of the applications crammed into the DVD. Knoppix 5.1.1 fixed that flaw and more, as well as making the overall 5.1 release a lot more stable. Knoppix 5.1.1 is the release to burn and boot.

Screen Shots

The following screen shots are a mix of 5.1.0 and 5.1.1. Note that in both cases Knoppix booted into 1280 x 1024 resolution. Unless specifically noted, I will refer to both releases as Knoppix 5.1. I'll only refer to the complete release number to point out something specific to that release, otherwise my comments refer to both releases.

The first screen shot is of Iceweasel (a.k.a Firefox) under 5.1.0. I laughed pretty hard when I saw the 'About' dialog. It still had the Firefox name, and a funky blue-themed logo. I guess this is what you get when you get your knickers twisted over the Mozilla project's branding demands.

Next is Firefox (a.k.a Iceweasel) with the 'official' ice weasel logo running on Knoppix 5.1.1. At least it's consistent now.

I was a bit surprised to be reading German on the Iceweasel intro page, especially as I had downloaded the English DVD ISO.

While still running Iceweasel I decided to hit YouTube and see if I could view any of the videos. The answer, predictably, is no. Being Debian it has no Flash plugin to support YouTube, or any other site that uses Flash.

I'd like to make an observation at this point about the screen captures. The captures look a lot better than the actual images on the screen. The fonts under Knoppix 5.1 are jagged and poorly proportioned in comparison to how Suse 10.2 renders them. Suse 10.2 looks much better on my Viewsonic P90f than Knoppix 5.1.1 does.

The Knoppix 5.1 live DVD is just chock-a-block full of content. As an indication of this I opened up the Development menu and just looked at the selection. You should note that transparency is turned on to good effect.

Next: Sampling Some Development Applications