Archive for November 2007

iPod Touch: the best PDA I ever had


Why did I arrive to this conclusion so sudden ? After all, I have the iPod for over a month and half now and never really used it for anything beyond podcasts/music/videocasts.

The answer is simple: 1.1.2. The Firmware update that appeared during last sync upgraded the iPod to latest version which (in addition to obligatory bug fixes) brought the long needed possibility of adding an event or modifying an event in calendar or adding/modifying an address card.

With this in place, I can finally use iPod as the PDA – because you will get information about some new address or phone number change most likely when you are not at the computer or online and without this feature, there would no way how to capture it. I tried to use pen and paper – but it is so easy to loose the paper or forget to enter it …

Because all of my calendar data are living in Google cloud, I needed a way how to sync iCal data from my Mac with Google. There are at least 4 different ways how to do that:

1) SpanningSync – the subscribtion based product

2) gSync – very affordable program from

3) OpenSource Java based GCalDaemon – very interesting but with fairly lengthy setup

4) using free Plaxo pluging for address book

I was looking into SpanningSync before and even evaluated it, but I think the value of the service is not worth of $25 a year. I would not mind to buy the application for that price, but for paying every year it is too much. Besides, SpanningSync runs your data using third party server, which is another issue – you pay twice: on top of dollars, by giving up control over your data.

The gCal offers much better price/performance ratio – for one time fee of 10 pounds you can use it as long as you wish – or as long as Google does not modify their API. I cannot comment on it’s functionality, because I ended up using the #4 solution.

I have been using Plaxo already for over a year to keep address books between different platforms in sync. It was then the only practical solution how to synchronize Thunderbird contacts, Address book on Mac, Outlook contacts and Yahoo. Now it can in addition to synchronizing address books also synchronize the calendars and added the Google as data source. The contacts synchronization is one-way only (you can load your contacts from GMail to Plaxo), but calendars are synchronized both ways without any issues. Plaxo basic service is still free, if you want premium you can get de-duplication option and synchronization with LinkedIn. Unfortunately – same as with SpanningSync – the value of the service for me is not as high as their price. YMMV.

I have downloaded the addresses from Plaxo, synced them iPod and tested that you really can edit or add an appointment in your iPod and that with the next sync it makes it up to the cloud and shows in your Google Calendar. And vice versa. If you are online, the updates in address book or iCal are synced almost immediately to Plaxo and with short delay to Google.

Few recommendations: after adding Google sync point and setting up the link, do one synchronization and then switch the contact synchronization off (keeping the calendar sync only). Why ? Because your Google contacts contain most likely just a names and emails or even emails only as Google extracts them from the emails arrived. After sync, you will want to clean up and consolidate your data by assigning the newly collected emails to people in your address book and deleting the incomplete records. Without switching the contacts synchronization off, you will have them back and can start the deleting again šŸ™‚ – as I learned the hard way.

It is also important to understand to which calendar are the newly created appointments from iPod added – especially when your settings in GCal and iCal do not 100% match.

Now back to the subject: why is this the best PDA ? I was using several Palm based devices as well as Windows Mobile based PDA’s (one of them – the Toshiba e830 is still being used as eBook reader) and every one could synchronize the appointments and addresses. The largest difference is the Touch user interface – you have to try it to understand. None stylus based Palm or PocketPC came ever close to the simplicity and functionality of the Touch. Not speaking about the beauty of the UI, of course.

Second reason for being the best is the tool chain behind the iPod. Syncing using iTunes and Mac / iCal / Address book is by order of magnitude better user experience that using ActiveSync and Outlook. True, using Plaxo you could move the data from iPaq to Google same way – or maybe the new Outlook is even Google aware – I have no idea because I stopped using Outlook in 2005.

And last but not least reason is that NONE of my previous PDA’s could serve as iPod, show images or video or even surf a Web via WiFi. I stopped using WiFi on Toshiba PocketPC after it was obvious that for 99% sites the pocket version of Internet Explorer is simply unusable. I stopped trying to use it as music player because to play a song you had to use stylus and both hands. And the music stopped when you switched the device off, so instead of enjoying the podcast I was fiddling around with screen light settings to get at least few hours out the batteries.

Now if the iPod had at least small (1-2 MPix) camera, it would be almost perfect … but for that I guess you need to get an iPhone.

How to show ZIP file content in QuickView (Leopard)


As time passes, I am discovering more little features that either fill in the still existing gaps from my Windows toolchain or add new features. Today, at Apple presentation about Leopard Client and Leopard Server I have heard great tip.

