Posted by Jerry
Sat, 31 Mar 2007 01:48:00 GMT
Feng and Wei are off to Sunshine Coast, so I’m generally free to spend the weekend alternating between procrastinating and attempting to get some Real Work done.
Took some photos of things lying around the place, for my own amusement:

A bunch of books I’ll probably be looking through for the next few weeks. Spotted the Qt book and grabbed it on a whim. Can’t keep going around as a Linuxer not knowing how Qt looks like. (Trolltech booth guy at career fair: “Are you good in Qt?” Me: “Er. Never used it before.” Booth guy raises eyebrows sympathetically. Me sidles off.)

Got these OpenWRT routers from NICTA on Thursday for my wireless mesh thesis research. With 5 routers in a small apartment, do I automagically qualify as a networking hardware geek?

A crack/dislocation on my aging laptop’s screen that appeared months ago. I hope it’s not going to get worse and destroy the LCD.
Posted in Rants | no comments | no trackbacks
Posted by Jerry
Fri, 30 Mar 2007 06:15:47 GMT
Sitting down in front of my laptop after coming back from class, only to find
Conky showing the fortune:
So you're back... about time...
I wonder if my Feisty has been scheming on world domination while I've been away...
Posted in Rants | no comments | no trackbacks
Posted by Jerry
Tue, 27 Mar 2007 13:58:00 GMT
Some thoughts on Tomboy synchronization, mostly after looking up
Conduit’s documentation:
- Conduit’s fairly interesting. You have a platform, data sources (so that’s where I got the inspiration of this Tomboy idea from! Now it’s not original anymore. Need more thought. /frown) on one side, sinks on the other. There’s some interesting combinations going on, like Google Calendar to Hard Disk, F-Spot to Flickr. Me likes. :)
- Cons: It only supplies a DBUS interface (or so it seems after clicking through some documentation?) and Evolution support isn’t complete. I’m not sure how well it’d work in a Networked Tomboy setup. It would likely be a better idea to use libedataserver first and then port it over when a global desktop synchronization service is available (Gnome 2.20? Not very near future?).
- That being said, I’ve been having 2nd doubts about the data sources concept. Do we really want to reimplement Conduit’s wheel?
Remind self to start looking up how Evolution data management later.
Posted in Code, Linux | no comments | no trackbacks
Posted by Jerry
Tue, 27 Mar 2007 07:05:00 GMT
The good thing about hosting your own proposal during Google SoC ranking times is that you know when someone hits the page. It becomes hopelessly addictive. Hello Gnomers/Googlers, if you’re reading this! (waves)
The bad thing about hosting your own proposal during Google SoC ranking times as an article on Typo is that the visitors will have no way to leave comments after reading it (although reviewers probably wouldn’t go out of their way to leave comments for fairness sake…) and you have no way to know what kind of impression it left on them, yet anxiously hoping some kind soul would perhaps wander to the front page and point out the fatal error in your document that you’ve just happened to miss… I’m tempted to add a Meebo widget. And how about the occasional mystery visits with no http reference so it’s impossible to know where they’re coming from? Great Penguins, the suspense!! I know I’m going to lose sleep until mid-April. :(
And the deadline’s extended to Thursday 2am too. Must resist… temptation to write… more!
P.S – This will also be the first time in a few years I’ve pinged Petaling Street again. Be gentle, fellow Malaysians!
Edit – Oh yeah, and I blame anxiety for the blatantly obvious elementary-level typo. :S
Posted in Rants, Code | no comments | no trackbacks
Posted by Jerry
Mon, 26 Mar 2007 02:34:00 GMT
Twitchy left eye = impending misfortune. It’s an Old Chinese wives’ saying. I surely hope it’s completely unrelated to my thesis, or any of my Google Summer of Code stuff. Possibility of adding +1 Villain to personality aside, maybe I just need more vitamins. :|
Things to do this week:
- Complete Python script that reads SNMP statistics from my router and dumps them into graphs.
- Start work on coding assignments. C = lots and lots of hours running gdb and netcat, blargh.
- Make final changes to any SoC proposals before 10am tomorrow. After considering my free time I’ve ended up only writing 2 proposals, both of them for Tomboy. Shame there isn’t a Winter of Code. :p
Posted in Rants | no comments | no trackbacks
Posted by Jerry
Tue, 20 Mar 2007 07:29:00 GMT
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 Rants | no comments | no trackbacks
Posted by Jerry
Mon, 19 Mar 2007 01:38:00 GMT
Tried making changes to the Audioscrobbler (aka Last.fm) 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:
// we're replacing this procedure here
def parse(body)
xml = Document.new(body)
self.items = []
self.link = "http://last.fm" // not really used
self.title = "Recent Music" // title of sidebar box
XPath.each(xml, "//track/") do |elem|
item = AudioscrobblerItem.new
item.title = XPath.match(elem, "name/text()").to_s
item.artist = XPath.match(elem, "artist/text()").to_s
item.link = XPath.match(elem, "url/text()").to_s
item.date = Time.mktime(*ParseDate.parsedate(XPath.match(elem, "date/text()").to_s))
items << item
end
self.items = items.sort_by { |item| item.date }.reverse
end
It still doesn’t seem to refresh though. Hmm. :S
Posted in Code | no comments | no trackbacks
Posted by Jerry
Sun, 18 Mar 2007 15:12:00 GMT
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. :)
Abstract
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.
Deliverables
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 Code, Linux | no comments | no trackbacks
Posted by Jerry
Sat, 17 Mar 2007 07:56:00 GMT
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 Rants | no comments | no trackbacks
Posted by Jerry
Sat, 17 Mar 2007 04:24:00 GMT
Finally got around to properly set up libcoffee.net, 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, libcoffee.net 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 Rants | no comments | no trackbacks