Thursday, 28 February 2008

Solaris Developer Express 01/08

The latest release DVD dropped through the letterbox last week, and I eventually found time to try it out, hoping very much that it would fix the issues I mentioned in the previous post.

What a disappointment. First, although there is an option to upgrade the existing installation I decided not to take the small risk that this might not replace all drivers etc., so I went for a fresh install over the top of the old one. This went OK, right up to the point where I removed the DVD and rebooted...

After the initial startup, Solaris starts building a database of some sort. I think this is a one-off operation which it performs the first time a new installation is booted. I recalled seeing it before, so left it to run while I went to get a mug of tea. When I cam back, I found a dead laptop - no login prompt, no power light, nothing. It was then that I realised that I'd been running on battery power during the install and I hadn't flipped the power-supply wall switch to 'on'.

So what? Power switch to on, and start the laptop: it'll be fine. Wrong. The OS wouldn't boot. I can't recall all the rubbish that scrolled past, but I'm pretty sure that the power finally ran out while this configuration database (whatever it is) was building, and without it you're stuffed. I wasn't impressed.

But I was determined enough to start at the beginning (again), this time with AC power on! And of course this time it installed perfectly. However, after logging-in I was disappointed to discover that none of the networking devices were recognized, nor was the sound and I presume also the graphics chipset (as before). This time I didn't even see the nwam dialog, so I have no idea how to make Solaris usable on this laptop.

I'm afraid that's it, for me. I won't be wasting any more time on Solaris, until I'm sure it will at least connect to the network. Windows XP is still my favourite day-to-day desktop OS, because it just works. I'm so glad I didn't remove it.

But what a pity: I had high hopes that Solaris might offer what no Linux distro (so far) has been able to: a good, professional alternative to Windows, created and supported by a trusted company like Sun.

Tuesday, 19 February 2008

Solaris Developer Express on Acer Laptop

I've been keen to try Sun's Solaris Developer Express (SXDE) for a while now. They'll ship you the DVD free-of-charge, so there's no reason not to give it a spin.  I'm waiting to get 1/08 (this year's first drop), so I installed 9/07.  You can read a short review of the 9/07 release here.

I made a partition for it on my Acer TravelMate 5720 (using Acronis Disk Director, which I can recommend), rebooted with the DVD in the drive, and followed my nose.  It was very straightforward, and once into the main part of the install process I was able to leave it chuntering away while I got on with other things.

Eventually, a reboot (without the DVD in the drive of course) and the first pleasant surprise was that the Grub bootloader had correctly detected the other two OS on this machine (Vista and XP), and I was able to boot into all three without a problem.  Full marks for that (and a sigh of relief).  However, once into SXDE I discovered a few annoying issues: hardware support (predictably enough) plus strange behaviour from the wireless network software.  Below is what I found, plus some pointers which I hope may help others in the same situation.

By default, SXDE uses something called Network AutoMagic (nwam) which supposedly detects wireless networks and gives you the opportunity to connect to them.  Well, it certainly detected my wireless network, but stubbornly refused to connect me to it.  It prompted (correctly) for the wireless network ID (not broadcast) and the WPA password, appeared to accept both, but didn't connect or give me an error message.  Every few minutes, the nwam dialog popped up again, but repeated attempts made no difference.  The documentation for nwam is quite poor and not helped by the fact that some URLs in Sun's online documentation seem to point to the wrong place.  The OpenSolaris project pages were probably the most helpful.  I tried stopping/starting the service and playing with the parameters, but this issue remains unresolved, and is very annoying.

Worse still, the NetLink BCM5787M Gigabit Ethernet PCI Express device (i.e. fixed-wire ethernet) also didn't appear to work, which meant no connectivity whatsoever!  Not a great position to be in.  But, there is hope - keep reading.