The QuickView in Leopard is extensible with plugins. One very obvious and very useful plugin is ZIP View that gives you content of the ZIP file in preview without unzipping it. This is finally a workable replacement for Ctrl-PgDn of TotalCommander that allowed to “walk into” archive and treat ZIP file as part of the file system.

The plugin is free and can be found at the developer’s site. The same author also wrote a Folder view plugin which replaces the mostly useless large icon with preview with icon and list of the files. His blog is mostly in Japanese, so it is hard to say what other treasures are there :-).

Installation is very simple: just copy the .qlgenerator files to your ~/Library/QuickLook (or to /Library/QuickLook if you want to install them for all users).

The server presentation was really interesting, I will get back to it in other blogpost.

Why it is probably bad idea to have Skype always on


no, not because of the memory it takes or CPU cycles burned (does not really matter when you have 4 GB notebook with Core2Duo).

Few days ago, a good friend from old country (well, technically not anymore as he also moved within the EU) made me aware of this presentation “Silver Needle in the Skype (link points to fairly large PDF file) by Philippe Biondi, & Fabrice Desclaux.

To fully digest and fully comprehend the content requires way more time than I am willing to invest – and to make meaningful arguments for or against conclusions does require much deeper special knowledge. It is interesting view into the deep internals of how Skype works and also provides very interesting references to tools available for this kind of exploration. I am not going to stop using Skype just because there is a chance that Skype could possibly be a backdoor or something not so innocent. There can be after all perfectly honest reason for all the obfuscation and anti-disassembling measures – to protect the IP against competition. Or it can be in order to hide something else ? We will probably never know.

But I am not letting Skype start as the machine boots anymore and shut it down after I am done with my call. In other words, you will not find me online on Skype very often :-).

Phaser 6120N rocks !


Today I picked the printer I have mentioned yesterday – Xerox Phaser 6120N. It is somehow more bulky than the ML-4500, but boy, does it work !! From all available connection options (parallel port, USB, ethernet) I have of course chosen ethernet. Printer after switch on spent about 5 minutes doing strange and weird noises, initializing itself and then spit out a page with its DHCP-acquired network address.

To assign different IP address (so that it does not change) was very easy: go to http://192.168.x.x/ – whatever is printed on the status page and follow the Web instructions under ‘Network’. Set new IP, disable the automatic IP settings, wait for printer reset (and new status page) and you can go on setting the clients.

Windows installation is very smooth – drivers are on the CD – and does not even need a reboot. As a nice surprise, the CD also contained PPD files so that now I have the printer accessible from CUPS on Linux as well. And as usual, Mac installation was pretty non-existent. The printer does not support Bonjour, but somehow both Mac’s found it using AppleTalk – yet another thing I know not enough about and need to look up. So finally, all computers around my house can print reliably, in color without going through the hoops. Hooray !

The most amazing surprise was when I tried to print a photo. I have done it before and generally, laser printer comes nowhere even close to what you can get out of the photo inkjet – especially with proper paper. Now here I could not believe how good was the result: on plain paper, without any special calibration or color magic, the picture looked very close to an inkjet output – only waterproof.

This source is certainly not impartial, but anyway shows difference in fine details of output. I am no expert, but the printouts look certainly very good to me!

Disadvantages ? Beside the size, the printer is a bit noisier than ML-4500 when it prints. Other than that, none other issues found yet.

Little pains of switching


I have been running the Unix only workstations for over a week now. During this week, I have managed to clean up and convert two Windows boxes to VMWARE virtual machines, but actually had to resort to use the VM’s only in two cases. Everything else worked just fine.

The first case was requirement to review an non-trivial Excel file. Normally, Numbers does very decent job when it comes to loading Excel files and for the most the remaining cases, the OpenOffice (in it’s more polished Cocoa version NeoOffice) works just fine. Well – as long as you do not open spreadsheet with pivot tables. In my case, the spreadsheet contained pivot tables and charts based on these tables. Numbers warned during import that this feature is not supported and the converted spreadsheet was very good looking – nicer that in Excel, but not quite so functional :-). Strangely enough, the charts were imported OK but lost the drill-down capabilities. After trying out the NeoOffice, the imported spreadsheet had retained some pivot capabilities of the original, but lost charts completely. The only resort was falling back to Office 2003 in virtual machine and using Excel. Fortunately one of the two VM’s created from old hardware had Office 2003 installed, so that worked out OK.

The other case of “works only with Windows” was the Active X control used by our VPN to get access to internal network. There is no alternative, so to get to our internal Wiki, JIRA or timesheet system, I have to start Windows in VM.

