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

How to redirect www.domain.com to domain.com (or reverse)

Most sites can be reached by two different URLs. For example http://b2evolution.net/about/features.html and http://www.b2evolution.net/about/features.html .

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):

Code

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.

Explanations

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):

Code

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 somedomain.com to www.somedomain.com

Code

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

Sitemaps priority is confusing

When looking at the sitemaps protocol which is now endorsed by Google, Yahoo and MSN, I can't help but crying about how obscure the documentation is, especially for the <priority> element.

Please note that the priority you assign to a page is not likely to influence the position of your URLs in a search engine's result pages.

Okay, so what's the point?

Granted that setting all priorities to 1.0 will not make the urls rank higher than urls from other sites. But we're talking about position of URLs here, not sites.

Sometimes, the same site appears multiple times in search results, with different pages/urls. In that case, if priority doesn't influence which URL comes first, compared to which other comes second, then what's the use?

For example, on a blog, the same info can be found on a post's permanent url, on the homepage, on the category page, on the archives pages, the RSS feed, etc.

Sometimes the search will return several of these locations. If the priority can't be used to tell that the permanent url would be the best choice to put first, then... I don't get it! |-|

Does it mean that priorities are only used to determine what gets crawled first? If it does, then it means that maybe the 100 top priorities will be indexed and the others won't! So the top 100 may appear in search results and the other may not!

Present vs. not present! That's what they call "not influencing the position'?

Again, if it doesn't do that, then what does it do?

All I can think of at that point is the priority being an alternative to <changefreq> : a site gets a certain number of reindexes a day, and high priorities pages will be refreshed more often that low priority pages.

That would comply with the definition of that <priority> does NOT do...

But then... it doesn't make sense with what it is *supposed* to do:

it only lets the search engines know which pages you deem most important for the crawlers.

Or by "most important", are we supposed to understand "most frequently updated"?

I really wonder who it helps to have that spec being so obscure... :>>

Apollo: the Flash Virtual Machine is getting better

Apollo: the Flash Virtual Machine is getting better

It was bound to happen. Macromedia's (well, Adobe's) Flash player finally evolved into a very complete Virtual Machine. They call it Apollo.

It basically solves the same problem Java has tried to solve for years: write once, run anywhere.

Though it's certainly less mature than Java today, I see several factors that could let Apollo succeed where Java has failed. Among these:

  • It leverages existing developers skills (HTML, Javascript, Flash...) which makes it look much more accessible than Java which only leveraged C++ skills.
  • It's gonna look nice out of the box. Java still looks relatively ugly...
  • With today's computers it's probably going to feel less painful and slow than Java back in 1996...

On the other hand, Sun has recently released Java as Open Source and that's certainly not a coincidence. I'm not sure what Adobe's pricing/distribution plans are with Apollo, but it certainly ain't gonna be as free as open source! :roll: