debexpo music photography planet-bongo planet-collabora planet-debian planet-gnome planet-maemo school synce

Have a look at the most recent posts below, or browse the tag cloud on the right. An archive of all posts is also available.

My network blocks SIP on 3G, so when I start using its 3G service after leaving a wireless network my N900 goes absolutely crazy about not being to connect. Although this is a specific annoyance I have, it's a general problem with loads of similar cases, such as "I only want my work jabber/skype/MSN/etc. account enabled when I'm at work".

So, I wrote a small daemon and a fun UI to make this easy. It's actually really simple: once you configure which connections accounts should listen for, it uses libconic to listen for connect/disconnect events and enables and disables accounts as appropriate. You should also be able to override its actions temporarily without it clobbering your setting.

Click for full-sized image
A sneaky peek at the UI. See if you can guess where I've been visiting recently.

I think the UI is pretty easy to use, and should cover most use cases.

I just uploaded it to extras-devel. It's called Automatic Connections.

Posted Mon Oct 4 13:30:00 2010 Tags:

After over a year-long drought, I uploaded some more photos to my flickr photostream, featuring some from GCDS, DebConf and more recently my orchestra tour to Vienna.

Posted Mon May 10 18:50:00 2010 Tags:

Recently, I've been working on a file transfer app for the N900. It's called monorail and I uploaded it to extras-devel last night, so you can try it out right now.

Click for full-sized image

I implemented an OssoABookContactView with support for filtering on Contact Capabilities (or a draft of it, at least) as old-style caps aren't great. This gives a nice list of address book contacts who have at least one account that should support receiving file transfers. It would be nice if these extra caps could go into the address book which is where they belong, but it won't.

If someone would find this widget useful, I'll clean up the code and maybe throw it in its own library.

Click for full-sized image
Choose one of the accounts which support file transfer.

I also started to implement a sharing plugin, but it turns out it's poorly documented and appears to be impossible to do anything useful for my use-case, like popping up a dialog when the user taps "Share". The example isn't very exemplary, but does contain some amusing code.

This sharing plugin is only half-written and impossible to debug. If anyone has any pointers on writing these plugins, I would appreciate them.

Click for full-sized image

It's a shame that although Hildon widgets can look really good on the device, it can often take some fiddling to make them look consistent with the rest of the UI. Additionally, oddities in some widgets can leave you baffled, or amused.

The most annoying thing I have come across regarding this app is just how little I can get it integrated. The file manager is all hard-coded so there's no way to add a Send to Contact menu item, and no buttons can be added to the libsharing dialog (which appears when the user shares a photo) which is annoying as it looks like it's missing this feature.

Click for full-sized image

Oh, and Telepathy is pretty sweet.

Posted Thu Jan 14 14:44:00 2010 Tags:

A few weeks ago, I got a cool Christmas present from work. It's pretty sweet, and I've been writing some apps for it. I'll try and blog about them here.

A while ago, I wrote some a number of account plugins for Maemo 5, so that other Telepathy connection managers could be used and well-integrated into the N900's Contacts and Conversations User interface. This enables the following extra protocols:

There are still a few problems which I'll try to iron out soon enough but they appear to be working pretty well. The best thing about it is clearly the integration with the rest of the phone, as demonstrated by Marco in the screenshot above.

The PR1.1 update, which is due today, also opens the door for enabling other protocols dynamically by providing libpurple plugins. I will be adding Facebook Chat support soon, and someone else has made a package for Twitter.

This is in extras-testing for you all to download and try out. You can find all the packages in the "Network" category of the Application manager. The Extra protocol plugins for Conversations and Contacts metapackage (telepathy-extras, in reality) pulls in all the cool account plugins and connection managers of the time. File bugs from the maemo.org package link.

Posted Thu Jan 14 12:30:00 2010 Tags:

So we all know how awesome Telepathy is, but sometimes debugging it can be rather a pain. I die a little every time I see "so, just run gabble from the command line with GABBLE_DEBUG=all etc" on #telepathy.

Daf started implementing a debug interface in gabble but he fled the country, so I finished it off, and added a hot new dialog to Empathy.

So now that your debug messages are appearing on D-Bus, you could easily write a simple script to tweet them. Sounds like a good idea, right?

Additionally, if you're a Telepathy developer, this may be overkill^Wuseful for your zshrc:

g () {
    project=$(basename `pwd`)
    GABBLE_DEBUG=all SALUT_DEBUG=all EMPATHY_DEBUG=all HAZE_DEBUG=all \
        GABBLE_PERSIST=1 SALUT_PERSIST=1 HAZE_PERSIST=1  EMPATHY_SRCDIR=. \
        libtool --mode=execute gdb -q --args ./src/$project --g-fatal-warnings
}
Posted Sat May 2 00:31:29 2009 Tags:

From Monday I will be away in Moscow with little internet connectivity. I get back next Sunday.

Posted Sun Aug 31 01:22:55 2008

debexpo (Debian package exposition) is a web application that allows one to run a user-friendly public Debian package repository with social interaction that one may be used to from social networking sites. debexpo will be the basis for the mentors.debian.net site but will be useful for others as well. debexpo is the project I am working on for this year's Summer of Code for Debian under the watch of Christoph Haas