The last issue encountered has not really anything to do with platform change, but it was triggered by this, so here it goes. Back in 2002 I purchased very small and handy laser printer Samsung ML-4500. It worked well for all those years, happily attached to my Windows desktop machine which (being always on) shared it for everybody in home network. Of course, up to the point when that desktop machine was decommissioned. Because ML-4500 is parallel port only printer, has no USB, first issue was to find a machine that actually still has a parallel port (most of new machines do not). By lucky coincidence, my NAS Linux system had parallel port – so I dived into new adventure of configuring CUPS printing system under Linux and sharing the printer via Samba. Which was much easier that it may seem – hats off to Linux hackers. The ML-4500 was part of the CUPS printer’s database and was recognized right away. Only small hickup was disabled parallel port in BIOS – but after this got corrected, things worked OK (thanks to Peter for the hint).

So now I can print from Linux, can even share the printer but still cannot print from Windows or Mac. Why so ? If you try to attach the printer from Windows machine, Windows wants to install driver. The ML-4500 is not in the default driver database. I still have the original CD from Samsung, but attempt to install driver fails with completely useless error message. Updated driver is nowhere to be found. I do not remember how I did install the driver back in 2002, but nevertheless, the machine is gone. Even if I do have the driver inside VM, I do not have VMWARE installed on Linux (and do not plan to do so). So for now, only way how to print from Windows notebooks (or Macs) is to create a PDF file on the client, save it to server and then use CUPS to print it out from Linux. What a pain …

How I see it, the days of ML-4500 are counted … especially when my favorite hardware supplier has very nice color laser network printer for a great price :-).

Crossing bit boundaries


Today is a special day for this blog as two bit boundaries were crossed. This is post number 256, which means that I have used all 8 bit numbers for numbering and jumped into nine bit space. The byte is not enough any more – vive la 0x100.

Another boundary crossed today is number of hits as tracked by WordPress (which does not count my visits). In this case the number reached and crossed was 0x8000 or 32768 decimal, which brings us to upper half of the 16 bit address space. From today, full 16 bit counter must be used – and it must be even “unsigned short int” :-).

Not much blogging during weekend as I am still catching up with my de-cluttering project, enforced on me by the renovation – both in digital and physical world. The goal is to reduce number of physical computers in my office by three – to four from 7. It is unbelievable how much time it takes to clean up 4 year old Windows installation, remove all the junk and back-up what needs to be preserved. For every removed physical machine, at least one virtual is created, therefore the absolute number of used IP’s actually grows …

So far, I managed to get rid of old desktop (AMD Athlon 1800, 1 GB RAM, 2×120 GB HDD), even much older desktop running Win2000 used as Oracle DB server (P-III Celeron 400 MHz, 384 MB RAM, 40 GB HDD) and last one to clean up is another P-III – former Linux Samba Server (120 GB HDD, 512 MB RAM if I am not mistaken). I have tried out the VMWare convertor and created 10 GB virtual machines from both desktop and Oracle server using VMWare importer It is amazing how much faster the virtual machine runs on a Macbook Pro than it did on old hardware.

Oh btw, if you are in Ottawa and want two old P3 machines absolutely free for any charity or other worthy purpose, email me at firstname dot lastname at gmail. Machines are in good working condition – but without Windows. If it is for charity or school or something similar, I am willing even to help putting on a Linux distribution and deliver them to your place – if it is in reasonable distance between downtown and Kanata. The only quite fast machine – Athlon – is already gone, my son grabbed it to build some sort of digital TV recorder using Myth-TV. I do not watch TV, but I am quite curious how it will work.

Book recommendation: Seth Godin – Small is the new big


On previous weekend I had great opportunity to spend a lot of time listening to books and podcasts. The opportunity was long drive to Quebec City and back, plus the two days spent walking around with camera, taking pictures, enjoying the differences in style and architecture and listening to Seth Godin’s book – Small is the new big.

There is nothing in this book that would actually require to drive almost 500 km one way – you can comfortably get the same benefit out of it without moving out from your favorite sofa, walking around your neighborhood or on a treadmill (hi Joel). The real reason being in the capitol of La Belle Province was Skate Canada – Grand Prix competion in figure skating. And while my wife was watching Jeff Buttle, Joannie Rochette and many others – which is her favorite leisure time activity, I was walking, taking pictures and listening – which is mine.

