Screencasting on Linux

I recently made my first screencast (post below), and I must admit it wasn't that easy to find the right tools and the right method to make a nice screencast on Linux. I found some solutions, and I'm going to share them here.
Feel free to fit this to your environment.

Choosing your software

There are several software for screencasting, the most known ones being xvidcap, Istanbul and recordMyDesktop. I've chosen recordMyDesktop because it was less CPU-greedy and it provided a clean and easy to use command-line interface.

However, recordMyDesktop has a little problem (which wasn't embarrassing for my screencast): the audio track lags a little bit, and when you make a very long video, it may become audible.

Preparing your desktop

This is the most tricky part. Since you don't want to record your whole desktop (at least for that kind of screencast), you will have to use your favorite WM's features (and by favorite, I mean OpenBox). This is also an important point if you want to minimize post-processing (so much that the video for my screencast hasn't been post-processed at all).

First, shrink you windows so they take a reasonable amount of space (640×480 is a good idea) and stack them so they are all at the same coordinates. Use xprop to get the window ID of one of them.

Then add something like that to your OpenBox rc.xml:

<application name="rxvt-invisible" class="URxvt">
  <skip_pager>yes</skip_pager>
  <skip_taskbar>yes</skip_taskbar>
</application>

Now launch an URxvt with urxvt -name rxvt-invisible. You'll get a terminal that doesn't show when you cycle windows with Alt-Tab. This is pretty useful because it will stay out your way and won't mess with your workflow.

Launch recordMyDesktop in that terminal, giving the window ID you grabbed earlier, and start your screencast!

Once you're finished, just ^C in the terminal to stop recordMyDesktop and start the encoding.

Publish your video

I've chosen Vimeo as an hosting platform, simply because it rocks. If you want to follow the guidelines, chances are that you need to convert your video. I used mencoder to do that, by setting the right -lavcopts (look at the man page) in order to get an H.264 video with AAC sound.

Once this this done, simply go to Vimeo, register for an account if it's not already done and follow the uploading process.

Questions, remarks, etc.: the comment link is just below!

[fr] Sinatra+CouchDB : Un réducteur d'URL en 15 minutes

This post is in french!

Voici mon premier screencast, dans lequel j'explique (du moins j'essaye) comment réaliser un petit service de réduction d'URL et de bookmarking en un petit quart d'heure à l'aide de CouchDB et Sinatra.

Vous pouvez aussi télécharger ce screencast (~50Mo)

J'ai décelé une petite erreur dans ce que je dis, on verra bien si vous remarquez aussi ;)

Honk v0.2 released

As you may have noticed if you're not reading this in your feed reader, the design has changed quite a bit!
I’m happy to announce that I just released Honk, in it's 0.2 version !

I finally found the bug that caused comments to make Honk crash, and it should be fixed now! Therefore, comments are now open again.

There are a lot of changes and bug fixes, the simplest way is to read the changelog

I've still got plenty of ideas to make Honk better, and it obviously need a lot more work to be really nice. Stay tuned!

Tweeting from Irssi

I discovered tircd yesterday, and almost immediately decided to use it.

I used to have a ttytter running in a screen on my dedicated server, but ttytter has an awful user interface, if we can call this an interface. It’s features are certainly cool, but tircd has even nicer ones!

With tircd, I can use the best text interface that exists, namely irssi.

Installing tircd on Debian (squeeze) is as easy as sudo apt-get install tircd. Once it’s done, just run $ tircd to launch the server and connect your irssi to localhost:6667.

I decided to start a second irssi, with the --home option set to ~/.twirrsi so I can keep IRC separated from Twitter.

Having irssi as your Twitter client allows a LOT of things (logging, highlights,…) and tircd has some awesome features like groups and search.

If you like text-based interfaces and/or if you are a screen lover, I recommend you this very nice piece of software!

Comments closed

Since there were spam bots posting on this blog, I had to disable comments for each post. I still don’t know why but this spam caused Honk to raise a lot of errors.

I’m investigating on this bug and I’ll try to fix that as soon as possible.

Sorry for the inconvenience !

Homework

Almost a month since that last post. Well, I’ve been really busy at college. We’ve got so many projects to do: two GUI projects (an identikit portrait editor and a Klondike game in, respectively, GTK and X11), and an algorithmics project to compute railway itineraries (shortest paths, clustering, generators,…). All of it is in C, which I’m not that comfortable with so it’s kinda tricky :-P.

I didn’t have much time to work on Honk, but I’ve improved other things a bit.

Jumpr which is a small tool to jump from a directory to another has two nice new features:

I’ve also done a small auto-test script that uses notify-send and which is… well, very basic. I’ll have to change it since I’m now going to use the lovely Bacon testing framework that I just discovered this afternoon.

Introduction

I’ve been away from blogging for a bit of time because the various blogging engines I used didn’t fulfill my needs, so I decided to write my own one. This blog is powered by Honk, a small (< 1000 LOC) Sinatra-powered engine. Honk uses YAML files to store its posts and comments and is easily configurable to suit your needs. I know the default theme (the one you can see right now) is not looking really good, but I’ll make another one for this blog :-) This blog will, obviously, talk about code and web stuff, so stay tuned for further postings. For my french readers, I’ll setup another blog where I’ll be posting in my mother tongue.

0