July 7 2008

Tools of the trade

As a graphic designer and web developer I’ve come to rely on some specific tools to get my job done. Most graphic designers are tied to the Big Three in desktop publishing — Photoshop, Illustrator and InDesign — all developed by Adobe, while web developers often use Dreamweaver for coding and Flash — if you’re a bad web developer ;-) . Although the latter group is a bit less homogenic, a lot of web developers just use a text editor.

I’ve ditched Photoshop, Illustrator and InDesign a while ago and was a happy user of GIMP, Inkscape and Scribus respectively. Those applications are of course available on Linux as well, but in a lot of cases I had to find a replacement application. I’ve compiled a list of the most important applications I use daily — Mac application first followed by their Linux equivalent under the line:

- — - — - — - — - — - — - — - — - — - — - — -

Mail.app (Mac)
The OS X default mail client, which I found to be quite good — Spotlight mail search being one of the major features for me. I’ve tried Thunderbird, which is too clunky (as are all Mozilla applications) for my tastes and even used Entourage at the very beginning of my life as a Mac user.

The Claws Mail icon Claws Mail (Linux)
I thought I’d found my perfect mail client in Thunderbird at first, but I had some serious problems importing my email from Mail.app — which uses separate .emlx files to store each mail message, so you have to convert them to mbox files. Frustrated with Thunderbird I installed Claws Mail instead and I’ve come to like it. By adding a few plugins it has become a fully fledged equivalent of Apple’s Mail.

- — - — - — - — - — - — - — - — - — - — - — -

Safari (Mac)
Safari might not be the browser with the most features, but I found the RSS capabilities to be a redeeming feature. Unfortunately the latest version had problems parsing my 100+ feeds, which often caused the application to a grinding halt (aka the “spinning beachbal fiesta”).

The Iceweasel icon The Arora icon Iceweasel and Arora (Linux)
I liked Firefox on the Mac for its abundance of extensions, but hated it for its poor OS integration. Now I use Iceweasel (the Debian rebranded version of Firefox) as my main browser. OS integration is still a problem, also because Iceweasel doesn’t work well with the custom GTK theme I installed. But I think it’s the best browser option available for Linux. I also installed Arora, which is a simple WebKit browser.

- — - — - — - — - — - — - — - — - — - — - — -

skEdit (Mac)
skEdit is an excellent text editor for the Mac, developed by just one person in his spare time. I used it daily and while the syntax highlighting engine could use some more polish, I really liked the code completion capabilities and project management of the editor. Even Panic’s Coda couldn’t persuade me to switch when it was first released in 2007.

The Geany icon Geany (Linux)
I’ve tried a lot of options, including Kate, Bluefish, Screem and Scribes, before settling with Geany. Because Kate is KDE application it didn’t integrate well with my GNOME desktop and both Bluefish, Screem and Scribes don’t offer code completion, which is a must for me after becoming accustomed to it while using skEdit. I might reconsider Bluefish if it gains code completion, but Geany — my current editor — has a lot going for it. Geany has code completion (unfortunately not for CSS) and is aimed to be lightweight. If project management was handled more like skEdit’s implementation it would be the perfect equivalent.

- — - — - — - — - — - — - — - — - — - — - — -

Transmit (Mac)
Transmit is a very nice FTP application, developed by the aforementioned Panic. I particularly liked the favourites management and the synchronisation feature, which I used very often.

The gFTP icon gFTP (Linux)
Unfortunately I haven’t found an equivalent for Transmit yet. Of course there are a lot of FTP clients for Linux and I’m currently using gFTP, but it’s just not as intuitive as using Transmit. Synchronisation isn’t part of the application, for example, and while it can be done with other ones (like rsync), it’s just not very practical. But maybe there’s such an FTP application being developed, but I haven’t found it yet — though I’ve heard good things about lftp, but that one is GUI-less.

- — - — - — - — - — - — - — - — - — - — - — -

iBiz (Mac)
iBiz as a billing and account management software is very useful. A major feature is the fact that it can run on a server with clients connecting to the server application through Bonjour. Despite the fact that the application is marred with some severe interface bugs and usability issues, iBiz is very capable billing software.

No alternative, but I haven’t been looking for it, to be honest. iBiz is used by my colleague and me at work so that we have a central database of invoices and budget proposals. Replacing iBiz for both of us seems to be a better way, I don’t think any open source application is capable of using the file architecture of iBiz.

- — - — - — - — - — - — - — - — - — - — - — -

iCal (Mac)
I used iCal to synchronise with our office calendars and publish my own calendar tot the office server.

The Iceowl icon Iceowl (Linux)
On Mac OS X I had the choice to run iCal or Sunbird. iCal looks better, so I went for that one. On Debian I use Iceowl (which is the rebranded Debian version of Sunbird).

