And there goes... another one

Posted by Jerry Tue, Mar 20 '07

She’s getting married, and she’s not staying. Looking at fresh-faced giggly first-years I’m starting to feel old. You know how it is, when you can’t even look at your yesterdays in peace; remnants of your past starting to haunt you like a vast dark cloud creeping across your heartscape. I’ve frequently fantasized about transferring my consciousness back in time to my 12-year old self, but well, that’s never going to happen isn’t it?

# Posted in 12 years ago comments

Audioscrobbler sidebar, fixed?

Posted by Jerry Mon, Mar 19 '07

Tried making changes to the Audioscrobbler (aka sidebar plugin that never seemed to show up. Changed it in the sidebars admin to use the new API 1.0 xml feeds, and then the .rb file so it can parse the feed XPath correctly (As a side note, debugging Typo sidebar plugins is hard, no output text, any exceptions thrown simply makes it not rendered. Blah, the world needs a better plugin architecture. :p). And then it worked! Woot.

Posting code changes for TYPO_HOME/vendor/plugins/audioscrobbler_sidebar/audioscrobbler.rb:

<code class="ruby">
# we're replacing this procedure here
def parse(body)
    xml =
    self.items        = [] = "" # not really used
    self.title = "Recent Music"  # title of sidebar box
    XPath.each(xml, "//track/") do |elem|
      item =
      item.title       = XPath.match(elem, "name/text()").to_s
      item.artist       = XPath.match(elem, "artist/text()").to_s        = XPath.match(elem, "url/text()").to_s        = Time.mktime(*ParseDate.parsedate(XPath.match(elem, "date/text()").to_s))
      items << item
    self.items = items.sort_by { |item| }.reverse

It still doesn’t seem to refresh though. Hmm. :S

# Posted in 12 years ago comments

Networked Tomboy

Posted by Jerry Mon, Mar 19 '07

Spent last hour planning and writing this proposal for Google Summer of Code 2007. It’s for Tomboy, an awesome note-taking application for Gnome. Although since last year we’ve already had a similar project it’s lost its novelty, but man, I really want to have these features. Crossing fingers for now, going to write 2 more proposals tomorrow or Tuesday. :)


Tomboy is a simple Gnome application for taking notes. It’s wonderful for simply inscribing random ideas, ticking off things to remind ourselves with and other significant amounts amounts of text. However, there is no way to share our Tomboy notes. To transfer a certain amount for text we could fall back to conventional methods of copy and pasting into an input window and then send it off via email or IM, or if the recipient/destination is nearby we could even transport the message physically (paper, or even voice!). However, we want to improve on that. This proposal aims to close this gap by implementing a tighter integration of text-sharing for the desktop.

This proposal covers 3 use cases: from 1 desktop to others on a LAN, from “my desktop” to “my friend”, and for “for myself, everywhere”. In the first case, the user indicates which Tomboy notes can be publicly accessible and they will be advertised on the network using Avahi, allowing other desktops to have quick access to them. In the second case, a method for sending Tomboy notes over the internet fully integrated into the Gnome desktop will be developed. One idea is to show a nautilus-sendto window (or similar) where IM contacts (we will use Gaim here) are shown and then gracefully import the note once received. In the 3rd case, we need to have some way to serve notes so that they are accessible anywhere. We can use publicly available note-sharing services, such as Google Notebook.


To summarize, these will be the deliverables:

  • Gather and analyze current work on “Networked Tomboy”
  • Implementation of note sharing using Avahi
  • Integration of sending Tomboy notes to online IM contacts (Galago, Gaim)
  • Develop a note data source framework. Build on framework to access Google Notebook
  • Develop a synchronisation solution for multiple Tomboy instances (perhaps Conduit)

Use Cases

The 3 use cases, with interface usage concepts:

Desktop to desktop, on a LAN

Alice and Bob both use Tomboy on the office LAN. Alice would like to share static notes on a project they both work on. She selects a Publish option, and ticks off a number of notes to share.

Soon Bob clicks on “Shared notes on the network” and sees all notes available, sorted by source. He looks at Alice’s list of notes and selects one to view it. He may be allowed to edit it, or he can click to download the note for his own use.

From my desktop, to my friend

Jack and Jill have each other on their Gaim contact list. Jack wants to send the latest draft on their group homework to Jill, and sees that she is online. Jack opens up his draft in Tomboy, and clicks to send it via Gaim. A list of contacts online appear and he selects Jill. On Jill’s computer she sees Jack’s file transfer request and accepts it. The file appears in her Tomboy, ready for editing.

For myself, everywhere

Gary uses Tomboy at home, but in his office he works on a Windows computer. He keeps a checklist of things to do for the day, which he updates in Tomboy every morning. Back at the office, Gary wants to reminds himself to buy some groceries, so he opens up Google Notebook, selects his to-do list and adds to it. Later in the evening, Gary checks his Tomboy again to see his new list before leaving for the shops.

P.S – I don’t know how I came up with the use case names… they sound like marketing phrases. I probably watch too much advertisements. :P

# Posted in 12 years ago comments


Posted by Jerry Sat, Mar 17 '07

Upgraded to Typo 4.1, which somehow seems much snappier. Audioscrobbler still doesn’t seem to work, which is a bummer. So far so good for the test though.

Anyway, testing 1, 2, 3… ping!

# Posted in 12 years ago comments goes live!

Posted by Jerry Sat, Mar 17 '07

Finally got around to properly set up, woot! We have been on a static IP since we got ADSL going, and I have been planning to finally set up Aesir as a permanent server. It took me some time to figure out not to install my own DNS server and just signup for ZoneEdit, and a few tweaks to get Lighttpd accepting non-localhost requests… but yep, is now live. :D

Also received my Linksys WRT54GL router on Thursday after coming back from NICTA (that’s another story for another time :P), installed DD-WRT (almost panicked when the firmware upgrade didn’t work and the router wasn’t responding to pings, but fixed it afterwards. Phew!) and spent the rest of the day figuring out the best combination with my wireless router modem (Answer = PPPoE and firewall on the Netgear, DMZ to DD-WRT, QoS, DNS and DHCP on the DD-WRT).

To-do for the weekend:

  • Read through O’Reilly’s Essential SNMP. Will try writing a Python-SNMP browser later for our wireless mesh project.
  • Churn out 10 Google SoC proposals.
  • Try out RRDTool. Look for
    non-Perl bindings. What, learn Perl? God no… I want to keep my sanity
    intact this semester! Need rapid prototyping language for now.

# Posted in 12 years ago comments