Archive for 'Web Development'

Rails rumble 2008, finally manage to finish sheepfit

Rails rumble, this competition where Ruby on Rails developers were invited to code a web application in 48 Hours, is now over. Since today 00:00 GMT precisely.

I participated this year, and managed to develop a personal stretch reminder, called Sheep Fit. You can visit the application for the beta use here. The blog, with all the creation step was maintained during these 48 H by Nathalie Cacahuete.

How was it ?

Very hard. I was alone for all the development and the design and the deployement process. So just a bit wired not to finish in time.

Because there were contestants from all over the world, the competition started at 00:00 GMT in the night from Friday to Saturday, and finished 48 hours later.

The first coding night was ok, but I was really too tired on the second night.

Lots of trouble with the app, with timezones (finally I had to go in rails 2.1 instead of 2.1.1 …) and with the Linode server. I really thanks Matt for the good advice he gave me : Go to bed 5 hours and come back to finish your application.

What did i learn ?

I have to write test …. really. I don’t write full application test usually, just a few and then that bores me. But this this experience made it clear to me : Tests are the key to develop productively. If you don’t write them you’ll lost and waste too much time resolving bugs which should not be there.

I’ve downloaded the 3 RSpec Peepcode videos and I’ll take time to look at them carefully.

Other developers were really cool. When I shared on twitter my fears about not finishing the application, I had plenty of messages pushing me to keep going and not to stop. Thanks you all.

What was the best part ?


  1. Nathalie’s gingerbread :D

  2. Deploy the application and saw it live

What about the other applications ?

You can find a list of rails rumble applications at 48hlaunch.com and at burm’s blog

Some are really awesome. Personally :

What about the future ?

Well, I’ll see with the time if the idea of Sheep Fit can move into a new product. However, we are going to work now on 2 other projects.

One project will be announced in next week, so click here to subscribe to the RSS feed.

Really big thanks to Nathalie who supported me all the weekend … brave girl ;)

Photos ?

Nathalie’s gingerbread :

Man at work :

The 2 projects launch week.

A happy week is coming.

Last week I was really busy. A lot of work in my day job, and a lot of work at home on the travelplanner.

I’m now really proud to annonce that Nathalie, my partner, will help me in the launch of the two projects.

What are these 2 projects?

    The first one is a travel planner. The blog and a launch page will be open this week.
This travel planner will help you creating, discovering and sharing you future journeys.
A very cool application, with a mobile and an Iphone access (in preparation).
The blog will be a beautiful blog, with gorgeous travel photos and travel tips, as well as focuses on some travellers

    The second application will be our RailsRumble application. SheepFit.
Just a cool way of not forgetting to take your eyes off the PC (or the MAC) sometimes.
And if you’re very inspired, you’ll also be able create your own stretching programme, and hope for having a lot of persons following you ;)
The blog will be a fun blog, with some cool strench advice, and some tiredness killer tips.

What are going to be the 2 roles?

    I’m a developer, with a geekly nerd view on marketing things. But Nathalie, is a marketing lover. She studied marketing in France, and after worked for 10 month in Lafarge     Plasterboard, she is now looking for a fun job in or around Bristol, Uk. (Take a look to her cv)

    So, Nathalie will be in charge of the Blog and News, and all the marketing/communication stuff.
During the rails rumble, she is going to update the blog, hour by hour, keeping you up-to-date with the state of the application during its creation. Brilliant idea.

    I’ll be in charge of all the technical posts on these blog, and on all the Ruby on Rails development.

How can you help us delivering new cool web apps?

   The first thing you can do is subscribe to this blog RSS (click here)

   The second thing you can do is follow our projects on twitter. We opened the sheepfit twitter account today (Follow Sheepfit)

   The third thing is  spread the word about these applications and blogs ;).

   Thank you very much for your support, we are looking forward to hearing from you on these ideas. The sheepfit blog will be open tonight, stay tuned.

10 Places left for the rails rumble

The rails rumble team inform us (on their blog) that they manage to open more Rails Rumble seat.

There are now 10 seat left. Hurry up.

Before starting a new project, take a look.

If you’re planning to start a new project, from scratch, Jim Neath, from Fudge, had the good idea to create Bort, your application skeleton to start without pain.

What is Bort ?

      Ruby on Rails popularity brings to it a lot of very good plugins. And it’s that, on 98 % case, when you start a new project from scratch, you’re going to do every times the same thing.

      From starting your test with Rspec to install the lastest version of RESTFUL Authentication, we do all the same thing every time.

      So Bort is just an easy to use starting point, like the scaffolds sometimes.

