Interviewed about entrepreneurship on “Décideurs TV” [french web TV]

June 25th, 2009 Thibauld 2 comments

Hi there! Just a quick post to let you know that I’ve been interviewed by Décideurs TV (a business focused web television) about entrepreneurship: Should you start your business alone or find a partner / cofounder? How to find the right partner for your business. What is a good partner? etc… The result can be seen here or directly below:

It was my first video interview ever and I must say that I’m pretty happy with the result :)

ISP Speed test

June 15th, 2009 Thibauld No comments

I just came accross this cool ISP speed test. I was pretty pleased with the results considering that I was listening to a web radio at the same time:



I guess that living in Paris helps a lot… However, I was more disappointed that France ranked only 20th in the list of the countries with the highest average download rate and 35th in the list of the countries with the highest upload rate. When I see some internet connection speeds, I realize there is room for improvement :)

However, it was quite cool to see that apart from Japan and South Korea, there are only european countries in the top 10 ! This is likely to give more arguments to our most fervent lobbyist for very high speed internet connections throughout France !

Categories: Uncategorized Tags:

allmyapps has got new office !

June 14th, 2009 Thibauld No comments

That’s it! After several months working from home, we finally integrated our new office in the “Pépinière coeur de Seine” last week. We’re located in Saint Cloud (very close to Paris) so if you’re in Paris, do not hesitate to come by to say hello, we’ll be glad to offer you a fresh beer :)

As you can see, we’ve also welcomed our first 2 interns : Xiaodong and Feiyu who will work with us all summer. Their first week of work with us was really promising so they will hopefully be of a great help to deliver exciting new releases of allmyapps in the coming weeks !

Categories: allmyapps, en Tags: , ,

Alain Storck Conference at the CNAM

June 13th, 2009 Thibauld 2 comments

Last week, we invited Alain Storck, Chairman of the INSA de Lyon engineering school (the great school I graduated from!), to talk about the past and future of the school. The event took place in the great auditorium of “Conservatoire des Arts et Métiers” (CNAM) in Paris and finished with a “dinner cocktail” in the “Salons d’Honneur” of the CNAM. The conference was great, Alain Storck is a really bright and punchy guy and I’m glad he is the Chairman of our school as he will, for sure, keep the school ranked among the top engineering school in France ! I was only a bit disappointed by the relatively low number of people who attended the conference.

Here are a few photos that were taken during the conference :

Alain Storck
Alain Storck during his speech


Amphi Abbé Grégoire - CNAM
The audience in the Abbé Grégoire auditorium


Alain Storck
Alain Storck with Arnaud and Daniel at the cocktail



More info on the conference can be found here :
Conférence avec Alain Storck organisée par l’association des ingénieurs INSA d’île de France

upgrade from Hardy to Jaunty: what a difference on my dell M2300!

May 2nd, 2009 Thibauld No comments

Last week I upgraded (actually dist-upgraded) my laptop from Hardy Heron (ubuntu 8.04) to Jaunty Jackalope (ubuntu 9.04) and all I can say is “Wow” (TM).

I used to blame my laptop for its poor performance but this upgrade made me realize that the problem was coming from Ubuntu Hardy… hmm.. too bad for a LTS (Long Term Support) distribution… My laptop was heating so much that he used to freeze if not elevated 1 or 2 cm above the table! I’m not even talking about battery life…

I tried everything, included BIOS upgrade but nothing solved the problem. Also I had a lot of problem with flash on my firefox, it used to make firefox eat 100% cpu after a while. I was tired of this situation that I even got my old laptop (the best laptop ever) back to life and I was planning to use it as my day-to-day laptop again.

An upgrade to jaunty later (and 1.5Go new packages installed), I can finally feel the power of my Core 2 duo T8300 (2.4Ghz) with 4Go RAM! Even with the most impressive 3D options activated, it still flies and battery life has returned to an “acceptable” level (a little bit above 3h). I can now test some cool 3D games (did you try armagetron?) which were forbidden to me on my old system.

Once the upgrade completed, I was curious about which new applications got included in the ubuntu 9.04 repository (compared to the 8.10 repository) so we put a dedicated page on allmyapps . If you’re interested, you can browse the list of the new applications included in ubuntu 9.04 here.

By the way, the dist-upgrade process always amazes me! It so impressive watching an entire system updating itself without a glitch (ok I had to use 2 dpkg -i –force-overwrite but still… ). So congratulations to the developers!

Linux distributions explained

April 20th, 2009 Thibauld 1 comment

While cleaning my disk, I found a presentation about Linux distributions and the challenges they are facing which I did about 2 years ago. It is pretty unique since I gave this presentation only once during a 1 day training session I gave to Canonical OEM sales team. This presentation is particularly interesting as it graphically explains what is the work of Linux distributions and their challenges. Being an Open Source enthusiast and former Mandriva (Mandrakesoft) employee, this is a subject I know pretty well so I thought I’d share it with you. Hope you’ll find it useful!

Entrepreneurs Club Paris - EM Lyon, 8 avril 2009

April 15th, 2009 Thibauld No comments

On April 8, 2009, my friend Arnaud and I organized an entrepreneurs meeting at the Bedford hôtel in Paris. This event is organized to help new companies ventured by EM Lyon alumni get some visibility (for our english friends, EM Lyon Management School is Lyon’s business school). I though I would share with you the pitch (in french sorry!) of the 5 companies which were presented:

La Compagnie du Bain (by Denis Virot): La Compagnie du Bain est l’inventeur du vêtement de Bain isotherme seconde peau et propose des solutions de prêt-à-porter pour une entrée facile dans l’eau, confortable et conviviale.

