Homepage
Wednesday, July 1st, 2009
If you are tired of paying for FTP client like CuteFTP or WS_FTP Professional, but wasn't able to find any good replacement, well, you obviously haven't found FileZilla. It's free, it's open source and it's great. Maybe it will not fulfil all your needs, but most of them will be satisfied beyond expection.
FileZilla is built on wxWidgets, which is my preferable choice for C++ Cross-platform toolkit, allowing it to be compiled on many operating systems. On windows, install is very easy, but this may vary on different platforms.

filezilla main
User interface is pretty intuitive. You can traverse the server and your computer without any problems, with mouse and keyboard as well. Site manager manages you FTP, FTPS, SFTP connections with ease.

filezilla settings

filezilla transfers
One of the best and most useful features FileZilla has simultaneous transfer. It allows you to download / upload more files at once and therefore saving you time for other important things. It also gives you a very important summary of file transfer, so you'll see which files failed to transfer, which were transferred successfully. You can also order files that failed to transfer, to download / upload again. This may see as not very important, but when uploading 800 MB of 15000 images, it will be useful. ( Of course you can zip them, upload them, unzip them, but it's more hassle than just uploading them in a matter of minutes, depending on you connection )

filezilla settings
There are not many settings, but all the important ones. This makes FileZilla easily configurable also to not technically more advanced users.
To summarize, FileZilla is a great FTP client, portable, stable, robust and reliable. It makes my number one choice.
P.S: There surely are many other very good FTP clients. For instance, one that mentioned on internet a lot is WinSCP ( Windows only ). But we in Foliovision use FileZilla and we are happy with it.
WordPress |
Tuesday, June 30th, 2009
Quotes (form systems) that have multiple forms can be a nightmare for a PHP programmer. You have to deal with data carry-over in addition to proper data storage. And these are only programming troubles, not counting quote lightness (in terms of easy and understandable content and questions) and design that makes it perfect. (Yeah I know that nothing is perfect, but in Foliovision we try to make it like that)
To ensure the carry-over of data, you may choose to use some hidden inputs in forms (therefore using post data to maintain client recognition), or introduce session (using cookies). The first solution may be preferred, but in big CMSystems may be almost impossible to do. In Foliovision we use Wordpress and for managing forms filled-in. Since Filled-in stores the data as one request and then it can redirect you to another form, maintaining hidden inputs is not possible.
The only solution for us was to use PHP session. We created some useful extensions for filled-in to make such a quote systems possible. But then we ran into a problem with quote that started on HTTP and continued to HTTPS. When changing from one protocol to another, PHP session is not carried over.
There are two solutions on how to fix this. You can redirect to a link that will contain session id as GET parameter and then start session with that ID on HTTPS (terribly insecure), or you make the whole quote use HTTPS. Of course second solution is preferred, since it's a lot more secure way for your site.
If you'll work with sessions and experience similar problem remember that sessions are not carried-over when switching protocols, or from www.domain.com to domain.com.
IT, WordPress |
Wednesday, June 24th, 2009
Open source community collective struggle to make a better software by sharing ideas and improvements is paying off once again as our Foliopress WYSIWYG editor for Wordpress is working on SSL secured https sites from now on.
Thanks and praises both to James T. Snell and Wordpress' Trac system users for noticing the problem with https sites and finding the solution.
WordPress |
Tuesday, May 12th, 2009
Last Friday, Anil Dash and I had a delightful conversation. I mean that delightful. Anil and I share many of the same passions: the web, media, user interface, weblogs.

Anil Dash of SixApart / Typepad by Joi Ito
Anil is a very congenial sort and was a prominent early weblog writer. He is now both a Vice President at SixApart and head evangelist for Typepad.
I have a deep and intimate acquaintance with SixApart's Typepad service, as a founding user in 2003 and now as the founder of the premier Typepad to Wordpress rescue service.
The starting point of our call was clear. Anil is annoyed about my regular unfavourable postings about Typepad. I don't know if SixApart is annoyed about our rescue service itself - we've moved some pretty high profile sites in the last few months, some of which I am not even at liberty to disclose their names.
A few great sites which I can tell you about are Leah Piken Kolida's CreativeEveryDay.com, a resource site for artists. We did both the move and a custom redesign for Leah. We love Leah's work and she loves her new weblog. Recently on the other side of the fence, we moved one of America's premier personal mortgage sites, Dan Green's TheMortgageReports.com. Oh, and please don't visit this link if you are hungry, Blake Royan and Nick Kindelsperger's delightful ThePauperedChef.com a guide on dining well parsimoniously. The photos are homemade and real and delicious as are the recipes.
We take this work very personally and treat the client's sites with the same tender loving care as if they were our own. When they go into Wordpress, they are going in first class with websites run like Swiss clocks and look great to boot.
But it's hard as hell and not inexpensive.
Why?
Because SixApart has no working export. Yes that's right. You heard me correctly. SixApart has no working export.
It takes over ten hours of programmer's time to do the move perfectly per site (that's down from 50 hours for a first timer, with a bit of trial and error) via custom templates, 100 posts at a time (it used to be 500 posts at a time but Typepad clipped our wings a couple of months ago). Here's our 20 step guide to moving from Typepad to Wordpress.
What's that export link you ask? No not the big green one on the right which leads you to a page SixApart asks you to pay them $300 to export your website correctly to MovableType format, the free link at the bottom of the page.

