About Me

My photo

Application Developer who loves writing beautiful code and enjoys learning something new everyday.

Friday, December 12, 2008

Mandriva 2009 on Toshiba Portege M800

(Screenshot of KDE 4 desktop with Dolphin file manager, photo and desktop widgets)

I've just installed the newly released Mandriva 2009.0 Powerpack on a company supplied Toshiba Portege M800. Almost everything worked out of the box... almost.

The following required some tweaking:

Video Playback
I did not like DragonPlayer that was configured by the installer. so the first thing I did was install MPlayer (my favourite video player that plays everything) from PLF, together with all the popular codecs. Initially, my video did not play. After reading the Mandriva Errata page, it turned out that because I had enabled desktop effects using Compiz, I needed to also enable the Compiz Video Playback plugin, using ccsm. Once that was done, MPlayer worked fine. However, other video players like Kaffeine and Totem did not seem to work, but I didn't care much for those.

After trawling the Internet, I realized that I needed to reinstall the iwlwifi-4965-ucode package, because the installer had removed some firmware files required by the built-in Intel 4965AGN wireless adaptor. After that, wifi seemed to connect fine to my home wifi network that used WPA authentication.

MandrivaUpdate over proxy
At work, MandrivaUpdate must be configured to go through an authenticated proxy before it could go out to grab updates from the Internet. Unfortunately, there seemed to be an inconsistency between how the proxy login and password were specified in the urpmi configuration and Network Settings. As a result, it was not possible to perform an update via MandrivaUpdate. The workaround was just to do updates from the command line, using:

urpmi --proxy server:port --proxy-user login:password ...

MandrivaUpdate worked fine at home where it did not need to go through a proxy.

Things I did not quite like include:

The Portege M800 came with a 130GB harddisk. I chose to let the installer manage the partitioning this time and told it to copy the contents of the installation DVD onto disk. I had expected it to give several tens of GB for the "/" partition, a separate partition just to hold the DVD contents, and everything else for "/home". I was disappointed to see that the installer allocated a mere 8GB for "/" that also contained the DVD contents (~4GB). That left only 4GB for the entire OS plus any other programs I wanted to install. No where near enough because I needed some large applications like an Oracle database. To fix this, I moved the DVD contents to a new directory under "/home", and made a symlink to it from the original location. That freed up 4GB that should hopefully be enough until my next upgrade to Mandriva 2009.1. Next time, I'll choose custom partitioning.

Missing applications

Missing altogether were KDE 3.x applications that had not been ported over to KDE 4.x, notably K3B. Hopefully, this situation is remedied in the near future.

Now, the good bits...

Overall, I was impressed with this release. KDE 4 looked a lot better than KDE 3 in 2008.1. The desktop widgets were a pleasure to use, desktop effects were nicely integrated, performance was acceptable, and there was an abundance of applications from the PLF and contribs repositories. The"Start Application" menu had a new tabbed-style that I found more user-friendly on a laptop. Even the SD card reader worked properly.

Wednesday, November 26, 2008

Sun Developer Day 2008, Melbourne, Australia

Note: Click on images to view in full size.

I attended the Sun Developer Day in Melbourne, on November 26, 2008. It was hosted in the very fabulously furnished Grand Hyatt hotel. Upon arrival at the hall, I was greeted by Sun logos on brightly lit wall displays. I got there just in time for the Keynote speech. Below is a summary of the talks I attended, and what I thought about them.

Keynote, by Reginald Hutcherson

Reginald is undoubtably the best speaker of the day, in terms of presentation skills and the consistent pace of delivery. All the subsequent speakers seemed hurried. He stressed the importance of Open Source technologies for Sun, then briefly mentioned a host of technologies like virtualization, MySQL, Glassfish, Rich Internet Applications (RIA), JavaFX, but the most interesting one for me was zembly. Unfortunately he only had a single slide on zembly, but I later gathered that its a Web site that allows users to create social applications that work on Facebook, iPhone, etc. At this point in time, it is free to use while still in beta. Interesting... worth a second look once its released.

Demo shootout, by all three subsequent presenters