The other hardware issues were less irritating: the Texas Instruments 5-in-1 multimedia card reader has no Solaris driver (I don't really care), the audio controller (Intel 82801H) chipset is supposed to have a bundled driver but it doesn't work, and the Intel Mobile GM965/GL960 Integrated Graphics Controller is also supposed to have a bundled driver but isn't reported. 

For anyone else doing this, I strongly suggest running Sun's excellent Device Detection Tool, a free (web-start) download which will give you a detailed report of what hardware you have, and whether there is a Solaris / SXDE driver for it.  This gave me hints on where to look for the missing drivers, and told me exactly what hardware I actually have in this laptop - very useful.

This tool pointed me directly to the page on the Broadcom site where I can download the Ethernet drivers for my hardware.  Pretty good, but when you get there, you discover the following message: "Note: Broadcom does not offer UnixWare, SCO and Solaris drivers
for NetLink Ethernet controllers."  Not good.  But it may be I can use the Linux driver.  When I get time, I will return to this and post my experiences here.

Lastly, a note on aesthetics.  Solaris uses Gnome by default, which is OK rather than outstanding in any way.  But colours and fit/finish on the desktop are very good indeed: in my opinion, Solaris looks great in every way, except for font rendering.  There is a font-smoothing facility (in preferences) but this just doesn't approach the quality of Microsoft's ClearType implementation in Windows.  For me, font rendering is a big deal - I hate to look at ugly fonts or blurry, smeary characters.  I suppose this may be because Solaris is using a down-level video driver, because it doesn't support the Intel Mobile chipset on this laptop.  Get the font rendering right, and I'd be happy to sit in front of Solaris all day.

As soon as I have a network connection, I'll continue evaluating Solaris and post my findings here.

Sunday, 17 February 2008

Java Futures - and Software Processeses (sic)

If you're looking for a good summary of what's coming up in Java FX, the Java SE Update (the 'consumer JRE') or JDK 7, then this talk given by Chet Haase is a must-see.  It's quite long, but it's worth taking the extra time because this is good, solid content.  And it's so good to get all this material presented by a first-class technical presenter rather than having to sit through shallow Powerpoint 'fluff' from marketing.

After watching this I located Chet's blog, and found his hugely entertaining send-up of our industry preoccupation with methodology.  I think we have a new candidate taxonomy of the software process landscape!  Conference Driven Development reminded me of some Microsoft technologies I recall hearing about - people were building plans on top of some of this stuff before we'd even left the PDC...

I don't have time to play with Update N or to try Java FX Script just now.  FX Script interests me mainly because of the nice binding environment it promises, but JRuby will probably get my attention before FX mainly because I can put it to use on real problems more quickly.

Saturday, 9 February 2008

Oracle 10g XE, SQL Developer and Java

I've been forced to install and use Oracle 10g XE recently.  The experience hasn't been pleasant.  I'm sure the database technology itself is perfectly good, but the tools and support are dreadful, when compared to Microsoft's SQL Server Express Edition or MySQL.  I'm writing this while still cross, so it's not going to be very nice about Oracle or Java.

I need XE for several reasons, one of which is that I have a dump file containing a complete database which I need to work with.  Oracle XE comes with a (rather lame) web-based admin module which doesn't even seem to have tools for importing database dump (.dmp) files.  To do this you need the command line imp tool.  This would have been OK if it had worked (it didn't), but even then I hate having to find the right command-line incantations for things I only occasionally have to do.

Why didn't imp work?  I'm not sure yet because right now I'm so pissed-off I can't be bothered to scroll through the screen-fulls of error messages it generated.  (By default it doesn't even write these to a log file either - you have to tell it to do that.  Duh.)  This is just flat wrong.  If there are version issues, or permission issues or similar, I should get a simple message, early, to tell me this, and the import process should stop right away, not struggle hopelessly on, scrolling pages of crap at me.

The online documentation isn't very good either.  I admit I haven't burrowed through every page but I shouldn't need to do that, just to import a dmp file and manage an additional database.

So, I looked for a management tool (like the tools you get with MySQL, SQL Server and PostgreSQL), and yes, there is one.  The Oracle SQL Developer is a Java application which you can download with or without the JRE.  Well I've got Java 1.5 and 1.6 on my machine (both JRE and JDK), so I figured I could take the smaller download.  You get a zip which you unpack somewhere, and run the top-level exe. 

So, I ran the EXE.  And what's the first thing I see?  This:

So, unlike many other Java applications, this one can't locate any of the (four) Java installations on my machine.  Poor, but not disastrous I suppose, so I browsed to the Java 1.6 JDK and clicked OK.  I expected the tool to start, but instead I got this:

What?! Perhaps it doesn't like 1.6 - perhaps I'll try 1.5.  So I ran the EXE again, expecting to be prompted to browse to java.exe again.  But no!  Instead, I immediately got the second error dialog again!  The act of browsing to some java.exe seems to write a setting somewhere, which is used in subsequent launches, even if it's wrong.

It's hard to believe that one of the largest software companies on the planet can offer this kind of low-rent, sub-shareware experience - especially on an entry-level product surely intended to attract new users of Oracle technology.

I'm just not going to waste any more of my time on this.  It's more than enough to make me uninstall Oracle 10g XE and give up trying to use it.  I've used MySQL and Microsoft SQL Server Express happily in the past, so I'll see if I can import or convert the dmp file and use one or other of those instead.