Tag Archives: management

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.

Please, use a version control system, even if your work alone.

Currently, in my team, we are looking for a new junior web developer.

Each time it is the same process.

   1. Read the CV.
   2. First call to see if the person will be ok FOR the role.
   3. Second call with technical questions.

In these technical questions, one is : “Have your ever used a source versioning control system ?”

Easy, isn’t it ?

You’d be surprised with the responses we had :

   1. No never used before.
   2. Yes I’ve used Eclipse/Tortoise
   3. What is it ?
   4. No, never because I worked alone or because we were a small team

Come on, how can you imagine working on a project, even small and own project, without a version control system ?

Saving your code, diff capabilities, branches, tags, reverts, history …. can you code without this ?

To hard or you don’t have any server for that ?

Have a look at GitHub

You don’t need one, you work alone ?

So, you never make mistake, you’ve never modified a file and seen a hidden bug 1 week later, never copied and pasted a part of code in a text editor just in case it doesn’t work, never renamed a folder with the word ‘works/ok/test’ ?

If you can say yes to one or more of the behaviours above, you should take half a day to put your project under a version control system and learn how to use it.

If you want to learn more about version control system, smashing magazine made a presentation of 7 version control systems, just take a look.

At work, migration is in progress from CVS to SVN, and for my personal projects, I use Git on GitHub, very easy and very cheap.

What about you ? Do you use one ? Which one and why ?

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 ?