debexpo is more than just a web application though. It was based on suggestions by you, and therefore it has some nifty features:

  • Uploading is done through HTTP PUT directly in debexpo, and handled immediately. This means that packages can be available within seconds of you uploading the package instead of having to wait for a cron job running an importer.
  • debexpo supports plugins for several stages of package life-cycle. The main use of these are for QA purposes on the package, such as automatically running Lintian, checking the watch file, or checking bugs closed actually belong to the package in question, but there is scope for much more. Plugins are easy so you can customize a repository to check for whatever you want. Other cool plugins allow features such as pulling an orig.tar.gz from Debian if it is absent from the upload and not in the repository already. Plugins provide you the option to customize your repository for any purpose.
  • Users will be able to have their own personal repository (much like Launchpad's PPAs) to host binary packages. This is simply achieved by creating a new user, uploading, and adding the appropriate entry to your sources.list.
  • Sponsors will be able to tell debexpo what kind of packages he or she likes to see, and a filtered package list will be shown. These kind of filters will include whether it's a python package, or C library, whether it uses CDBS or straight debhelper, or even whether the maintainer is in the New Maintainer process (this is clearly a mentors-specific feature).
  • Packages will be able to be commented on by other users, in the same way as Ubuntu's REVU tool. This keeps package discussion in one place, and Debian Developers can claim to have uploaded the package. This is useful to stop the scenario of a Debian Developer reviewing a package that has requested a sponsor, and then finding the package has been uploaded already after the initial uploader left no mention of this.
  • And more to come.

Development can be tracked through its Trac instance: http://debexpo.workaround.org/, where I invite you to submit tickets or even submit patches! Its Git repository is public: http://debexpo.workaround.org/debexpo.git (and mirrored here). Last but not least, the there is also a low-traffic mailing list.

I invite you to try it out, and report bugs. Posting to the list is a great way to get in contact.

There is little visible eye-candy in your browser to show for the work so far as nearly all the work so far has gone into the backend. A sneak peek at what it looks like at the moment is available though:

As you can see, the theme is somewhat familiar. Hopefully, as the SoC program nears an end, this will be fixed.

Oh, and hello: this is my first post to Planet Debian.

Posted Wed Jul 9 01:41:46 2008 Tags:

I'm heading off to Norway tomorrow on the university orchestra tour, so will be away from the internet for a week.

Posted Mon Mar 17 19:13:16 2008

So, Bongo 0.3.0 was released yesterday. It has some interesting new features, most notably CalDAV support! I just finished the Debian packages of 0.3.0:

bongoproject (0.3.0-1) experimental; urgency=low

  * New upstream release.
  * Added bongoproject to bongoproject-tools depends. (Closes: #438836)
  * debian/patches:
    + Removed apache-config.diff -- now upstream.
    + Removed sqlite-3.3.17.diff -- now upstream.
    + Removed hawkeye-apache.diff -- now upstream.
    + Removed smtpd-rset.diff -- now upstream.
    + Removed change-libexecdir.diff -- not necessary.
    + Updated remove-bongo-external.diff.
    + Added standalone-etc-default.diff -- allows bongo-standalone to get
      options from /etc/default/bongoproject.
  * Moved bongoproject-tools to pycentral.
  * debian/copyright:
    + Removed cURL license info. This is now gone from import/.
    + Added myself and email addresses.
    + Added information about having repacked the tarball.
  * Bumped Standards-Version to 3.7.3.
  * debian/control:
    + Corrected typo in long descriptions.
    + Added Homepage field.
    + Added Vcs-{Git,Browser} fields.
    + Added python-lxml build-dep and bongoproject-web dep.
    + Removed ldap-utils and slapd deps.
    + Changed bongoproject-dbg to Priority: extra.
    + Misc. dependency updates.
    + Changed bongoproject to Arch: all.
  * debian/rules:
    + Updated install/python-bongoproject rule.
    + Removed libexecdir hack.
    + Added rule to remove empty /usr/lib directory from bongoproject-web.
    + Added --enable-debug-cflags configure argument to produce a proper dbg
      package.
  * debian/*.install: Updated list of files to be installed.
  * debian/*-overrides/: Removed lintian & linda overrides.
  * debian/README.Debian: Updated instructions.
  * debian/bongoproject.postinst: Added call to "bongo-config install".
  * Renamed libbongoproject0-dev package to libbongoproject-dev.
  * Added new package, libbongoproject-runtime, to contain .so files for use
    with the tools.
  * debian/bongoproject.default: Added comments, updated and modified for use
    with the new bongo-standalone agent.

 -- Jonny Lamb  Thu, 31 Jan 2008 16:17:45 +0000

Visit Installation/Debian for instructions on getting these packages. I'll try and get these uploaded to Debian very soon.

Posted Thu Jan 31 17:48:43 2008 Tags:

I got a little bored of looking at gitweb with no syntax highlighting, so I shoved in support for Enscript:

Also, it's easier to select source straight from the browser without the line numbers prefixing every line -- something one does every day, of course:

Of course, there are a few bugs and limitations in this. I just wanted to blog with some pretty pictures, I suppose. Now I can see why I've never touched perl before though.

Posted Sun Jan 6 01:57:42 2008

This blog is powered by ikiwiki.