March 7, 2011

Did I do the right thing?

Filed under: collabora, facebook — alsuren @ 2:09 am

When I came across this pair of comments on LWN, the red mist washed over and I had to respond.

“Is there something preventing Apple from *also* supporting WebM? (This is a serious question about their contracts with MPEG LA.) Because if there isn’t, your point is invalid.”
“Apologies if the answer is in the article. I’ve been boycotting the WSJ for a couple of years now.”

Can someone check the resulting thread and tell me whether I did the right thing?

I think I am justified in being angry, but when I remembered “Do you realize that when you belittle people for asking “stupid” questions, you destroy their ability to keep asking questions?” I felt a bit guilty.

(Yes: I realise that posting in internet comments sections and reading reddid means that I’ve already lost.)


January 25, 2011


Filed under: facebook — alsuren @ 1:00 am

Just returned from Heidelberg. It was a really good event, and there was exactly the right balance of teaching and social for me (when you go to the really big workshops, your head is so full of technique stuff that you lose your ability to be musical when you hit the social floor. In this case, the style of blues that Lucky was teaching (ballroomin[g]) is completely orthogonal to what I usually dance, so I could just put it in my back pocket when I wanted to relax).

The Heidelberg blues scene seems to be more influenced by tango than London is (the music had lots of short runs of 3-4 similar-feeling songs (a bit like tandas but without the formality) and I noticed that more people were getting really serious about sharp/smooth horizontal movements, and they were less serious about rocking out and keeping a groove going than they tend to be in London). It made me resolve to start going to tango again once I get my free time back (I’m aiming for next Tuesday).

The only downer on the whole trip for me was the travel. On the way there, my ICE train was cancelled so I was 2 hours late (post-midnight. I can get a 50% refund, but I might give it to the poor hostel woman who had to let me in twice late at night). It also left me with no internet, so I couldn’t check the venue location or end time and just went to bed instead of dancing that night. On the way back, I slept in and missed my train by an hour because my phone was on the floor and I was alone in the (8 person) room on the top bunk (I also got in after 4am and my train was before 9). This cost me quite a lot of money. With that in mind, let’s take look at the budget for my holiday:

Food: €65
Hostel: €61: Hostel
Transport: €113 + £111 + €282 (Yes that’s right: missing my train cost me *more* than my original travel budget)
Holiday time taken: 2 days (both spent travelling)
Dancing: €50, 2 days (weekend)

If we convert everything into Euros, (using a 1:1 conversion, which makes the travel budget seem smaller) I spent 12 times more on other things than what I went there to do. (The time budget is a bit more balanced, and it would have only been *7* times if I’d managed to hear my alarm after 4 hours’ sleep and catch my train).

On the plus side, I made it back in time for the ADC show rehearsal. You should all go to see it by the way: I managed to catch a glimpse at some of the other pieces and there are some real gems this year (including our swing piece, that I’m not allowed to tell you any more about apparently).

In summary: Blues is awesome; Heidelberg is awesome; Heidelberg Blues is awesommer. I need to spend less time/money on trains and more on dancing.

December 2, 2010


Filed under: collabora — alsuren @ 7:52 pm

I’ve been looking for a task-management app which could sync with my phone for *months* now without much luck. I tried making GTG sync with RememberTheMilk, and using nolazy for a while, but it was mostly just annoying and got in my way so I gave up.

I’d seen a lot of the guys in the office using Tomboy to organise their thoughts/todo lists, and being pretty effective at keeping on top of their lives, but I didn’t want to adopt a solution that would leave me helpless when I didn’t have my laptop with me. A great thing about Maemo is that there are a lot of ports/clones of desktop apps available, so I set about planning a few of my projects using Tomboy on the desktop and Conboy on my phone.

Then it came to the problem of syncing the two. Conboy suggests that it has the ability to sync notes with your desktop via Ubuntu One, but I decided against that solution. Also, I found out that Tomboy and Conboy use the same format for their notes, so you can sync the files without the help of either application.

