Pomodoro desktop reached 0.30 release

Everaldo nicely contributed with new gorgeous icons, plus some small fixes here and there.


Check out the best pomodoro application in the whole world
Comments (14) Show Comments

Pomodoro desktop for Mac


Just announced my Pomodoro desktop client for mac. It is a simple but effective way to manage your (coding) time. I am planning to add a lot of interesting features to it, so stay tuned!
Comments (1) Show Comments

The most compatible partitioning OSX scheme?

As I wrote in my previous entry, various apple software has issues with HFSX, which is a Leopard interesting option for unix oldies.
I think there is probably no value to have filenames differing only in case (e.g., Readme an README), but, as a matter of fact these things can happen. And checking out project files with same name from subversion can be really annoying.

So, apparently OSX users have to face this decision:

  • HFS+, case insensitive, compatible with photoshop and other (poorly designed) software, but not unix compliant (potential problems with mysql, cvs, svn, etc.)

  • HFSX, case sensitive, unix compliant (mysql, cvs, svn, etc.) but facing potential problems with a lot of apple and third party software (filevault, photoshop CS3, photoshop elements, and probably lot of others)

Not an easy one, though I'd probably have gone for the HFS+. But luckily with Leopard is easy to partition your disk (ie you don't need anymore iPartition or similar), and you can mix and match HFS+ and HFSX partitions. So, to minimize the impact of case sensitivity/insensitivity problem, you can just slice up your disk in - let's say - 3 partitions:

  • The System one, case insensitive. Photoshop CS3 writes things in the /System and /Library folders, and its installer simply quits if you boot your mac from a case sensitive FS.

  • Another one with /Application and /Users, case insensitive. Here you will install all the adobe and other not-unix-compliant software. This will be the default for all your applications. Case insensitive /Users is needed for FileVault.
  • Another one for other unix software, case sensitive. Here you can checkout from cvs/svn, install mysql and so on. You can also mount /Users here if FileVault is not an option for you

To do that, just start DiskUtility (usually in /Applications/Utilities), select your OSX disk and choose the Partition tab. Then add as many partitions you like, and format them as planned. Easily done that said.

Ah, and don't forget to edit your .profile:

bind "set show-all-if-ambiguous On"
bind "set completion-ignore-case On"

so that bash don't get in your way when dealing with filenames differing only in case.
Comments (1) Show Comments

The case for case insensitivity

when I first discovered that the default file system on OSX was case insensitive, I said it was impossible. I was sure it's case sensitive, it's unix, and unix IS case insensitive, isn't it? The truth was that I had been working on it for more than a year, but my mbp was indeed case insensitive, and I never noticed only it because the bash was shielding me from this detail. I configured bash to be more case-aware (bind "completion-ignore-case On"), but after having some issues with subversion, I decided that my next installation would have been a standard unix case sensitive one.

So, fast forward to present. I decided to install the HFS+ case sensitive file system (aka HFSX), although I had a little voice in my head screaming... I also read some warnings but decided to proceed anyway. After a few months of working on a case sensitive mac, it's time to wrap up:

- Backups. It's reported that backup tools on mac can be confused by case sensitive fs. Indeed, Time Machine didn't recognize its own backup, and suggested me to format again the external firewire (sic!). Ok, I copied the files manually and then started again with time machine. Scaring, isn't it? mmm... perhaps I had to listen to the little voice.
- FileVault. Then I discovered that Filevault simply DOESN'T work on a case sensitive file system. So, if you are planning to use it, beware: you'll have to choose between filevault and case sensitivity. I don't know if FileWault is worth its weight, but this is really annoying. Well, let's go on with our case sensitive FS for a while.
- Adobe. Can you believe it? Photoshop CS3, Photoshop Elements and other well known mainstream apps DON'T work on a case sensitive file system. This was really hard to believe for me, but apparently they can't spend 1 week of their precious engineering time to fix this. Someone managed to workaround the issue (I'd say it's a bug, but the Adobe guys don't think so) but it looks to me very dangerous. The truth is that photoshop is untested on HFSX, and any serious user should not rely on the "hacked" version.
- iPhoto. I have also read some people having issues with iPhoto on HFSX

So, blame on Apple, because they can't manage to make their own apps working well on HFSX, and because they make the case insensitive fs the default. And blame on Adobe, because they are supposed to be a serious software house: in 2008 saying that this is not an issue and/or it's not worth fixing it's kinda lame. C'mon guys, just renaming some files in your VCS and do some regression testing can't be that hard!

Ah, I'll go back with a case insensitive FS as soon as possible. Thanks, Adobe.

File a bug to Apple: add Java 6 to Mac OS X

Henry Story had a great idea. 

Let's file a bug to Apple asking for Java 6 on Mac OS X, and remember to add this string 13949712720901ForOSX to your blog tags, so Apple will easily track how many people needs an official Java6 for OSX.

In the meantime, thanks to Landon Fuller, we have this.
Comments (9) Show Comments

Leopard: things I like and things I dislike, a developer perspective

It's more than a full day working on Leopard right now. So, here are my first impressions on what I like and what I don't like from a developer perspective.What I like:
  1. Time Machine. Easy, almost everyone paid lip service to TM. But it's still impressive when you look at it
  2. Dtrace and Instruments. This is a joy for developers. More on this in next posts, in the meanwhile have a look at Bryan Cantrill blog,  dtrace creator 
  3. Spaces. Another easy one. Bye bye buggy Virtue Desktop, welcome pre-organized spaces (yes, you can assign applications to predefined spaces)
  4. Terminal. You won't need anymore iTerm to tail logs in tabbed windows.
  5. Calendar icon now shows the real date and not 17 of July!
  6. Ruby/Rails out of the box. Very nice to have ruby/rails integrated. Well, I would have preferred a java 6 virtual machine, but it's nonetheless a nice feature. Not as much as the Calendar icon, but a good one :). Jokes aside, is nice that ruby apps on apple are also Dtraceable
What I don't like:
  1. No Java 6. No workarounds: but java 5 looks very fast, and rumors are that we will see java 6 very soon. (hopefully with fast opengl rendered Swing, working Java Sound and a lot of dtrace probes)
  2. PostgreSql from MacPorts failed to compile, and I still hadn't had time to see why
  3. The 3D Dock looks ugly. Easy workaround:  simply type "defaults write com.apple.dock no-glass -boolean YES" and then a "killall Dock" in the command line
  4. The tranlucent menu looks ugly too. This isn't easily and completely solved right now
  5. Skype works only the first time! This happens because Skype self-modifies itself after the first launch, and the app signing mechanism break. Either wait for Skype folks to solve it or reinstall with the firewall disabled. More info here
  6. Intellij Idea 7.0.1 can't be assigned to a space :(
Comments (1) Show Comments

Migration Assistant, thank you very much!

Yesterday I received a shiny new MBP. Being my 5th Mac with OSX, I thought I almost knew all of the basics. Well, I was wrong.

I was almost ready with my rsync scripts and a great dose of patience to migrate all my stuff to the new beast when one of my colleagues pointed me to Migration Assistant. For me, that was one of those misterious icons you never use, probably being there for obscure reasons I certainly don't need to cope with, like Grapher (/Application/Utilities/Grapher.app), or ODBC Administrator (/Application/Utilities/ODBC Administrator.app), or [Put your favourite example here]. You know, that kind of stuff even Steve Jobs doesn't know exactly why is there or what is for.

Well, it turns out that Migration Assistant is really really useful and it does really really work. All you need is a firewire cable, then:

  • you connect the old mac with the new one

  • you start the Migration Assistant (/Application/Utilities/Migration Assistant.app), or, even better, you choose to "migrate data from another mac" during the setup procedure wizard

  • you (re)start the old mac keeping the T button pressed: that makes your mac go in "firewire disk" mode. You will see a fancy firewire logo moving on your screen when it's ready

  • you choose from a wizard what you want to migrate (Users, Applications, and so on). I selected all the checkboxes

  • you wait :)

And then you will have a new mac, virtually identical to the old one. Same desktop, same apps, same stuff in the trash bin, same history in the browser, same network options, same items at startup, etc. I had only 3 minor issues, and here are the workarounds:

  • Some icons on the Dock was broken, showing a question mark. I just clicked on them to solve this :)

  • Alfresco didn't work anymore. Looking at the logs, it was really a postgres problem: the postgres user didn't migrate (in fact, it wasn't even selectable in the Migration Assistant wizard, probably because the UID was to low or too high to be in the normal user range, who knows?). This is really a piece of cake, just recreate the postgres user and group with the same UID/GID with Netinfo Manager (/Applications/Utilities/NetInfo Manager.app) or using the shell.

  • The admin user wasn't anymore an admin! The user data correctly migrated, but OSX was confused and, although it had the Admin checkbox correctly set, couldn't act as an administrator (sudo for example didn't work). Being the only Admin user, OSX don't let you unset/reset the checkbox. The workaround here is simply to create another Foo admin user, then unset and reset your real Admin user Administration checkbox, and then delete the Foo admin user.

This time, the god of system administrators smiled at me and I had an up and running laptop in a few hours (just about 2 hours for 50Gb on the 400Mb firewire) and a few minutes to fix minor issues. Well done!
Comments (5) Show Comments