Two of the three demos were on JavaFX. They were simple applications that mostly served as eye-candy to keep the audience entertained, as well as introducing Netbeans. However, I've seen similar JavaFX demos in previous Sun talks, so there wasn't much in them for me. I wished they showed different aspects of development, for example writing unit and integration tests for JavaFX applications.

The remaining demo was on OpenSolaris. As expected, it started with GUI eye-candy effects like wobbly windows (nothing more than Ubuntu), followed by a sample MySQL driven application. One thing that caught my interest was VirtualBox that could seamlessly run applications from different hosted systems on the host desktop, as if they were running natively, only with different window decorations.

JavaNext - The future of Java SE, by Chuk Munn Lee

For me, this was the highlight of the whole seminar. I was looking forward to hearing about upcoming features in Java, and this talk did not disappoint. New features that particularly interested me were:
  • Annotations on Java types (JSR 308) to do stuff like enforcing invariants.
  • Modules to control access to Java packages. This involved adding a new module keyword and a module-info.java file to specify access rules. Modules would be packaged into JAM archives, that could also be pulled from OSGI repositories.
  • Closures - woo hoo!
  • New APIs like Swing Application Framework (JSR 296) and Beans Binding.

There was mention of a new soft real-time garbage collector called GarbageFirst for those having to do time sensitive applications, but this was not so relevant to me.

I wish Chuk told us what version of Java all these goodies would be coming in.

Connection the World with REST, by Chuk Munn Lee

The problem with this talk was too much introductory material on REST. I felt that REST is so widely known by most Web developers nowadays that basic knowledge such as verbs, resources, etc should have been assumed instead of wasting precious presentation time. Towards the end of the talk, Jax-RS (JSR 311) and the Jersey implementation were mentioned. Chuk briefly talked about how when Jax-RS is integrated into Java EE6, it will be able to work with/on EE resources like EJBs, Web Services, security, etc. Chuk should have spent much more time on these new upcoming support for REST.

JavaFX - SDK and Compiler, by Angela Caicedo

This talk turned out to be more interesting and informative than I expected, probably due to me being new to JavaFX. Angela introduced the newest syntax for variables, functions, binding, effects, animation and events. Pages and pages of code snippets... just the way I liked them. In addition, the following were discussed:
  • Architecture of the JavaFX framework.
  • Pull parser that supported JSON and XML.
  • Ability to access RESTful resources.
  • New browser plugin architecture.

SOA with OpenESB and Java CAPS 6.0, by Chuk Munn Lee

There was one word to describe developing for SOA :- tedious, and this demo-talk did little to persuade me otherwise. A demo loan approval application was implemented as a document-centric Web Service, using OpenESB running on Glassfish. Of course, Netbeans 6.5 was the IDE. Starting from some existing XSD data schemas, the basic steps were to create a WSDL, define a BPEL, bind with a Stateless Session EJB, run some integration tests against the service, then finally generating a Java client. The presenter had to go back and forth through various IDE panes and dialogs, to define WSDL parameters, access various URI and port settings, etc, ... I really hated these sort of complex manual steps.

MySQL - A Developer Perspective, by Peter Karlsson

This was an interesting talk about a database I've used a lot. Peter compared several storage engines in MySQL 5.1 and usage scenarios for them. This was followed by a discussion on how to optimize database queries, which were pretty basic stuff not specific to MySQL. There was nothing much that was new here, nevertheless a useful reminder of the things to consider when designing a database schema.

Netbeans 6.5, by Angela Caicedo

I guessed this talk was meant to show off as many features of Netbeans 6.5 as possible in the time available. Unfortunately, there was so much in this IDE to fit into a single talk. Quite a lot of time was wasted showing off standard features like refactoring, perhaps the speaker should have concentrated on features that were not found in Eclipse.

The compile-on-save and live-update-refresh features seemed handy. I wished there was some mention of Ruby/Rails support and Unit Testing of new technologies like JavaFX.

Skipped talks

I skipped the last couple of talks, on DTrace and virtualization, as they were both Solaris specific and I don't use Solaris.


Lunch was surprisingly good considering this was a free seminar. There were abundant sandwiches, desserts, salads, chicken/beef satay skewers, and pizzas. I especially enjoyed the salmon pizza.

All photos were taken using my Nokia N95-8GB.