Fast Prototype Primer

September 19th, 2008

A couple of links related to the Javascript library Prototype:
Quick Guide to Prototype
Developer Notes for prototype.js

Improving Wordpress Performance

September 15th, 2008

Looking at using Wordpress on a site that needs to handles many requests? This presentation discusses and refers to methods improve performance of your Wordpress-based site.

Modifying Wordpress Rewrite Rules - small problem + solution

September 3rd, 2008

add_filter('rewrite_rules_array','yourawesomefunction');

I had to look at the Wordpress core code to work this out - thought I was going nuts. If you apply new rewrite rules using the rewrite_rules_array filter you need to ensure that you refresh the rewrite rules that Wordpress has stored in a hidden option. You do this by simply resaving the Permalink Structure under the Options menu in the admin area of your WP install.

Not immediately obvious that this would be required, but makes sense that they generate the rules and store them at this point.

Bugs in WS_FTP after Multiple Versions

August 20th, 2008

Update: I watered this down after someone from Ipswitch contacted me interested in resolving the issues. I will post progress.

I use WS_FTP by Ipswitch as an FTP client partly just through habit and the issues with migrating a bunch of accounts across to new software. There are some continuing issues with the software that bug the hell out of me.

These have been there multiple versions and I have seen these issues on multiple computers (XP and Vista).

  1. When using “Link Folders” and moving through directories and where the directories are not present on the client machine (and being created by the software) at some point the software can lose track of the link and link the wrong directory on the client machine. If you are not paying attention you end up with a bunch of folders you will need to delete.
  2. A similar issue - after uploading a file the current directory will change on the client or server. If you don’t spot this it is very easy to overwrite a file (think index.php!).
  3. Occasionally the software will crash completely when trying to delete a folder on the client.

I will list any other issues I come across here. Maybe someone will take notice and respond.

Implementing Free Geolocation with PHP Using Maxmind’s GeoLite Country

August 17th, 2008

Need to serve up different content for people from different countries? Or track users by country? Or make a site more usable by providing options relevant to a particular country? I recently had a small programming task which required pre-selection of a country field based on the visitor’s country.

Maxmind offers a free Geolocation database, GeoLite Country which allows lookup of country from an IP. They claim it to be 99.3% accurate. They have a paid version that is more accurate. They also offer other databases, including one to lookup a city from an IP. The database is available as CSV data or in binary format. The binary format is very easy to implement as they provide APIs in a variety of languages. I used their PHP API. There are code samples to get things going quickly.

I used their PHP class which was the easiest to implement. Simply upload the class file and binary file and require the class file. The calls are simple and the lookup is fast. Very easy to implement.

Stop Apple Software Update trying to install Safari all the freakin time …

August 6th, 2008

Update - one more thing while I remember. What is the use of an update utility that ignores your previous preferences? Why do I get a Quicktime link in the Quick Launch area every time it updates? As a rule I have found Apple’s software to be miles behind their hardware in usability and intuitiveness. Why is that?

Don’t want Safari? Apple wants you to want it and obscures the way to stop this.

Found this information on a forum somewhere …

1. Run Apple Software Update (there is probably link in your start menu somewhere)
2. Check for updates so you can see the Safari option.
3. Highlight Safari (I had to click the checkbox as well).
4. Choose Tools from the top menu.
5. Click Ignore Selected Updates.

In theory the software shouldn’t check for it again.

Amazon’s Seller Central SOAP API

July 15th, 2008

Very disappointing experience working with Amazon.com’s Seller Central APIs. Their documentation is frankly very bad. Undocumented and incorrectly documented aspects will make the curve to get this working unnecassarily steep. Their support is not responsive. The forums are not overly helpful although you can see similar issues coming up. Disappointing for such a large and groundbreaking web-based company, especially as they are looking to promote their Web Services infrastructure to developers.

The comments in this article are very accurate of my thoughts/experience implementing Amazon’s Seller Central SOAP API using PHP (they are using Java) …

My time getting to the ‘hello world’ stage on this interface was measured in days vs minutes for pretty much every other system I have worked with.

Good notes on implementing Amazon’s Seller Central SOAP API

That article should help anyone regardless of the particular language they are using to do this. It helped me with one important final aspect that was undocumented by Amazon.

For more specific notes on doing this with PHP check out the last chapter of this book …

The Web Developer’s Guide To Amazon E-Commerce Service

A couple of key things in there will overcome issues with the particular way the Amazon SOAP server works. There will still be problems - but that will get you much of the way.

Note: don’t waste your time with Amazon AIM. As the article above mentions, unless you have an old account migrated from Amazon’s Marketplace system it will only work to download reports - it will not allow adding or updating products.

Great Article on Unicode and Character Sets

June 18th, 2008

It is easier as a developer who deals with English 99.9% of the time to overlook this stuff - especially in PHP - until you open and try to manipulate a bunch of .txt file not even thinking about the variety of Unicode formats. Found this rather enlightening …

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

Good for any PHP coder to read, especially as the documentation on this stuff at PHP.net is a bit on the lean side.

Update:Character Sets / Character Encoding Issues from WACT with lots of PHP-specific information.

Simple liquid layout with CSS

June 16th, 2008

Article on how to make a liquid layout, which is a layout that adjusts as the user adjusts the browser width. This method works across browsers and uses absolute positioning.

read more | digg story

Death to Web 2.0 Design Trends …

June 10th, 2008

Thought this presentation was quite entertaining …