msn-pecan 0.0.12 released
It has been a while since the last release mostly because of personal stuff (moving, trips, lack of Internet), but now everything is back to normal.
This release features a considerable number of bug fixes and support for OS X thanks to Christiano Farina Haesbaert. One step closer to Adium support
Also notable is a very nasty bugfix (potentially many bugs) in Win32 (g_print needs to be more portable).
Also, the source code got a new home at github.
Fixes include:
16: Pango markup injection on personal messages
17: build fails on OSX 10.5.2
19: Nudges
26: Crash on idle
33: wrong include in io/cmd.h
Download from the usual place, at Google Code.
Enjoy ![]()
The future of address books; not e-d-s
There has been some movement these days regarding the people project. There was a discussion on the google group, and a couple of blog posts; Ross Burton, Federico Mena, Phillip Van Hoof, and Johann Prieur.
Those discussions are too focused on old technologies. In a not too distant future some data portable web service is going to provide all the address book merging you might need, think linking your Gmail contacts, Facebook and some random phone numbers. Then you will want to put them on your mobile phone, and not waste bandwidth downloading all the contact information when only a few fields changed.
msn-pecan 0.0.11 released
Not much in this release, just some bugfixes:
- Disconnection messes with msn-pecan
- Error while building on FreeBSD 6.3
- Buddies appear offline
Download from the usual place: http://code.google.com/p/msn-pecan/downloads/list
msn-pecan 0.0.10 released
I’ve just released msn-pecan 0.0.10.
Not much in this release, basically now setting your personal message works and a couple bugs got squashed.
Since I didn’t blog about the last two releases I’ll mention the changes
0.0.9
A couple of bugs were fixed, including broken file transfers, occasional conversation errors, handling of nil personal messages, and a segmentation fault when updating a contact.
0.0.8
This is a brown paper bag release. A big issue with the contact list has been fixed, and possibly a few crashes too.
Well, that’s it. I’ve slowed down development a bit but some big changes probably would come soon.
What is the next feature you would like to see in msn-pecan?
Transcoding for the Internet Tablets the smart way
A while ago I wrote the “official” video transcoding for Maemo how-to based on the wiki page and some heuristics.
The interesting thing here is the intelligent script that automatically finds the right parameters to use for the encoding.
Some of the considerations include:
- As higher framerate as possible. For smooth videos.
- Keep aspect-ratio. So the videos don’t look weird.
- No cropping. You might miss something.
- Single pass. Bigger files, but constant CPU usage.
Is this thing really smart? Let’s try it.
Crappy clip from YouTube
transcode.rb -v -i youtube.flv
* Input: 320×240 [4:3], 29.917 fps, 0 kbps.
* Output: 320×240 [4:3], 29.917 fps, 400 kbps.
mencoder youtube.flv -o youtube_it.avi -srate 44100 -oac mp3lame -lameopts vbr=0:br=128 -af volnorm -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=400 -ofps 29.917000
Nothing special, the script maintained all the parameters, so there shouldn’t be any problems. Also, the aspect-ratio is not so different from the one of the device. This one is OK.
DVD
transcode.rb -v -i dvd://1
* Input: 720×480 [3:2], 29.97 fps, 7500000 kbps.
* Output: 400×240 [5:3], 29.97 fps, 400 kbps.
mencoder dvd://1 -o 1_it.avi -srate 44100 -oac mp3lame -lameopts vbr=0:br=128 -af volnorm -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=400 -ofps 29.970000 -vf-add scale=400:240
In this case the aspect-ratio is slightly modified (less than 10%), but the target aspect-ratio is exactly the same as the one of the device, so, it will look good.
So far the script does seem intelligent
High Definition
Now let’s try a non-standard resolution, high bitrate, and H.264 format.
transcode.rb -v -i starcraft.divx -f h264 -q 8
* Input: 1024×436 [256:109], 23.99 fps, 1917920 kbps.
* Output: 352×144 [22:9], 23.99 fps, 1500 kbps.
mencoder starcraft.divx -o starcraft_it.avi -srate 44100 -oac mp3lame -lameopts vbr=0:br=128 -af volnorm -ovc x264 -x264encopts bitrate=1500:nocabac -ofps 23.990000 -vf-add scale=352:144
The aspect ratio now is about 4% different, that’s good. Unfortunately the aspect-ratio is quite different from the one of the device, but that’s not too bad.
This is how it would look like:
note H.264 videos look pretty good on the device.
Conclusion
So far there hasn’t been a single video where I had to modify the parameters that this algorithm suggested; sometimes the quality is not that good but increasing it with the -q option does the trick.
Wondering if it would find the right parameter for your clips? Why don’t you try it and find out
Why I use Fedora
For quite some people it seems if you use Fedora you are committing an open source sin; at best it seems as if there is no good reason to use it, or so has been my experience. Fedora is generally regarded as a test-bed for Red Hat Enterprise Linux and even though that is true to some extent, that’s not my perception.
My first serious distribution was Linux From Scratch, so I have thought quite a lot about how a Linux distribution should be. For me, it should have state-of-the-art technology, be developer-friendly, and stable.
The only real contenders so far have been: Ubuntu, Gentoo and Arch Linux.
Arch Linux is a great distribution; simple and useful. Unfortunately, it’s not very popular and that shows in it’s stability. Perhaps that has improved since the last time I tried, but I don’t have enough time nor motivation to try it again.
Gentoo might have been the next logical step away from LFS, but there’s a reason why I stopped doing my own distribution: I didn’t want to compile everything by myself. As far as Gentoo stays away of serious binary packages; it’s not an option.
That leads to Ubuntu. Yeah, it’s a great distribution and everybody loves it… I’m sorry but I don’t. The fact that it’s a desktop oriented distribution makes certain decisions as no-root quite annoying. Also not having any choice of the packages to install or different installation methods; I like to install Fedora with an USB key and download the packages over the network. It’s graphics-only installer also doesn’t play well with QEMU.
Those are quite annoying, but minor details. My biggest rant is the package management system.
I’m quite fond of the following RPM commands:
rpm -q --requires foo
rpm -q –provides foo
rpm -q –whatprovides foo
rpm -q –whatrequires foo
Note that “foo” can be a package, a file, or some identification string, like “perl(Error)”. That solves all the possible dependency querying needs you can have.
In contrast, a query of “dpkg -S /etc/localtime” returns nothing on a debian system, or at least the one I have at hand.
There are other annoying details like “apt-get install” and “apt-cache search”; why do I need to know which one to use in which situations? “yum install” and “yum search” are much friendlier.
Finally, there are some common miss-conceptions regarding Fedora:
- The “dependency-hell” still exists; that’s not true thanks to yum.
- It’s unstable by nature since it’s RHEL’s test-bed; not true, there’s Fedora development, testing and stable.
Despite having bleeding-edge technologies Fedora is always quite stable, and very often they choose new technologies that are aligned to exactly what I would have chosen if I was still doing my own LFS.
It’s not perfect but I don’t see any better option.
Do you have any recommendation?
msn-pecan 0.0.7 released
I decided to implement the feature most users wanted: personal messages.
The difficult part was to move to MSNP10. I took the original work of Kris Marsh (moogman) and merged it into msn-pecan. Then I fixed all the contactlist bugs and it was working. MSNP11 and 12 where a peace of cake.
There are other features:
* HTTP method works again
* Fixed nasty bugs from 0.0.6
* Considerable contactlist testing
* Win32 support
* Maemo support
* Usual bugfixing and code cleanups
There are still some bugs hanging around, but the code is improving quite a lot, which means eventually there will be less bugs
msn-pecan 0.0.6 released
This new version doesn’t offer much features, it’s mostly code refactoring and improved HTTP support (doesn’t quite work yet). However, error handling should work much better now, errors from HTTP and connection issues now properly propagate the error message.
What’s cool about this new release is that the GObjectified IO layer now is looking quite good, object references and signaling coming from GObject have definitely helped a lot.
But to me the best thing is separation of the header files into foo.h and foo_priv.h. It was a complete and utter mess.
Before (current msnp14 code), if you wanted to include session.h you had to include a lot of stuff session.h was including:

So now compilation is faster and a lot of object files don’t need to be re-created all the time.
This is how every header file was linking to all the rest in full glory:
ugly mess
There’s still a lot of work to do to clean the mess, but so far it’s going quite good.
Download from here:
http://code.google.com/p/msn-pecan/
GStreamer hello world
Continuing my previous GStreamer introduction this new tutorial will guide you on your first GStreamer application written in C.
For anxious people the code is here.
The whole thing is here.
It’s in bluwiki so if you want to modify it, feel free to do so
I feel a little bit ashamed of posting such simple things, but there doesn’t seem to be anything for the really newbies.
N8×0 Amazon bestsellers
I’ve read similar stories but the actual position in Amazon.com was different. Now the positions are quite good.
Here you can see that the N800 is #1 and the N810 is #5.
I guess we must be doing something good ![]()
