Watch your back, Evolution!

All those show-stopper bugs I mentioned in my last post have been fixed 🙂 There are still some fairly large things missing, but for simple calendar management on a system that was previously using Evolution, Dates works a treat – Check it out!

Update: Er, if anyone got revision 69, please update to revision 70. I have no idea how it worked at university, must be the magic computers there or something… Revision 70 has two important bug-fixes anyway.

Update 2: Make that revision 71.

Update 3: Or indeed revision 72 – Bugger it, just get the latest…

Spice One ft. Roger Troutman – Suckas Do What They Can

Dates Emerging

Done lots of work on Dates in the last few days – It’s starting to become useful. There are still a couple of show-stopper bugs (mainly, any calendar of a fair size or with lots of recurring events causes huge and possibly infinite slow-down when calculating event overlaps), but I’m hoping it’ll become a usable app fairly soon.

Since the last post, it has improved greatly – All the functionality that it currently has is now fairly reliable and there are also some neat new features, like dragging/resizing of events on the calendar, multiple calendar support, instant-apply for changing the summary or the calendar the event is on (the latter being something Evo can’t boast I believe :)) and a nicer details dialog (thanks Jorn). I think now is a decent time to try it out (if you were put off before, please try it again, it’s getting better!)

Red Hot Chili Peppers – Around the World

DOM Traversal

Have made a few large strides in the JavaScript HTML DOM implementation in Web in the past 24 hours or so. All DOM traversal attributes (note attributes though, not all the methods yet) work and you can also read node type/name/value and set attributes. Setting attributes is done in a horribly hacky way, it really requires a patch in gtkhtml2 that I’ll probably do this weekend or at some point in the next week.

After this has been refined a bit, the next major step to accomplish before I can add the collapsing paragraphs and JavaScript-assisted restyling is to add some support for DOM Event. I predict it to be a day or two’s work to get working initially, but I have a lot of other things to work on at the moment (university, OpenedHand, etc.). Hopefully I’ll be able to complete this dissertation in time though, I think it’ll be worth the effort 🙂

Thanks to Iain Holmes, there’s now a nice guide to using Valgrind that uses GtkHTML2 as the example. Valgrind and I have been at odds for a while, so hopefully, with the aid of this guide, I’ll be able to get it up and working (on amd64 btw) and fixing more leaks in GtkHTML2 in the future. He says he has patches for some leaks he fixed writing this guide, which is great and hopefully I can get them up-stream 🙂

Off-topic, I’ve recently been using Muine, as Rhythmbox has finally given up the ghost on my computer (every version I’ve compiled crashes importing my music, regardless of optimisation settings) and beep-media-player randomly crashes on amd64. I hadn’t used it before due to it requiring Mono, and Mono requiring all the memory in the world. Given I was using Rhythmbox previously, which makes gamin swell up to using all the memory and swap space on my computer in about a day, this was a pretty null argument, so I went ahead and installed it. And it is excellent. Thanks Jorn! 🙂

Jamiroquai – Scam

Page updates

Added udpated ‘browse repository’ links to *all* pages. Thanks to OpenedHand, Web and the associated gtkhtml2 patches are now available for public consumption – please check them out if you’re at all interested, but keep bug-reports to yourself for now, unless you can provide a fix 🙂

Thomas Dolby – She Blinded Me With Science


So, back from FOSDEM – Had a great time, in the company of great people. Didn’t get to do quite as much networking/eating as I’d have liked due to being fairly ill, but still had lots of fun and it was great to see the OH guys again, as well as meet the new ones 🙂 Many thanks to Matthew for taking me along.

Haven’t made too much progress on any fronts, annoyingly – Dates has seen some nice changes, but is very unstable at the moment, in terms of basic features and UI flux… Hopefully I’ll have the time to make that better. Web can view Epiphany bookmarks, it won’t be too much work to add editing, but it isn’t high on the priority list (Working on z-index support and HtmlDOM object). Contacts 0.2 should be out fairly soon, will try my best. Apologies for this post being unnecessarily link-heavy.

We <3 Katamari - Everlasting Love

Web/gtkhtml2 progress