The guide I found to sync the files uses a dedicated sync program called unison, which isn’t packaged for maemo, and sounds a bit dubious. Also, I use git to sync files between multiple computers *all the time* for my day-to-day job, so why can’t I just use that instead? It turns out that git *is* available for the n900 (yes: Maemo is awesome) but it is designed for more complicated workflows than “sync these files between here and here”, so I had to hack up a little script to make the job a bit easier.

At the moment it’s more “proof-of-concept” than anything production quality, so I don’t know if it will be useful to anyone who doesn’t already know how to use git, but the idea is there for people to try out and improve on as they see fit.

Current obvious limitations are:
* It just complains loudly and leaves you in the hands of git-rebase if there are any conflicts (should probably fire up mergetool in a temporary directory if I want to handle conflicts *properly*).
* You have to use git init . in both places to set up the git repositories before you try to sync (might add a –init option at some point, but haven’t done so yet).

May 13, 2010

The Monogamy Assumption

Filed under: facebook — Tags: , , , , , , , , , , — alsuren @ 12:00 am

As an Engineer, I believe that simplifying assumptions are morally essential for a well lived life. When I consider Kant’s Categorical Imperative[1], I think of it as a simplifying assumption, which makes your life better, rather than something which produces moral value from nothingness.


One key assumption that I’ve been re-evaluating recently is the one that says “You can only be romantically faithful to one person at a time.” The question that interests me is: “does this assumption actually make my (or my partner’s) life any better?”

I’m going to focus on the problem of finding a potential life partner, because this is one of the main things I look for. The aim here is finding someone who is good for you, and working around kinds of problems that might break you up. What I’m going to do is take a few problems that I have encountered in the past, and see how they might work out under different sets of assumptions.

One of the problems that I have come across is the fear that you will fall in love with someone and prematurely commit your life to them exclusively. If you do this, then you will spend the rest of your life wondering what life could have been like with someone else. This surfaces as a problem when someone thinks “My life would be better with this other person that I’ve just met.” and jumps ship without consulting their current partner. This is a common grounds for divorce, so it’s obviously a big problem for monogamous relationships.

If you and your partner both question the monogamy assumption, then you have a lot more options open here. Being in love with someone other than the person you first thought of is not something that needs to be a problem. If you have discussed the possibility, and are both comfortable before you start pursuing it, then it doesn’t have to weaken your existing relationship. In fact, hearing about and meeting the other wonderful people in your partner’s life can be an extra special source of joy. It certainly has been for me.

It should probably be noted at this point that I have only ever broken off a relationship with one person (Marci) due to a fear of not knowing anyone else. I don’t think we had an explicit understanding that we would get back together afterwards, but we did have an understanding that it wasn’t a lack of love that was causing me to want to seek other partners, and it allowed us to remain friends while we dated other people (she even helped to set me up with my second girlfriend) and pick things up from an even stronger base afterwards. I think that the signature of good communication and re-negotiation in that relationship is something that it shares with most shining examples of poly-amorous relationships from the literature, even though we each considered ourselves to be monogamous, and were in our own monogamous relationships during the year that we weren’t seeingeach other.

So far, we’ve covered the ‘other people’ problem. What else is there? This next one might be quite specific to me, but it’s still worth addressing. Sometimes, I find myself in the situation where I have not been able to devote the time/attention to my partner that they deserve. In most cases, it’s because of a change in our every-day commitments, but It’s especially bad when I find myself in a different timezone from my partner. The fact that I find myself in this situation might also have something to do with the fact that I enjoy having very involved conversations with people over IM, and I often end up forming relationships off the back of that. IM is significantly more time consuming than phone or face-to-face communication, so in the long run, it is easy to spend hours chatting and at the end not feel like you’ve given as much of yourself as you wanted to. If you feel like your partner is passing up on other opportunities in their life in order to talk to you, and you don’t feel like you are able to give them enough of yourself to really deserve that, then there is a case for improving your time management, or expectation management skills. The danger here is if you let this make you feel guilty, and associating that guilt with your partner without really asking why, or addressing it with them until it becomes a problem. I could probably improve my skill at pro-actively discussing my emotions with my partner, and where they come from, so I have (on more than one occasion) let negative feelings undermine my relationship with someone, and then springing it on them when it’s already too late to address the problem constructively.

