Still dreaming about the ideal FTP tool

Besides the basics, there's three simple things I'd expect from an FTP client:

  1. Symetrically navigate in subfolders locally and remotely with single clicks;
  2. Upload files and overwrite the server side only if the local file is newer;
  3. Search the server for old files that no longer exist locally (with an option to ignore folders that contain user uploaded content).

I have never ever found a Windows tool doing all 3 ! :'(

  • CuteFTP 8 Pro does #1 and that's about it (Its folder sync tools are basically a joke : it compares dates without comparing times!)
  • FileZilla 2.32 does #2 but that's about it.
  • My old DreamWeaver MX does #3 but is so painfully slow that it's barely bearable!

I'm so impatient to see FileZilla 3 as well as the new DreamWeaver CS3... but I fear I'm gonna be disappointed again... :-/

Maybe I should start to figure out how to run rsync on Windows right now... |-|

The importance of URIs

“People don’t recognize how important URIs are. The notion that you have a huge, world-scale, information space, and that everything in it has an name and they’re all just short strings that you can paint on the side of a bus; that’s a new thing and a good thing.”
Tim Bray

Steve Job's commencement speech at Stanford (2005)

I've been meaning to post this for quite a long time. But I guess I needed the excuse of b2evolution's new video plugin to actually do it...

In case you haven't seen this yet, watch it!

It is so inspiring! Steve Jobs at his best! ;)

Why should a legitimate business need to worry about branding?

My take on the topic…

Why should a legitimate business need to worry about branding?

Well, if you wait long enough, any type of business is bound to be commoditized at some point. Actually, they even managed to commoditize artistic creation! They have reality TV shows to dig up disposable singers, don’t they?

How fast your business is going to be commoditized depends on how easy it is to replicate. But eventually, you’ll end up with serious and strong competitors. At that point, the only thing that will distinguish you from the competition is your brand!

Your brand is the ultimate point of differentiation that will allow you to charge a non commodity price for a commodity product or service.

Of course, the competition will work on their branding too. So, if you’re in the market for the long run, if you are a legitimate business, then you definitely need to worry about branding from day 1. The earlier you start, the more time you have to become the “number 1″ brand in your customers’ subconscious mind.

No matter how hard you try, your customers/clients will not remember a dozen facts about you. Maybe they’ll remember 1, or 2… or 3 if they are really paying attention! However, a catchy brand is one easy thing for them to remember. “Google” or “Yahoo” are perfect examples of this. (By the way: “Ask"… is probably not so good… since it doesn’t really differentiate from the surronding noise — in the search area, everyone is “asking” the engines…

Full story »

How to redirect to (or reverse)

Most sites can be reached by two different URLs. For example and .

This is good for the users who can choose whether or not to type in the "www." part. However, it is not good for search engines which will tend to see a lot of duplicate contents.

If you are on an Apache webserver, you can use mod_rewrite in order to redirect all traffic that goes to the www.domain to the "non www" domain. (If you want it the other way round, see below)

Try adding this to a file named ".htaccess" at the root of your site (create that file if it doesn't exist):


RewriteEngine on
RewriteCond %{HTTP_HOST}   !^$
RewriteCond %{HTTP_HOST}   !^your-domain\.com [NC]
RewriteRule ^/(.*)         http://your-domain\.com/$1 [L,R=301]

Note: More advanced users will prefer to add this to the httpd.conf / apache2.conf instead in order to gain a little efficiency and also to not interfere with tests on development/staging servers.


RewriteEngine on activates mod_rewrite.

The first RewriteCond makes sure we have a non(!) empty(^$) hostname to work with.

The second RewriteCond detects that the host name is not(!) the one we want (e-g: it has an extra www. part in it).

The RewriteRule sends out a permanent(301) redirection to the right domain name followed by the currently requested path/page ($1).

Handling multiple domains at once

Below is more elegant (yet complex to read) solution that can handle multiple domains at once (if you have "ServerAlias"es) and that doesn't require to type-in your domain (just copy/paste):


RewriteEngine on
RewriteCond %{HTTP_HOST}   !^$
RewriteCond %{HTTP_HOST}   ^www\.(.+)$ [NC]
RewriteRule ^/(.*)         http://%1/$1 [L,R=301]

The trick here is to use %1 which matches the canonical part of the domain name in the second RewriteCond (.+) .

Reverse redirection

By popular demand, here is how to redirect from to


RewriteEngine on
RewriteCond %{HTTP_HOST}   !^$
RewriteCond %{HTTP_HOST}   !^www\. [NC]
RewriteRule ^/(.*)         http://www.%{HTTP_HOST}/$1 [L,R=301]