Results Day

July 16th, 2010

I just got back from collecting my results from Uni :D

Bachelor of Science with Honours in Computer Science (Network Communications) First Class

And my dissertation was an ‘A’ grade :D


ActionFTP 1.1.0.0

June 28th, 2010

I have released a new version of ActionFTP – my free add-in for WindowClippings.

Some big new features:

  • HTTP uploads: you can now chose to upload images to imgdash, localhostr or upload3r
  • URL shortening: you can chose to automatically shorten links using is.gd, twurl.nl or cli.gs
  • Code copying: Can now chose to copy HTML <img>, HTML hyperlink (<a>), BBcode [img] or BBcode [url] tags to the clipboard, instead of just the direct link

Naturally there are lots of other smaller changes and bug fixes as well; see the ActionFTP page for the download link and the entire list of changes.

Upgrade Note: You need to copy two additional files (included in the download) to the WindowClippings directory (Newtonsoft.Json.dll and Newtonsoft.Json.xml).


How-to: Free Upgrades from Adobe CS4 to CS5

June 2nd, 2010

Adobe offer free “Post Announce Upgrades” to anyone purchasing a CS4-edition product – including Student editions – after April 12th 2010 and before July 11th 2010.

As many CS4 products are currently still available from most retailers, this could be your opportunity to save a bit of money on the full CS5 price – I saved about £80 on the full price of Web Premium CS5 (Student edition).

Read the rest of this entry »


Busy Busy Busy

April 28th, 2010

Just a quick post to say that I haven’t forgotten about my blog, I’m just really busy finishing up my Final Year Project/Dissertation :)


MySQL Full-Text Searching

March 27th, 2010

Most people* immediately think of the ‘LIKE’ operator when they want to do a quick search in SQL. If you only want to search for a single keyword in a small table, then there is (arguably) nothing wrong with this.

However, when you start wanting to search for multiple terms, search for certain terms while excluding others, or searching large tables, ‘LIKE’ will get slow and very inaccurate.

One major cause of this inaccuracy is that the search terms are looked for in the order they are specified. For example, the following query would match “We use PHP and MySQL to power this website.”, but would not match “We use MySQL and PHP to power this website.”:

SELECT * FROM articles WHERE body LIKE '%php%mysql%' AND body NOT LIKE '%wordpress%';

After discovering the above limitation first-hand (while implementing a search box on my QuoteDB system), I came an alternative: Full-Text matching.

This article on MySQL Full-Text Searching on the Zend DevZone was particularly helpful on this topic, so I recommend you give it a read. For those too lazy to read the entire thing, Full-Text matching requires a single step before you can use it: you must first add a  ‘FULLTEXT’ index to the field(s) you wish search:

ALTER TABLE articles ADD FULLTEXT(body);

Once that’s done, you can perform very fast and accurate searches, including (since MySQL 4.0.1) boolean mode operators to dramatically increase the search power. (For an idea of the power of boolean mode, have a look at the operators table.)

SELECT *, MATCH(body) AGAINST ('+php +mysql -wordpress' IN BOOLEAN MODE) AS score FROM articles
WHERE MATCH(body) AGAINST ('+php +mysql -wordpress' IN BOOLEAN MODE);

Unlike the ‘LIKE’ search, thanks to Full-Text matching, this query would match both of the “We use…” text strings.

* This included myself, until I discovered Full-Text matching.