Day Barr

An accomplished developer with strong skills in networking and web technologies and always keen to learn new ways to make computers solve problems

Contact Details

Based in Cambridge, UK. Not currently willing to relocate.

Please use my online contact form to contact me as I do not publish address details on the web.

Technical Summary

Key Skills: C/C++ (MSVC, gcc, Borland C++ Builder), STL, MFC, ATL, COM, PHP, MySQL, Apache, HTML, CSS, JavaScript, Ajax, Perl, XML, XSLT.

Protocols: TCP/IP, UDP, HTTP, SMTP, POP3, IMAP

OS: Windows, Linux (Debian/Ubuntu).

Version Control Systems: Perforce, Subversion, CVS, RCS.

Professional Experience

January 2008 - Present
Velocix, Cambridge Science Park, Cambridge
Software Engineer (Web Services)

Worked on the front end of the new customer console. Wrote JavaScript using the YUI, PlotKit and MochiKit libraries to provide the user interface on top of the server's REST API.

July 2005 - December 2007
Infomatrix Ltd, Fen Drayton, Cambridge
Software Engineer

Mainly worked on the SqZ system - Infomatrix's data acceleration product for wireless networks. Implemented a new version of the transport protocol using C++ and the STL in the Linux based server and the cross platform client. Designed and wrote the web based administration package for the server, using PHP for the statistics pages including graphs of data usage.

Customer projects included:

  • a virtual keyboard for Windows, for use with a touch-screen or mouse. C++, MFC, Win32 input APIs
  • a web based system for analysis of test logs. Included Ajax features to make the application appear more responsive. PHP, JavaScript, MySQL, Apache, C++
  • writing a system of makefiles to build some software components, breaking dependencies on the complicated internal build system so that development of the components could be outsourced more easily. Once completed, the software could be built using GNU make on many platforms including Solaris, AIX, HP-UX, Linux and Windows
July 2002 - June 2005
Symbian Software Ltd, Milton, Cambridge
Contractor

Employed by Infomatrix, but worked on site at Symbian for three years.

Initially contracted for three months to provide Win32 and COM expertise. I provided technical advice during the acquisition of a replacement for the legacy PC Connectivity software. I worked with the supplier to ensure Symbian's requirements were met, reviewed documents and the proposed new Object Model. I wrote example clients that could be used to demonstrate the simplicity of the new API to Symbian and its customers.

Following the delivery of the new system, Symbian took on the maintenance of the new PC Connectivity solution, which they called Connect QI. My contract with Symbian was extended and I was the given the job of maintaining and enhancing QI.

Primarily I worked in C++, using STL and the ATL and MFC frameworks for the COM Servers and GUIs. I wrote Perl and VBScript for the build and test systems. I also:

  • created an SDK to accompany the core system. This came in three versions - two for different types of customer and one version for the general public which was available to download from symbian.com
  • designed and implemented the SDK documentation system using XSLT stylesheets for translating the original XML into HTML for distribution
  • created a suite of installers for the various components and SDKs using NSIS
  • was involved in the interviewing process when an additional contractor was required so I could concentrate on adding new features
  • performed a technical review of several chapters from a colleague's book on Symbian PC Connectivity

When providing technical support on Connect QI, I developed an excellent working relationship with several customers. Several times when answering a customer's technical questions I took the opportunity of producing a new sample application for the SDK to illustrate a particular feature.

July 2000 - June 2002
Infomatrix Ltd, Fen Drayton, Cambridge
Software Engineer

Worked on the full development cycle of numerous projects, both customer funded and internal product developments. Over the course of these projects, I quickly became recognised within the company as the resident expert on MFC GUIs and the Win32 APIs.

