January 13, 2006

OpenSuSE: I'm lovin' it!

I have been running RedHat and then Fedora as my desktop for work since RedHat 5 in December 1997. Back then it was mostly about becoming familiar with Unix so that I could administer the various Unices I had inherited as part of a new job. Having gotten used to the power of the shell and the many developer tools built in, as I transitioned from IT Management to development, it was natural to stay on the platform.

In the 8 years I have been running Linux I have never had a virus. An unpatched version of e-smith which I was using as a home gateway was once hacked but not damaged. That wakeup call made me pay attention to regular patching even in my home systems. Along with the lack of security hassles, it has been a very stable platform. Consequently losing work or productivity is pretty much a dim memory from my days on Windows.

Over the 8 years desktop Linux has steadily improved. Gnome and KDE came along. Sun decided to support Linux for Java and almost all enterprise software companies support it too. Life on Linux became easier and easier. Indeed things have become so good that in the last few years whole development teams have been running Linux.

When RedHat decided most of its money was to be made on the server they decided to create the Fedora project. The initial release was of the same quality as RedHat 9. Over time that has slipped. Fedora Core 4 is pretty good, but there is stuff that used to work better that now has problems. One example is the networking configuration. Originally I did this with text files. Then graphical config tools came along. In Fedora Core 4 it is necessary to delete a network configuration and then create a new one to make a change. For me it is a simple workaround, but a painful one to first discover.

What it amounts to I think, is the QA difference between a beta quality product and a production ready one. One of the reasons I enjoy Linux is the stable and productive base for development it gives me. Niggling hassles which have come in to the distro destroy part of that utility.

Before anyone suggests Mac OS X, know that I have been using it as my home digitial hub for three years now, and just this week upgraded my PowerMac to a dual core G5. (Yes I know about the move to Intel but the performance is comparable, the PowerMac is here now, and my old one got fried in a storm). Mac OS X is good to develop on, and I do so at home. However for a Java developer it is a second tier platform. Apple do their own JDK which typically lags 6 months to a year behind. I also like to develop on the platform that will be used for production. Mac OS X Server is not really in the mainstream and so far no clients of mine have been interested in running it.

I could also move back to Windows. However every time I use it, I feel like I have been neutered. No decent shell, no workspaces, a horrible registry and so on. (Sources at Microsoft tell me that there have been 3 so far unsuccessful attempts to rid the world of the registry). Philosophically, I also have a problem with monopolies, part of a long family tradition going back to our time as Huguenots.

So, I was pretty sure I wanted to stay on Linux, was fed up with RedHat's Fedora policy. The number two Linux system for enterprise has always been SuSE, so I thought that was worth a look. Also, I did a stint at Novell last year and witnessed a company wide migration that was going very smoothly. Seeing my Novell Linux Desktop neighbours working with it, from programmers to project managers, and no one complaining, I thought it was worth a look. Still, I could not fathom Novell's policy toward its free edition. SuSE 9 was the last version on the mirrors that I usually download from. References to it were buried deep in the labyrinthine Novell website. So I remained probably the only Fedora user on the Novell network. I did however complain long and hard to anyone that would listen. My main argument was that developers select the OS which when the software is done tends then to result in purchase of a commercial version for production. That is how things have tended to work. So, even though you do not make any direct money from a free version of your distro, it leads directly to revenue 6 months to a year later. My comments found a lot of support within Novell and trickled through to the product manager.

Anyway for whatever reasons Novell decided to release OpenSuSE and make a full effort of it. My main reason for not trying it went away. It has taken me until laptop changeover time to take a closer look at it. I have been using it for a few weeks now and am mightily impressed. It is up to date, slick and has the feel of a well tested and polished product. While a little foreign to me, the idea of only releasing security patches to a version, not updates, strikes me as a reasonable compromise. You get to enjoy production quality while trading the very latest. Given the maturity of Linux now, there is often little reason to want to go to a new version outside of major releases. That was not true in the past. If I do want to get the latest stuff I can always add a YaST source for it. The biggest problem for me is lack of familiarity which would be the issuse with any change, and the fact that Novell's year away from promoting a free version has left a bit of a gap out there. You tend to find lots of packages for SuSE 9 but not for OpenSuSE 10. Having said that. everything is set up, all packages I need I have and everything works great. Stuff like CrossOver Office made the transition seamlessly. I just created a bottle (CrossOver speak for a self-contained file system) on my old system, archived it and brought it across.

It seems that other Linux users have been having similar thoughts. distrowatch.com reports on Linux distributions. OpenSuSE is number three on the top 10 list, ahead of fedora. It is beaten by Ubuntu and Mandriva, neither of which have enterprise server usage. Looking at the page hits metric over different time periods, it looks like OpenSuSE may move into second position. When looking at the last month it edges out Mandriva. Where have the new users come from? What is the distro in decline? Fedora. Lookout RedHat. If my theory is sound we will see the commercial versions of SuSE start to get more marketshare later this year. Of course RedHat could always improve the quality of Fedora. Lets hope they do so and the virtuous circle is completed.


Posted by gluck at 02:25 PM | Comments (1)

November 22, 2005

Oracle 10G Express Edition - Easy installs on Linux at last!

Oracle have released Oracle 10G Express Edition.

