How to record almost like a pro

There is one very simple way to take your elearning module to the next level. Recording.

Recording almost like a pro means, several things:

– the right voice

– no noise

– the right pace

For the right pace, there is a lot to say but that is not the topic today. What I want is to give you a couple of tips you will find useful to create quality recording on the cheap.

– the right voice

Some people say I sound very well when I record myself. Truthfully I started to think so when people said it. I would have never started recording myself if nobody else would think my voice is good for recording.

I think most people can record themselve. I don’t think there is a bad voice and a good voice. It’s a matter of how you articulate, the noise, the technique. Not the texture of the voice. So if you sound like a screeching bird, keep faith, there is hope!

– no noise

That’s where there is usually room for improvment.

First, you really need a good microphone. I bought a Samson Meteor mic. It’s awesome. I just have one problem with it, the first time I showed it to my colleagues, they were wondering what I was doing with a dildo…

The sound of this mic is just fantastic and it costed me 100 euros.

When you are recording yourself you may have to hit the keyboard, if you do a screencast, you may have to click, etc. These little noise can be captured by the mic and it may even be necessary to give a sense of reality to your performance, but it can also create loud banging noise every time you hit a key.

So here a little piece of advise. Find another table and put the mic there. Or find something like a laptop pouch, a backpack, whatever soft and big you may have and put the mic on it.

That’s my setup and it works. You can also put a pullover under, a coat or whatever you have close by.

Also make sure the CPU fan is not blowing directly towards the mic. That would mean more noise to get rid off in post production.

– Microphone orientation

One of the most annoying thing in amateur audio recording is Ps and Bs popping. Some people will sell you expensive screens to prevent them Some other people will teach how to make one yourself. But the true real way to get rid of them without investing anything is to setup your mic properly.

Just make it point upwards and don’t speak directly towards it. Direct your speech slightly  to the side of it. that way you will not create bursts of air


How to forward a lot of emails with Mutt

Today I had to forward 2200 emails from a mailbox to another address. I looked around a bit to find a way to automate this process but all I could find was how to forward new messages.

That’s easy, just put a .forward file in your home dir with the email where you want to forward and it works.

But to forward already received email, it’s a bit trickier.

I was already using Mutt and I know it is a very powerful tool so I looked a bit more into it.

In order to solve my problem I found the following:

You can Tag many messages with this command:


Then execute one command on all the message tagged with this:


It will then ask you the email address where to bounce all this emails.

Fill it in and off you go. It took 3 minutes to send the 2200 mails. Cool 🙂

Then you can easily delete all these files with this:


Moodle installation problem

I just installed moodle on my server and got into a big mysql error complaining about binlog and other stuffs…

Cannot execute statement: impossible to write to binary log since 
BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine 
limited to row-based logging. InnoDB is limited to row-logging when 
transaction isolation level is READ COMMITTED or READ UNCOMMITTED

After a bit of googling and understand what this was about I figured I should add the following in my my.cnf file and then restart mysql.


I did that and it’s working very well.

How to download a youtube video under linux command line

Here is a great python script very useful to download an HD video from Youtube using the command line in Linux.

It’s very simple, download and run. The result is an mp4 file that you can watch offline with VLC or Media Player Classsic under Windows or any other mp4 player under Linux.

Bonne Idée