In terms of the energy and devotion in a polyamorous relationship, I don’t think that I can really comment with any authority. This is because my current relationship is still very new, and there tends to be a skew towards obsessing about your partner whenever you have a new relationship (This is referred to as “New relationship energy” in the literature). This means that any data I have about how much attention to expect might be skewed. On the other hand, it is worth questioning the notion that love is a quantifiable thing: “If you have 100 pounds of love, you can give 100 pounds to your partner, but if you have multiple partners, you have to split the 100 pounds between them” [2]. There are a lot of people who will tell you that this really isn’t how it works. Certainly, I would object if an only child asserted that they got twice as much love as me or my sister.

[2] Ideas and quotes taken from Opening up (A Guide to Creating and Sustaining Open relationships) — Tristan Taormino.

So I don’t think that I have enough experience to conclude anything about how much attention to expect from a partner in a stable polyamorous relationship. I also don’t have *any* first hand experience of how the time-management might work if I found *myself* in more than one relationship. At the moment, I am spending a lot of time reading around the subject of polyamoury, as well as writing blog posts like this one. This is a devotion that hopefully won’t be so time-consuming once I feel comfortable enough to start a new relationship with someone else. I guess I’ll have to try it and report back. Watch this space.

There are a few time management things worth mentioning that are probably orthogonal to monogamy. One is that we use each other for time-boxing (in this case, focussing on specific tasks for 2 hour slots, and reporting back for 10 minutes afterwards). This means that we can have the feeling of being useful to each other, without eating each other’s time or feeling like we’re ignoring each other. The other thing is that we often use Skype instead of IM for talking before work and in the evenings. This genuinely helps in that it lets us make better use of a given amount of time, and we are less likely to have remaining issues to distract us when we’re supposed to be working. The fact that we both have phones with Skype built in probably helps too, because we don’t have the sound issues caused by laptop fans, and we have the freedom to wander around the house while we talk.

Now that I’ve covered an emotional need, and a practical need, what about physical needs? A little disclaimer might be appropriate now. To me, if a relationship is based solely upon physical intimacy (to the point where it can’t survive a period of physical separation) then it is probably not strong enough to endure a lifetime. It would be dishonest to pretend that we don’t have physical needs and desires though, so I’ll try to address them here. Without being too graphic, I’m going to sidestep this topic a bit and assert that while it’s nice to be sexual with the person you love, you don’t actually *need* a partner for sexual release. This leaves the need for physical closeness as a separate, non-sexual requirement, that can be satisfied with lots of hugs. Being in relationships with people from other countries and cities over the years has lead me get quite good at hugging (I’m sure that many people in 6th form assumed that I was either gay, or seeing one of the girls in my group of friends). This is a comfortable arrangement for me, but I can tell what you’re all thinking, so let’s talk about that too: “If I have someone in another city to provide for my emotional needs, why not pursue a purely sexual relationship in my own city?” Having someone to hold in my own city would be good, and I’d be happy having a non-serious relationship involving lots of hugging. If a relationship like that slowly turned into something sexual, then I might be comfortable with that, but I would try to err on the side of taking things slower than they need to be, rather than quicker. I think that alarm bells would start ringing if the sexual side of the relationship obliterated the holding each other and talking side. It’s still something that I am thinking about, and I’m not going to say anything too firm about how I feel at this point, because I’d like to avoid having to eat my hat later.