The book is very well suited for listening while taking pictures. It consists of short comments on large number of topics – business and life related, presented in alphabetical order. This allows to do frequent stops for shots without loosing the context. If you now think that it must be boring to listen something resembling a lexicon you are wrong. Seth is original, often provocative and inconventional, sometimes “common-sensy” obvious, but never boring. I was very surprised how interesting can be a book from an expert in area of marketing – something that I never had any admiration for (or high opinion about). If you are hardcore techie like me with the same prejudice again something so non-geeky and slippery as marketing, give Seth a chance – you may be surprised.


Leopard in business environment – week 1


I have already worked through full week solely on Mac and Leopard platform with excellent results. The productivity in using Java is actually higher, thanks to faster machine and Spaces allowing to have opened few Firefox windows with Spring documentation, terminals for Ant builds, Tomcat, Eclipse and Spype/Adium to keep in touch. Spaces is about as good as having multiple monitors – the ability of switching between both with mouse and keyboard fits well in my working habits.

Speaking of Spaces – try this neat trick: press F8 and while in Space view, F9 for Expose. This will rearrange previously hidden windows and allow to click on the one you want. Another neat feature is possibility to tell application to show up in assigned space – use Preferences, Spaces and the ‘+’ button for this.

First time ever on Mac I had to print something and that was really interesting experience. After selecting Add printing, I was subconsciously expecting the dialog box asking to enter printer location URL or IP address and mentally getting ready to search for printer driver somewhere on the Net. The reality was different. Right after Add printer, OS-X somehow discovered both printer on network and I was ready to go without anything else to do on the black-and white laser. The second one (Konica-Minolta) did not have driver provided by the OS – something to finish up next week. I guess I should find out more about this Bonjour thing responsible for the printer discovery magic :-).

Also the Office documents compatibility got tested – both with iWork 08 and NeoOffice. Most documents converted without any issues – both Excel 2003 and Excel 2007 were perfectly readable in Numbers (and looked much nicer). I have experienced conversion issues with large complex document containing pivot tables and charts. Numbers notified that pivot tables cannot be converted and showed only charts, whereas NeoOffice sort-of converted the pivot tables but completely destroyed the charts. It looks like that having XP in virtual machine will be necessary after all – for situations like this. I have already installed Fusion and experimentally proved that the VM’s created on Linux are transferable to Windows and Mac: I was able to install XP into VM created under Linux, saved binary state, moved to Windows, booted it there in VMWare Player and after installing ATG suite, the same VM was running with no issues at all in Fusion. Nice.

IĀ  have also mostly solved the synchronization issue of two subtrees. The open source application JFileSync does almost everything I need – except integrated visual file compare. I am also evaluating the Path Finder which has tabs and maybe most of the TotalCommander functionality I was missing – without doing the two windows approach. So far, looks very promising !

My Essential OS X toolset – part 1


Last year, when I got my first Mac, it was a wild ride of discoveries and trying out new software. As result I have ended up with many programs installed that I do not really need or use. Fortunately, the uninstall process is as simple as install and there is no registry that could get corrupted, so it was not really a big deal. With the new one, I am going to be much more selective what I put on the harddrive and what not.

I’ve decided to keep track what I installed to make the reinstallation (should it be ever required) easier. Here is what I have installed so far:

iWork 08 – very nice replacement for Microsoft Word, Excel and Powerpoint.

TextMate ā€“ “THE editor” – Most amazing editor I have ever encountered, since Emacs. Similarly powerful (I have not really mastered it completely and mostly forgot the Emacs commands to make fair comparison) – but with UI that is nice and elegant (unlike Emacs which is super powerful but ugly like hell)

Eclipse – Java IDE most of our clients use

Netbeans Ruby IDE – the other IDE, currently the best IDE for Ruby development

Adium – chat client that can talk to MSN Messenger, Yahoo messenger and GoogleTalk. No voice, yet – this is what Skype and iChat’s are for.

QuickSilver – the launcher and much more. It is actually easier to use it than to explain it šŸ™‚

CHMOX – reader for Microsoft compiled Help file format (.CHM).

NeoOffice – I should not really need it with iWork, but until I test that the exported documents cause no troubles for the other on MS-Office, this is my “plan B”

Cord – open source Windows Remote Desktop client

Library Books – nice menulet that alerts you when books are due for return to local library. Ottawa public library is supported.

KeePassX – secure vault that stores your serial numbers, logins, passwords in very secure way. Open source, multi platform (OS-X, Linux, Windows) and the data files are fully compatible.

iTerm – another terminal. May not be necessary, as the default Terminal looks pretty good in Leopard – but it is great to have an opensource alternative, should that not be the case šŸ™‚

Transmission – bittorrent client

