Your Windows IDE sucks? Replace it with Your Favorite Editor on the Mac!
For a current project, I need to use a Windows-based IDE that really sucks. So instead of letting the IDE degrade my productivity, I decided to use some combined Windows/Mac wizardry to solve the problem. Read more
140 x 365 = 2659
It’s exactly one year since I posted my first tweet on Twitter – time for a review.
Before I give some reasons why I use Twitter, let’s have a look at some stats.
I sent out roughly 2660 tweets, on average 8.4 per day:
Looking at my tweet density, I hardly seem to be getting any sleep, which is not entirely true ![]()
Read more
Mac in Black: Taking Screenshots with Skitch
Last week, Heiko, Jan and I were talking about blogging about the tools that make our lifes easier on the Mac. “Isn’t the Mac supposed to be making your life easier anyway?” you might ask. Well, most things really are easy with a Mac. However, there are some things that cannot be done easily with a Mac. More often than not, this is due to the fact that Apple tries to hide the complexity of computers from nosy users. Which is fine for beginners – but makes life harder for the pros. Thankfully, there is a vast array of tools out there that fill the gap and make life on a Mac easier.
I am going to try to post one tool recommendation per week – unless I am on vacation or speaking at a conference.
So without further ado, here is the first tool: Skitch!
Skitch is a tool that helps you to create screenshots. I need to create lots of screenshots: for documentation, to explain things to people by mail, and to annotate my bug reports. Of course, Mac OSX has several shortcuts to create screenshots, so what’s the deal about Skitch?
First of all, Skitch allows you to view and edit your screenshot: press CMD+SHIFT+5, select the capture area and voilà – Skitch opens a window showing the screenshot just taken:

You can now use the tools at the left hand side of the Skitch window to highlight certain areas of the screenshot, which comes on handy if you’re filing a bug report for your favorite open source tool.
When you’re done with editing, you can either drag the image to another application (using the “drag me” tab at the bottom of the window) or you can post the image to the web. I have set up Skitch to use my Flickr account, so I can use the images in other tools right away (I am writing my blog posts in Mars Edit, which has a great Flickr integration, so I’ve got a complete tool chain here). Skitch supports a number of file formats (JPG, SVG, PDF, TIF, GIF, BMP and native Skitch), so you can select the desired file format before sending the image to the web or dragging it to another application.
All images are also stored in a local history, so if you need to go back to one of the screenshots you took a while ago, no problem with Skitch.
Skitch really has made my life on my Mac easier because it integrates with other tools (both online and offline) so well and because it eliminates many steps that made dealign with screenshots so cumbersome before.
You can download Skitch beta from http://www.skitch.com. You will be asked to sign up, however, both the download and the software will work without registering.
Happy screen shooting
Formatting your code using the Eclipse Code Formatter
In case you needed to format a batch of code using a command line utility, you probably went for Jalopy or JIndent. Thanks to Ben Konrath of Red Hat, you no longer need to do so: since Eclipse 3.2, you can use the built-in code formatter to format your Java code using the command line.
Here’s how:
The hardest part of it all is to create the config file for the formatter. To create it, select one of your existing projects, and activate project specific formatter settings (Properties -> Java Code Style -> Formatter -> Enable project specific settings):