I have been using Oracle on Linux for years and it has consistently been the most painful software install. The Oracle install instructions were always unusable. Werner Puschitz (http://puschitz.com) has become famous by providing usable instructions for the various Linux flavours.

So it came as a big surprise that 10G Express Edition was a downloadable rpm. Oracle was always picky about supporting Fedora Core. This version is however targeted at developers.

So, I tried to install it with rpm using

rpm -ivh oracle-xe-10.2.0.1-0.1.i386.rpm
. On the first attempt it failed with a missing dependency "libaio". That was fixed with
yum install libaio
and then I tried again. A couple of minutes later and it prompted me for a web port and whether I wanted Oracle to start on machine startup. Then that was it! All done.

The installer did fail to create Gnome menu items as promised. A bit of trial and error and googling on my web port and I was able to bring up the admin screen on

http://localhost:port/htmldb
.

All things considered it is a pretty smooth install and should do a lot to ease new developers into Oracle.

Going beyond the surface I tried to bring our application up on it. I created a new user. It took a bit of fiddling to figure out what the ORACLE_SID was. It turned out to be "XE". Trying our app out, which uses Oracle Spatial features had problems however. Oracle Spatial (SDO) is not part of XE. XE is limited to 4GB databases. Oracle probably thought there was no point adding in spatial which can have very large file sizes. Our app however just stores spatial extents which are pretty small and searches those.

So will this help Oracle? Yes. Will it convince a lot of Java developers to use XE as an embedded database? Probably not. The world has moved on. It is competing with pure Java databases which have a zero install. For simple persistence, there are even simpler solutions, such as the persistent mode of DiskStores in ehcache. Will it convince Java developers to use XE rather than MySQL or PostGres? Maybe.

The 10G XE homepage is here.

Posted by gluck at 02:21 PM | Comments (0)

November 16, 2004

Brave New World - The jump represented by Fedora Core 3 64 bit, AMD64 and JDK1.5.0

In the world of open source, it seems there are periods of inching forward punctuated by large jumps. I believe we are in the middle of one of those jumps now. In this post I argue that the combination of Fedora Core 3, AMD64, the emergence of Firefox, Java 5 64 bit makes for one of those jumps.

Fedora Core 3 x86_64

I have been a RedHat devotee for the last 5 years. Their decision to split the open source and commercial distros did not overly concern me. This technique was pioneered by the Mozilla project and has been used by many successful projects including Apple's Darwin.

When Fedora Core 2 came out I was quite disappointed. While it added the 2.6 kernel it's quality was much lower than FC1. There were freezing problems caused by power management that required boot-time options to workaround. It seems to me that the distribution's job is to shield users from these sorts of issues. If a user wants to use the vanilla kernel, they can download and compile it themselves.

With Fedora Core 3, the Fedora project has regained my confidence. It is fast, stable, slick, smooth and mature. I have been using it for the past week as both a user and as a developer, writing Java and C code. With Gnome 2.8 the user interface has many subtle user interface improvements. Desktop integration between the standard apps is improved. For example clicking on a mailto: link in Firefox smoothly opens a send new message dialog in Evolution 2.

I am running the x86_64 version of Fedora Core 3. It comes with 32 and 64 bit versions of libraries, and from what I can tell works well with both. I am using IntelliJ running a 32 bit version of JDK1.4.2. Our code is running JDK1.5.0 64 bit. I can step through my running app in 64 bit Java with my 32 bit Java IDE.

For many people Fedora Core 3 brings them up to date with a year of progress in Linux. There has never been a better time to take the plunge.

AMD64

AMD64 has been around for a while. The extreme server performance of the Opteron range has been leaking out slowly. In my own tests, we got a three times improvement in performance with no tuning.

On the desktop, AMD64 ushers in low-cost 64 bit computing. We just bought all the developers (myself included) new AMD64-based machines. They were AUD1600. We are now in the age of commodity 64 bit.

JDK1.5.0 for AMD64

Sun have partnered with AMD and one of the fruits of that partnership is JDK1.5.0's AMD64 support. The 2GB memory limit is now gone for Java.

The Reemergence of Web Standards

Two things are having an impact here. Firstly, the Mozilla project has finally triumphed with Firefox. This browser has captured the public imagination. Far from an overnight success it derives from years of work. As someone who has used it since Mozilla .9, and reported bugs against it, it is great for us that kept the candle alive to see it now. According to w3schools the Mozilla family is now at 18.6% browser share worldwide.

At this level Firefox must be supported. And as the most standards-compliant browser (74 out of a 100 cw IE's 39.5) ever, it means standards must be supported.

Tellingly, the web designers I work with love working with Firefox. The result is they develop on Firefox first and then "port" to IE.

Goooooooooooooooooooooooooooooooooooooogle

While Google's long term effect on computing is hard to gauge, the results up to now are:

  • Microsoft has been prevented from extending its monopoly into searching
  • Gmail is an attack on Microsoft Hotmail and frustrates its attempt to use the combination of Exchange and Hotmail to push its patented senderid scheme into SMTP.
  • Desktop searching is an attack on the Microsoft heartland.
  • Google are now hosting the Firefox homepage. There have been rumours flying about a Google branded distribution of Firefox with some funky extra features.

The whole effect is to curtail Microsoft. Google is an effective monopoly which advocates ethics compared with Microsoft, who were found guilty of abusing their market position in desktop operating systems.

By curtailing Microsoft, the secondary effect is to promote standards through computing. The Windows OS gets less important.

The Total Effect

The whole effect is a big leap forward. Linux is better than ever. It is now usable for a large percentage of the population. The decline of Microsoft and the reemergence of standards gives this most standards-compliant operating systems a fertile world in which to take root.

Thanks to AMD64, 64 bit Linux and 64 bit Java 5, commodity 64 bit computing is now here. With the exception of the Microsoft's monopoly extension play, the struggling .NET, you can do everything on it.

My hope is that all of this will trigger a mass migration of the fence sitters to the Linux way. If you are one, why not wade in, the water's warm.

Posted by gluck at 04:37 PM | Comments (0)