- — - — - — - — - — - — - — - — - — - — - — -

NeoOffice (Mac)
NeoOffice replaced Microsoft Office as my viewer for Word documents, Excel files and PowerPoint presentations.

The AbiWord icon The Gnumeric icon AbiWord and Gnumeric (Linux)
I don’t really need a complete office suite, so I chose not to install Open Office on Debian. Instead I installed the much more lightweight AbiWord and Gnumeric. Both of them can open files created by both Open Office and Microsoft Office. I guess I’ll have to live without an application that opens Power Point presentations, but I hated those things anyway.

- — - — - — - — - — - — - — - — - — - — - — -

Quicksilver (Mac)
Quicksilver is great. It’s hard to explain how I used this excellent application, because its capabilities extend to more than just an application launcher, but it allowed me to interface with my operating system much faster.

The Gnome Do icon GNOME Do (Linux)
There are three applications that I know of that offer more or less the same possibilities as Quicksilver, being Katapult (for KDE), GNOME Launch Box and GNOME-Do. I had GNOME Launch Box installed at first, but it’s a very limited implementation of what Quicksilver is for the Mac. I came across Gnome Do later and it’s great, it also comes with quite a lot of plugins to install.

- — - — - — - — - — - — - — - — - — - — - — -

Chicken of the VNC (Mac)
We run a headless file server at our office, so I use a VNC connection to do some administrative work on that machine. Chicken of the VNC is a simple Mac application which allows you to easily connect to a remote desktop.