Finally, I’d like to consider our evolutionary needs. To me, the idea of passing something of myself (not only my genes, but also my beliefs and general perception of the world) on to future generations is very important. What this effectively means in the context of a monogamous relationship is: “could I see myself raising kids with this person?”. To some people, this may be a scary question to be asking at any point, because once you commit to “yes”, you can’t change your mind to “no” without ruining someone’s life. I personally tend to use it more as a measure in the back of my mind. I’m in no rush to actually have kids. My priorities have always been to complete a PhD before I do anything drastic like having children, hence I don’t have this pressure to commit to “yes”. Saying that, if the answer ever becomes “no”, then the “potential life partner” criterion is somewhat in trouble.

If you remove the assumption of monogamy then suddenly the statement “I want to spend the rest of my life with this person” is no longer dependent on “I want to raise kids with this person.” To be clear, it would seem very unwise to enter into relationships with multiple partners with the intention of eventually dumping everyone else and having kids with the person that you like the most. Such an intention would give everyone a reason to feel jealous of (and threatened by) everyone else. This doesn’t sound like a recipe for a healthy relationship. To avoid this situation, you would need to make sure that you get into relationships which you’d want to keep for life, even if you will only have children with someone else.

While I wouldn’t like to pretend that you can plan these things, I’d say that at least one potentially ideal situation is the one where you are involved with someone that you would hypothetically want to have kids with, and then meet someone else who you can fall in love with, but isn’t interested in having kids with you (or would be interested in raising children with your other partner in a triad, but that’s more complicated). If you happen to meet someone who wants to have kids with someone else then you’ve probably hit the jackpot. That way, when you suddenly find that you don’t have as much time for their relationship, they might not mind too much because they are looking after their kids too. I suspect that this comes back to the time management thing again, which is not something that I’m going to explore any further at the moment.

As you can see, I am coming to the conclusion that polyamoury could be quite well suited to the problem of finding a life partner. It really flies in the face of how I’m used to doing things, but I have been quite lucky in finding someone who is willing to invest the time and emotional energy to discuss these things with me. I would really like to encourage discussion in the comments or with me in person, so that people have a chance to question and understand the views that I have. There are quite a lot of concerns that I won’t have addressed (and some that I won’t have even thought of because I’m just starting out), so please do ask lots of questions via facebook or wordpress comments, and I might even turn some of my answers into blog posts in their own right.

April 13, 2010

Gateway to the West

Filed under: collabora — Tags: , , , , , , , , , , — alsuren @ 12:16 pm

It has occurred to me that I should probably write a blog about the project that I’ve been working on recently. We have named it Fargo. Its job is to act as a gateway between the XMPP and SIP networks. The aim is to let you make voice calls from your XMPP client to your SIP contacts without needing to run a SIP-capable client on your local machine. It also allows you to receive incoming calls from SIP contacts from your XMPP client.

The program runs as a standard gateway, so if Fargo were running on, then you would tell the details of your SIP account to Once registered, whenever you log into your XMPP account, the gateway will sign you into your SIP account so that you can send/receive calls. For example, if I were to call you, you would see an incoming call from, and it would behave exactly like a call from one of your XMPP contacts. If you wanted to call me then you would just add “” to your XMPP contacts, and then click the call button.

Now, if you wanted to make a one-off call to me, but you didn’t want to have to add me to to your contact list and then remove me again afterwards, Empathy/Gabble already lets you do this (thanks to an extension that we wrote). Just open up the “New Call” dialog, and type in

So what goes on behind the scenes? When you make a call, your XMPP client opens up a pair of ports in your router (most likely using STUN or UPnP). It then sends your public IP address and port numbers to along with a list of which codecs it supports (this is pretty much the same as what it would do if you were calling someone who is using Google’s official client, or the echo service). Fargo then reads this information and sends it over dbus to telepathy-sofiasip, which forwards it on to me via SIP. My SIP client then sends back some IP/port pairs, and a list of supported codecs (as if it were talking to an X-Lite user, or the echo service).

Once both sides are aware of each other’s addresses and codecs, they can start sending media directly to each other using theReal-time Transport Protocol. The gateway is only involved in setting up and tearing down the call, so I can keep you on the phone chatting about the meaning of life for an hour, and the gateway will only be woken up to say “bye” when one of us hangs up. This means that the cost of making an hour long call through the gateway is remarkably small.

