July 02, 2009
The new version 3.0 of OneTeam for iPhone has been released, with the push notification feature from Apple Push Notification Service (APNS).
When moving with your iPhone, as a pedestrian, bike rider, car driver or in public transportation, you might have to shutdown the OneTeam for iPhone application while staying connected to your XMPP server. It is convenient for battery saving purposes, or because you want to use another application (iPhone OS 3.0 still does not authorize background applications).
When an event occurs on your XMPP server, it is sent to the APNS (Apple Push Notification Service), which instantly relays it to your iPhone. A push notification is then poped up on your screen, with a sound played. The OneTeam badge (icon) is then changed, showing a new event has arrived, or the number of events waiting for you to read.

You simply have to tap the OneTeam icon to read your new event. The reconnection will be fast and seamless.
This feature is very handy, since you can use your iPhone the way you want (browse the web, use another application) while still being instantly notified as if you were using OneTeam on the background.
This push notification feature is also deployed on OneTeam.im XMPP server, and ejabberd has a component, IMpush, that can send push notifications to the APNS. This makes ejabberd and OneTeam the first XMPP client and server solution that supports the Apple push system.
OneTeam for iPhone has also received fixes and improvements: groupchat, file transfer, image sending... Here are a few screenshots:
An example of Groupchat:

See the Push configuration screen:

And the general OneTeam confguration:

A few comments on the experience after having used OneTeam for iPhone with push and groupchat:
- "Battery life is not impacted by being always connected to my XMPP server on mobile. I have used all mobile XMPP client and this is the first time I can truely stay connected all the time. I feel this is really really the premise of the mobile revolution for mobile instant messaging and mobile XMPP."
- "OneTeam for iPhone client has the type of feature you would expect from a good desktop XMPP client and not a mobile one. You can use groupchat, file transfer. This is really what I need professionally."
OneTeam for iPhone will be available on the Apple's App Store in a few days, after the usual moderation period at Apple.
IMpush is sold as soon as today on the IMstore to prepare ejabberd servers ahead of OneTeam 3.0 with push.
As everyone reading this knows already, Yahoo was broken for us briefly. We rushed out a 2.5.7 release to address the problem and after release discovered that we had a number of other problems. Among these were broken file transfers, broken buddy icons, etc.
We were receiving almost as many complaints about buddies never changing to show as offline as we got about the original Yahoo connection problem. Quite frankly, I got tired of it, so I started grabbing additional changes that we had committed to the upcoming 2.6.0 and applying them to 2.5.7. Eventually this yielded 2.5.8, which turned out to take a lot longer than I expected to get released.
As the ChangeLog indicates, we fixed a bunch of stuff, including an ICQ crash, an MSN crash for users with long buddy lists, a Yahoo crash introduced in 2.5.7, as well as receiving messages from the web version of MySpace IM and signing on to MySpace IM if you have an empty buddy list.
If you're not using Pidgin 2.5.8, upgrade!
We're also busily at work on Pidgin 2.6.0. In recent weeks we've come down to just a few things holding up the release. Among the blockers are the merging of some new features and fixing a new crash that we introduced by fixing ther crashes. At this rate, we might actually get 2.6.0 out sometime this year!
On an unrelated side note, I was recruited to participate in a charity fundraiser for the Muscular Distrophy Association. If anyone would like to help me reach my fundraising goal, I'd appreciate it.

