venerdì 13 agosto 2010

Something to think on...

"I'm always delighted by the light touch and stillness of early programming languages. Not much text; a lot gets done. Old programs read like quiet conversations between a well-spoken research worker and a well-studied mechanical colleague, not as a debate with a compiler."

Richard Gabriel

sabato 15 maggio 2010

Ubuntu 10.04 LTS Lucid Lynx Review

On April 24 Ubuntu released its 10.04 release, I was currently using 9.10 (32 bit) and because 10.04 is an LTS and even because I wanted to switch from 32 bit to 64 and from ext3 to ext4 I've decided to do a fresh install on my HP DV3650.
The HP DV3650 has this spec:

  • Intel Core 2 Duo P8600@2.4Ghz
  • 4GB DDR2 Ram
  • 320 Gb HD
  • Nvidia 9300M with 256Mb dedicated Ram
  • 13.3" LED Display
  • Main Ports: 3 USB, 1 HDMI, Ethernet

I also use an external Philips 19" Monitor via HDMI to DVI connector.

Installation process
The graphic install it's almost identical to the on in Karmic Koala expect from the fact tath by default it doesn't show any option after the boot. If you want to change language or keyboard you need to push any key.
I think that in the mind of the developers this choice should give to the install procedure a much cleaner feeling but as I need an italian keyboard and prefer an English OS it doesn't feel good for me (and probably for anyone who prefers an English OS but lives outside the USA).
By the way if you don't change the keyboard before installing Lucid you can select it during the graphical install.

First Boot
Even the boot time feels about the same as Karmic (maybe Lucid Lynx is slightly faster).
I didn't elapse it because I think the correct unit for measuring the total boot time its the human feeling and not seconds. Why should I care if the total boot time its 15 or 16 seconds?
I don't know if it feels faster because of minor improvements, the switch to 64 bit or to ext4 or only for the exicetment of trying the new Ubuntu.
The only things that counts is that it is fast.
The boot up speed it's comparable to the one of my personal MacBook Pro (se previous posts) and much faster of a tipical Windows XP or Vista (at present I didn't try Windows 7 for real work).

User Experience
The user experience it's wonderful. The system feels really responsive wich is much more important that the boot time.
The new dark theme without all that brown it's a lot better even if the icons still are to orange for my taste. As a mac user I did appreciate that they put the window buttons on the left style instead of the right like Windows. Obvously if you don't like this choice you can always change theme.
One thing to note it that when I tried Karmic Koala on day 0 I've had a lot of crashes (where a lot means for me a crash every 2/3 days) for the first moth. I think that the main problem where the nvidia drivers as the crashed significantly decreased when I switched to the nvidia official launchpad repository.
Lucid instead it's been rock solid from the first day even if  (as usual) a lot of updates appeared on the official repositories especially in the first week (after only five days a new kernel was also available).

I'm having a  little experience issue with Nautilus. In the previous version I could configure it to show the location in the address bar instead the bread crumbs path. I didn't find how to do it in this release...
I can edit it with +L but I can't keep the address visible; Nautilus will switch to the bread crumbs by default.

Hardware and Drivers
First I have to say that Ubuntu recognized and configured correctly almost all my hardware. The only thing that still isn't working correctly is the volume slide on the laptop. It did't work well on Karmic and it still doesn't work well on Lucid. Not a big problem for me as I prefer to use shotcut keys anyway.
Before Lucid was released I've heard a lot of the new nvidia nouveau drivers which are the default on Lucid.
They work; they recognized and configured both the 13.3" monitor of the laptop and the 19" external monitor. You can correctly use the laptop monitor and the external one together or just one at a time.
On the other side the nouveau drivers don't support 3D acceleration and they don't let you run all the effects of Compiz too.
The most notable thing is that they are a lot slower than the nvidia closed source conunterpart. If you are a purist (or a fanatic) you can stay with the nouveau but I warmly suggest you to use the closed ones. The system will be faster and more responsive which is more important than an open vs source flame for me.
I strongly believe in open source but I feel that the difference of the two drivers is too evident not to be pragmatic choosing the more convenient way to work.

