Posted by George Wright
Fri, 23 Nov 2007 00:32:00 GMT
Now that I have a KDE 4 environment that I’m willing to use, I thought I’d take a look at Trolltech’s WebKitKDE KPart for embedding WebKitQt into Konqueror (or any other application which supports KParts).
Unfortunately, it seems that the project has been stagnant for a while and had bitrotted to the extent that it no longer compiled. I have now committed a fairly trivial fix that lets it compile and load, but it’s still in a fairly broken position. Hopefully I’ll be able to find some time to look into it more closely and potentially sort a few things out.
Now for the gratuitous screenshot:
Posted in KDE, WebKit | 11 comments
Posted by George Wright
Thu, 22 Nov 2007 21:17:00 GMT
As I’ve heard so many great things about zsh I decided to give it a spin and I must say that I’m quite impressed on the whole. I especially like the less intrusive way it displays possible tab completion values, as well as the vi keybindings that come with it (although I’ve had to bind a few keys which I keep hitting out of habit, such as end/home and delete). The configuration system it brings up on first load is really spiffy as well, and I like the fact that there’s an option to append command history to the log file instead of replacing it - extremely useful given that I tend to have ~10 terminals open at any one time.
I also finally got round to building a more up to date copy of KDE 4 and I’m really impressed with the progress they’re making; it really is astounding how quickly it’s all coming together. I’m currently in the process of installing an SVN build on my X40 so that I can run it full time on there - I think it’s finally hit the stage where I can run it full time.
Posted in KDE, Misc | 5 comments
Posted by George Wright
Tue, 11 Sep 2007 13:44:00 GMT
In my previous blog I mentioned that Seb James had taken my nxclientlib code and improved it substantially, and that it would be committed soon.
Well, the code’s been cleaned up since I first saw it and it’s now available from the FreeNX SVN repository. Personally I’m very glad this has happened - it’s brought nxclientlib to the sort of level of functionality I always wanted it to have.
New features include NX server version 3 support, NX “shadowing” support (for VNC-like connections), D-Bus API to communicate with the library and many overall improvements across the library. For developers; the code is a lot cleaner now, there’s an autotools-based buildsystem, the Qt dependency has been removed and I’m told it now links to a 110kb library with no major dynamic dependencies - how’s that for compactness?
Hopefully soon we can have a first class NX client which can be packaged and distributed without much trouble!
Posted in KDE | 15 comments
Posted by George Wright
Fri, 10 Aug 2007 00:20:00 GMT
On Wednesday Collabora moved out of the old office which we had outgrown and into our new amazing 4-room office opposite King’s College, Cambridge and above the Fudge Kitchen on King’s Parade. The old office is a shoebox in comparison! We now have a large front office, a large back office, a smaller back office (which I think we’re letting out to Ept Computing) and a large conference room. This ought to improve productivity, and as an added bonus it’s situated right next to my college supreme convenience!
To respond to some of the comments I’ve seen about Alp’s and my WebKit work; yes, I will be trying to get it to work on the Nokia 770 as I personally own a 770 and not an N800 and we may well be making a public release when it’s more stable. Currently I’m investigating the upstream source code and hoping to start working on adding the features we need to WebKit itself and submitting patches which implement them. Alp already has commit access to WebKit and will be working upstream anyway.
Last week, Tobias Hunger blogged about my involvement with standardising Mission Control, which is the abstraction layer which sits between Telepathy’s Connection Managers and the client. To anyone who’s interested in the work, the preliminary specification is online. So far, we still need to work out a sensible API for the Channel Handlers and iron out a few problems with the current specification, but we’re getting pretty close to coming to an agreement about it all. I personally would be very happy at the idea of having a standard API for this which can be shared between KDE (Decibel) and GNOME (Nokia Mission Control).
Posted in KDE, Computing, Cambridge | 2 comments
Posted by George Wright
Thu, 24 May 2007 00:00:00 GMT
This summer I’ve managed to land an internship at Collabora Ltd to work on freedesktop.org projects.
Collabora’s current projects include Telepathy, Farsight and Nice. I will be working on something related to one of those projects.
So far we’re still in the brainstorming phase of what to work on, but Rob is keen that I work on getting TCP-like stream properties (flow control, ordering guarantees, retransmissions etc) into Telepathy’s “Tubes”, so that applications can communicate using stream-like Tubes over whatever UDP connection ICE has NAT-traversed. This will effectively provide a generic method for applications utilising either D-Bus or their own protocol (over a SOCK_STREAM) to communicate through NAT routers whilst still speaking something like TCP.
Of course, I would like to get the community’s opinions on the projects and most of all I’d like suggestions on other things I can spend my time hacking on which will benefit the populace at large. Any criticisms (constructive or otherwise) are welcome. The work will almost certainly be in glib but if there’s any relevant work that needs doing in KDE, Collabora may consider letting me work on that.
Posted in KDE, Computing, Cambridge | 6 comments
Posted by George Wright
Mon, 07 May 2007 02:42:00 GMT
I’ve finally got round to booking the train tickets to get to Glasgow for aKademy this June.
If anyone in London is travelling to Glasgow the trains I’m on are:
London to Glasgow, 29/06/2007 - departing London Euston at 11:46 and arriving at Glasgow Central at 16:55. Virgin Trains.
Glasgow to London, 08/07/2007 - departing Glasgow Central 10:55 and arriving at London King’s Cross at 16:45. GNER.
Would be great if any KDE people are on either of those trains. For those who haven’t booked yet, those trains are the cheapest ones I could find on those days - it came to a total of £47 for two single tickets (both standard class), booked through the GNER website.
Posted in KDE | 3 comments
Posted by George Wright
Mon, 26 Feb 2007 00:22:00 GMT
The second day of FOSDEM was good fun. The night before was not so fun. After having dinner with a bunch of KDE developers, I decided to go and try to find the hotel I was staying in. After two and a half hours of running around Brussels like a headless chicken carrying a few tonnes of computers on my back, I finally managed to get to the hotel we were staying in - the Hotel Continental.
For those who don’t know, the Hotel Continental was the cheapest hotel I could find using Google that was in Brussels. It’s literally right next to the Bruxelles-Midi station and a twin room costs 61.50 EUR per night. The downside? The room is terrible. The wardrobe door fell apart when we tried to open it, the room was tiny and there wasn’t a shower anywhere near the room. However, it wasn’t all terrible. The staff were exceptionally friendly and courteous, the beds were comfortable and the breakfast was quite nice, which made the whole experience much more pleasant than it could have been. If you don’t mind a cheap place to stay that’s nicer than a youth hostel I think the Hotel Continental is quite a nice place to stay.
As for the conference itself, I finally managed to meet Lorn Potter today. I’ve known him for years due to my interest/work in Opie and Qtopia but as he’s located in Australia I’ve never had the opportunity to meet him, so it was great to finally meet him today. The rest of the time was spent trolling on the Debian booth and being viciously attacked by Nattie of #debian-uk fame, who has now surpassed Jes Hall and Lauri Watts on my top ten list of people to hate for touching my hair.
Anyway - it was a great conference and I hope to see many of you again next year!
Posted in KDE, Computing | 6 comments
Posted by George Wright
Sat, 24 Feb 2007 16:06:00 GMT
Today has been a long day for me. In my ineptitude, I booked a Eurostar from London to Brussels at 6:06 am which meant that I had to get up stupidly early (2:30am) to get to Waterloo on time. The Eurostar was a very good ride though, and it was made more interesting by tracking our route on Maemo Mapper using a GPS. Apparently the top speed we hit was 190.1 miles per hour somewhere in France, and the total journey time from Waterloo to Brussels Midi was 2h37m.
When we got to Brussels we managed to get spectacularly lost on the tram system to the University. Nobody told us there were TWO campuses in south Brussels both called “Universite Libre de Bruxelles”. Luckily the GPS was incredibly useful at this point as I had already added the GPS coordinates of FOSDEM to it and we ended up walking to the conference.
As conferences go, FOSDEM appears to be fairly typical of an open source one. There are LOTS of parallel tracks and it’s impossible to attend even one fifth of the available talks. There are literally thousands of people here and so I’ve been spending most of the day sifting through the crowds and trying to find familiar faces. I’m currently in the OpenMoko talk as it appears to be one of the most interesting projects of the year. They appear to be spot on as to their development model and organisation, but we’ll have to see how well it all goes. I personally am very excited by the prospect of taking the OpenMoko software system and hacking it onto my phone.
I hope to get to more talks tomorrow but for now I think I need to get some sleep and some university work done!
Posted in KDE | 3 comments
Posted by George Wright
Mon, 19 Feb 2007 13:22:00 GMT
Thanks to the response of my previous blog about the NX client I’m now working on for the 770, I’ve come to the conclusion that the best way to allow GTK to interact with the client library I wrote would be to implement a D-Bus interface in addition to the standard C++ interface so that the library can work much more cleanly with other toolkits (and hopefully even other languages!). Unfortunately, this is going to be on hold for at least a few days while I sort out my university work… It’s going to be quite a cool project though!
For the first time this year, I’ve finally decided to go to FOSDEM. In previous years it’s always been during term time and as I was at a boarding school I could never go, but now that I’m at university I’ve decided to just take the plunge and go (besides, Alasdair Kergon told me that I absolutely had to come this year). If anyone I know is going give me a shout and I’ll see if I can find you amongst the large crowd of (possibly drunken) geeks! I’ll be leaving Waterloo on the 6:06am Eurostar to arrive in Brussels somewhere around 9:30am and returning on a Eurostar departing sometime around 9pm on Sunday.
Posted in KDE, Computing | no comments
Posted by George Wright
Sun, 18 Feb 2007 04:54:00 GMT
So recently I managed to acquire a Nokia 770 internet tablet (thanks to mjg59). It’s a really nifty device – the screen on it is unparalleled (except, obviously, for the N800 – whose screen is slightly better), and it has quite a nice Linux platform on it. The problem? It runs Hildon, which is GTK-based. The input methods are heavily integrated into the GTK on the device and using any other widget toolkit just doesn’t work (well, it does, but you’re going to need a physical keyboard).
In light of this, I decided to start hacking around with GTK. Its API is not as pretty as Qt in my opinion, but it’s not too shoddy. It just takes a bit of getting used to, although the really verbose function names and endless requirement to call them really annoys me (gtk_foo_bar_baz_lala_eggs_breakfast() anyone?).
Armed with NXClientLib which I developed for my Summer of Code project last year, I decided to try and port my NX client to Hildon. In typical style, I made the architectural decision last year to write the library in C++ and link to QtCore/QtXml simply because it made my life a whole lot easier (I would dread to think how much extra code I’d need to write if I didn’t have QString). Anyway, I’m currently in the process of gluing GTK and Qt together in perfect harmony (haha) so that NX can take over the world, but it’s proving to be less trivial than I thought it would be.
Some gratuitous screenshots:

The initial login interface

The window automagically changes the layout for the on-screen keyboard
I’m afraid that’s all there is to “Maemo NX” thus far. I’ve spent most of the time trying to learn how GTK/X11 works and also thinking how best to implement the whole thing. If anyone is an expert at X window reparenting in GTK I’d be most grateful if they could take a look at this code and let me know why it doesn’t reparent the X window whose ID is specified by int wid into the GTK window I create and then make the reparented window visible. It seems to reparent fine, as the window with id wid disappears, but there’s no sign of it in the GTK window. If I can’t get this to work I’ll simply use mozplugger-helper which does a fine job of reparenting a window, but the fewer dependencies I can have the happier I’ll be.
If anyone’s interested in the code so far, it can be found in the FreeNX subversion repository at http://svn.berlios.de/viewcvs/freenx/nxclientlib/maemonx/.
Posted in KDE, Computing | 17 comments