La Compagnie du Bain

Yoolink Pro (by Sébastien Blanc): YoolinkPro est une nouvelle façon de gérer et de capitaliser sur l’information et les connaissances en entreprise. C’est une nouvelle génération d’Intranet qui permet de diffuser l’actualité au sein des équipes, de construire une base de connaissance pérenne et unique et de capitaliser sur l’expertise de ses collaborateurs.

Yoolink Pro

New Boutique Hostel (by Laurent Nissan): la première « auberge de jeunesse » haut de gamme à Paris. L’ambition de New Boutique Hostel est de créer la première chaîne de boutique hostels à Paris autour d’un concept neuf, sur un marché de l’hébergement économique pour jeunes en net déficit d’offres.

New Boutique Hostel

Insiteo (by Pierre Varrod): INSITEO develops an indoor GPS system. Avec INSITEO, le GPS pénètre les grands bâtiments: 3 milliards de voyageurs aériens stressés seront enfin guidés jusqu’à leur porte d’embarquement, les visiteurs du Louvre trouveront la Joconde…

Insiteo

Toofoot (by Gilles Wagnon): Toofoot est la première communauté du football amateur. Toofoot est la plate-forme qui se cache derrière Monfoot de francefootball.fr.

Toofoot

Web application implementation: a bad example

April 12th, 2009 Thibauld 1 comment

I recently went to a website which is a perfect example of what *not* to do if you want your web app to feel fast and responsive from a user perspective, especially when it is the first this user comes to your site! Indeed, the first time you go to a website, your web browser will have to download everything: html code, css stylesheets, javascript files, images… and it takes time so you’d better limit the number of files to download if you want the user first experience with your web app to be user friendly.

This is clearly not what moblin solution zone is doing! When you first go to moblin solution zone, you have to wait 25 seconds (!!) before anything displays on your web browser… and what is funny is that there is finally not much to see :)

If you fire up your brave little firebug and take a look at what is happening behind the scene, you quickly realize that your web browser has to make 40 (fourty) requests before displaying the full page!

file requested to display the page

Even though each request is relatively small, at the end you wait 25 seconds only to see this:

moblin solution zone

In conclusion, if you want your users to have a good experience when they first visit your website, you’d better minimize the number of requests needed by grouping js files, css files and using CSS sprites. CSS sprites are a technique which consists in grouping all images like icons into 1 unique image and then use css to only display the image needed. This is really important for the user first visit to your web app since when he comes back, his web browser will have cached a lot of the needed static files which will vastly improve the response time! Provided you set your apache default_expire setting correctly of course…

How to recursively rename directories using a regexp

February 24th, 2009 Thibauld 1 comment

Just a very quick post because I just figured out a command to recursively rename directories. As it is the kind of useful commands you don’t want to loose and as it might be of interest for others, I thought I would share it here. So here is the command:
find -type d -name '*-test' | while read A; do OLD=$(basename $A); NEW=$(echo $OLD | sed s/-test//); mv $A $(dirname $A)/$NEW; done;

In this example, the command recursively finds all directories named <anything>-test and renames them <anything> (removing the trailing ‘-test’). I hope it will be useful for some of you…

Categories: en, technical Tags: , , , ,

Web application implementation step 6: make it fast!

February 22nd, 2009 Thibauld No comments

To continue in the “how to implement great web apps” series, here the step 6: make it fast! This is a vast subject and I’ll not try to be exhaustive, I’d rather make a list of checkpoints with clues on how to improve each point. Making its web app fast is key for user adoption, as there is nothing more frustating than a slow web application.

Just to be clear, when I say “fast”, I mean “fast from the user perspective” because what’s really important in the end is how responsive your app will feel from the user perspective. To illustrate this point, let’s take the example of a web page that requires 5 secondes to load, it could be acceptable if the web page becomes usable after 1 second (from the user perspective). What would be unacceptable is a page that would require 5 seconds to be finally usable by the end user. Now what should you do to make your app fast?

Slowness can come either from :

  1. the backend: the server takes too much time to process the request
  2. the network: transporting the response from the server to the client (the user web browser) takes too much time
  3. the rendering: actually displaying the response received from the server takes too much time

Today we’ll tackle the backend part:

Profile your application. It is necessary to measure how fast is your app and where lie the problems if it is too slow. If you’re developing on a LAMP stack, there is an awesome tool for that called Xdebug. Once you have installed xdebug, all you need to do is to enable it in /etc/php5/apache2/conf.d/xdebug.ini, here’s my configuration:
zend_extension=/usr/lib/php5/20060613+lfs/xdebug.so
xdebug.profiler_output_dir = "/tmp/"
xdebug.profiler_enable = Off
xdebug.profiler_enable_trigger = 1

The output dir must be writable by apache and I encourage you to enable it only via trigger. Now if you want to profile a screen of your web application, just append the argument XDEBUG_PROFILE=1 to the list of arguements. Example:
http://dev.domain.com/a/screen/path?XDEBUG_PROFILE=1

Now, when you access the above url, a file gets created in the output dir (here /tmp/). Just open this file with kcachegrind and you’ll be able to visualize exactly what has happened behind the scene to process your request.

kcachegrind

It will be easy then to answer the following questions:

  • what is being called? how many times?
  • how much time does my request take?
  • is my caching system working as expected?
  • why is this request so slow?
  • are my sql requests fast enough?
  • is the framework I use adding too much overhead?
  • etc….

Kcachegrind provides an incredible value to profile your web application. In the next article, we’ll stay in this ‘make it fast’ step and talk about how to make your web app network efficient.

Stay tuned!