Obviously even using the closed source drivers I can use both my monitor without problems.
Developing software I prefer to use only the 19" external monitor and switch the desktops instead of turning my head left and right trying to find wath I'm looking for but maybe the double monitor solution could be userful to you.

Speaking of software I've installed some extra repositories (mainly medibuntu) so I could have all the closed source codecs and google-earth (which I love).
I've installed both google-chrome and chromium (the non branded version of chrome) and they work beautifully. By the way: they are a lot faster than firefox!
I've also downloaded virtualbox from I didn't install the ose version (available from repository) because with that version I could not connect USB devices to the virtual machine. I've downloaded the 3.1.6 64 bit release for Karmic as the Lucid version wasn't available till a few days ago. Now you can find the 3.1.8 specifically packaged for Lucid or you can add the virtualbox repository to your synaptic manager.
Skype has been removed from the medibuntu repo so I've downloaded it directly from skype website. It works perfectly and I can use the integrated 1.3mpx webcam installed on my laptop without problems even if the version was designed for ubuntu 8.10.
I've also installed flash plugin. First I've tried the plugin available from the repository but on youtube sometimes I could not click on the player buttons (if you do a search on google you can find other people having the same problem).
looking in the filesystem I found out that the repository installed the flash 10.1 32 bit version and firefox was using this plugin through the 32 to 64 bit wrapper.
The solution for me was to download the 64 bit native plugin directly from adobe. Uninstall the plugin from the repository and update the symbolic links.
Here are detailed all the (simple) operations needed and you can even find a script which does all the work for you.

The end
In this short review I've used Karmic (9.10) as a meter to evaluate how good Lucid Lynx is. I should say that I'm an Ubuntu user from the beginning and its almost 3 years now that I'm using it intensively. I've tried Ubuntu on a lot of notebooks and even on some "servers" (actually desktops used as servers) and virtual machines. After all
I've to say that after a series of release in descendant quality this it the best release Ubuntu ever had!
Rock solid, fast, an almost perfect hardware detection and a lot of software all up to date immediately available. I don't know what else I should ask for.

sabato 13 febbraio 2010

Why I should or shouldn't buy a Mac - part 2

The Big Day Has Come
On August, 27 a friend of mine during a trip in California brought for me a wonderful Mac Book Pro Unibody 13.3" 2.53GHz, 4GB Ram, 250GB HD.
I've never used a Mac before so I was very curious to see if a Mac and his operating system could do the job for me.

Bringing the Mac on the road
The first thing I've done was switching for only 8€ to Snow Leopard (which came out on the 28th so my Mac came with Leopard on it) and obviously before buying it I knew it could be used to develop in java (which is my main activity); Snow Leopard comes with the jdk 1.6.x. 64 bit on it, you don't need to download or configure anything.
I've paid only 8€ because I brought the Mac just before Snow Leopard came out. You could buy your upgrade directly on apple's site just inserting the serial of the Mac and the place where you brought it. The DVD arrived via Mail just a week after even if I made my order on the 28th of August and there was a note that due to a lot of orders there might be a slight delay. Microsoft has done the same thing with Windows 7 saying that the upgrade came free but all of my friend who brought a PC with the "free" Windows 7 upgrade option included had to pay an extra 25-30€ to receive the upgrade. at home.
That doesn't sound a lot free to me. So Apple wins for me on this side.

