Building notes, projects, and ocasional rants


last update:

Bye, Bye, MSN

When I worked at SAPO, I started using a MSN account to keep an eye on the pyMSNt transport that we have there. Eating your own dog food and all that. So now is the time to stop using it. I'll unsubscribe the MSN account from the Gateway, and I'll no longer be available on the MSN network. You can add my XMPP address as a buddy: [email protected] Right now, you have a lot of open and decent XMPP servers out there: SAPO Messenger, Google Talk, Jabber.

Negative priority

One of the things I mentioned in my XSF Membership application was my endless curiosity about negative priorities in XMPP. When most people talk about XMPP, they focus on the Instant Message network thats built on top of the XMPP federated network. Some also focus on the aspects of application automation. But even this second group rarely dwells into the wonderful and mystic world of the negative priority. For those out of the loop, the <presence> stanza you send at the start of the session to signal your availability has some child elements.

Alter Ego, your friendly agent

If you want to try some agent-love, then let me introduce you to Alter Ego, your friendly pluggable agent. Alter Ego is a XMPP agent, where everything is a plugin. You can clone the current version with git (recommended, easy to keep track of new features and fixes) or use the tarballs. Right now, you can find it running under my own JID, so yes, I trust it enough to run it on my main account.

GPS fun

So there are all this ingredients floating around: a nice Fortuna GPSmart BT: it has a mini usb that can be used for power, but I still prefer to fetch the NMEA feed over Bluetooth;a Macbook with BT;a 3G phone with good connectivity in Portugal, also with BT;a ejabberd server with PEP support, so I can publish my User Location.The glue of course will be Perl, and the first step is already working.

He can mary again!

Well, the good news is that he can mary and get divorced two or three times now. Update: for those who where wondering what Net::XMPP2 has to do with all this, lets just say that copy&paste are two techniques that I seem not to have mastered yet.

Ok, this way cool. As such, the JSR-666 expert group recommends the introduction of the yoda code-word to the Java language. This keyword commands that the virtual machine "Do, or do not", where there is no corresponding try. [...] Warning: the yoda keyword should only be used in places where the presence of an exception would indicate the Java Runtime Environment is misconfigured or broken. Misusing the keyword may cause a great disturbance in the Virtual Machine, as if millions of voices suddenly cried out in terror and were suddenly silenced

More limitations

The limitations slide that Jobs presented yesterday is of course incomplete. You would not expect it to have the full set of limitations. In the next weeks, people will go over the documentation and find some more. I'll try and keep a list of the ones that are relevant to me, in order of importance: third-party applications cannot run in the background (link via Gruber): this is most unfortunate to those of us who are thinking "XMPP client, XMPP client".

perl warnings

You have to learn to ignore the forrest. There are some perl warnings that hide the real problem. My most hated perl warning is this, the first three lines below: "my" variable @prob masks earlier declaration in same scope at sbin/some_script line 1640. "my" variable $count masks earlier declaration in same scope at sbin/some_script line 1641. "my" variable $t masks earlier declaration in same scope at sbin/some_script line 1642. syntax error at sbin/some_script line 1504, near "next " Those lines are there because the parser had to bail out after detecting the error on line 4, and failed to notice the end of scopes.

iPhone enterprise features

Nothing more to add, just linking to Fake Steve. Sure, its the extreme position on the Apple fan boy club, but then, there is also a grain of truth in there. Oh, and yes, it runs on the iPod Touch also. Everything presented yesterday also works with the iPod Touch except stuff that depends on the particular characteristics of the iPhone hardware, as any reasonable person would expect. And yes, you have to pay for it again.

iPhone SDK

I suppose that one of the words we can use to describe the iPhone SDK is sexy. I played a bit with Cocoa a couple of years back so I haven't followed to improvements of XCode. I hear João Pavão complaining about all the bugs but thats about it. So while watching yesterdays event stream, and while I was looking at the game that the Apple dude wrote in (cof, cof) "two weeks", and all the nice tools, my though was: do the other mobile environments have such a sexy SDK, with such good tools?