I finally decided to create my company (Bonne IdĂ©e: and do something with it. I am now involved in two projects. (french version of

Yaentrainement is an online sport team management platform which is having a huge success in Finland (170K+ users and 43M sign-ups as of may 2012).

Yaentrainement est une plateforme de gestion d’Ă©quipe sportive qui a un succès gigantesque en Finlande (plus de 170 000 utilisatteurs et 43 millions de prĂ©sences enregistrĂ©es en may 2012) (the name may change)

Bliubliu is one of these sound a baby makes when starting to learn to speak. Bliubliu is also a language learning service. It’s working like a mother available 24/7. It will correct you, challenge you, keep you busy and interested all the time.

Bliubliu will use the power of the crowd by connecting language learners. 

Bliubliu est l’un des sons qu’un bĂ©bĂ© fait lorsqu’il apprend Ă  parler. Bliubliu est aussi un service d’apprentissage de langue. Un service qui marche comme une Maman, disponible 24h/24 et 7 jours sur 7. Il vous corrige, vous pause des colles, vous tient occupĂ© et intĂ©ressĂ© tout le temps.

Bliubliu va utiliser la puissance de la foule en connectant les utilisateurs.

Fix a ubuntu upgrade problem with Grub2

With Ubuntu 10.04 came a new version of Grub. During an upgrade from a previous version to 10.04 or higher there will be a time when the system will ask you if you want to keep your own version of the configuration or get the package maintener version.

If I am not mistaken, you should say you want the maintener one.

But then something strange may happen depending on your upgrade path.

If like me you are operating a server and you can’t see the bootup process because it’s all remote, then you probably have only one good configuration and you want to use it and never change.

So how to do that when it’s too late?

If you have access to a rescue mode, this is the time to start it. I am using a dedibox from Free. So I go on my console and I start the rescue mode for that server.

Then you need to connect using ssh to that server in rescue mode.

Once connected you can chroot to your server environment. I suggest the following process:

sudo su -
cd /mnt
mkdir chroot
mount /dev/sda2 $d

/dev/sda2 is my root file system
/dev/sda1 is my /boot file system 

mount /dev/sda1 $d/boot


mount -o bind /dev $d/dev
mount -o bind /sys $d/sys
mount -o bind /dev/shm $d/dev/shm
mount -o bind /proc $d/proc
chroot $d
df -h 

If you see a df which looks familiar after the last command, you are on a good way.

Reinstall grub and update the configuration with the automatic tool (in that order):

grub-install /dev/sda

Get out of the rescue mode and hope for the best!

How to connect to someone out of your network on Linkedin

These days I am looking for a web developer in Lithuania. It is not very easy because it’s a small country… but on Linkedin you can find quite many profiles.

The problem is, sometimes you can’t connect to these people because they are too far out of your network.

Usually you would get the first name of the person and some skills in his profile.

So I simply search in google with the first name of the guy, and some of the skills I can find in his profile. Google will give me a list of profiles of people with the right first name and certainely some people with different last names.

All I have to do is click on each link to find out the one I was looking at before.

But now, because I know the direct link to their profile, Linkedin doesn’t hide the last name anymore, and on top of that it lets me click on Connect. So I can simply say “we’ve done business together” and add something in my request to make sure I will get an answer.

So far: 100% feedback 🙂

And no need to pay for a premium account at Linkedin. 

How to get the value of the latest auto-incremented value on a mysql table with concurrent connections

When building a web application it can seem a bit tricky to get the value of the id (primary key) of the latest row inserted in a mysql table.

It is not that complicated.

The function LAST_INSERT_ID() can help you finding that. This function will return the latest auto-incremented value. No need to specify the table, it just takes the latest one.


The next question is: what happens when I have many concurrent sessions on the same server? Will I get the latest inserted id from another user?

And the answer is NO. Or almost NO. If you are using mysql_connect() to open your DB connection then you will get the latest inserted id of the current session.

If you are using mysql_pconnect(), the result is unpredictable since the LAST_INSERT_ID can come from another session which just reused the connection.

In other words, I would recommend not to use mysql_pconnect(). The advantages of this function are vastly outweighted by the difficulties it introduces and there are other better ways to implement scalabiliy with mysql.

install a lamp server on ubuntu


sudo apt-get install lamp-server^

Be careful not to delete the ^ character.

This will install: 

apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common 
libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 
libaprutil1-ldap libdbd-mysql-perl libdbi-perl libhtml-template-perl 
libmysqlclient16 libnet-daemon-perl libplrpc-perl mysql-client-5.1 
mysql-client-core-5.1 mysql-common mysql-server mysql-server-5.1 
mysql-server-core-5.1 php5-cli php5-common php5-mysql ssl-cert

Modify the session timeout in phpmyadmin

Login and re-login and re-re-login in phpmyadmin is a huge pain.

Here is the way to extend sessions duration.

Open the file in /usr/share/phpmyadmin or in /etc/phpmyadmin

Add the following line:


And in php.ini, modify the following line:

session.gc_maxlifetime = 86400

Restart apache.

apache2ctl restart

You now have 24h sessions.