typepad export options
That export button is a great big whopping PR sopped lie. There are three working import options. Anil told me they had programming teams spending months getting the automated import just right. I can believe it. But SixApart haven't spent a day on Typepad export since 2003.
But the export (export is easier than import as it is your own data) doesn't work. What's wrong with the export:
It doesn't include permalinks: what that means is that all your page URLs will change from http://gorgeous.com/2009/05/01/mypostname.com to http://gorgeous.com/2009/05/01/mypostwhoknowhat.com.
Who cares? Google cares, that's who. All the other websites which have linked to your weblog care. To do a successful move, you have to go through all your 1327 posts one by one and change the URL by hand. A nice job for a rainy Sunday or three.
Other flaws in the export include that there is no easy way to gather your images for export. Our workaround for that is quite passable so playing around with the images would only be a few hours passive work if the permalinks would work.
Why no permalinks? Anil's answer.
The export function is very old, in old Movable Type format. We're so far beyond that. We've standardized on the Atom API for export. With Google. Much more complete. The old format is expected in so many places, LiveJournal etc. we couldn't possible change it. We even worked with Lloyd Budd at Automattic in perfecting the Atom export of Typepad to Wordpress.
You do know about the Atom exporter, don't you?
At first, I was intimidated and concerned. Here I had been charging clients considerable sums for long handmade moves which could have been done automatically at half the rate in a quarter the time.
Google teams and Automattic had all been working together to ensure the data portability of Typepad. An automatic routine was out there, I just wasn't aware of it.
That's was Anil's intention as far as I can tell. FUD.
Anil, have you forgotten about Google?
The first I thing I did even before we got off the telephone is that I did a search on Typepad and Atom export. Yes, the posts from Lloyd Budd at Automattic are there, even one about a similar experience Lloyd had with you Anil.
But there's no working exporter, Anil.
What's worse is there can never be a working Atom exporter from Typepad:*
- Atom doesn't get all the old posts/archives (it's restricted to a subset of newer posts)
- Atom doesn't offer up comments
So instead of getting a complete weblog with broken permalinks, you'd get an incomplete weblog with your posts from the last three months and without any comments. Well that's a great improvement, Anil.
If I was clever enough to create a working Typepad to Wordpress service, Anil, I'm clever enough to Google your dissembling excuses. It pains me to call you names as I enjoyed our conversation, Anil. But man, don't lie to me. Lying is no way to win friends or even influence your enemies.
So Anil, if you really want to fix the situation, stop making up stories about Atom and some weird Google Data Liberation Machine of which you are founding member. Just add working export to Typepad and we will be mostly out of business. Most people will be able to move their sites themselves. But you won't do that.
Why won't you add working export to Typepad? The real reason, this time.
Because your mediocre service at Typepad is losing more customers than you are generating new ones. You are on downward attrition and you know that there are a good 15 to 20% of your current clientbase who are just dying to leave but can't. They'd drop you tomorrow, leaving you sucking on a 20% monthly revenue drop.
Well, I'll sugges you to do the opposite. Make the export work, Anil. Sure the first three months will be a bloodbath. But then the bleeding will stop. The people who have outgrown Typepad (Typepad is a lousy place to try to build a webapp or a heavily customised site - I know it's technically possible but it's very painful) or just don't like it, will leave.
Many of the others will be happy as they will know they could leave if they want to. The urgency to take flight will leave.
I can promise you Anil, the moment there is working export in Typepad, about half the reasons to leave Typepad will disappear. There won't be lock-in anymore.
People like me won't have anything to complain about anymore. The Typepad lockin will become a part of history, gradually just a memory.
I offered you our working custom export templates to install as the default export in Typepad. You refused that offer.
Well, now that I've looked into what you told me on the telephone, that makes you dishonest and a liar. When you were small, or when you started your successful weblogs, I don't think that's what you aspired to - to grow into a paid liar.
What happened to you in your time at SixApart? It is possible to tell the truth and earn a good living. There are lots of top webloggers who manage it. Quit SixApart and stop your lying. You'll do fine, if you just put your mind to it. On the other hand, the more years you burn your credibility to the ground with falsehood and disinformation, the harder it will be to get people to trust you again.
Half of success is charm. The other half is truth. Without a balance between the two wings, a plane is destined to crash.
In the meantime, could you still be so kind as to put working export into Typepad?
If we manage that this month - May 2009 - I will take a few paragraphs out of the above essay and replace them with a better story about the earnest collaboration of SixApart and a small design and marketing company on improving the Typepad service, making the export function work fully.
We'll still do some Typepad to Wordpress moves, probably fewer. We'll be able to charge less as we can do it much faster. And nobody will be able to accuse SixApart of lock-in. Less angry users.
Sounds like a win-win to me...
The Wizard of Oz ends happily...the Wicked Witch melts. Why can't this story end happily, why can't Typepad have working export?
* Curiously enough Blogger/Google have actually built themselves a working Atom export system - unlike Typepad. So it appears that it is technically possible.
WordPress |
Friday, April 17th, 2009
Today has been a really long day at the office.
We have had interviews with three new candidates for SEO positions in the company. We've talked SEO strategy. We've gotten a couple of video promotion companies underway. We've created a new reporting system for life insurance quotes. We've fixed our SEO Images plugin. We've done a detailed quote for a new e-commerce site. We've tested two potential CRM-lite solutions. We've unsuccessfully tried to invoice again (too much work to have time to invoice!).
Life is not easy at the front lines of the web wars.
But sometimes working on the web can be great.
Peter and I had to spend a half an hour going over the intricate workings of a good sample Magento site to decide if we wanted to build that shopping site in Magento or build a custom cart of our own in Wordpress. Here's the model Magento site:

Sexy ecommerce: Wordpress or Magento - definitely Magento
- Splendid implementation.
- Perfect design.
- Wonderful proportions.
- Incredible attention to detail.
- Flexibility.
And I am talking about the code not the excellent photographs. It was easy to see all the different variations available of the items. Easy to navigage from item to item.
But digging deeper there's a lot of fragile and browser dependent code here to troubleshoot. Keeping this site looking perfect and running right in five or six browsers is a serious undertaking.
PS. In the end we came down on the side of a preference for Wordpress, as that's what we can SEO and build in our sleep. If the client would prefer a dedicated Magento site it may happen.
WordPress |
Friday, April 17th, 2009
While developing the Foliopress WYSIWYG we decided to create the images management on the basis of Kae Veren's excellent KFM file manager. While we are totally happy with how KFM handles the images itself, we were unable to work with images uploaded via ftp.

SEO Image managing a large sub directory of images uploaded via FTP
Uploading images one by one through an image editor is fine, uploading twenty that way is annoying. One of the reasons to prefer Wordpress over Typepad is that you do have direct access to the server via ftp. So this was clearly not acceptable. It wasn't even possible to change the file ownership of httpd via SSH (without root permissions).
Back in SEO Images we tried to move the images, but there was a problem. Images could not be moved or deleted, even renamed. Researching more this issue we found out a problem with users and their permissions. Images uploaded by FTP belong to user fv, but PHP runs as user httpd.
So the issue is that FTP and PHP runs under different user, but these users cannot touch each other files, except reading it. We tried to set the folder owner to fv and group httpd, but newly uploaded files were still locked to PHP.
After much deliberation we came up with several potential solutions.
- One possible way would be to create some nice HTTP uploader with progress bar, where you'll be able to upload more files. Since you cannot do it in PHP, there is an option to use flash uploader. BUT BE VERY CAREFUL, since flash uses different session than your browser, so even if your form is secure, the flash upload will not be. So if you chose flash, chose your flash uploader carefully. Security is always priority number one.
- Other option is to use FTP inside PHP. So the PHP will FTP into the folder and change the permissions when there is a file (or directory) that doesn't belong to PHP script user. This will solve the issue, but in order to for PHP login to FTP, you have store the login information somewhere on the server. This again is a security risk. You can of course enhance the security by encrypting the login information, and change the pass-phrase for encryption every couple of hours, but for this to be really secure, you have to use second computer (possibly non-public) to generate the pass-phrase. So this solution turns out to be not really practical.
- Since this is all a permissions issue, it can all be dealt with by changing the permissions for uploaded image files to 766 and images directories to 777. This may be very dangerous, especially on cheap shared hosting who often have mod_security turned off and who do not protect the directories between clients.
But changing permission turns out to be the easiest solution and probably safest solution (safer than storing ftp login info on your server!). When your server security is high and, like us, you only need this to upload images, maybe this is what you want. If you are working with an httpd file manager but would like to be able to use FTP with it, just set the permissions of uploaded files via HTTP and also FTP to 766 and folders to 777 and you're good to go.
In our particular case we actually had to change a bit of code to change permmissions of newly created directories in KFM to allow the FTP manager to work on the uploaded images.
@chmod( $physical_address, octdec( '0'. $kfm_default_directory_permission ) );

wien docks crane
The great thing about this fix, is that our image manager is now totally compatible with FTP, so uploading and managing hundreds of images is no longer a concern. Together with Lightbox, SEO Images effectively becomes full scale gallery software and not just for a few images per post. Here is an example gallery of images of Vienna's industrial south.
WordPress |
Thursday, April 2nd, 2009
Surprise, surprise. It's not just Twitter hurting for cash.