User Experience
Using a Mac is absolutely fantastic! The backlight keyboard is truly amazing and when you open an application it pops up really fast... much faster than Windows and Linux too.
The Unibody enclosure is a piece of art but the glass on the display it's a bit too glossy. For fairness I have to say that the one on the 13.3" HP DV 3650 in my office it's even worse.
My wife has a truly amazing Sony Vaio VGN-Z650N/B and the display of the Vaio if a lot better than the one on the Mac.
You can view images or pdf using Preview. With Preview even a complex pdf can be open in just second, you don't need adobe reader 9 like on Windows.
Mail and Contacts even if really simple applications are perfectly synchronized with my iPhone and finding. I didn't configure anything and when you use Mail and see all of your contacts the same way you see them on your iPhone you have the feeling that that's the way it should be done.
The overall feeling of the system is really polished and spotlight is always there to find out whatever you need (in just a second).
OSX seems really focused on your documents and your work not in managing your PC because you are stupid and you could damage it.
I think Microsoft did a really good job with Windows 7; when you use it you immediately have the feeling that is much faster then Vista and much clean and organized than XP but it remains slower then OSX and the search options (even if improved) it's far behind spotlight.
The only thing I was a bit perplexed is that OSX doesn't have the "cut" option in finder (which is the OSX explorer for the file system).
Maybe Steve Jobs doesn't like the "cut" function but to me it's absence sounds really stupid. CUT is useful!
After all finder is a really good file browser but using Linux Ubuntu for work I have to say that Nautilus beats them all! Nautilus lets you browse you file system, sftp, samba, nfs connected file systems using tabs inside the same Nautilus window and in my opinion this is the same revolution you had when switching from Internet Explorer 6 to Firefox!

Applications availability
I am not used to buy applications. I usually search (and find) an application that fits my needs in the open source and freeware market.
This on Windows and obviously Linux. I don't need a lot of applications but some of them are a bit tricky.
On mac I failed to find all of this application. Obviously I installed mac ports to get DIA and easytag but when it came to add subtitles to a TV series in a format usable on my PS3 I had to use aviaddsubx via wine because the only application I found on mac that did the same thing wasn't free.
So I had on Mac the same problems I have on Linux.
In terms of availability of software Windows beats them all. This is a very important point. If you absolutely need and application that is not available on Mac think of it.
Obviously you can use Windows in a virtual machine (virtual box is free and it is a good product even if not as fast as Parallels or Fusion) but if you find yourself using the virtual machine 8 hours a day maybe OSX isn't just right for you.. and don't forget that you need an extra Windows license too!

Last thing I wan't to say as a software engineer is that Mac has a BSD kernel which means a truly UNIX system under the hood and when you open the terminal you have a lot of power under your finger not like the dumb MS-DOS windows. This Is a thing you don't get on Windows but not all of you maybe interessed.

This is a tricky point. As I sad applications on Mac open really fast, but speaking of java development I've done the build of a big application I work on on a Mac (not mine) and on Windows Vista (with no antivirus) and Linux Ubuntu (on the same PC). The build process creates, compiles an moves a lot of files ( 5K to 10K i think) and it took 138 seconds on Windows 40 on the Mac and only 20 on Linux!
Ok: Mac behaves 3 times better than Windows but Linux does 7 times better!
Perhaps on 3D tests Windows is the winner as the graphic drivers are really optimized on Windows, maybe on Mac on just a little on Linux - sometimes it's a good result just if they don't crash ;) -.
Maybe in a future post I'll report this experience.

And The Winner Is...
That's all for now (it's late and I'm getting tired). After all of this months the question is: has Mac and OSX been a good choice for me or I should have stayed with Windows (Linux in my case)?
I think that the overall result is YES!
The system works perfectly out of the box, it's very stable and fast. A responsive system it's very important to me and a the fact that doesn't get slower after using it like windows and it's registry hell it's a plus.
The superb integration of all the applications preinstalled (Mail, Preview, iTunes, iPhoto etc..) can manage all of your documents in a wonderful way.
The integration with my iPhone is a plus.
If you wan't a fast system that works out of the box, you don't play games and you are not afraid to learn something new you should evaluate a Mac carefully.
Mac cost's more than PC but with the PC you'll need an antivirus which will slow down your PC for all of it's life, at some point you probably want to format everything because the system it is getting to slow or because a virus damaged it. In short words your PC has a greater chance to need some extra maintenance and will always result slower.
If you use a lot your computer all of this means time and stress.. this for me means valuable money.
The only thing I have to repeat is: carefully evaluate the software available on mac, what you really need what you will get and what you can afford (if you wan't to buy some software).

The third choice is Linux but in this case you should carefully choose your system hardware and probably you'll need to have the patience to configure something and look on the internet for some help to make it work properly.
I don't think that this post is the right place to discuss this kind of issues as the majority of the users aren't able to do this.