How can I play with it ?

      Open a terminal and clone Bort git repository : clone git://github.com/fudgestudios/bort.git  (or download it directly from the GitHub )

      Then a Rake db:migrate will do the magic.

What’s inside ?

      At this time, a Bort fresh installation come with :

  1. RESTful Authentication and params
  2. User Roles
  3. Open ID Authentication
  4. Will Paginate
  5. Rspec & Rspec-rails
  6. Exception Notifier
  7. Asset Packager
  8. Capistrano recipes

       A rake:bort:[plugin name] will help you to an easy install of some useful plugins.

How can you help ?

        On his blog, Jim Neath calls for developers ideas, so give a look and report bugs/ideas here

NBGit, a Git plugin for Netbeans


Use Git and GitHub on Netbeans (image source : http://www.flickr.com/photos/boboroshi/2591305062/ )

For three months now I’ve managed to migrate my project on the Git version control system.

Just found, yesterday night, a Git plug in for Netbeans. It’s the first version, not all the commands are implemented, but, you will have the commit one, the diff one and the update. For the branches and the tag, you will need to wait a little.

Why use a version control :

A version control is a must have for every kind of project development.

A version control will help you to :

  • Save your code
  • Keep a trace on what you are doing
  • Keep a history of the changes
  • View the difference between the old version of the file(s) and the local one
  • Keep your modification and your code safe when you work in a team
  • Tag and branche your code for a better organization

And more and more and more …

The most commonly used in companies are : CVS or his fork Subversion (svn), Mercurial, Git.

You can find a good review about seven different version control systems on Smashing Magazine.

What is Git :

Git is a distributed version control system. It means that every developer of the team own a copy of the repository on their disk.

This is the one chosen by the Ruby on Rails core team development and now a lot of rails plugins (Before it was SVN).

Pro :

  • Distributed version
  • Quick (very quick)
  • Easy to manage
  • GitHub
  • Open Source

Cons :

  • ? I do not see any for the moment

You can find a Git cheat sheet here and the official website is here.

What’s GitHub :

GitHub is an ‘easy to open’ and cheap Git server repository provider.

Instead of managing a repository server (and the data backup/security/cost … who come with) you can open an account with GitHub and manage free public repositories.

If you need to have some private projects, you can sign up for a pay monthly account from 7$ a month.

It’s really easy to use, and if you’ve already used another version control system the ‘learning curve’ will be very short.

Your repository will be on safe hands, and will be backup on two others servers, and pushing code is only allowed if you give them your SSH keys.

So, and this Netbeans Git plugins :

Netbeans 6.5 comes with some source control plugins, but there ISN’T ANY for Git.

This issue is corrected with the NBGit plugin, purposed by Jonas.

You can find the plugin here and the git repository here. The official website is on http://nbgit.org.

For the moment there are only the basic operations like Commit/Update and Diff, but I hope branches and tags will come quickly.

I tried it yesterday night, it worked fine for me. Perhaps this plugins will help me to decide definitively between my Gedit a la Textmate and Netbeans.

Rails Rumble 2008, I’ll participate

After long hesitation, I finally took a place for the Rails Rumble 2008.


What’s the Rails Rumble :

Basically, you have 48 Hours long to build from scratch a deployable Ruby on Rails web application.

Every team will have a virtual seat. The rumble starts on October 18th 2008 at 00:00 GMT and stops on October 19Th 2008 at 23:59 GMT.

Every team can have between 1 and 4 persons.

You’re not allowed to start coding/design before or after the 48 hours.

Your application will be judge during 10 days after the competition.

Who can participate :

Any Ruby on Rails developer with an idea to develop, all levels.

My Project :

I’ll try to have a complete Online Cv builder working.

My Rails Rumble project page is online, with the Sheep’n Geek team name.

If you have some reasonable ideas for it, I’ll take them to consideration :D

Sponsors and prizes :

You can find on the Rails Rumble blog all the sponsors names, with their contributions.

And now :

I have my day job, my travel planner project, and this contest … Ho, and our anniversary with my peanut. I’m going to be very busy.

Goog luck to all contestants.

Hug a developer

After a 1 week break, I came back at work and find this video.

Please, be Agile with your developer ;)

Are you starting Ruby on Rails webdevelopment ?

Is yes, after the first post about which ebook are a must have, just take time to visit the http://guides.rails.info/