Fargo has been extensively tested with telepathy-gabble, both on the n900 and under Empathy. There are some corner cases which don’t always work as well as they could (eg NAT boxes which don’t support hairpin routing, which only work if the SIP server provides a media relay) because many SIP implementations (including telepathy-sofiasip) don’t support ICE candidate negotiation. Also, if there are no compatible codecs between the XMPP client and the SIP client then the call will fail. All other cases which we tested seem to work fine though.

In addition, have some test scripts which demonstrate a Fargo + ejabberd combination comfortably sustaining a rate of two new logins and two new calls per second on a single-core VM. Calls were limited to 10 seconds each in our tests, but since Fargo is only involved in setup and teardown, the length of calls shouldn’t be very important anyway. Fargo also plays nicely with ejabberd’s “bare_source” load balancing method, so if your gateway becomes too popular, you can just add a few servers and cluster.

Currently, Fargo doesn’t relay IMs, and only supports negotiating raw-udp transports, so it’s probably best used in conjunction with a SIP server that includes a media relay. It also relies on your XMPP server to store your roster rather than trying to store one itself. The program is written in Python (using twisted) and utilises telepathy-sofiasip for the SIP side of things (this could in theory be replaced with another connection manager to handle other protocols). Don’t hesitate to get in touch if you want to know more, or get involved.

March 17, 2010

Blues Extravaganza Moments

Filed under: collabora, facebook — Tags: , , , , , , , — alsuren @ 5:59 pm

Went dancing (blues) over the weekend. I don’t want to end up duplicating Holly’s post so if you actually want to know what I was doing on the weekend, read that. I’m just going to talk about key moments that stuck in my memory (in roughly chronological order):

  • Friday night’s Wall of Blues, and associated turf war with the local drunkards.
  • Peppering of glass in the bottom of my dance shoes.
  • Being told repeatedly to relax by a drunk person who cornered me for a dance.
  • Ignoring her because she was drunk.
  • Being told repeatedly to relax by Damon and Bryn.
  • Hanging my head in shame.
  • Solo blues facing off against Christopher Allen.
  • Dinner in Brazilian place in the market.
  • Dancing in close-closed with someone who’s the right height and connecting well (feels pretty awesome).
  • Being taught a few embraces which improve the connection in closed.
  • Recognising some of them from the previous evening.
  • Closed embrace with Damon and a “Freakishly tall guy”.
  • The picture, care of Christopher Allen.
  • The prank, care of Asif.
  • £5 communal nachos which were better and more filling than £9 burger
  • First dance with Brin (baptism of fire for the evening).
  • Still having my jumper on (baptism of sweat for the evening).

February 11, 2010


Filed under: collabora, facebook — Tags: , , , , , , — alsuren @ 10:03 pm

I went to FOSDEM over the weekend in Brussels. My mum texted me when I arrived, with a thinly veiled request for me to bring back some Belgian Chocolates. Annoyingly, my touristing extended only as far as an hour wandering down to the Palace of Justice and back, and the only chocolate shops I passed seemed to be geared up for Valentine’s Day so I gave them a miss.

Getting back in touch with what’s going on in KDE-land was good, and finally pushed me to switch back from GNOME to KDE. I’m currently still running gnome-panel because I use a gnome-panel applet for reporting how many hours I’ve been working on different things.

