Pages:  1 2 3 4 5
A tale from the near future: how clothes will be sold
  Created - 2016/03/06 16:50:56+0000

One day soon you will walk down the street and a camera will see you. It will pass the image to a facial recognition service and identify you, probably from social media posts. It will reach out to another service to identify the brands and articles of clothes you are wearing. It will package the results and post them on a marketplace. Algorithms written by or for advertising and clothing companies will bid against each other for the package. The winner will pass the package to a recommendation engine that... read more

Website update
  Created - 2015/08/02 22:00:40+0000

I've recently substantially updated this website. It now makes use of HTML5 (it took a long time for me to get round to it I know), the client side has been rewritten in ClojureScript (much nicer than JavaScript) and the server side has been simplified (boring). It has taken longer than intended to finish but it is now in great shape. Let me tell you about why. The client side scripting is not very extensive on my site but going forward I decided I'd rather work in ClojureScript than JavaScript. ... read more

User Agent Parsing
  Created - 2013/09/25 21:48:59+0000

For my Web Utilities project I have been parsing user agent strings. You can take a look at the results for your browser by going to my user agent parser . All the APIs I looked at were focused on parsing for the Browser, OS, Layout Engine and Device. They ignore many of the additional details. There are sites such as http://www.useragentstring.com/ but I didn't want to make requests to a web API to get the information. So I did it myself. It has been very slow, boring and unpleasant. Lots of dat... read more

Lots and lots of tests
  Created - 2013/09/23 21:58:32+0000

When I write code I don't use test driven development. I do write tests. Unit tests and integration tests and tests where I don't bother to make a distinction. I do write plenty of them. This gives be two things: Something to run my code The ability to refactor and know if I changed something I shouldn't have When I write code the first thing to run it are my tests. I don't worry about a test contract, I'm happy to rewrite the code and the test at this point. The tests just tell me w... read more

Why you should love checked exceptions
  Created - 2013/07/06 14:18:25+0000

This week at work I encountered a NullPointerException caused by returning a null value. The return value was not tested and when it was used it threw a NullPointerException. This of course had to happen in patch of bad exception handling. First the bad exception handling. This is what I had to work around first. A method was throwing a couple of checked exceptions with no shared super class before Exception. Some programmer decided to say that it threw Exceptions and the calling method happily caught e... read more