I don’t know who are the guy’s behind this “starting” documentation, but the works is really good, and the documentation really clear.

I hope they will have a long life.

How to be productive on spare time

Last Sunday I was working on my current personal project, when, during a tea break, I thought about “how to be productive on your personal projects”.

Problematic :

We all have a life (I hope for you), and we all need asocial life. But as a web developer, you also have some dreams and some personal “killer web application who are going to control the world” …

But you have also a day job, which allows you to pay for noodles, skate board, geek gadgets, beers … whatever you want.

Some of you have a partner, as myself (and she is a source of inspiration with some very good ideas) and others have a whole family.

You may also have some extra activities … (running, skate, beer … see point 2 ;))
So, how to be productive in this 3 lives a day …?

I try to be well organize, and to have a good balance between work, rest and entertainment.

Save some time :

My day job (this one which pays for noodles) is to develop and imagine the future interface of HP data storage products end user interface.

So I’m on my computer(s) all the day, and I can take some breaks to search for information I know I’ll need for the development process, I can Google for plugins or problems solving, and finally I can take some time for design inspiration or development monitoring.

Doing this during my day job time, can help me save up to 5 hours a week, and helps me focus on the development part when the coding night comes.

More free time :

Sometimes, when we come back home, my peanut needs some time for her … but it’s never too long.
I try to use this free time to do some express work like HTML/CSS or plugins install/quick test, blog entries.

In fact, I do all the things I know I can stop in the middle and come back on later.

Using this free time, helps me save up to 4 hours a week.

The development part :

Coding and testing is the biggest part of the application development process.

I try to spend 2 nights in the week and 1 day in the week end at coding.

And because I’ve used all the spare time to do the research, to think about how to solve problems and to scaffold the design part of the pages I’ll be working on, I’m very productive during these working sessions.

And to be more productive, I close my Gmail/GTalk, as well as my Twitter and anything that can disturb me. I only keep music, code editors and some pdf open.

The pros :

Using this organisation let me have some time with my peanut for discovering England, cooking, watching films, whatever we want, because I can keep 2 or 3 nigths a week and 1 week end day with her.

I have time to do sport and have some fresh air.

During my day work time and my personal work time I’m very productive. That’s because I avoid mixing them.

The cons :

Even if this organization seems to work quite well, there are some cons :

  1. If you make the addition of all the working hours, you’ll have up to 25 hours dedicated to your application, with ‘only’ 15 hours a week for the real development.
  2. When you have a coding problem, you know this
    kind of little bugs that can take hours to be solved, it’s like if
    you’ve lost a week of work.
  3. You need to have a solid idea of what you have
    to do every day, and be well organised in your development process
    between test, development and design.
  4. You need to wake up in the morning after the night work day … :(

What about you ? What’s your organization method to work on personnal project ?

how to install Passenger for Ruby on Rails on an Apache2 / Linux box

I was preparing the future of this blog, and for that I need to have a sandbox ready for the development and the production.

I decided to give a test to Passenger (aka modRails) for the apache2 Ruby on Rails integration. It’s amazing how simple it is to have a Rails application working now …

What’s Passenger ?

Passenger is a server side module, which enables to have a rails application working without any configuration. People use to say that, with Passenger, you’ll be able to deploy Rails application like PHP application.

Also, and because it made the creation of virtual host very easy, Passenger is looking as the solution for more Rails shared host providers.

How to install Passenger (on an Ubuntu Server Box) :

I assume that you have your Rails and Apache2 installed.

First we need to install the apache2-dev libs

  • sudo apt-get install apache2-prefork-dev

Then we are going to install the gem for passenger and passenger apache himself.

  • sudo gem install passenger
  • sudo passenger-install-apache2-module

For me the version of passenger was 2.0.3, I just follow what the installer said :

copy in /etc/apache2/apache2.conf

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.3/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.3
PassengerRuby /usr/bin/ruby1.8

Be sure that the rewrite mode is enabled :

  • sudo a2emod rewrite

Create a vhost file in /etc/apaches/sites-available/myRailsApp.com

and put inside something like

ServerName myRailsApp.com
DocumentRoot /path/to/myRailsApp/public/

And restart now apache (sudo /etc/init.d/apache2 restart), and you should have a passenger box working.

And now ?

Now you just have to upload the new files to have your application working with Passenger.

I’ll use it for my sandbox, and have some test on the performance before using it on my future web application.

The next step will be to have capistrano 2 working with this configuration. It should be easy, we’ll see that this week ;)