Archive for March, 2010
Friday, March 26th, 2010
We want to have nice pictures in our posts. So do You. Good composition, colors and focus are by all means necessary. But there's at least one more step between picture in your camera and picture on your web - resizing. Either on your computer in your own image editor, or on the server using image processor designed for that purpose, or on both.
In this article we will look at the quality of the server-side processing of the pictures when they are being resized. There are two tools for image handling running under php. First is build-in php image processor called GD. Second tool is ImageMagick which needs to be additionally installed on the server.
Focus on Details
If you want really nice pictures, details matter. Details are the magic that makes the picture look extraordinary good. We examined how GD and ImageMagick behave when it comes to details. With GD we don't have many ways how to affect the result, but with ImageMagick we have the choice of filters and sharpening options. Look at the following portrait and notice the difference. You can see that the GD picture looks somehow blurry while the ImageMagick looks more sharp and preserves details.

GD, 32kB
|

ImageMagick, 63kB
|

Photoshop, 58kB
|
Details in the following example are even more disturbing in the case of GD. You can clearly see not even the blurriness, but also ugly artifacts around the windows - the set of lines formed by windows is really distracted in the GD case.

GD, 29kB
|

ImageMagick, 65kB
|

Photoshop, 56kB
|
As you probably already have noticed, the ImageMagick files are significantly bigger than the files produced by GD. This is the price we are paying for keeping the details. In comparison, Photoshop has slightly smaller files than ImageMagick.
The last example might be not so obvious. We resized the original picture only to 50% of it's size and cropped part of the face:
If you look very carefully you can see the small differences around eyebrows, eyelashes and in the center of the eye.
Sharpening
Another feature provided by ImageMagick is sharpening, while GD does not offer this option. Sharpening is applied during the resizing process, by default no sharpening is used. We already noticed that even this option is turned off, the pictures processed by ImageMagick look more sharp then the ones from GD. Here we offer a closer look at the effect of different sharpening values:

ImageMagick, no sharpening (=1)
|

ImageMagick, sharpening=0.9
|

ImageMagick, sharpening=0.8
|

ImageMagick, sharpening=0.5
|
We can see that slight sharpening (0.9) as used in the top left picture might be sometimes handy, but care should be taken to not use this parameter in extreme values as ugly artifacts come along this process - see the area around eyes or hair in the bottom left picture.
Conclusion
We care about how our pictures look, and so should You. In this comparison we showed that ImageMagick behaves much better when it comes to details and we think that ImageMagick should be used instead of GD whenever possible. We are willing to pay the price of bigger files in favor or preserving details.
Technical note
In this comparison we used the compression quality equal to 100% to not get any form of distraction from the compression algorithms. The filter used in ImageMagick for the resize was the Lanczos filter.
Wanna try it yourself? Here are our test images: building.jpg and girl.jpg