JungleDisk – the Amazon S3 Service client.

OmniOutliner Pro – the outliner. See the manual for details.

VMWare Fusion – virtualization environment

VLC – media player

I have also installed whole bunch of Java libraries and tools (such as Ant, Spring framework, Tomcat, Glassfish, Jakarta Commons) and Ruby gems – but that’s too much detail for the moment :-).

Ragioni per fare il grande salto


During the vacation, we stopped in small bookstore in Verona which was selling computer software as well. At the entrance, there was a poster showing smiling Finder’s face, Apple logo and announcing reasons why you would want to make the big jump – il grande salto – to Mac platform. That is to explain the title šŸ™‚

Grande Salto is exactly what I did. Without too much preparation or notice. Since Tuesday evening I am happy owner of the beautiful piece of hardware (17 inch 2.4 GHz Core 2 Duo Macbook Pro with 250 GB HDD and 4 GB of RAM) that is greatly complemented by the amazing software collection (OS X 10.5, iLife 08, iWork 08 and many others) running on it. I spent Wednesday playing with it and between ‘Wows’ and ‘Ahhs’ managed to setup the core applications I need for work: several configurations of Eclipse (with and without MyEclipseIDE), Netbeans with Ruby, couple of gems and of course THE editor. Then transferred the sources, installed Ant, Spring, Tomcat and couple of opensource packages (e.g. Jakarta Commons). And on Thursday, I jumped right into the field, to the client continuing in development of my current Java project in the place where I left it on Monday with Fujitsu N5100 running XP-ProSP2. As a plan B, I had my old notebook also with me – but did not have to resort to using it.

The switch was not easy and for few hours I had to fight old habits and muscle memory. As many years TotalCommander addict, I had created really fast and efficient workflows and habits how to move around. None of them was of course applicable. It is really hard to overcome these unconscious finger movements burned deep into your brain: F3 is File View, F4 is File Edit, F7 is create directory – when you have been using them for over 20 years since MS-DOS and Norton Commander. But eventually, I learned to appreciate and enjoy the New Ways. New Finder is really good and in combination with Spaces and Quicksilver allows at least as efficient ways – sometimes even better – how to accomplish things.

As I was expecting, using bash instead of pretty lame windows command shell is a big relief. I have forgotten 90% of my old shell script and command line edit keystroke skills, but it is still so much better. The file system operations are considerably faster and common tasks can be automated with minimal effort just by using symbolic links, simple scripts and shell variables. What is much better under Leopard is network connectivity – the way how it does browse and connect to Windows machines …

Working in Eclipse is same as under Windows – only it looks better and is faster – but (to make it fair comparison) it MUST run faster on 2.4 GHz Core2 Duo 4GB than on 3.4 GHz P-IV with 1 GB. Ability to use two finger scrolls, quick desktop switches and great screen resolution (1920×1200) makes the Macbook Pro close to perfect developer workstation.

I have still not found replacement for all features and tools I was using in Windows – but I am working on it. Most of them come from 3rd party software, not from OS. Right now, what I miss is (from TotalCommander):

– convenient directory comparison and synchronization with good GUI (with embedded on-demand file diff)

– transparent processing of the packed archives – TC makes them look and behave as directory sub-trees

– opening shell in directory / creating file in directory – aka “I am in the Project/demo/src directory now, please create the empty README.txt file here”. Mac works the other way – open editor with the new file and save the file to Project/demo/src/README.txt. Which is not necessarily worse, but just (still) against my instincts. I was used to get to directory first and press Shift-F4 (bound to start of Notepad++, prompting for name), or to click on TotalCommader toolbar icon “Open command prompt in current directory”

After working two full days, I have not found any real issues and was extremly pleased with the Leopard user experience. It is hard to explain – the differences are subtle but in whole it feels so much better than any other OS. I have been using OS-X for over a year now, but only at home and for mostly hobby-projects or after hour hacks. This is an attempt to make Mac the foundation for work environment as well, and use Windows for .NET development only, running it inside virtual machine. And it is very different experience – in two days I have learned a lot and found out about many more things to discover.

To make the grande salto even more complete (and potentially devastating in case of bad landing ;-)), I have also during last week wiped out my desktop at Thinknostic and instead XP-Pro installed Fedora Linux with KDE desktop. With the Mac available and working mostly out of office I do not get so much time to spend on desktop – but it is good to have same platform on both places. I have already configured first few VMWARE virtual machines – with both Linux and Windows as guest OS. The Vmware player works great under Linux, I cannot wait until final version of the Fusion 1.1 is out to test on on the Mac.