I wrote down my conclusions from the conference for other people from Collabora to read, but I thought I might as well share them here too:

  • KMail in KDE 4.5 is finally going to be worth using, but that’s 6 months away.
  • RDF/SPARQL is actually kinda nice, but writing raw queries without any tools is a trap.
    • The KDE guys haven’t really been talking to the Tracker guys, so while their frameworks are theoretically compatible (using the same schemas) they haven’t made very much effort to share things like their databases or tools for writing metadata back to MP3/image tags (a feature which KDE currently lacks).
  • CouchDB is secretly mostly hype and while it’s possible to use from any language without any tools, it’s got too many sharp edges to be very useful when you start trying to use it for non-trivial applications (a bit like dbus-python in that sense?).
  • SIP-Communicator is actually kinda kickass. We really need to improve our SIP stack.
  • I hear Daniel Stone’s talk was really good but it was full by the time I got there. He says that it was recorded, and that he would post to Planet Collabora when they put it online.
  • I’m not going to go into too much detail about XMPP (A few of the other guys on Planet Collabora went to the associated XMPP summit, so I’ll leave it to them to post details about that.). One thing that is worth commenting on is that there is actually surprisingly little impedance mismatch between XMPP and many web2/AJAX technologies. Watch this space for a complete JavaScript port of Prosody and a massive flood of JavaScript-based server components.

January 13, 2010

Internet Banking and Trust

Filed under: collabora, facebook — alsuren @ 5:08 pm

or “What Went Wrong”

I’ve probably wasted at least 3 hours of my life on this (and at least a man-hour of HSBC time) so I might as well try to work out what went wrong, and what can be done in future to avoid such problems. Skip to the end if you like.

I made a deposit payment to my landlord on the 7th of this month using internet banking from my laptop. On the 8th, I got a phone call from HSBC telling me that they needed to confirm a transaction. This is commendable, up to the point where they said “before I continue, I will need your date of birth and post code to authenticate you.”

Take it from my point of view: Someone has just phoned me up out of the blue and asked me to give out my personal details. That’s not going to happen. I asked them if there was any way that he could authenticate himself. He said No (clearly this is impossible without arranging some secret in advance) but he could give me their fraud number and I could call them back with a reference number to confirm the transaction. So close, but not quite the right answer. Someone ringing me up and telling me a number to ring doesn’t help me trust him. He then pointed out that there was a number on the back of my card that I could ring and he could put a note on my records to get them to put me through to fraud. Bingo! “Okay, wait a minute for me to put the note on your file. Okay, bye.”

I was slightly sceptical at this point already, since he’s suggested 2 insecure methods of getting my details from me and it’s only the 3rd is one which is guaranteed not to be a con. I rang up HSBC and got a pretty prompt response once I’d gone through the usual automated menus. Kudos HSBC: you seem to know how to run a call centre. I told the woman what had happened and said my reference number. She couldn’t find anything on my file about any communication. How odd. She didn’t seem as worried by this as me. She said that someone asking for my birthday and postcode was completely normal (Sure, there are easier ways for a fraudster to find out such information, but I still think that a policy of not giving away any information to people you don’t trust is probably a sound one). I got her to write a note in my file to say what had happened, and that I hadn’t given out any details so my account was safe.

Convinced that I had just been the target of a phishing attack, I rang up 1000 and asked them if they could tell me the phone number before last that I was connected to. Turns out they don’t keep that kind of information.

This morning, I got a letter from HSBC telling me to ring up their fraud number. Again, this was someone contacting me out of the blue and asking me to ring a number, but I put on my “don’t give out any personal details” hat on and called them up. This took a little longer to get through, but there was no automated system beforehand, so it’s not too bad. The guy I talked to was very understanding and said that if I had any doubts, I shouldn’t give out any personal details. He said to try ringing up the phone banking or go into the branch, but the likelihood was that I’d need to go into my branch with photographic ID and get them to sort it all out. Sure enough, when I tried internet banking, it gave me an error code which translated to “go into your bank and get your account reset”

When I went into the bank it was lunchtime, but I got seen straight away (more points to HSBC for this). The Lady in the bank was helpful, but there was a note on my file saying that she should phone up a number, and they put her on hold for ages. Apparently this happens a lot at lunchtime. They get all of that sorted out, and I mention that I really need to get this paid by Sunday when I move in. Because it can take a few hours to reset internet banking, she put me onto the woman in the fraud centre to approve the transaction and helped me to set up a standing order for the rent.