By Zdenka
WordPress |
Wednesday, March 24th, 2010
I should preface this article by saying that of the social networks, we like LinkedIn best. They don't try to get ahold of information about you they shouldn't have and they give the account owner very good granular control of what appears in his or her account. On the other hand, sometimes one wants to close an account. And it should be easy.
How can one quickly and easily delete one's LinkedIn account? It turns out nohow.
First, it’s almost impossible to do it without seeking out very detailed documentation. Fortunately you have arrived at the right place.
The received wisdom is that you have to open up a customer support ticket to close your LinkedIn account. That’s no longer the case. Possibly thanks to the direct pressure that celebrity programmer (can a programmer be a celebrity?) David Heinemeier Hansson brought to bear:
In the second round of Heinemeier Hansson’s LinkedIn let me go hell, Heinemeier Hansson wrote:
But two people from LinkedIn has now been in touch and hopefully we can work this out. I’ll try my best to get the quit-account operation to be automatic, not manual. That’s the big problem.
But it’s still not easy.
You have to search for the cancel function deep in the help profiles. What brings it up is “delete profile” here – http://linkedin.custhelp.com/
Once you are there here are the instructions:
Close an account and remove your profile from LinkedIn by completing the following steps:
Log into the account you wish to close.
Click on ‘Account & Settings’ found at the top of the home page.
Click on ‘Close Your Account’ under Personal Information.
Select a reason for closing your account.
Click on ‘Continue’.
Members should only have one LinkedIn account. Multiple accounts can prevent the ability to accept an Invitation. Closing additional accounts should resolve this dilemma. Prior to closing any secondary accounts:
Inventory all connections and identify any that may be missing from the primary account you wish to keep.
Send Invitations to those connections missing from the primary account.
Update any profile information that maybe on other account profiles.
Note: Once the account is closed, a user will no longer have access to the account or the contact information. If an account is closed in error, it can be reopened by contacting Customer Service. LinkedIn will be happy to re-open your account if you can provide a confirmed primary or secondary email address tied to that account. However, LinkedIn does not have the ability to restore any pending invitations or sent recommendations on a re-opened account.
Not so easy. If you are managing any groups you have to delete those too.
You have to go through about six screens to get this done.
One of my clients has multiple profiles. The emails that those profiles were created under are long gone. Let’s see how long it takes LinkedIn to actually respond.
Update: out of three duplicate profiles:
- I found the email and removed the account
- Wonder of wonders LinkedIn removed this one based on my ticket (logged in as my client from his main account)
- This one (a Private profile but certainly my client) is still there.
God help you if you actually sign up for their paid service. Apparently they will not allow you allow to terminate at all in that case. One poor sod had to cancel his credit card to get off paid LinkedIn:
I tried to cancel my $20/month subscription with LinkedIn. They never responded to emails and charged me for months until I finally found a way to stop the billing. Seriously this worked.
Cancel or report your credit card lost or stolen with the number you used for LinkedIn. no new charges occurred after that. And my account was finally set back to the basic status no more $20 fees.
What’s worse, for a business which takes money for its services, LinkedIn does not answer its telephone. Here’s the number in case you need it: if anyone comes across an extension which actually works you can post it and I will send anyone who subscribes here that info. Posting it on the open web would probably lead to the extension being disabled within a few weeks.
Speaking of which, LinkedIn’s pricing is absurd – $400/year for an address book. That’s one pricey piece of software. We pay $100/month for our online accounting package and something similar for project management but there are ten to forty users using those services day in and day out.
Epilogue
With the help of a senior customer service manager (I think the head of the whole shooting works) we were finally able to get some duplicate accounts deleted/merged. It was far too painful and took a matter of weeks. It necessitated giving false information to LinkedIn (if we didn't give false information they wouldn't help us), even though they knew the information was false.
In fairness to LinkedIn, there are people manning support and in extreme cases they are reachable. Which is better than Google (only place you can contact is AdWords, as they are taking your money) and probably Facebook (Facebook is so invasive we won't use it at all).

By Alec
Internet Marketing |
Friday, March 19th, 2010
We use a Wordpress plugin called Amazon Showcase Wordpress Plugin to put books from Amazon on some of our client's sites. Well, we used to, until recently.
This plugin produces ridiculously long Amazon links for Amazon Affiliate Program (which let's you make money advertising Amazon products):
http://www.amazon.com/Sleep-Over-Artist-Fiction-Thomas-Beller/dp/0393321711%3FSubscriptionId%3D(Access-Key-ID-here)%26tag%3Dfoliovision-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0393321711
There are parts of this long URL which seem to be pretty easy to understand and they seem important and there are some part which seem to be redundant.
After reading some articles on this topic we decided to create a quick tool to generating these Amazon Affiliate Links. The basic idea comes from this nice article from 2008 and even nicer from 2009.
Check out our tool here:
http://foliovision.com/seo-tools/marketing/amazon-affiliate-link-generator
Other thing which bugs us about the Amazon Showcase Wordpress Plugin is that it's not caching the images. The images are always loading from Amazon servers - slowing down your page load.
That's why we are working on our own Amazon plugin which we may release on wordpress.com when it's ready (it will have nice URLs and will store the images locally, among other cool features).

By Martin
Internet Marketing, WordPress |
Wednesday, March 17th, 2010
Many sites whose new posts were previously indexed in one day have found themselves waiting 7 day to have their posts indexed. If you are depending on AdSense revenues for visitors clicking on topical recent posts, this is a big problem. I'd imagine that would be about a 60% income drop for your site overnight.
What's causing this issue?
Longtime rogue SEO Michael Martinez is bandying about the theory that the issue is using Wordpress SEO plugins. And running around every forum in town shouting it from the rooftops.
Let me reiterate my opposition to the use of "All In One" and other SEO plugins - they are not helping any blogs with search engine optimization. They are bells and whistles, busy working gadgets....
A typical default Wordpress installation does a perfectly fine job of allowing you to configure your page titles, URLs, and content. You don't need to embed "Keywords" in meta tags and your autogenerated descriptions will be no better than whatever a search engine would provide (and the search engines will ignore meta descriptions in many queries anyway)....
There is a LOT of confusion over what you need to do with a Wordpress blog. The less you burden it with so-called "SEO friendly" features, the less likely you'll screw up your site in the search results.
If you don't know enough about search engine optimization to do it yourself, then you're really in over your head when you depend on a theme or plugin to make the decisions for you.
Installing an SEO plugin will not damage your SEO.
- Having custom handwritten descriptions can increase your clickthrough 50% or more.
- Including a good short keywords section with the 5 or 6 top tags for your post can help with Yahoo still.
- Writing a second structured title for search can really help (your article header should be written for the reader and not for search, i.e. with wordplay and puns and spin and short forms are good. Like a newspaper headline but the page title must include keywords)
So an SEO plugin can really help your SEO with minimal time and trouble.
Where Michael Martinez is quite likely right is that telling Google not to index whole sections of your website (archives, category and tag pages) and autogenerating metadescriptions is unproductive at best and dangerous at worst.
Semper Fi's All in One SEO (Semper Fi are not the original author, Uberdose is) does set all these things wrong out of the box. Very aggressive no-index, no-follow settings. So it is dangerous.
With FV All in One SEO, we took the opposite approach. The defaults are very conservative.
- No-index is turned off.
- No-follow is turned off.
- Dangerous choices are hidden in advanced options out of the way of the beginner user.
We don't even rewrite your titles by default as a good Wordpress theme should handle titles on its own.
Here's what our option screen looks like:

FV All One SEO for Wordpress options: All the advanced voodoo is hidden and out of the way:
Default options do not include any no-index or no-follow nonsense.
Do not encourage your children play with knives either.
And here is the meat and potatoes of the interface: custom titles and custom metadescription.

FV All in One SEO post interface: We count the characters for you and even offer
useful rollover tool tips for your client or for a beginner user. The goal:
Making SEO easy for both you and your client
What Martinez is ignoring is that may sites not using Wordpress are waiting on indexing now too. So rather than ranting about Wordpress SEO plugins, Martinez should be on the war path against no-index, no-follow, risky use of robots.txt and autogenerated content.
And Michael, if you want to offer the benefits of advanced SEO for Wordpress without the risks, you can safely offer FV All in One SEO.

By Alec
SEO |
Friday, March 12th, 2010
MenuMeters is a superb tool for those who use their computers heavily.
While you are multitasking you are instantly alerted to issues in uploading, memory leaks and paging, caches being permanently to disk, core processes or user projects getting stuck.
Frankly the cost of the instant info is having a fair amount of your menu bar taken up with the four indicators.

OS X MenuMeters Raging Menace
So on my most recent two Snow Leopard installs I tried to get by without MenuMeters. Bliss in simplicity. Higher productivity.
No such luck. Without instant visual feedback, your computer will bog down on a broken Internet connection or a runaway process, slowing one down more than the milliseconds to see where the issues are.
When you notice a problem, MenuMeters helps you dig deeper very quickly. Under the connection section you can instantly open up Network Utility, Network Preferences or Internet Connect.
Under the memory pie chart, you can see full details of what is happening with your memory.

MenuMeters disk usage
Under the processor indicators, you have the option of opening Activity Monitor or Console. Console is your best friend for quickly finding malfunctioning software, often from the nominally most reliable sources i.e. HP Print and Scan drivers. Most issues are clearly logged there). So having a directly link to it is great.
Normal mortals may not need this but if you are typically running 15 plus apps with lots of open browser tabs and open browsers (you know who you are), you should have this.
MenuMeters is truly well thought out software which helps one do one's work better and faster. The kind of software which makes owning an Apple computer a better experience.

By Alec
IT |
Tuesday, March 9th, 2010
For reasons unknown, Apple makes it really difficult to move around one's iTunes library.
Just moving the library to another hard drive will result in all the files being disconnected. Unlike Aperture or Final Cut Pro, there is no automated path fix. If you want to correct the paths you have to do it file by file.
There's also a hidden function inside iTunes which is really deadly (I believe it comes turned on by default) to reorder your library. If you do that, compilation albums will often be broken into the individual song. Each in their individual artist folder.
Basically if you let iTunes loose on your library, you will entirely lose Finder organisation. Guess what? Then you will be fully dependent on iTunes as no finder based album play system (the excellent Vox for instance) will work well anymore. So there is method to the madness.
Even the songs which don't have correct metatags will all get dumped in a large virtual graveyard instead of being left in their date or album structure.
Assuming that you were clever or cautious enough to turn off allowing iTunes to organise your library, you don't want to let Apple get their grasping hands on your library now when you move it with consolidation or anything else.
There is a work around which requires getting your hands dirty but indicates just how easy it would be for Apple to get it right.

iTunes library files
- Quit iTunes.
- Go into your iTunes library (probably ~/Music/iTunes) Once you are there, backup the iTunes xml and database files.
- Open up the iTunes XML (use a serious text editor like TextWrangler/BBedit or Smultron, we are talking about 10 to 20 MB of XML data for a six to twenty thousand song library)
- Do a find and replace in the iTunes xml file to update all of the song locations. They are stored as simple paths like: file://localhost/Volumes/MusicHall/MusicMovies/Music/
- Save and close the iTunes XML
- Now open the iTunes Library file in a text editor, delete everything, and save. If you don't delete the data inside the library, iTunes will prefer the data from the database and erase your XML file (be careful with this one it happened to me the first time and deleted my special hand made XML file. I didn't have the right backup: in this case, delete the new iTunes Library and iTunes Music Library XML, put the original iTunes Library back in, regenerate the XML and start again and make sure to delete the data inside the iTunes Library but leaving the file in place).
- Reopen iTunes: the library will be rebuild from the xml.
All your files should be in place now, including metadata. Apparently the date added will be changed to the current date but that's a small loss.
Why Apple must make basic maintenance so difficult, I have no idea. If it weren't for the internet (the base of this hint came from Metafilter), it wouldn't be much fun owning a Mac anymore, as it would be impossible to run it as a free machine.
One of my principle grips about iTunes is that it stores album art in a database, as well as all your song ratings, instead of in the original files as well. Earlier versions of Aperture were criticised for the same thing, but pro users were refusing to use Aperture because of the data lock-in. Apple can get away with a lot more with a free app which is obligatory for all those iPod and iPhone owners.