Gideon Yu, Facebook CFO
Facebook has just shed its CFO, Gideon Yu - the same guy who negotiated the deal for YouTube. That's somebody I'd like on my team. (Hey, Gideon, we need a CFO at Foliovision.) Apparently Mark Zuckerberg who is the last cofounder of Facebook still standing wasn't seeing eye to eye with Yu about potential monetization plans.
Zuckerberg is rumored to want an IPO. Normal mortals would settle for being acquire, In the meantime, the company is bleeding red ink.
Just the kind of place I would like to store all the contact information of my family and friends: at a business who is desperately in need of a $100 million.
Not only is Facebook desperately in need of cash, but they are an onshore American company. Under all the various Bush decrees, any information stored anywhere in America is accessible by American intelligence and security agencies with the rubber stamp of a secret tribunal. Normally when intelligence agencies get close to data, they don't take what they need, they take all they can get.
In general, Facebook is not somewhere I would be comfortable keeping a full database of all my contacts and all of their contacts, along with exact information about the nature of our relationships. See our page on the dangers of Facebook.
WordPress |
Thursday, March 26th, 2009
I've been reading Jack Welch's Winning.
Though Jack Welch is one mean and selfish man, Winning is a challenging and rewarding testament to Neutron Jack's way of doing business. Welch's philosophy of promoting the top 20% and firing the bottom 10% in a large company is unbelievably Darwinian, even cruel. Welch even runs his personal life the same way - at sixty years of age he writes about co-author and third Suzy "having taught me the meaning of love". Frankly, Welch has grown up children - it's a bit late to be discovering love. Rediscovering would have been far more tactful.
But let's leave the man behind and return to Welch's Spartan philosophy of leaving the crippled employees on the mountaintop to perish in the night.

Jack Welch implementing his Spartan strategies for
HR management and work-life balance
When you read his book, however, you can see how this would work in a company which hires just extremely competitive types. Such people enjoy seeing others thrown down the well. It's a bit of the mob waiting for the witch to be drowned. Welch is appealing to primal nature here, the law of the jungle. The hunter who cannot run fast enough is culled from the tribe and the tribe is stronger as the weakest members can neither survive nor reproduce.
Who sets the standard for elimination? In this case, Jack Welch. Where does one stop though? Perhaps the bottom 75% should be culled. And indeed so it happens in major law firms in Canada. Of the articling students only a small percentage - the most brilliant and particularly those willing to work sixteen hour days at full speed - are retained and made partners. The rest must vanish into government legal jobs or small private practice.
Welch argues that his particular standards are extremely indulgent, even merciful.
Sometimes grades sting, but kids somehow always live through it. And grades have a away of making everything pretty clear. Some people graduate and go on to be astronauts or research scientists or college professors, others become marketing managers or advertising executives, and still otherse become nurses, chefs, or even professional surfers. Grades, in fact, guide us, telling us something about ourselves that we need to know.
So why should we stop getting grades at age twenty-one? To prevent meanness? Please!
His arguments in favour are quite persuasive. Welch's position is if people are in the bottom ten percent, they are in the wrong job. There must be somewhere better on this earth for them to work and fulfill themselves. The underlying argument is that if they are innatel low performance there is no place for them in one of Welch's companies. On that I have to agree with them. Even a single underperformer can take a whole company way down.
This year at Foliovision we let go of one chronic underperformer and the whole company's performance leaped across the board. Just the presence of someone not fully engaged in his or her work is a huge distraction in a tightknit company.
Modern society has places for the take it easy, have another spliff crowd. Places at the post office are mostly filled right now, but there is still retail and front line security guard work. Unsurprisingly women do not line up to date or marry these men, thereby pushing the reproductive selection process to ambition and intellect. Or in the case of basketball players, drive and physical gifts.
If very attractive, the women have better reproductive chances but even then any successful man will get tired of their empty chatter and their absence of ambitions by the second week. There's nothing wrong with a temporary stay in retail. Many people who move to the big city from a smaller town need this stint to get used to acclimatize themselves to the different atmosphere. It is only when chronic that it becomes an issue. Hard working artists who do a day job to pay for their materials and rent are also excluded.
So far, so good. The elite performers are pushed and rewarded, and everyone takes vacations according to their merits and all is well with the world.
What is very frightening and horribly true about what Welch writes is that we are not in competition with ourselves. We are not even in competition with the well-organized Japanese and their Taguchi methods of gradual improvement. We are in competition with sweatshops in China and or intellectual warehouses in India. People there are not concerned with work-life balance issues.
Work-life balance concerns are actually a luxury - "enjoyed" largely by people who are able to trade time for money, and vice versa. You can bet your bottom dollar that the Korean grocer who just opened his shop in New York doesn't worry about whether he has time to get to the gym, just as you can be absolutely certain that 99 percent of the entrepreneurs in China's huge emerging competitive workforce don't wring their hands about working late every night.
So in Welch's world, there is no other route to success than twelve to sixteen hour days six days a week. Anything else will just not be enough.
The sad part is that Welch is probably right and we will have to drive ourselves even harder in Foliovision if we are to achieve our objectives for ourselves and our clients.
If you would like to be happy, read fewer business books. On the other hand for healthy, wealthy and wise, Winning should be on your reading list.
Business |
Thursday, March 26th, 2009
Microsoft adCenter is Microsoft's answer to Google's AdWords. It's the main search engine business for Microsoft.
Imagine you are a simple businessman, who has his own website and you want to bring more traffic on your site. As you are familiar with Microsoft software for decades now, naturally you'll want to check out their online advertising system.
Here are some basic guidelines to make the experience less painful:
First pitfall - Don't even consider using Safari or any other browser except IE and Mozilla, adCenter website does not support other browsers. Their help center states that also Mac and Virtual machines are not supported.

microsoft adCenter Safari
Before he found out that all Mac browsers are banned, Alec, our creative director, spent several hours trying to get Microsoft adCenter to work with all of the browsers under Mac OS, including spoofing the user-agent. Futile, he assures me. You can't even view the System requirements page!