Those of you who read my blog will notice I promised all sorts of content a while back, but never delivered anything asides from some Pidgin announcements.
I have no shortage of things to write about, but just never found the time to write them. I could never make time for a post out of my busy schedule.
Starting today, that changes. I've realized that it's near impossible to make time for things that are mundane and low priority. Instead, you need to make habits out of them.
Take going to the gym for example. Ever have trouble motivating yourself to make time for a workout? I sure did. That changed the moment made it a routine. Every other day, I commit myself to exercising no matter what. If I'm busy, I cut my workout short, sometimes to a mere 20 minutes.
The important part is that it is now 100% normal for me to show up at the gym on a regular basis. Instead of planning other activities first and then wondering how I'll get to the gym, I expect to be at the gym a given time. All my other plans have to defer to the gym to some degree.
I've been successful with my gym habit, so let's see if I can apply the same lesson to blogging. Don't touch that dial!
July 01, 2009
2.5.8 is now released, which should resolve (we hope!) the remaining problems.
You can download 2.5.8 at www.pidgin.im
June 30, 2009
The first presentation by me (Mickaël Rémond) was titled "OneTeam Media Server: Adding Video to Instant Messaging with Erlang".
The second presentation by Geoff Cant was title "Whitelabel Erlang" and give feedback on how Erlang can be used to write scalable hosted application for business.
June 28, 2009
Thanks to Devid, we now have a build of Adium with msn-pecan, see the announcement at cocoaforge.
Enjoy

June 25, 2009
I’ve just committed the implementation of the new Yahoo! protocol authentication to Subversion and wanted to provide more information on what the problem was and how to get the fix.
Hey, why can’t I login in anymore?
The problem that affected Kopete is with the authentication mechanism. Yahoo Messenger 6 used a heinously complicated password obfuscation method to “encrypt” the password as it was being sent over the wire to Yahoo’s servers. Way back when, Cerulean Studios, the creators of the Trillian client, were kind enough to implement this authentication mechanism. Pidgin got it, as well as the libyahoo2 library we were using at the time. When we switched to our own Yahoo! library some time later, we carried it over. As part of this change, we began to identify to the Yahoo servers as Yahoo Messenger 6. Everything was working, and everybody was happy.
The real problem came relatively recently. As time went by, we started updating which version of Yahoo Messenger we presented ourselves as. When those changes were made, the authentication code was never updated. So, even though we said, hey we’re version 15, we were using the older scheme. I even found out in February that Yahoo! was going to be changing their authentication mechanism. I didn’t do anything because I was too busy with other stuff, and this fell by the wayside.
Yahoo began upgrading their servers at some point recently to phase out the older clients. It became a problem for us because when they upgraded, they started requiring protocol version 15 clients to speak the version 15 authentication scheme, which we never implemented. Since we still spoke version 13’s authentication, this cut us off entirely.
So where do I get the fix?
A nice person pointed the Pidgin folks at some documentation, and when this problem reared its ugly head a few days ago, they got to work on a fix. I pulled the fix from their code and now we authenticate the same way Pidgin does. That code is now in KDE’s subversion repositories in trunk, the 4.3 branch, and the 4.2 branch. I’ve sent a message to the packager mailing list with the revision number from the 4.2 branch that needs to be integrated. I’ve also asked for a retagging of KDE 4.3 RC1 so that the fix can be included there as well.
So, you’ll need to wait for your distribution to provide package upgrades or compile from Subversion yourself.
What the fix does
It does three things:
- Implements the new authentication mechanism - which is much simpler
- Sets the default server to scsa.msg.yahoo.com - this is what Pidgin is using now as well
- Converts any configuration that was using a yahoo.com server to login to point at scsa.msg.yahoo.com instead, so that you have the highest possibility of logging in
Other Yahoo! login problems
If after you’ve upgraded, you still can’t login, please file a new bug so that it can be investigated and handled properly. Adding comments to the already existing bug are not as likely to net a solution that will actually work.
Credits
Thanks to the Pidgin folks for the code and the new release which is how I actually noticed the problem in the first place. I didn’t see the original bug report come in.
Thanks in particular to John Bailey, whose post on the subject from Pidgin’s point of view provided the inspiration and some small bits of content for this blog post and its format.
June 24, 2009
It looks like we have a season for load tests. High number of people contact me asking for some help and advice on the load tests running.
Most of cases are about comparing different server implementations and I am not going to talk about comparing. Comparing different server implementation is very difficult. So many factors and elements must be taken into consideration for a fair comparison. Even generating exactly the same database for each server is quite difficult task.
I would like to give a few hints about running load tests over the Tigase server. What needs to be considered, what settings are important, how to tweak the system to get best possible performance. How to find system bottlenecks and how to deal with them....
All these suggestion are put in a random order and I am writing them from the top of my head. Please don't hesitate to send me your comments about it. I will try to update this guide in time.
The Problem
The specific problem that affected us is the authentication mechanism. Yahoo Messenger 6 used a spectacularly complicated password obfuscation method to "encrypt" the password as it was being sent over the wire to Yahoo's servers. Back in 2004 when we were preparing our 0.79 release, Cerulean Studios, the creators of the Trillian client, were kind enough to implement this authentication mechanism for us. As part of this change, we began to identify to the Yahoo servers as Yahoo Messenger 6. This was all fine and well.
The real problem came relatively recently. At some point in our recent history, which I honestly don't feel like tracking down now, we started identifying as Yahoo Messenger 7. At some point after that we again updated to identify as Yahoo Messenger 8. Both of these changes were related to file transfer and other feature enhancements. When we made these changes, however, we never updated our authentication code. This means we were claiming to speak Yahoo Protocol version 15 but we authenticated the same way protocol version 13 clients do. Even this worked for quite some time.
Yahoo began upgrading their servers at some point recently to phase out the old Yahoo Messenger 6 client. In effect, they want to force users of older software to update to the current client. Whether this is a good thing or not depends on your perspective. From Yahoo's point of view, I'm sure this is an excellent move, as it should make their server software simpler (speak one less protocol, one less auth scheme, etc.) and reduce their support load (fewer client versions to deal with). Where it became a problem for us is that at the same time, they started requiring protocol version 15 clients to speak the version 15 authentication scheme, which we never implemented. Since we still spoke version 13's authentication, this cut us off entirely.
[Note: Some users have discovered that not all of the Yahoo Messenger servers are rejecting the old authentication mechanism from Pidgin. The number of servers that still accept it appears to be shrinking, however. We advise upgrading to Pidgin 2.5.7 as soon as possible.]
Solving the Problem
A few months ago, a kind soul pointed out to us documentation he had assembled on how the current Yahoo Messenger client authenticated and communicated with the servers. It turns out that the convoluted authentication mechanism we had used for years was replaced with a significantly simpler one that uses a few simple HTTPS requests. The beauty here is the login data is encrypted in the same manner as your communications are encrypted whenever you purchase merchandise at a retailer like Amazon. This makes it significantly simpler for us, and probably allows Yahoo to simplify things on their end as well while increasing security during the login process for all their users.
As I mentioned in my previous post, two of our Summer of Code students, Sulabh Mahajan and Mike Ruprecht (keep an eye out for these names--they're responsible for chunks of Pidgin 2.6.0's changelog!), implemented this new authentication scheme. We eventually merged it into what will become Pidgin 2.6.0. This code has had some quality testing already, thanks to the guys over at Adium.
In response to the Yahoo server changes, I (quickly) yanked the most important changes for this new authentication scheme and slapped them onto Pidgin 2.5.6. After some testing and some other important bug fixes, we kicked Pidgin 2.5.7 out the door. In theory, upgrading to Pidgin 2.5.7 should make most people's Yahoo problems go away.
But I already upgraded! It still doesn't work!
Yeah, we have had a few people with this problem. Here are a few suggestions:
- Change your Yahoo account's Pager Server field (located on the Advanced tab when editing the account) to 'scsa.msg.yahoo.com', especially if you previously read this document
- If you're crashing when you connect your Yahoo account, again, set your Pager Server to 'scsa.msg.yahoo.com' and try to log in again. If you can't edit your account, you have two options:
- Run Pidgin from a shell (command prompt). 'pidgin -n' will cause Pidgin to start up in an Offline status, thus allowing you to edit your accounts. Set the Pager Server as described above.
- If you know the name of the server that you entered in the Pager Server field, you can change this manually. Locate your .purple directory (covered in the FAQ!). In this directory is a file called accounts.xml. Open this file with an editor (Wordpad on Windows; any text editor will do on Linux and other Unix-like systems) and find the server name you entered. Change this value and save the file. Start Pidgin and you should be fine.
- If you upgraded by compiling Pidgin yourself, make sure you removed your distribution's existing libpurple package (for Ubuntu and Debian users this is libpurple0; for RedHat/Fedora users it should be libpurple). Then run 'sudo ldconfig' (or 'ldconfig' if you have a root shell already) and try again.
- If you're behind a proxy server that proxies HTTP connections but not HTTPS connections, and you have to explicitly configure the proxy in Pidgin, you're probably not going to have any luck. Our current proxy code can't handle this kind of configuration. Sorry.
- If you're on Windows and you get errors about a corrupted installer, clear your browser's cache, then restart your browser and try to download again.
If you really can't upgrade, then try setting the pager server to either 'scsc.msg.yahoo.com' or 'cs101.msg.mud.yahoo.com' and try again. But you really, really, really, really should upgrade. If you do eventually upgrade, you'll have to change this again, as I describe above.
I upgraded but now ______________ doesn't work!
We've had some reports that after upgrading there are some issues such as missing buddy icons and buddies never being shown as signed off. We are looking into these issues and hope to have them fixed for Pidgin 2.6.0. These issues didn't show up in my testing before the 2.5.7 release.
Tracking Yahoo Problems
Please don't open any new tickets about these issues or about not being able to log in. There are already open tickets to track them. Please also don't comment with "Me too!" or similar on these tickets--it just creates more noise for us to sort through when we're working on Pidgin. If you want to express a "Me too" on one of the tickets, click the arrow near the top of the ticket page that's pointing up. This will cast a vote for the ticket.
I hope this information is helpful to people.
June 23, 2009
Mickaël Rémond, CEO of ProcessOne, was covered by a Datamonitor study: "CEO Viewpoint: Social Networks Mobility = Market Opportunity".
In this Analyst Opinion series by Daniel Okubo, it is observed that social networks and mobile network operators are currently deploying IM and presence features based on XMPP.
In a competitive and recessive context, the leaders and newcomers look to differentiate in order to increase their market shares. Real time communication based on open standard like XMPP has proven a good way to value existing users base.
This document is available at Datamonitor ResearchStore, at the price of $150, or $375 for a multi-user license. ProcessOne is not affiliated with DataMonitor and does not earn any commission on sales of this document, but we thought it could be usefull to know for customers interested in ProcessOne.
June 22, 2009
M-x Customize -> Environment -> Ns
or put
;; Command is meta in OS X.
(setq ns-command-modifier (quote meta))
in your emacs startup files. You'll also need to install an updated emacsclient since the one for emacs 22 won't work with 23.
June 21, 2009
Tonight, we hit a milestone in the Review Board project that we’ve been working toward for over two years. We finally pushed out our 1.0 release. A lot of blood, sweat and tears went into this release (okay, so not literally, but it was A LOT OF WORK!). The last few months in particular have been challenging, as we’ve had to solve some tricky bugs and scalability problems, but the end result is pretty great.
Just a short while ago, we announced the release and put up an overview of the entire release and product. We’ve already had some nice congratulatory e-mails and tweets, which is really nice :)
Some stats for this release:
- 2 years, 9 months, 25 days have passed since our first commit.
- 120 contributors have contributed to Review Board so far (in terms of code contributions).
- 2,019 commits were made.
- 899 review requests have been posted to our project’s actual Review Board server. 1,650 users are registered on there.
- Our demo server, in comparison, has 2,082 review requests filed and 10,154 users.
- 938 bugs were filed. 812 were fixed.
- 232 feature requests were filed. 101 were implemented. Most remaining ones are scheduled for releases.
- An estimated 200+ companies are now using Review Board. 26 have let us list them publicly.
- The largest known Review Board install has over 83,000 filed review requests and over 2,000 users, doing upwards of 10GB of traffic per day.
- 5 presentations on Review Board are known to have been given, 3 by us, 2 by others.
- 552 users have joined our main mailing list, and 3,674 e-mails have been sent.
Now that Review Board 1.0 is out, we can get started on some awesome new features we’ve had planned. I have a little notebook full of ideas for our 1.1 and 1.5 releases (which may become 1.5 and 2.0, respectively, as this list grows). Some of the new features are actually ready to be committed within the next couple of days, so those of you using nightlies will start to see them soon.
We were accepted into this year’s Summer of Code, and have three students working on exciting projects for us, so hopefully we’ll start to see these trickle into the upcoming nightlies as well. Among these projects include diff viewer improvements (moved region detection, better whitespace-only change detection), IDE integration with Eclipse, and improved notification hooks and e-mail support.
We’re also working on providing support for third-party extensions, which will allow developers to extend Review Board in new, exciting ways without having to modify Review Board itself. This is especially handy for companies who wish to integrate better with their sandboxes, bug trackers or unit testing services. This will likely land in 1.5 (2.0?) at the earliest, as it’s a large change, but the code for this mostly works today. It’s just a matter of getting the codebase ready and figuring out what APIs we want to stabilize and expose.
As I mentioned in the release announcement, we’re planning a release party, tentatively on July 11th, 2009, in the Bay Area (somewhere around Palo Alto, CA). If any Review Board users want to join us, please RSVP!
All that aside, we've had some updated authentication code for a while now, and were originally waiting to include it in the Pidgin 2.6.0 release. However, since Yahoo made the authentication changes earlier than we expected, we had to react as quickly as possible to stop the flow of incoming complaints. As a result, we backported the Yahoo authentication changes so we could cut a Pidgin 2.5.7 release fairly quickly.
Pidgin 2.5.7 is now released and does work to connect to Yahoo.
Just for the record, I'd also like to point out to those who complained about waiting three days to get a working release that the last time Yahoo screwed with authentication, it took over a week to even get code to fix the problem, let alone prepare a release and actually get it out to users.
Additionally, we fixed the annoying MSN disconnect-on-block issue and changed AIM's behavior such that the "could not retrieve your buddy list" error appears only once per AIM account.
Enjoy the new release!
June 19, 2009
Lanedo has only been running since January and we have been lucky enough to be able to sponsor the conferences we usually attend this year.
So far, these include the Desktop summit and Linuxtag and we are also looking into sponsoring FSCONS later in the year. For LinuxTag we are sponsoring by sending Tim and Sven and by donating to the cause.
This year as usual, Sven will be propping up the GNOME booth for us, so if you are in that vicinity, don’t forget to come by and say hello!
June 17, 2009
Enjoy!
#!/usr/bin/perl -w
#
# check_bosh plugin for nagios
#
# usage:
# check_bosh -U url -H host
#
# Check if bosh service running at specified address
#
# initial version: 3 May 2000 by Truongchinh Nguyen and Karl DeBisschop
#
# current status: $Revision: 1196 $
#
# Copyright Notice: GPL
# $Id: check_bosh.pl 1196 2009-06-17 15:20:46Z s.strigler $
#
use strict;
use lib "/usr/lib/nagios/plugins";
use utils qw($TIMEOUT %ERRORS &print_revision &support);
use vars qw($PROGNAME);
my ($verbose,$host,$response,$state);
my ($opt_V,$opt_H,$opt_h,$opt_U);
$opt_V = $opt_h, $opt_h = $opt_U = '';
$state = 'UNKNOWN';
$PROGNAME = "check_bosh";
sub print_help ();
sub print_usage ();
$ENV{'BASH_ENV'}='';
$ENV{'ENV'}='';
$ENV{'PATH'}='';
$ENV{'LC_ALL'}='C';
use Getopt::Long;
Getopt::Long::Configure('bundling');
GetOptions(
"V" => \$opt_V, "version" => \$opt_V,
"h" => \$opt_h, "help" => \$opt_h,
"U=s" => \$opt_U, "url=s" => \$opt_U,
"H=s" => \$opt_H, "host=s" => \$opt_H,
"v+" => \$verbose, "verbose+" => \$verbose
);
# -h means display verbose help screen
if ($opt_h) { print_help(); exit $ERRORS{'OK'}; }
# -V means display version number
if ($opt_V) {
print_revision($PROGNAME,'$Revision: 1196 $ ');
exit $ERRORS{'OK'};
}
# -U means URL
unless ($opt_U) { print_usage(); exit $ERRORS{'UNKNOWN'}; }
# -H means host name
unless ($opt_H) { print_usage(); exit $ERRORS{'UNKNOWN'}; }
if (! utils::is_hostname($opt_H)){
print "$opt_H is not a valid host name\n";
print_usage();
exit $ERRORS{"UNKNOWN"};
}
# Just in case of problems, let's not hang Nagios
$SIG{'ALRM'} = sub {
print ("ERROR: No response from RPC server (alarm)\n");
exit $ERRORS{"UNKNOWN"};
};
alarm($TIMEOUT);
$state = &check_bosh($opt_U, $opt_H);
if ($state eq 'OK') {
print "$state: BOSH service at $opt_U up and running\n";
}elsif ($state eq 'WARNING') {
print "$state: BOSH service not working correctly. Bad hostname given?\n";
}else{
print "$state: BOSH service at $opt_U is not running\n";
}
exit $ERRORS{$state};
sub check_bosh() {
my $url = shift;
my $host = shift;
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $req = HTTP::Request->new(POST => $url);
$req->content_type('text/xml; charset=utf-8');
my $payload = "“;
print “SEND: “, $payload, “\n” if($verbose);
$req->content($payload);
my $res = $ua->request($req);
if ($res->is_success) {
print “RECV: “, $res->content, “\n” if ($verbose);
if ($res->content =~ /type=’terminate’/) {
return ‘WARNING’;
} elsif ($res->content =~ /sid=’([^']+)’/) {
$req = HTTP::Request->new(POST => $url);
$req->content_type(’text/xml; charset=utf-8′);
$payload = ““;
print “SEND: “, $payload, “\n” if($verbose);
$req->content($payload);
$res = $ua->request($req);
if ($res->is_success) {
print “RECV: “, $res->content, “\n” if ($verbose);
}
else {
print $res->status_line, “\n” if ($verbose);
return ‘CRITICAL’;
}
}
}
else {
print $res->status_line, “\n” if ($verbose);
return ‘CRITICAL’;
}
return ‘OK’;
}
sub print_help() {
print_revision($PROGNAME,’$Revision: 1196 $ ‘);
print “Copyright (c) 2009 Stefan Strigler\n”;
print “adopted from check_rpc by Karl DeBisschop/Truongchinh Nguyen/Subhendu Ghosh\n”;
print “\n”;
print “Check if bosh service is up and running\n”;
print “\n”;
print_usage();
print “\n”;
print ” URL of bosh service\n”;
print ” XMPP host name\n”;
print ” [-v] Verbose \n”;
print ” [-v -v] Verbose - will print supported programs and numbers \n”;
print “\n”;
support();
}
sub print_usage () {
print “Usage: \n”;
print ” $PROGNAME -U url -H host [-v]\n”;
print ” $PROGNAME [-h | --help]\n”;
print ” $PROGNAME [-V | --version]\n”;
}
June 16, 2009
This is mostly a bugfix release that should make msn-pecan much more stable. Bug also brings some nice features such as “now playing” support.
Everyone is encouraged to update.
I’ve been busy with other projects so I have not been able to work as
much as I would have wanted, but all in all, this is a good release.
The features (thanks to Devid) include support for “now
playing” (ported from libpurple), and a new way to be notified when a
contact has deleted you (you’ll see on the conversation window). Also,
some issues in Adium were fixed, so we will probably roll an Adium
build with msn-pecan enabled.
I’ve updated my system so it might take a while before the win32
binaries are uploaded, anyone willing to take this one?
Download from the usual place at googe code.
Bugs fixed
- 99 Unable to retrieve display pictures when invisible or logged as invisible
- 109 Protocol priority
- 120 Aliases not cleared properly
- 133 pidgin crashed with SIGSEGV in msn_message_destroy()
- 154 Pidgin Randomly Crashes
- 135 russian translation doesn’t work
Enhancements
- 140 Support for “Now Playing” status field
- 129 Can’t verify installation, or uninstall
- 124 Notify when deleted by a contact
Taks
- 121 Make dbg package for the launchpad repo
Diffstat
105 files changed, 1295 insertions(+), 749 deletions(-)
Contributors to this release
Albert Cervin (1):
po: update Swedish translation
Devid Antonio Filoni (14):
Fix use_userdisplay option using Adium.
Change PACKAGE to GETTEXT_PACKAGE.
Translate msn-pecan also using Adium.
Fix use server alias option
Move utils/msgplustags.{c,h} to pecan_util.{c,h}.
Update COPYRIGHT.
Add PURPLE_STATUS_TUNE support and parse contacts's CurrentMedia.
Update MsnClientCaps in msn.h.
Add "Has Space" to get_info.
Show "You are not in A's contact list" message opening a conv
window if needed.
Set the passport also to session->user.
ab/pecan_contact.c: cleanup.
slp: destroy object at the right time
po: update Italian translation
Elias Julkunen (1):
po: update Finnish translation
Felipe Contreras (44):
Cleanup login steps.
Show up 'connecting' state.
session: Cleanups.
Trivial cleanups.
Cleanup configuration stuff.
session: Random cleanups.
Remove bad Russian translation.
cmdproc: trivial cleanup
slpcall: avoid extra error cb call
status: trivial cleanups
status: improve "available" state mapping
Trivial cleanups
userdisplay: report failure
Log general server notifications
Makefile: add debugging symbols by default
session: destroy ud manager after freeing slplinks
contact: store pecan status instead of pidgin one
Reorganize how bad statuses are handled
notification: store user state
contaclist: add function foreach_contact
Get user displays when returning from 'hidden' state
status: trivial cleanup
contact: use "invisible" for the HIDDEN status
Use pidgin mobile status only when offline
Update copyright notices
command: trivial cleanups
command: remove unused refcount
command: general cleanups
contact: enable workaround for server aliases
fix_purple: trivial cleanups
fix_purple: rename purple_buddy_set functions
Reorganize switchboard handling.
Close the http node when not needed.
Make sure the switchboard is not freed when it's still used by slplink.
transaction: trivial cleanup
transaction: add ref/unref
Properly ref/unref transactions
transaction: fix initial ref_count
sb: set error properly
Fix wrong memory access
Optimize GType retrieval
Fix SLP DATA message creation
po: general translation updates
Bump version to 0.0.19
Geoffrey Antos (1):
slplink: fix buffer overflow vulnerability
Luís Neto (1):
po: update Portuguese translation
Wei Hsiang Hung (1):
po: update Traditional Chinese translation

June 15, 2009
Asus had previously announced the Eee Keyboard, which isn't a keyboard but more a netbook with a full sized keyboard and wireless HDMI. The end result being that this is the ideal companion to your huge 1080p LCD television in the front room for light browsing and so on.
Now the Eee Keyboard also has a small touchscreen by the side of the keyboard, which had generally been shown displaing a calendar and the time. Fairly useful but nothing that interesting. However, they have recently demonstrated Moblin 2 running on the Eee, including the Myzone social desktop update thingy.
Now this is pretty neat. I don't know how the touchscreen is related to the main display, but a custom Moblin 2 panel and Myzone tailored to fill the touchscreen would be really cool. Now, where can I get an Eee Keyboard from...
NP: Arecibo Message, Boxcutter