By Alec
IT |
Tuesday, March 2nd, 2010

Whatever happened to the CDDB and to FreeDB?
CDDB evolved into Gracenote. It looked like they were losing their stranglehold when Roxio moved to FreeDB in 2000. A closed settlement resulted in Roxio moving to Gracenote full time. I hope they were clever enough to get free stock in Gracenote for the pleasure.
The next death knell (although no one knew how important it was at the time) for FreeDB was that Apple went with Gracenote and then disabled any ability for users to submit to FreeDB (for a couple of years it was possible to use the FreeDB servers instead by monkeying around in one's hosts file, but it was a pretty techy solution). Without iTunes or Roxio's Toast, FreeDB was cut off from any oxygen in the Apple ecosphere.
Gracenote was recently sold to Sony for $260 million. The venture capitalists and the thugs at Gracenote managed to get something for their trouble.
In the meantime in about 2006, the FreeDB had a melt-down between the project owner and the lead developers. In the meantime, the horribly named Musicbrainz hit the scene with a music recognition algorithm. Terribly complicated, terribly slow. Apparently it works. But there is no easy way to submit data.

MusicBrainz
My inspiration here? There isn't a single tagging client I can find for OS X which will allow me to upload to either FreeDB or Musicbrainz!
There should be a client (free) which will grab the Gracenote/CDDB info which iTunes collects and resubmit it to both FreeDB and Musicbrainz. iTunes can't do something like that as part of its own license but the new client can.
If Gracenote wants to shut this client down, it begins as open-source and goes offshore. The client should include a manual option so that not all of the data is polluted. The client should allow itself to identify itself as alternative software (to make sure that the database recipient can't be faulted for accepting the external data).
Personally, I'd resubmit all my music info to Musicbrainz and FreeDB if this app existed. And I know a hundred more who would do so as well. Litigation is likely to drop off at this point, as the aggressive thieves at Gracenote have been paid out now.
I can't imagine Sony wants to go whacking through the bushes, snatching at end users.
The CDDB story is one of the best examples I've seen of how human beings can turn any act of grace (pardon the pun) into loathsome slavery.
This sad saga worries me as it suggests that Apple is more than prepared to turn our computers into corporate property. For the moment, OS X is very free and my data is my own, but frankly the rumours of DRM on the iPad for ebooks worry me.
If Apple thinks its core audience (hey remember us, we're the guys who kept you alive through that huge trough at the time of the clones) will put up with proprietary data formats and heavy DRM, they are very wrong.
In the meantime, I want a client to let me submit track and album info to FreeDB and Musicbrainz.

By Alec
Business, IT |