The GTK VNC Viewer icon GTK VNC Viewer (Linux)
I used Vinagre at first, but there’s a bug in the current sid version which stopped me from entering the remote desktop. After that had occurred there was no way to reconnect to the desktop with any VNC client (Chicken of the VNC included) other than rebooting the remote machine. I now use GTK VNC Viewer which is a very simple client (no , but does its job admirably.

- — - — - — - — - — - — - — - — - — - — - — -

GIMP, Inkscape, Scribus (Mac)
The problem with running a lot of native Linux applications on a Mac is X11.app, Apples implementation of the X Window System. The problem is that by running applications in the X11 environment of OS X they never achieve the level of integration native OS X applications.

Since Apples move to Intel and the porting efforts of GTK+ by Imendio native Aqua versions of GIMP, Inkscape and Scribus are rapidly getting closer to completion. There are two groups I know of working on a native version of GIMP, one has a testing release available. I also compiled native versions of both the latest Inkscape and Scribus myself, following tutorials on the respective application wikis. Though those builds are far from complete or polished, they are very usable.

The GIMP icon The Inkscape icon The Scribus icon GIMP, Inkscape, Scribus (Linux)
Both GIMP, Scribus and Inkscape are of course available for Linux. But I have to say that, although it’s quite logical, the applications look much better in their native environment. All the more reason for Aqua native version on Mac OS X

- — - — - — - — - — - — - — - — - — - — - — -

iTunes (Mac)
There are a lot of things I like about iTunes, on the whole it’s a very decent music manager capable of managing large music collections. The whole Cover Flow thing Apple bought and implemented in both iTunes and later in the Finder is of course just plain silly. Other features, like the three-paned browser and the album view are very nice and handy.

The Banshee icon Banshee (Linux)
Rhythmbox, the default player for the GNOME desktop, seemed like a nice option, but I have big issues with audio buffering. When I quickly minimise and maximise windows, something which a dual core machine with 2GB ram should be able to handle, Rhythmbox playback stutters or pauses for a few seconds. I experienced this on my triple boot installation with Debian on a 8 GB partition and no proper swap space, so that might have caused the problem. I haven’t tested it with the current setup, because I’ve used Banshee ever since. I might try Rhythmbox again in the near future.

July 7 2008

I hate ATI.

I sincerely hate ATI, or AMD to be precise, because the two companies merged in 2006. My machine is equipped with a ATI Mobility Radeon X1600 (newer MacBook Pros come with an Nvidia card) and I used CrossOver Mac to play my games (Guild Wars primarily).

I thought I could do the same on Linux with CrossOver Linux or even just Wine, but I hadn’t counted on the proprietary fglrx graphics drivers AMD releases. As of yet, running Guild Wars isn’t possible due to a serious bug in the drivers. According to Wine developer Stefan Dösinger fglrx crashes as soon as an application tries to switch a rendering thread.
The 8.5 driver release just crashes as soon as the Guild Wars login screen should be displayed, 8.6 seriously fucks up my X session (which I have to restart after it occurs) by splitting the screen in two blurry parts with a nice black chequered vertical border in the middle.

What I really don’t understand is why AMD doesn’t open source their Radeon drivers. Nvidia doesn’t as well, but at least it’s a decent driver, from what I’ve heard. AMD instead has two drivers, the proprietary fglrx (notoriously buggy) and the radeonhd (incomplete, especially in the 3D department). WHY?! Seriously, why the need for two drivers?

Why not combine those two efforts, instead of two incomplete projects? I mean, AMD is all about selling hardware, not software, so why not open source the drivers? Probably it’s about protecting patents and company secrets, the usual nonsense which brings technological development to a screeching halt.

I guess I’ll have to read a book in the meantime and forget about Guild Wars until AMD decides to publish an 8.7 release, which isn’t a guarantee it contains a fix for the bug that’s plaguing me.

July 7 2008

Keeping up appearances

Call me superficial, but one of the main reasons I used Mac OS X was because it looked quite good. Apple’s latest iteration, Leopard, has the most consistent look of all the published versions of the OS. When I was still using Tiger I used a theme package called UNO to get rid of the horrific brushed metal remnants in the system GUI. Brushed metal might have looked good on OS 9 way back when, but now it looks awfully dated.

One of my main concerns with Debian — or any other flavour of Linux — was that it looked ugly by default, or so I thought. But it doesn’t, most distributions come with a nice GUI theme by default nowadays.

Debian installs GNOME and uses Clearlooks by default, which doesn’t look at all bad. My main gripes with the default look of the Debian desktop are:

  • Huge blue window borders when using Clearlooks, I don’t need borders on the left, bottom and right side of my window, only a small top bar will suffice;
  • I don’t care much for the style of the default GNOME icons;
  • Ugly default GUI font (Sans), which looks thin and dithered even with subpixel hinting and smoothing turned on.

The first two problems were solved easily by installing the Aurora GTK engine (deb packages are here) instead of Clearlooks and using the icons of the Tango project. My only concern is that Iceweasel doesn’t play along with Aurora, the entries in my bookmarks bar have a grey background when hovered over and the same goes for interface widgets in webforms. Maybe editing my userChrome.css might have some positive effects on the overall look. Installing Aurora doesn’t replace the window decorations, but since I wanted to use Compiz-Fusion and Emerald anyway, I looked for a nice Emerald theme and found the Alumninium Emerald theme. I replaced some of the icons with the ones from Scaled Black Mod, because I don’t think a maximise button should look like you’re about to eject something and four square dots aren’t very clear as close buttons.

You can download the repackaged version of the theme here, if you want.
The Aluminium Emerald theme is created by Silmathoron (licensed under the CC Attrib-Noncom-Sharealike), the original Scaled: Black theme was made by Twigsby (licensed under the GPL).

Now as for point three, about anti aliasing, that’s another matter. The default GNOME installation looks like this — all the GNOME screenshots have subpixel hinting and smoothing enabled at its fullest, by the way:

The GNOME desktop with the Sans as GUI font

While it might seem like a very crisp rendering of the font, a whole desktop using this font isn’t that easy on the eye. Mac OS X has very nice system wide hinting and anti aliasing and uses the Lucida Grande as a GUI font. Which looks like this:

The Mac OS X Leopard menu bar

I think OS X gets it right where font smoothing and hinting is concerned. The font appearance of the default GNOME interface font resembles the way how Windows XP looks when Cleartype isn’t enabled — which it isn’t by default for some strange reason.
So I thought I was smart by replacing the Sans with one of the Lucida varieties. Unfortunately that didn’t do much good. The first doesn’t look bad (Lucida Sans), but the second one is clearly not fit as a GUI font.

The GNOME desktop with the Lucida Sans as GUI font

The GNOME desktop with the Lucida as GUI font

So I looked around on the web and found a proposal regarding a new, unified interface font for Ubuntu put forward as part of the Ubuntu brainstorm. I believe Ubuntu currently uses the DejaVu Sans Book as its main UI font. The DejaVu family actually is what I was looking for (it can be found the Debian repositories), nice looks and subpixel hinting and smoothing approaches the level of quality seen in Mac OS X. The Book variant of the DejaVu is a bit wide for my tastes, so I used the Condensed version (which is still experimental) and I think it looks great:

The GNOME desktop with the Deja Vu Sans as GUI font

My desktop currently looks like this:

My current desktop My current desktop with some windows

July 7 2008

I choose you, Debian, to be my…

So I decided to switch operating systems a couple of weeks ago. I’ve used closed source operating systems all my life, starting with MS-DOS on a Vendex Headstart XT machine (Microsoft still even lists a bug on its website and do watch the hilarious advertisement on Youtube). After that I had to endure both Windows 95, 98 and XP before buying a second hand Apple G4 desktop which came with Mac OS X Panther. When my work required me to be more mobile I decided to buy a MacBook Pro, which were recently introduced at that time. It’s the machine I continue to work with today.

Mac OS X made life much easier, introducing useful features with each new version of OS X I used (Panther, Tiger and Leopard). Functionality like Exposé and more recently Quick Look might at first appear as useless interface “bling” but in practice really help you navigate your system much more easily. Of course some bling is hopelessly useless, such as implementing something like Cover Flow in a file manager or having a separate desktop layer to store widgets which aren’t particularly handy and don’t follow the standard Apple interface guidelines.

The only closed source, proprietary software I used in the end were my text editor (the excellent skEdit), FTP application (Transmit), invoicing software (iBiz), Mail.app, Safari web browser and the Mac OS X operating system. I already used free and open source software for most of my other daily activities, so why not migrate to a complete free/open source system, I thought?
The announcement of Snow Leopard and the strong rumour that the Power PC platform will be officially abandoned after the new Leopard upgrade by Steve Jobs and Phil Schiller during the WWDC 2008, also made me change my mind about running proprietary software. I’ve come to dislike the radical way with which Apple drops support for its platforms (the last PowerPCs were sold two years ago) and the pace at which software packages start requiring new versions of an operating system. Of course it’s called progress and nobody forces you to upgrade to the latest and greatest. But on the other hand newer versions of applications force you to upgrade your whole system eventually. I’m aware that this is common practice in the world of software — either commercial or free — but the rate at which a platform like Apple is developing this upgrade requirement seems artificial in many ways and driven by the commercial incentive to create a bigger profit. Which is, well, one of the biggest reasons why commercial companies exist.

The drive to progress is also present in the Free/Open Source world, but it doesn’t inherently come at the cost of investing in a new software ecosystem. Take Compiz-Fusion for example, which provides the equivalent of desktop “bling” found in Mac OS X and Windows Vista. While Windows Vista has some to be able to run the Ultimate version of its Aero interface, Compiz can accomplish the same on relatively old hardware. The abundance and freedom of choice is also a big plus. For example, it might not be the best choice to run the latest GNOME or KDE on ancient hardware, but you can choose from a wide variety of desktop environments — like Xfce or Blackbox.

So I decided to switch to use Free/Open Source software. My operating system of choice is Debian. In part because I like the philosophy of the OS composed entirely of free software. Unfortunately I couldn’t live with some closed source stuff (the ATI fglrx drivers), so I enabled the non free repositories in aptitude. Another reason why I chose Debian is the fact that Ubuntu, which seems almost omnipresent on the web these days (most howto resources refer to Ubuntu in some way or another), is based on Debian, so a lot of tutorials on how to set up the system also apply (in part) to Debian.

At first I was a bit hesitant and partitioned my hard drive to accommodate a triple boot install of Mac OS X Leopard, Windows XP (both already there) and Debian. I used these excellent guides regarding the MacBook and MacBook Pro on the Debian wiki. I’m not sure how much of the stuff in those guides is now outdated, but especially the first chapters on how to resize the disk and set up rEFIt was very valuable.
I ended up with Debian on a 8 GB partition working perfectly alongside OS X and Windows on my MacBook Pro. After a few days however, I decided to ditch OS X completely, wiped my hard drive and installed a fresh copy of Debian on my machine which now dual boots Debian and Windows XP, for testing websites in Internet Explorer and because some games don’t yet work in Wine.

I had some problems booting with this setup, because I missed a very important part of the MacBook guide on the Debian wiki. rEFIt took care of my triple boot setup before, but the dual boot situation without OS X requires some other tweaks at the end of the Debian installation. I forgot to synchronize the GPT (GUID Partition Table). From the Debian wiki:

[!] Install the GRUB boot loader on a hard disk:
Do not install the GRUB boot loader. So, leave this menu item and go to the main menu by selecting ‹Go back›.

Synchronize MBR and GPT: Switch to the second virtual console by pressing ctrl-alt-F2, press return to start the shell, and then enter

chroot /target aptitude install refit
/target/sbin/gptsync /dev/sda

and enter ‘y’ at the prompt. This synchronizes the MBR from the GPT, which were made out of sync by parted.

(The directory /target is the directory in which the Debian installer installs the new system and it later becomes the root directory /.)

Then continue with installing your boot loader.

So now Debian unstable/sid is my primary OS and I’ve used it happily for about two weeks now. The reason why I’m running sid is (I started with testing/lenny), despite my comments about forced upgrades above, I really do like to try out new stuff or use more recent applications which are at a very low version number in lenny or etch or do not even exist in those repositories.