Done lots of work on gtkhtml2 and Web in the past few weeks – I’ll be taking a break from this for a little while though to concentrate on Contacts and Dates in time for FOSDEM. Some of the patches I’ve written are already in, or are heading to gtkhtml2 CVS, others won’t hit for a little while I imagine. The current maintainer, dobey, has been a great help though.

Managed to fix a long-time odd bug of gtkhtml2 yesterday – That of altering the colours of surrounding widgets in the window. Ends up the code to set the background colour of pages (which follows the theme’s base colour) was broken. Also fixed margin inheritance, min/max width/height on images. These patches are mostly in CVS already and will be completely in soon I should think 🙂

Patches that *aren’t* in CVS and probably won’t be for a while add support for various new features such as @import (written by the maker of UniPKG), @media (and all the other various forms of specifying css media type), user style-sheets and a ‘node-finished-parsing signal’. I’ve added a screenshot that shows off the @import/@media support. The node-finished-parsing signal allows me to handle JavaScript better in Web, which now features complete support for document.write via stream manipulation, as it (unfortunately) should be done.

Perhaps, one day, the Gnome browser will be gtkhtml2-based 😉

Billy Talent – Red Flag

New blog!

So, another new page – and with proper hosting too! As you can hopefully see, I’ve flawlessly transitioned (thanks mostly to Ross Burton) from blogger to PyBlosxom. If anyone’s interested in the script I wrote to do this, here it is (I warn you, it isn’t pretty!):

Jamiroquai – Funktion

gtkhtml2 JavaScript?

I handed in my progress report for my dissertation, and one of the sentiments made in it was that the methods I’m using for small-screen-rendering (which is the subject of the dissertation) would likely not work with gtkhtml2 due to its lack of JavaScript support… But like many a coder, as soon as those words were committed to hand-in, I realised it was a challenge that I had to take on 🙂 And so, the very preliminary results (using spidermonkey):
This html:

JavaScript test:
This should appear after the Hello World.

produces this result:

As it should. At the moment, only document.write is handled, but given that’s probably one of the hardest functions to handle, I’ve got a good start 🙂 As an aside, also implemented tooltips with gtkhtml2 – I should probably patch liferea for that, it’s the only reason I use the mozilla engine in it…


Web, Contacts, Dates, etc.

Been a while since my last update… Lots of work has gone into Contacts since the release – highlights include general bug-fixing, single-instance code, command-line vCard loading and gnome-vfs support. It’s quite nice as the default vCard handler, as you can click on a vCard link and have it open in Contacts and optionally imported into your evo address book. 0.2 will be quite a step up from 0.1 in terms of functionality. Dates has progressed quite a lot too – You can now edit all the important aspects of events (such as summary, time, location, details). There have been fixes to do with timezones and it now supports multiple calendars (although at the moment, there is no UI to pick them – WIP). Hopefully it’ll be fully functioning within a month or two and I can make a release to go alongside Contacts (of which 0.2 will probably be coming soon). The drawing code still needs some major work though unfortunately. Web has received a major overhaul over the past couple of days – I’ve abstracted all the rendering code and made the rendering engine a plug-in system using g_module. I plan on writing a mozilla plug-in, as seeing as it’s related to my dissertation, I need a well-featured stable platform to work with and gtkhtml2 doesn’t yet cut it (perhaps I’ll have some time to hack on it in the holidays, like I wanted to a while ago). I’m very busy at the moment with uni work, again… They like to push us at Southampton. What gets me is that none of the work is incredibly hard, it’s just there’s a lot of it and it’s all scheduled to be handed in at the exact same time. Very inconvenient. Work aside, had a great Christmas and new year, got to catch up with a couple of friends, spend some time with my girlfriend, play some games. Got a Nintendo DS for Christmas and its really revived my love for gaming – it’s nice to play something that isn’t just the same old recycled crap again (or if it is recycled, it wasn’t crap – in the case of Mario 64 :)). Oh, and looks like I’m quite well suited to Computer Science, according to

You scored as Mathematics. You should be a Math major! Like Pythagoras, you are analytical, rational, and when are always ready to tackle the problem head-on!





























What is your Perfect Major? (PLEASE RATE ME!!<3)
created with