Latest Writing

Codility And Candiate Testing: Still Sucks

Previously: Codility And Candiate Testing

I recently applied to another position which involved Codility testing. This time around, the questions were some sort of array split, a binary positive to negative number flip, and a knight position move algorithm.

Since my last write-up, Codility has made some good improvements to their UI. The code editor is much better than it was.

The rest of my beef still remains though.

Codility is not a good measure of a programmer, and it’s a great way to filter out good candidates such as myself. (I have 15 years using PHP. Hire me? )

99% of the work I do doesn’t involve anything even close to an algorithm, so the only reason for me to learn them would be to pass screening tests. That doesn’t really seem like something useful, does it?

BMF: A New Project

I have a new project, in a completely new sector to me. The experience so far has been an interesting one, between researching the industry, and working out how and what I want to build.

Today’s challenge is figuring out how I want to write the code. I’m trying to hold a balance between work that won’t be too hard to clean up later, and work that won’t take me a ton of time now. This of course meant I had to decide between static classes, dependency injection, and some sort of factory. So far, static classes wins out, because it’s not a ton of work to do.

I’m sure I’m going to regret this decision later on.

Read a CSV file into columns

This command will read a CSV file, and display it as columns. This also works on Windows if you have Cygwin installed.

column -t -s"," test.csv

Example CSV columns


I am a contract developer with a penchant for optimization (my most recent success took some code to 1% of the execution time it started with). Since 2003, I have been turning out cleaner and cleaner code, taking every opportunity to become a better developer. I emjoy producing high quality documentation and process flowcharts.

As far as my other skills, I have experience with the following software or fields:

  • Distributed Task Processing
  • Adobe Suite (Photoshop / InDesign / Illustrator / Premiere)
  • Linux System Administration
  • Windows Desktop Support

In my spare time, I enjoy photography and very occasionally dabble with electronics, or whatever else catches my attention from one day to the next (see my blog). And, like all mad scientists, I have a pet project under development.


You Should Contact Me If

  • You want a free consultation about your problem. I offer a few a week, and I will be more than happy to hear your problem and let you know how to proceed.
  • You need a process problem solved.
  • You have a slow website, and you want someone to make the pain go away.
  • You have a cool idea that you want developed.
  • You want to implement task queuing or a distributed processing architecture. I can give you a one day Q&A to outline some of the pain points and development paths to take. This will save you a lot of time and bad surprises.
  • You need a pretty picture taken. Or a portrait. Or a picture of a baby. Or really anything you want a photo of.
  • There are gremlins in your pool. I do not want to solve the wet gremlins problem. You are on your own for that one.
  • Your house is on fire. I'm told there is an entire building full of people to solve this one.
Email: - © 2016 Ben Dauphinee