Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 159

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 162

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 165

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 168

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 171

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 173

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 175

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 197

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 201

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 224

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 225

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 226

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 316

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 316

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 316

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 316
2007 July
From the monthly archives: July 2007

I have 880 bookmarked pages in Firefox. 200 of them are in a folder named rails. I can’t find anything anymore. It is usually faster to google for what I want.  It’s time for summer cleaning. It’s also time to move to delicious: I want my bookmarks available anywhere and I want to use tags.

I signup and install the firefox plugin. It can import your bookmarks. Better, there’s an option to automatically add the most popular tag. Talk about a great way to harness the wisdom of crowds! One problem: it only adds the most popular tag when I want all of them. Tags are useful only when you can put more than one (otherwise you are back to using folders)! I wrote a small ruby script to add all popular tags to my bookmarks using the api (and this to get the most popular tags).

The good

  1. My bookmarks are now online and a bit better organized thanks to tags (ex: I can see all rails plugins related to databases).
  2. When adding new bookmarks, the firefox plugin suggests the most popular tags. That’s very nice as it is not always easy to find good tags.
  3. I can delete all my bookmarks in firefox. I now only keep the bookmark toolbar with links to sites I visit daily and links to online tools such as gmail, google reader, dictionary, etc. It is a breath of fresh air to have it so clean.

The bad

  1. The Firefox plugin is sloooooooooow. It is almost unusable. It is better to search on the delicious site.
  2. A big problem with bookmarks is actually a problem related to the way a lot of websites are built: the title isn’t correctly set. Or if it is set, the title is not very good at telling you what the page is all about. Even with tags, I have to actually open the page to know what it is about.

I’m not entirely sold yet, but I will continue the experiment for a couple of weeks.

Popularity: 9% [?]

 

Just some clarification on my previous post. I took the first step towards happiness when I quit my job about two months ago. I won’t get into the details of why I left. But suffice to say it has made huge impact on my mood. And that’s the part of the manifesto I like the most:

7: I know that my happiness at work affects my happiness outside of work.

Waking up in the morning and knowing of all the opportunities open to me is a very different feel than the dread related to going to a job I didn’t like anymore. Are you happy at work?

Popularity: 5% [?]

 

I choose to be happy at work.

Popularity: 4% [?]

 

Capistrano is a framework for deploying Rails application (you can do more with it, but it comes with built-in tasks for rails). How does it work? It connects to the server through SSH, checks out the last version of your app from your subversion repository in a new directory (releases/{date}), runs migration (optional), symlinks the directory to /current. You’re up and running after simply running “cap deploy”.

It supports rollback when something goes wrong. Setup is really simple (for dreamhost, you can find info in the wiki). It supports more complex deployment scenarios to multiple machines (multiple app servers with one db server for example). It’s easily extensible if you need to add custom steps to your deployment procedure. Let’s say you have a directory for uploads, you can create a task to properly link to the new version.

It was my first time with Capistrano because I was working on Windows before. It is such a time-saver to have a great and powerful tool like this for deployment (compared to writing your own scripts). I think I’m in love.

Popularity: 9% [?]

 

Coming soon…

Popularity: 4% [?]

 

Here are the first few plugins you need after installing WordPress:

  1. Akismet: Plugin to stop comment spam. As a small example of the problem of spam, I run a very very small blog. Last week, I trackbacked two posts and commented two times on other small blogs. This led to receiving about a hundred comment spam last monday!
  2. Ultimate Google Analytics: Plugin that integrates Google Analytics on your website. GA gives you traffic stats. You do want to know if your blog is read, do you?
  3. Feedburner Feedsmith: Feedburner is a service you need for your blog. First, it allows to transfer all your feed traffic to them (this can represent a fairly large amount of your bandwidth in terms of percentage) and it gives you stats on who subscribes to your feed.

These 3 plugins are a good start to take control of your blog.

Popularity: 4% [?]

 

Over the last couple months, I decided to slowly transition to using gmail as my primary email. Things were working well so today I spent some time to move the last few remaining items. I discovered some features of gmail along the way.

  1. Get mail from other accounts: You can configure gmail to download mail from the pop3 server of your other accounts. You will catch any remaining emails sent to your old address.
  2. Notifier: A simple application you can install on your machine to check for new mail.
  3. Archive: I never noticed this feature before today. Anyway, why would I want to archive my mail? I want to keep them. In this case, archive only means moving the email away from the inbox folder. They are still accessible, but only through “All Mail”. This helps to keep your inbox clean.
  4. Labels: You can tag your emails. Simple enough.
  5. Filters: The fun starts here. Automatically label, archive, redirect incoming mails based on subject, from, body, etc.
  6. Folders: Gmail does not support “folders”. If you are used to Outlook, this is can be surprising. Labels are more what you would virtual folders. However, you can emulate the workflow of rules and folders you’re used to with Outlook. Create a filter and have it label a message AND archive it at the same time. This prevents the message from cluttering your inbox.

The last point is what I missed for the past year. Originally, I used gmail to subscribe to the rails mailing list. Gmail does an amazing job of organizing messages in threads. The problem was that my personal messages would get lost among the flow of emails from the list. Now that I know that I need to label them AND archive these messages, i finally regained control of my inbox.

I’m pretty sure all of these features weren’t available when I first started using gmail. The moral of the story is you need to spend some time to learn the tools you use, whether it is your email program or your text editor or IDE.

Slightly off topic, or another moral to the story: All users of software go with the first thing that works even when there are better ways. (even a software developer like me sometimes)

Popularity: 4% [?]

 

I was quiet last week as I was investigating moving my blog to a different hosting company. I have been with Textdrive for the last 2 years. They’re not bad, but they sure don’t provide an exceptional value. For 15$/month, you get anemic space and bandwith, a very slow, ugly and almost useless web panel. Since last year, you also get three other services from Joyent, such as Strongspace, but they’re not something I need.

With DreamHost, I get a boatload of storage and bandwith for 10$/month. Better, google for dreamhost coupon, and you get 90$ off. My first year is gonna cost me 30$. Their web panel is nice and simple and even includes a one-click installer for WordPress. There’s also a 97 money back guarantee so I have time to investigate if my rails apps are gonna work. I hear support isn’t great, but they have a lot customers so you can google your problem and easily find a solution most of time.

Popularity: 14% [?]

 

Popularity: 75% [?]

 

photo jf Hello, my name is Jean-Francois Couture. I’m a 25 years old software developer from Montreal, Canada. I currently work for Code Genome, a small company developing custom web applications using Ruby on Rails.

View Jean-Francois Couture's profile on LinkedIn

Popularity: 22% [?]