Microsoft adCenter system requirements for Mac users: unviewable!
The page loads forever!
What is Microsoft thinking here? I know they are PC centric, but making potential advertisers lives miserable by not allowing them access via their preferred platform? No wonder Microsoft's Live.com is in last place among the big three search engines.
After installing Mozilla or using IE you log in into setup pages. Using Medium security settings (one of the defaults) on IE will cause Second pitfall - Their site will popup a security warning on your IE, telling you that some parts of the web-page are not secure. Well if you are cautious person you'll probably shut down your browser and never use their service again. If not you have two choices, both bad:

adCenter on Internet Explorer 6
- Lower your security settings
- Click Yes each time you access a page, which will be more than a little annoying.
If you are not very technical, you'll probably need help with setting up ads in adCenter. If you try to do it on your own you'll probably end up spending many hours and you'll call for help in the end.
As a Mac user if you want to use Microsoft adCenter, you will need a copy of VirtualBox (our preferred virtual machine software at Foliovision, due to the absence of painful licensing routines - we do own Parallels have tested VMware but don't use them) or alternative virtual machine software, as well as a copy of Windows XP or 2000. Be careful with Windows 2000 - you may run into limitations there as well.
Even for professional Google AdWords campaign managers, Microsoft adCenter setup is very unpleasant in comparison to the smooth and user-friendly setup of Google's AdWords.
But once you do get onto adCenter and set up some ads, your chances of a successful campaign (low-volume of course, as there just isn't much traffic there) go way up.
Why?
First, it's so annoying to run a Microsoft adCenter campaign that most people can't be bothered for the volume of traffic involved. The time investment is just so much more efficient in Google AdWords.
Second, the sort of people so clued out as to use Microsoft Search / Live.com for their searches are likely to be either highly inexperienced internet users or totally straight dweebs who believe in Microsoft.
In either case, they are a public who are more likely to part with their money more quickly, as they lack the savvy or will to shop around more aggressively. I.e. good potential clients.
Our live testing on client campaigns supports this view. Microsoft Live campaigns are delivering a sale for 1/3 the cost of the same sale on Google AdWords.
So even Mac Users have grounds to swallow their distaste and start their virtual machines.
WordPress |
Thursday, January 29th, 2009
A lot of logos on the web look like they were run over by a truck. Blurry, jagged, hideous. Here's how to make your resized logos gorgeous and sharp.
The first point is to always save your graphics and logos as either a GIF or a PNG. Saving solid colour graphics and logos as a jpeg is a catastrophe and inevitably results in nasty digital noise. This sound elementary but I have had three trained graphic designers do this wrong, including a graduate of the Art Institute of California. The only one who knew the right answer (in what format to save a text logo) was our lead programmer, Peter.
For an example, one doesn't have to go further than the website of Royal Bank of Canada.

RBC logo: jpeg text buzz in action
Even billions of dollars won't save you from jpeg text buzz on your logos. Here are the jpeg jaggies in closeup:

rbc logo jpeg text buzz @ 400%
Nasty. Click the logo to see the full image at 400%. Not what you went to design academy to create.
Now that we have the correct save format out of the way (preferably 24-bit PNG - now compatible with all modern web browsers, or if the logo is simple 8-bit GIF with 256 colours can save some space), we can move on to how to handle small size text correctly.
There is one very important rule in icon design which says:
Design your icon for each size separately.
This is because, if you have for example 128 x 128 px icon, after resizing it to 16 x 16 px, you will see nothing or It will not looks how it should. The best solution is design It also for 16 x 16 pixels.
Difference between resizing and designing to small size.
Example how is it doing in Apple (Home folder icon in Mac OS 10.5)
But in some cases is designing smaller version is just too time consuming. During the course of a day a graphic designer needs to resize a logotype or graphic to a smaller size many times. We can't hand draw every one. But if you need the logotype in very small dimensions and you want to maintain quality, it's not easy.
A standard resizing can give your logo or text jagged edges even if you have original vector file. If your find the text blurry or illegible after downsizing, you can start by using the different anti-aliasing techniques in Photoshop testing for the best result. The options are:
None | Sharp | Crisp | Strong | Smooth

Different Anti-aliasing options in Photoshop (From top: None, Sharp, Crisp, Strong, Smooth).
400% zoomed on the right.

Result with our method. 400% zoomed on the right.
We usually have the best results with Strong. The result will be a bit blurry but usually attractive. But with very small text, photoshop will not get very good resullt. So we need another solution…

This is result after standard resizing.
Edges are too jagged.
The image you want to resize should be in vectors (That means Shape Layers and Text Layers in Photoshop). The idea is to make very big image, and downrez it to 10% size and let Photoshop solve our problem.
- Blow up your vector image to 10 x bigger image size than the size you want in resullt (Photoshop: Image > Image Size… ).
- Open File > Save for Web & Devices…
- Change image size to the values you want (remember, your image is now 10 times bigger, so your new values should be 10% of Size you have before opening Save for Web & Devices…) and set quality of resizing to Bicubic Sharper.
- Save your file.

Now in the small image you can see clean edges of our logotype.
Example: you have 500px wide image and want 150px width. Then Resize it from 500 px to 1500px and export it via Save for Web & Devices… with 150 pixels on width.
Compare the diferences with standard resize and our method:

Normal poor result on left with standard resize.
Result of our method on right.
Some differences can be seen after zooming both images. Especially on letters f and o.

Example 1: Standard resize on left. Our method on right. 400% view.
Another zoomed example. There are not a lot of difference for first look, but on the letter m or a you can see that text on left is too strong and jagged.

Example 2: Standard resize on left. Our method on right. 400% view.
Note: You can do this also with non-vector images, but then you will need to have a four to ten times larger file than your destination size as your starting point.
For best results you should always use round numbers, i.e 10%, 20%. 25%, 50% of Original size for best results.
Why?
With a round number, Photoshop divides the pixels by a multiple (2 or 4 or 5 or 10) which means Photoshop doesn't have to interpolate nearly as much.
If you start form a large enough original, an exact multiple becomes less important as Photoshop has lots of pixels to choose from when interpolating and the rounding will not be as noticeable.
IT |
Thursday, January 29th, 2009
Ever have the experience that you send someone the wrong message in Skype or worse yet, you send the right message but to the wrong person?
It happened to me today when I wanted to send one of my staff my client's contact info. Instead I sent him his own contact info.
Embarrassing.
But he was offline at the time. So the message showed as pending.
Is there anyway to cancel a pending Skype message?
It's great when something works the way it should.
Yes, there is a saved by the bell feature in Skype and it works even on the Mac version. If you right click, you can remove the pending message like this:

How to Erase a Skype Message
Once you've gotten rid of the message, unfortunately, you are not completely off the hook.
When your client (or girlfriend, as the case may be with mistaken messages) comes back online, he or she will see the text "This message has been removed". Still, it's a lot easier to explain an error message than errant information.

Traces of a Skype message removed
If the person is online and you are quick, you can remove the message before he or she sees it, apparently for up to at least one hour.
This is a great Skype feature.
IT |
Sunday, January 18th, 2009
I just found a great little utility to test backup systems.
It's called Backup Bouncer and like the bouncer in a bar Backup Bouncer is there to keep the patrons honest. It will let you know ahead of time if your backup system is letting you down in complex ways, like not copying metadata or is blowing out resource forks or resetting creation dates.
These are the sorts of things you won't notice until you've lost your original and for some reason your Aperture or iPhoto library won't run properly anymore.
Of course, even a defective backup is better than none.
I was happy to see that my main backup tool SuperDuper! passes the test with flying colours. (For full bootable backup, Mike Bombich's CCC (Carbon Copy Cloner) is back in the game as well, after a couple of difficult years, passing all tests as well - as a past donater, I guess I own CCC as well.)
That's great news as it means I don't have to test SuperDuper! myself . Indirectly I do test SuperDuper! by booting from my bootable backup after most backups and doing a bit of work just to be sure that the bootable backup really boots and really works.
But as good as SuperDuper! is for a whole drive bootable backup, is it (and CCC) awkward for backing up a directory or two. You need a second program to be moving image or music files back and forth between two computers. And this second sync program is a bigger problem.
My secondary tool is for syncing directories and moving anything from 500 MB to 50 GB of data around. I use a little application called MimMac which is very easy to use and inexpensive ($10/per computer).
But MimMac is a bit of a black box. We don't really know what goes on inside. Everything seems fine, but what exactly is MimMac copying and how well?
As the backups are not bootable, MimMac is more difficult to stress test.*
Here's the Backup Bouncer report to save you the trouble of setting it all up and running it yourself:
Verifying: basic-permissions ... ok (Critical)
Verifying: timestamps ... ok (Critical)
Verifying: symlinks ... ok (Critical)
Verifying: symlink-ownership ... ok
Verifying: hardlinks ... FAIL (Important)
Verifying: resource-forks ...
Sub-test: on files ... ok (Critical)
Sub-test: on hardlinked files ... FAIL (Important)
Verifying: finder-flags ... ok (Critical)
Verifying: finder-locks ... ok
Verifying: creation-date ... ok
Verifying: bsd-flags ... ok
Verifying: extended-attrs ...
Sub-test: on files ... ok (Important)
Sub-test: on directories ... ok (Important)
Sub-test: on symlinks ... ok
Verifying: access-control-lists ...
Sub-test: on files ... ok (Important)
Sub-test: on dirs ... ok (Important)
Verifying: fifo ... FAIL
Verifying: devices ... ok
Verifying: combo-tests ...
Sub-test: xattrs + rsrc forks ... ok
Sub-test: lots of metadata ... ok
Not bad. The failures in hardlinks and resource-files in hardlinked is similar to Apple's cp-copy command. Failure in fifo only happens in ditto. FIFO stands for first-in-first-out. As far as I can tell, FIFO is not mission-critical for personal/local backups.
What MimMac gets right that most of the other methods do not get right is metadata. So Benjamin is paying attention. Still not clear what copying engine he's using though.
What is good about MimMac is that it is very fast. What is not so good about MimMac is that you can't do a test run. Either you run your sync or you don't so you can't find out about conflicts or mistakes before you press go. The speed probably makes up for the risk.
I would like to recommend MimMac but can't due to licensing methods. MimMac relies on the esellerate engine for license verification and each license is tied to your specific hardware. If Benjamin goes out of business or just gets tired of MimMac and you upgrade your computer or your hard drive, you have no further access to the software. Full stop. Period. For core programs, I much prefer either open-source (commercial open-source is fine, it doesn't have to be GNU) or if not open-source, at least just a personal license code which will continue to work even if the developer decides to stop work. I've lost enough software over the years to developers leaving the business, that there is no way I want my core functions dependent on whether another person's whim or even health.
Moreover when you switch computers, all software which is tied to hardware either has to be unlicensed and relicensed (forget it!) or it requires emails and phone calls to the developer (one obnoxious developer once told me for his $25 utility as a courtesy he would allow me to license it on my new computer once, but next time I had to unlicense his utility or he wouldn't issue a replacement key - what do these developers think: their two-bit utility is one of five applications we own: this licensing system just doesn't scale and reminds me of the Lubyanka in Moscow).
The worst developer in Mac backup actually runs background spyware applications on your network full-time if you decide that you want to use his software. The problem is that the spyware not only spies but steals significant background cycles and is constantly pinging the inside of your network, creating no end of dead-end traffic. While the solution is speedy, slowing down my computer is not on. At this point, licensing this guy's software is extremely dicey: you need to give him special codes for your hardware (not even the standard ones) and if you're lucky it might just work. Talk about shooting yourself in the foot. He's made using his software so painful that from being the best solution, he's become the worst solution - as well as the most expensive. I guess he's been taking lessons from the RIAA paranoid and self-destructive school of copyright.
So I am looking for an rsync GUI, paid or not. One rsync GUI can always be replaced with another in the worst case. Unfortunately rsync doesn't pass the Backup Bouncer test unless you do a special install which means you have to tinker on all your computers (slowing you down) and that a certain number of these GUI won't work as they will be defaulting to the built-in Apple rsync.
Here's a couple of candidates to save you the time of searching for rsync GUIs (there's a lot of abandonware out there):
- aRsync 0.41. I don't like that a simple rsync GUI is 4.7 MB - what are they hiding in there? I don't like the Pirate logo on backup software. This is the kind of software which could compromise your whole hard drive or send out your financial data. No to pirates or unknown entities. I don't like betas for backup or sync software either. This is an area where you need 100% reliablility. Moreover aRsync fails many tests including semantic links, hard links, creation date, fifo and metadata. Ouch.
- Simple Sync 1.1. I don't know how well SimpleSync works. Perhaps very well if you do follow the instructions for updating rsync. If not certainly it will work as well as Apple's rsync with. It's worth noting that Simple Sync is just 210 KB - that's about right for a wrapper - and that Kevin includes both his mobile number and a link to his main company's home page on the Simple Sync page. I'm feeling much better about using this script already.
Maybe we will build a self-contained advanced rsync GUI ourselves and release it so that we can get the right version of rsync and a GUI - and then we can share it with the world. For the moment, SuperDuper! and MimMac are keeping us safely backed up and synced.
Whatever you do, don't forget to backup!
At least once a week.
For those interested in specific backup strategies for Mac OS X for photographers and other media intensive users, I've written another article called The Backup Manifesto.
* MimMac is capable of bootable backups but I have more trust in SuperDuper! both for technical reasons and for licensing reasons as outline later in the article. On the other hand, if you are willing to accept MimMac's licensing you can probably take a pass on SuperDuper! and use MimMac for everything, saving yourself $28 to spend on a replacement whenever Benjamin decides to abandon MimMac or change his licensing and MimMac won't run on your computer anymore.
WordPress |
Monday, December 22nd, 2008
If you sometimes need to search and replace some text throughout your weblog, you should definitely be using Urban Giraffe's Search Regex. With Search Regex you can search and replace text in all the fields shown in the picture below:

Search Regex
If you are replacing some text, first enter the Search pattern and press the Search button. This will show you the results, so you can fine tune the pattern to get only the results you want. You also get a set of links to view and edit the post. Very handy.

Search Regex results
If you are satisfied with your search results, you can enter the Replace pattern. Then press Replace button. You will get all list of all the search results together with the preview of how the text will look like after the replace. Now you can manually decide if you want to replace each one of search results by clicking replace.

Search Regex replace
When replacing some text on your website always make sure to search through each of these fields (use the Source drop-down menu):
- Post content
- Post meta value (catches meta descriptions and keywords)
- Post title
- Post excerpt
Replacing the word in Post content is often not enough, if you don't also search Post title and Post meta and Post excerpt you will miss instances.
While it's possible to have changes made immediately (Replace All), we recommend you that you avoid Replace & Save, as this will alter your posts immediately. Use only if you are 100% sure what you are doing and you have a huge number of changes to make.
Search Regex has even more powerful replacement options, via regular expressions. If you have some programming skills and you understand Perl compatibile Regular Expressions you can check Regex checkbox and extend the functionality of this great plugin.
Regular expression on the following screenshot will search for every occurance of word 'easy' without blank space before it.

Search Regex regular expressions
Writing about regular expressions could be a subject to a whole new article or even set of articles. If you want to know more about regular expressions, here are some interesting links:
So remember to be extra careful when using the replace function and good luck fixing your articles.
WordPress |
Friday, December 19th, 2008
We've just had to move another client's old site to a new one.
There are lots of inbound links but the page URL structure has completely changed for the better.
The client wants to rank right away.
What do we do?
301 the old site is the traditional answer.
Not so fast says Eric Ward who is one of the masters of link building, having built links by hand for longer than almost anyone else on the internet and for more large corporate clients than any individual I know (there are some SEO companies working fairly stealth with portfolios of almost 100 big names):
I wouldn't 301 it yet. First I'd run a backlink analysis on the old site and then visit each site linking to the old site, and for those that look exceptionally trustworthy and legit, ask them personally for a hand edit to change the link from the old site to the new site.
Painful.
Slow.
Tedious.
Effective.
Frankly for a website with thousands of backlinks, that's just not a realistic option. Well for Walt Disney or some of Eric's other clients perhaps it is. But should the rest of us do?
- Run a detailed backlink analysis (we use SEO Spyglass for this as it's reliable, comprehensive and cross-platform so that I can use the same software on my Mac as the rest of the team uses on their PC's or even Linux machines). That analysis will give you the target pages of all incoming links.
- Make a list of all the pages which have incoming back links and look at the anchor text for those links.
- Find the page on the new website which best corresponds to that anchor text (the new landing page so to speak).
- Write a 301 redirect for each of those old pages to new pages. 301 syntax looks like this:
redirect 301 /olddirectory/oldsubdirectory/oldfilename.htm http://newdomain.com/newdirectory/newpage
- Open up .htaccess and paste in the new 301 redirects (.htaccess is in the root directory of your website and is an invisible file - you need to turn on the option to see invisible files in your FTP client in order to work on .htaccess).
- Paste in the new 301's to your new website.
- Test your 301's by hand (always test everything by hand - a single colon or quotation mark out of place can disable an entire PHP file, html page or .htaccess file!).
- Monitor your server logs for 404's in any case. Any page which 404's often should also be 301'd.
For bonus points:
- Do a site:yourdomainname.com search in Google.
- Find the equivalent new page for each old page (depending on the site a regex redirect will be your friend).
- Write 301's for all the existing pages to the new equivalents (you can group pages of course, i.e. 4 different pages from the old site could get mapped to a single page on the new site).
- Add to .htaccess.
- Test.
If you follow these prescriptions to the letter, you should retain the rankings of the old site. Be prepared to see a three week to seven week dip as Google gets used to your new digs. It's a bit of manual drudgery in comparison to just a single global 301 to the new website.
Still it's a lot less work than trying to dig up the owners of incoming links to the old site and begging them to change the links to the new site.
But Eric has a point. Any incoming links over which you have control or are of particularly high value you should seek to change by hand (although an older link will lose its age value by being changed to the new domain, so what Google gives, Google taketh away). Over time, though, the direct link will be worth more.
WordPress |
Tuesday, December 9th, 2008
We have some campaigns out there on Google AdWords for which we now have some very nice organic rankings.
At the end of each month we like to calculate the number of sales of PPC versus organic for a Canadian life insurance client.
Most of our PPC results have a gclid parameter in them so it's clear as day. It's almost certain that a clean result like this one is organic:
http://www.google.ca/search?q=canadian+life+insurance
While this is definitely PPC:
http://lsminsurance.ca/calculators/canada/term-life.php?PPC-ON-ripped&type=search&keyword=life%20insurance&adid=984186361&placement=&gclid=CLmk9Iruk5YCFQhdswodiCp_FA
What about this one with &rlz= in the URL parameter?
http://www.google.ca/search?sourceid=navclient&ie=UTF-8&rlz=1T4ADBS_enCA248CA248&q=greatwest
I couldn't tell. The long strange string smelled like PPC to me.
It out to be nothing of the kind. &rlz= is the string that Google uses for identifying users of Google Chrome:
You may notice a RLZ parameter in the URL when you do a Google search from the Google Chrome address bar. The RLZ parameter contains some encoded information (like when you downloaded Google Chrome and where you got it from). The RLZ parameter does not uniquely identify you nor is it used to target advertising. Google uses this information in aggregate to find out whether groups of people are using Google Chrome actively. Not all users have the same RLZ parameter. The RLZ parameter is based on where Google Chrome was download from, when it was installed, and when certain features were first used, like search.
A RLZ parameter is sent to Google with every search done using the built-in search box. It is also sent separately on days when Google Chrome has been used or when certain significant events occur such as a successful installation of Google Chrome. The RLZ parameter is stored in the registry and may be updated from time to time. The code that makes this work is not included in the open source project (http://www.chromium.org) because it only applies to the version of the browser that Google distributes, Google Chrome.
Great to know. These &rlz= searches are definitely organic then.
That Google would track you based on your browser is disturbing. However if you ever search logged in, Google can track you pretty well via your IP number, putting two and two together.
On the other hand, there are seven of us behind one IP here so the log might be a bit confusing. Still it could be correlated to exact user agent as many of my colleagues use different browsers as their primary web browser (or even a different OS).
I wonder why Google felt a need to go even further in their tracking. Just put away those images of Will Smith fleeing across bridges in Enemy of the State (blu-ray now too) and go back to your typing.
SEO |