Configure the code formatter as desired. Click OK when you’re done.
Using a file explorer, navigate to <path to your workspace>/<yourproject>/.settings and copy org.eclipse.jdt.core.prefs to a new location. This file contains all your formatting settings.
To invoke the code formatter using the command line issue the following command:
<path-to-eclipse>\eclipse.exe -vm <path-to-vm>\java.exe -application org.eclipse.jdt.core.JavaCodeFormatter -verbose -config <path-to-config-file>\org.eclipse.jdt.core.prefs <path-to-your-source-files>\*.java
In case the formatter complains about your code, your code probably contains Java 5 constructs and you have to add the following lines to your config file to make everything work:
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.source=1.5
Mind-boggling #1: Ant patternset
If you’re a Windows user like me, you are used to the idea that a filename consist of a first (the name) and a second part (the extension). Recently, I had to write a little Ant file that copies an entire JRE to another directory. In order to do this, I used the following snippet:
<!-- copy JRE -->
<copy todir="${target.client.dir}/jre">
<fileset dir="${project.jre.dir}/jre">
<include name="**/*.*" />
</fileset>
Now, there is something wrong with this snippet. Can you spot the mistake? I didn’t notice the mistake until my customer complained to me that the timezone information could not be read. It turned out that the timezone information is stored in files without an extension.
But why weren’t they copied? Didn’t I tell Ant to copy all files by specifying “**/*.*”?
No, I didn’t! The pattern “*.*” means “all files that contain a dot”. Doh. Timezone files do not have a dot. The solution to the problem is quite simple: just remove the “.*”, and you’re done:
<!-- copy JRE -->
<copy todir="${target.client.dir}/jre">
<fileset dir="${project.jre.dir}/jre">
<include name="**/*" />
</fileset>
So, if you want to copy all files, remember to not use the “*.*” notation used to us Windows users, but use the “*” notation used to Linux users.
Podcasting with a Palm Device
Podcasting seems to get momentum. Today, I dropped by Frank Westphal’s web site. Frank has a very nice podcast named “Tonabnehmer” dealing with Agile Software Development.
Since I do not own an iPod, but instead call a Palm Tungsten E my own, I wondered whether I could use my Palm for listening to podcasts. Yes, I can! Here’s how I did it:
- First, get a podcast aggregator. I use Doppler.
- Get an MP3 player for your Palm. I use Real One Player for Palm, which came with my Tungsten E.
- Now it is about time to subscrie to a podcast feed. Here is the link to Frank’s Tonabnehmer: http://frankwestphal.podhost.de/rss
- Doppler supports sending all downloaded files to an external programm, e.g. iTunes. That’s where we can plug-in!
- Download this ZIP file and place the contained batch file in a directory of your choice.
- You’ll have to adjust the path information in the file, of course.
- Open the Doppler config dialog and associate MP3 files with your new command file. The application field must contain the path to the batch file you just extracted, the parameters field must contain the text
"{1}". - Now, place an SD card in an SD writer attached to your computer and start downloading a podcast. After downloading has finished, the batch file will copy the MP3 files to your Palm’s SD card.
- Just place the SD card back into your palm and you’re ready to go!
Google Earth rocks!
In the german news magazine “Der SPIEGEL“, I read a quite promising article about Google Earth. Today, I gave it a try and was impressed by the smoothness of the tool right away. Here is a file that shows you where I have lived so far.
Opera 8 is here
After 3 official beta versions, Opera has relased version 8 of the Opera browser. You can get it in Windows and Linux flavors.
The free version display ad banners at the top of the window. To make them go away, you can buy a license at 34 EUR. If you happen to have issue 8 of the german c’t magazine, you are eligible to buy the browser for only 8 EUR – a great deal!
Oh, and here are the new features and changes: Opera changelog
I have been using Opera since version 7.x and never want to use any other browser. The most useful features in my eyes are:
Tabbed browsing
Support for sessions (opens a set of sites you browse regularly)
Mouse gestures
Quick Preferences (now, you can enable / disable you proxy with just 2 (!) keystrokes)
Generating Computer Science research papers
Ever wanted to write your own Computer Science research paper, but didn’t find the time? SCIgen – An Automatic CS Paper Generator can generate a random paper for you – check it out!
MS Project – the most enpensive tool for creating Gantt charts?
Today, a former colleague of mine called to ask me which tool I’d recommend for managing a software development project. He then told me that his project manager just started using MS Project, or should I rather say, he tried to use it. From what he told me, it appeared to me that they tried to use the resource planning feature: define the timeline and the tasks, then assign people to the tasks and have Project calculate when they should work on which task. When he started telling me about this, I already knew what their problem was: it just doesn’t work in a sensible way.
So, all I could tell him was to stop using MS Project for managing the project and use some custom made Excel table or a tool like eGroupware that has a built-in project management module that is not trying to be smart.
My project manager was in the room when I was talking to my former colleague on the phone and when I said “all project managers that I know of use Excel tables and only use Project for drawing Gannt charts”, she put two thumbs up.
I just don’t understand why this tool is so expensive and why people still try using it…