I worked as part of a team, from specification through to delivery, on the following projects:

  • a cut-down implementation of the NAS layer of a UMTS protocol stack for 3G test equipment. Required intimate knowledge of the relevant ETSI specifications. Cross-platform (Linux, Cygwin, native Win32) C++, TCP/IP sockets
  • a complex Multi-Document, Multi-View GUI for the configuration of 3G test equipment, control of test runs, collation and analysis of the very large logs produced. I was responsible for the majority of the UI, including a custom view that drew expandable message sequence charts from the raw log data collected. I also implemented printing functionality, with WYSIWYG print preview. Win32, C++, MFC
  • plugins for the graphics subsystem of a mobile phone operating system to enable rendering of PNG, GIF and JPEG encoded images. Embedded C

I was solely responsible for the development of:

  • an extensible communications library for controlling TETRa radios. Written in ANSI C for portability and successfully ported to Win32, WinCE and Linux
  • a Windows GUI to simulate a 3G mobile phone handset and interface with the NAS layer of a UMTS protocol tester. C++ with MFC, TCP/IP sockets
  • a dispatcher application, for messaging and real-time positional tracking of a fleet of mobile radio users with GPS devices. Required interfacing with several different models of TETRa handset and an ODBC compliant DBMS. Included an integrated map for the display of the fleet's positions. Win32, C++, MFC, COM/ActiveX, TCP/IP sockets
July 1997 - September 1999
Marconi Communications Ltd (now SELEX Communications Ltd), Chelmsford
Sponsored Student

I was sponsored through university by Marconi Communications Ltd. This involved working for them over the summer holidays and for my entire intercalated year (a "sandwich" year between the second and third years of my degree course). This was valuable experience as a student, giving me a hands on understanding of commercial software development. During my time with them I was given full responsibility for specification, design, implementation and acceptance testing.

July 1997 - September 1997

I was given 8 weeks to specify, design and implement a Base Station Configuration Tool for the Private Mobile Radio system. This was to replace an older tool that had become unmaintainable. I had to learn Borland Turbo Pascal, and used it to create a new modular implementation, complete with MS DOS GUI, by the end of the summer.

July 1998 - September 1999

For my intercalated year I was assigned to a small team of software developers working on the KV90 HF radio. The team were near completion of the STANAG 5066 protocol and were starting work on numerous applications to be deployed over it. I was responsible for:

  • implementing a re-usable VCL component to allow Borland C++ Builder and Delphi developers to rapidly add the ability to route data via the STANAG 5066 stack
  • the design and implementation of a protocol for a simple messaging system. I wrote the application in C++ Builder, using the VCL component I had developed and ADO for storage of messages in a database
  • designing and running acceptance testing for an SMTP email gateway that had been outsourced to an external supplier. Over several months, I reported many obscure bugs that I discovered due to my in depth understanding of the relevant RFCs and specifications. I also verified the fixes by writing test harnesses that were then used in the regular regression tests

On an unrelated project, I had to reverse engineer a legacy DOS application with no source code or documentation to produce a functionally equivalent Windows GUI for configuring the encryption keys used by an external radio. This was written in Borland C++ Builder using the Windows APIs for RS232 serial communications.

Other Experience

I run my own website at daybarr.com. I use it to host some of my old projects, such as games (written in QuickBasic) and Screen Savers (written using Borland C++ Builder).

I have also gained practical experience of various web technologies. In the past I maintained my own PHP templating system for publishing content, but have now switched to using the open source Drupal CMS. Some of the web projects that I have written and hosted include:

I run my own Apache and MySQL servers at home for development purposes. I also use my own Subversion repository for version control of my website and other projects.

I spotted a mistake in the 5th printing of Scott Meyers essential book on the Standard Template Library (Effective STL) and have achieved instant fame by being credited in the Acknowledgments of the 6th edition and the online errata.

Education

1996 - 2000
BSc (Hons) Mathematics with Computing with Intercalated Year
1989 - 1996
Denbigh High School, Denbighshire
Special Paper
Mathematics(1), Physics(1)
A-Level
Mathematics(A), Physics(A), Electronics(A), General Studies(A)
Additional
Mathematics(Distinction)
GCSE
4 Grade A*, 6 Grade A

This is a printout of the online version of my CV; the most recent version can be found at http://daybarr.com/cv.