I asked the woman in the fraud centre to take a look at the notes on my file, and work out what had happened. Apparently it was recorded that they couldn’t get through to me to confirm the transaction. I explained that I had been given a reference number and told to call a number I didn’t trust, so arranged to call the number on the back of my card instead. She said something like “Yeah, a lot of customers don’t like to ring up the fraud number because it’s an 0845 number and they don’t trust it.” I asked why I was supposed to trust a number that I was given out of the blue, and she said “Tell you what: I’ll give you the number now, and if it comes up again you can trust it.” Turns out it was the same number that was in the letter, but there doesn’t seem to be any reference to it on the HSBC website, and nothing comes up if you type it into the search. For reference, number is 08456 100 194, but don’t take my word for it, because I might be trying to trick you into giving out your bank details.

So what could have been done better?

If someone rings me up again, I will keep them on the phone until they’re certain they have written the appropriate note on my file. This avoids the race between them writing on my file and me calling up the other number.

Before I call any other number, I will make sure I know the number that called me, so I can report them to the fraud people if it turns out to be someone suspect.

If someone calls up trying to confirm a transaction, I have 24 hours from the time I tried to make the transaction to get back to them. Otherwise I’m going to get locked out of my account again. If they don’t have a clue what I’m talking about, I should make sure that I have talked personally to someone on the fraud team before I give up.

I now know that 08456 100 194 is a trusted number, but there’s no way to write it on my card, so it’s going to get forgotten.

They have a feedback section on their site. I’ve written something in there, and if they get back to me, I’ll be sure to post it in the comments here.

October 16, 2009

Mind Control

Filed under: collabora, facebook — Tags: , , , , , , , , — alsuren @ 5:35 pm

My echo bot has received a bit of attention since my last post.

Add to your jabber/gtalk friends, and you can see what I mean.

Note that it currently doesn’t automatically restart itself when it goes down. This is so that I can try to debug crashes rather than leaving them unnoticed. If seems unresponsive, try for now, and send me an email. I will try to add a watchdog bot soon, so that we can have a more reliable service, but I’m dancing all this weekend.

October 9, 2009

Telepathic Reverberations

Filed under: collabora, facebook — Tags: , , , , , , , , , , , , — alsuren @ 4:05 pm

If you have ever had a call with someone where something wasn’t working, and you’ve wondered whether it was your computer or your contact’s that was broken, I have the answer for you. It takes the form of a user that you can add to your contact list, and call to test your setup. If your contact does the same, then it should be very simple to narrow down where the problem lies.

If you are using XMPP (or Google Talk or Jabber if you hate acronyms), then is the user you want. You can add it to your contact list and it will add you back. You can send it a message and it will send it back to you. If you call it, it will send your audio/video straight back to you. It might be a good idea to put headphones in before you do this though, to avoid feedback loops.

The bot is written in Python, and source can be found at It uses telepathy-gabble to connect to the server and Farsight for the streaming. This means that it has all of the same capabilities and limitations as Empathy on Linux. This makes it good for testing interoperability. If you try it out and have problems, feel free to leave a comment here, or join us in #telepathy on freenode and I (alsuren) will be happy to help you out.

A few things to note if you are having problems:

Users of the Google Mail interface are currently limited to audio only, because Google only uses the h.264 video codec, which cannot legally be distributed with Empathy. If enough people report this problem to them, then maybe they will include Theora as a fallback. There are ways that I could work around this problem for the echo service, but then it wouldn’t be a very good tool for testing whether you’re capable of calling Empathy users ;-).

If you are using Ubuntu Jaunty and pulseaudio, you may notice high CPU usage and a really long lag in your audio. This is a known issue and is fixed in the pulseaudio that ships with Karmic.

Watch this space for an MSN echo service (since telepathy-butterfly now supports voice/video for MSN). Also, if you are interested in writing multi-protocol chat bots, I’m planning to re-factor the code and distribute it as part of telepathy-python. If you want a say in the new API, speak now.

Older Posts »

Blog at