Shiny

Tweet!

courtesy of Ulisse Perusin, Tweet now has a rocking icon.

since 0.2 has been released, I’ve also added:

  • a status icon to show error messages and the number of new statuses inside a tooltip; when clicking on it, it will bring up the Tweet window and, more importantly, it will disappear until the next update.
  • key navigation, which required a new release of Clutter-GTK
  • better word wrapping and dimensioning of the cells in the ListView
  • open up the browser when clicking on the user’s icon in the status information overlay

there are still features I’d like to work on before 0.4.0, but all in all current HEAD of master looks fairly stable and useful. if everything goes according to plan, I’ll spin 0.4.0 before GUADEC, and 0.6.0 after I port Tweet to the new shiny Clutter 0.8 API.

Finally Woken

the first, alpha quality release of Tweet is available here.

Tweet 0.2.0

I’d like to stress out that this is an alpha quality release; I’ve been using it for a while, now, and nothing serious like the destruction of my hard drive happened but I cannot guarantee that it won’t happen to you. you’ve been warned.

from the new-and-shiny department:

  • use NetworkManager to detect a connection change
  • scroll wheel support
  • nice gradients on the speech bubble
  • more readable datetime stamps on each status
  • update the status view with just the new statuses instead of reloading everything

from the stuff-still-missing department:

  • an icon — can I have an icon? please, pretty please with sugar on top?
  • follow/unfollow users
  • direct messages
  • show a particular user
  • show followers and following
  • add a control to open a browser on the current status
  • show error messages instead of silently failing

and finally, from the would-be-nice department:

  • use Gypsy to update the location
  • exporting the status archive

if you want to give a hand, just clone the repository:

  git clone git://github.com/ebassi/tweet.git

and hack away! :-)

Apocalypse Please

if you need to create a string holding a datestamp, please — for the love of everything that’s holy and just and pure in this universe — stop abusing the patience of everyone on this planet, and use the ISO 8601 format.

formats not to use:

  • seconds from the epoch – oh please. I mean: come on1.
  • HTTP date – which is defined in two RFCs but it still sucks for small things like sorting or, you know, non-human parsing.
  • ctime() output – now, give me a flipping break

and please, don’t even think that people can rely on strptime() if they want to parse your datestamps — because they might care about something called “timezone”2.

any reference to running web services and their utter lack of clue in this matter is purely coincidental. not.

this blog post should go in the overall discussion about how web services clearly showed me how the bar for writing them has been placed so low that not even “Eleven Inches” Hermes could limbo beneath it. if even a simple, clearly defined data exchange format like JSON has been abused that much3 then there’s really little hope for the rest of us that care about interoperability and third party application development.

  1. okay, I’m guilty of this insanity as well, but I’m in the process of fixing it []
  2. a huge FAIL should be photoshopped on top of strptime(3) man page, right near the “Glibc Notes” section, where it says that in most cases the corresponding fields are parsed, but no field in tm is changed; WTF? what does in most cases mean? you have to tell me in which cases, you fscking idiot! []
  3. and I’m looking at you, Tumblr []