In the previous parts of this series I discussed the Soundex and Levenshtein Distance algorithms for phonetic string matching. In this next part of the series I want to introduce the Metaphone algorithm.
Metaphone is a phonetic algorithm for indexing words by their English pronunciation. It fundamentally improves on the Soundex algorithm by using information about variations and inconsistencies in English spelling and pronunciation to produce a more accurate encoding, which does a better job of matching words and names which sound similar. As with Soundex, similar sounding words should share the same keys.
The main reason for this is that the UK Government wants there to be different options for people editing documents, and they have a preference for browser based editing tools, like Google Docs, Office 365. They also still want to support desktop productivity packages like Microsoft Office, Open Office, Libre Office etc. Currently Microsoft has the monopoly with Office. Pretty much everyone uses it. The downside is that Office is very expensive to license, and in an age of austerity with governments having to make cost reductions, it seems waste-full to spend so much on software licenses, especially when it is public money
If you were to have asked me 7 years ago, when I last tried Open Office, if it was any good, I would have said No. I tried it and really didn’t get on with it. But over the last few months I have tried it again, and you know what? I think it is excellent. I now use it exclusively. I am even writing this article in Open Office.
I was looking for something in my garage the other day, and I came across an old magazine from 1994 that I was interviewed in, 20 years ago! The magazine was Amiga Power. This is a computer magazine by Future Publishing for the now defunct Amiga 500/1200 Personal Computer.
I started my programming career developing computer games with my school friend Chris Rundell. After lots of trying, we eventually got signed to a small independent publisher called GKS Design. Our first game was an isometric shoot-em-up / adventure called Dark Mission, that was heavily influenced by the film Aliens. I did all the coding and Chris did all the artwork, animation etc.
Before Christmas a good friend of mind, Rachel, asked me if I could help her set up a website for a business she was starting selling antique silverware (Argent Antiques) . Rachel needed the site to offer a standard set of e-commerce features where she could add and amend products and content on the site.
The software developer in me immediately starting thinking about how I could build her a solution. I was thinking that I could develop the site using ASP.NET MVC 5, Twitter Boostrap, Braintree payments integration etc. then then I thought, STOP, what are you doing? This isn’t a fun software development project, and Rachel certainly didn’t want to wait 3-6 months for me to lovingly hand craft the perfect e-commerce platform. She wanted a site up and running that fit her requirements in as short space of time as possible. After all, a site that isn’t live, is a site that isn’t generating revenue.
I took a step back and started looking at the different options available to me, these included :
Develop a custom site in ASP.NET MVC.
Use a CMS system like WordPress, Joomla.
Use a SaaS (Software as a Service) eCommerce solution like Shopify or Wix
The option that I selected is based heavily on the circumstances and restraints that I was working within. For example, I was asked to produce this site as a favour to a friend, which meant I was going to be working on it in my spare time. I have a full time career, plus I am a Dad to 2 kids, so spending a lot of time on a solution would be an overall constraint. Plus from Rachel’s perspective, she wanted to get a version 1 website out there as soon as possible. The screen shots of the site in this article are our current version 1.0, quick to market version of the site that is fully functioning.
Here are some of the Pros and Cons I used as part of the selection process.
I was recently asked to develop a small utility that is a personal encryption tool that uses the same encryption code as my Safe Pad application. I did this on the understanding I could open source the result, which I have.
Text Shredder is a utility that simplifies encryption and decryption of plain text data. Plain text data is encrypted and can then be easily copied to the clipboard or saved as a text file. This text file can then be sent via your normal instant chat/messenger programs or email.
Text Shredder allows you to set up to 2 passwords (the 2nd password is optional). These passwords are then used to create a strong encryption key which is used to encrypt your text using the industry standard FIPS Certified AES algorithm (Advanced Security Standard).
For more information on the Text Shredder utility you can view the main project page. Text Shredder is open source and has been released under the GPL v3.0 License. The source code and binaries are available from Codeplex.