Building notes, projects, and ocasional rants


last update:

XMPP and Perl

I’m writing an external component in POE::Component::Jabber. It’s a custom development that will link to a XMPP server. POE::Component::Jabber is nice, but it seems to me that I’m investing in something that I won’t be able to reuse. There is no clear way to create a standalone module or plugin to hide the details of a certain protocol (like the jabber:iq:register). I have some old code, XMPP::Session, that should solve this problem.

Tiger notes

As I said before, I’m not upgrading to Tiger until sometime next month. Yet, I need to keep some links to things that I need to test or fix in my Tiger setup. The good news in Tiger for scripting fans like me, is that Perl and Ruby have decent and recent versions. The bad news is that at least Ruby has a bad configuration file. From what I could understand, it seems that they left a CFLAGS=-arch i386 in a config file… I can’t wait the rumor sites to get this one… A fix is available.

Johannes Ernst's Blog

Johannes Ernst’s Blog: I’d like to suggest that some of the world’s most successful distributed software architectures are neither client-server nor peer-to-peer when you look at them closely. They follow an architectural pattern that I’d like to call the 4-Point Architecture. I like his point of view. Yet, I don’t think that all of the rules make sense. In particular: No dark point ever interacts directly with another dark point, they always go through their respective bright points first.

Upgrade time for my powerbook

So, it’s upgrade time to update my powerbook. No, I’m not installing Tiger yet, I need my powerbook in working order. I’ll wait until 1 week after 10.4.1 to install that one. I’m upgrading to 10.3.9 only because I want to upgrade to Quicktime 7 and try some H.264 goodness (see also this impressive report). Right now, I have 11 items in my Software Update Window. So, I’ll see you all (three of you) in 20 minutes or so.

Back from the dead

Ok, so we’re back! Simplicidade was down for a couple of days. The good news is that it wasn’t a hardware problem. When I got to the data-center where we are hosted, the machine was powered down (!!). Nuno looked at the logs and apparently the kernel was upgraded and at the end it automagically rebooted. The problem is that after the reboot, it did a halt. We’ll have to figure this one out.

BabySafe. Pay the gentlemen. It’s really the only safe way to put your laptop in the hands of the kid. It protects your data (although your screen is still a bit exposed). And why you want to put the mac in the hands of your kid? Well, it’s warfare. My wife prefers Windows, and I prefer UNIX and Mac in particular. So we have to win the kid when he’s young. for code snippets

Nice: Snippets allows you to upload small snippets of code in several languages and tag them in a way. Very nice.

Clarification about last post

The fact that I had to write so little code is a tribute to two things: the design of Apple APIs is very clean; and Ruby integration with ObjectiveC runtime is almost perfect. Doing a web browser with XCode is equivalent to the early 90’s ‘Hello world’. One interesting thing. I’m almost sure that I can reuse the same NIB file with a CamelBones project. I’ll try it next week and write the same app with it.

Ruby and Cocoa

I woke up around 6:00 am (very early for Portuguese standards) and couldn’t get back to sleep. I had been reading about Ruby on Rails and I was thinking about it, how it could affect some of my projects. Yet, for some reason, I started thinking about Cocoa. I knew that there was a Ruby/Cocoa framework, and I have some experience with CamelBones, the Perl/Cocoa framework. How easy is to create a small Cocoa app in Ruby?

Burn and distribute

First, grab a couple of blank CD-R discs, one for each manager of a tech company you know. Put an extra for you. Make a list. Then, go to and download the best quality audio file of the “Great Hackers” presentation by Paul Graham, OSCON 2004. After you have burned all the CDs send them to each manager on the list. The best presentation I ever listen to from IT Conversations.