Alaric Snell-Pym BEng(Hons) ACGI MBCS

Name Alaric Blagrave Snell-Pym DOB 4th April 1979 Nationality British
Twitter @alaric Web www.snell-pym.org.uk/alaric IRC alaricsp on Freenode
Location Gloucestershire Status Married (with children) Driving Full UK Licence

My calling in life is to lead software development teams build groundbreaking new software platforms, from operating systems, programming languages, databases and virtual machines up to application frameworks. I specialise in making software fast, maintainable, and adaptable to changing requirements through clean, modular, design. I support pragmatic engineering experience with an avid interest in the mathematical foundations of computing.

History

2016 - present day Volo Commerce
(Solutions Architect)
2016 Haplo Services
(Senior Developer)
Architecture and development of the Haplo Platform, a hosted knowledge management application used by organisations to streamline and clarify their internal processes. Our primary customers were universities, who use it to organise their research and education activities.
2011-2016 RainStor Ltd,
acquired by Teradata Plc
in December 2014
(Senior Architect)
Architecture and development of the RainStor database platform, a petascale distributed SQL analytic database. I worked on various parts of the product, but specialised in the SQL query engine. I was primary maintainer of the join planner, our integration with Hadoop Yarn for processor resource management, and the query tracing/profiling system, including visualisation tools for the latter. I was also the office first aider, assistant network engineer, and regional co-ordinator for employee voluntary work in the community.
2014-... Cheltenham Hackspace
(Treasurer and Secretary, voluntary)
I'm a keen supporter of the hackspace/makerspace movement, and as well as being a member of Bristol and Cheltenham Hackspaces, I'm also treasurer and secretary of Cheltenham Hackspace. This involves keeping records of things, which like many nerds, I find inherently satisfying! My records (and the software I use to automate the accounts) are available online.
2008-2011 GenieDB Ltd
(Chief Software Architect)
A partner and I founded GenieDB Ltd to commercialise the replicated fault-tolerant database technology I developed as a freelancer. I manage the software development team that is the core of the company, design the software, dig in with the rest of the team to build it, document it, and manage the interactions of my team with the sales and support teams.
2006-... Cranham Scout Group
(Cub Scout Leader, voluntary)
Every week I entertain and educate 23 (at time of writing) 8-10 year olds, and occasionally take them out on camps and other events. It has often been said that managing programming teams is like herding cats; however, I find it trivial compared to a group of overexcited children. I am qualified to lead overnight camping trips on green-field sites.
2004-2008 Freelance IT consultant I decided to work part time for Frontwire early in 2004, and spent the other half of my time planning and executing my wedding, advancing my own projects, and taking on contract work in the fields of Web development and embedded programming. In 2006 I became full time. Within the limits imposed upon me by confidentiality agreements, some notable projects I have developed are:
  • Chunked MPEG transcoder. The BBC contracted me to develop the core of an experimental peer-to-peer digital video distribution system. I produced a new storage format for MPEG programme streams, in which the stream was divided into small chunks of approximately fixed length. Despite the fact that audio and video frames are not aligned, the chunk format identifies GOP boundaries in the video stream and enough audio packets to capture all the audio covering the same time span as that GOP in order to choose the chunk boundaries. My software broke an incoming programme stream into chunks, then a second part of the software would take a sequence of chunk files and re-splice them together (an operation somewhat more complex than simple concatenation, thanks to the audio synchronisation issue). Since chunk files on a disk could be randomly accessed, even over a network if (for example) an HTTP server made the directory full of chunk files available, this would allow every set-top box to record an entire channel for an arbitrary time period, then any set-top box to assemble a program by requesting one chunk each from a large number of other boxes.
  • Scheduling and Office Management System. YView asked myself and a partner to develop their web-based resource scheduling system. This was a moderately complex web application, the technical highlights of my contributions being a PDF generation library, a date arithmetic library, and the single most complex part of the user interface: the schedule editor.
  • International Insurance Premium Tax Calculator. TaxBox wanted to streamline their paper-based process for computing taxes for their clients. I built a flexible framework for representing different nations' tax rules and the workflow of managing periodic tax returns on time. Tax may be boring, but making a computer do the boring bits for people (and seeing the look of delight on their faces afterwards...) is rewarding!
  • Infra-red badges. I have developed prototypes of a small, low-cost, wearable badge that is able to communicate using infra-red with fixed base stations and other badges, using a custom-designed protocol. There are many existing systems for doing this, but the one I developed uses very, very, cheap hardware: an off-the-shelf IR transceiver unit and a tiny eight-pin AVR microcontroller which spends the majority of its time in shutdown mode to conserve energy, yet a clever interrupt scheme means it is woken up whenever communications are initiated with it.
  • Replicated data store. To ease the scaling of Web sites by simply adding more combined storage/application server devices to a cluster, Blue Orange contracted me to develop a high performance replicated data store to deploy on their high-end server cluster, spread over two data centres in two different countries. This project later grew into GenieDB.
2004-... Member British Computer Society
2001-2006 Frontwire Ltd
(Head of Technology)
Architectural design and development of a large multi-user EJB system with a Swing frontend for the first nine months, then I took over the technology department and diverted the software away from EJB to a more powerful substrate of my own design, producing immense improvements in reliability, ease of administration, and ease of development at the cost of a week writing our own protocol, while at the same time managing the development team and looking after the technical infrastructure behind the company's internal and external operations.
2001-2002 ISO/ITU Working Group
(voluntary)
Working mainly on issues concerning interoperability between XML and ASN.1 (developing ITU-T Rec. X.694 | ISO/IEC 8825-5 and ITU-T Rec. X.693 | ISO/IEC 8825-4). See this page for more information. I was appointed by BSI as UK Expert on ASN.1 for group meetings in Florida and Geneva.
2001-2003 Pearson Education In a freelance capacity, I've performed technical editing on various titles for Pearson, and co-authored Special Edition Using XSLT
2000-... Associate Member City and Guilds of London Institute
1997-2000 Imperial College, London 3-year Computing degree (UCAS: G500). Attained a 2:1 BEng and Associateship of the City and Guilds of London Institute.
1998-2001 Internet Vision Ltd Designing and implementing multi-tier system components for clients and sometimes internally, from developing entire Web applications (I was the sole software engineer for the first year of UpMyStreet.com, allowing users to make complex queries over a massive database in real time) to designing content management systems with embedded programming languages and distributed algorithms - and also a lot of involvement in internal training and learning facilities, including managing the internal library.
1998-1999 PD Computer Systems Spent about two months in total, setting up networks of NT workstations for schools. Physical PC construction, cabling, network design, NT installation, server setup, and a little bit of batch programming to automate management tasks.
1994-... Various Open-Source projects
(voluntary)
I've been involved in various projects run by teams of volunteers on the Internet. I was involved with the group that dealt with open sourcing Caldera OpenDOS (which started life as DR-DOS, for those who can remember back that far!), a few OS design projects (LispOS, Tunes, and NetBSD), the PNG image file format group, the GnuCash project, the endless debates on XML-DEV (in which I spoke out against the [ab]use of XML for data interchange). I'm a keen member of the Chicken Scheme (a LISP dialect) core team, and I publish my own open-source projects at www.kitten-technologies.co.uk.
1992-1997 Bedford Modern School

GCSEs: Maths (A*) Physics (A), Chemistry (A), Design and Communication (A), Biology (B), English Language (B), Latin (B), French (B), Geography (B), English Literature (C)

A Levels: Maths (A), Further Maths (A), Physics (A), Computing (B)

S Levels: Physics (Distinction)

Other Awards: Assorted gold and silver certificates in UK and International Mathematics Challenges, Distinction in the British Physics Olympiad Pre-test, Merit in the Physics Olympiad itself, Merit in the British Informatics Olympiad. Attained the rank of Sergeant in the Combined Cadet Force.

1992 Snell and Wilcox
(the family firm)
Spent a weekend writing some low level driver code for one of their products, since they lacked experience of protected mode access to x86 parallel port hardware at the time.

Skills and Interests

Theoretical and Applied Computer Science Although I have at least studied the fundamentals of every field I can find information on, my main area of expertise is in the related areas of programming language design, operating system design, user interfacing, database systems, and networking - the platform on which an application is built. When a application has to be built, I am mostly interested in the back end. My interest in low level details stops at around the block diagram hardware level; I am interested in CPU design and have a few ideas on CPU architectures that might be interesting but (sadly) have never had the opportunity to experiment in this field.

To summarise the buzzwords for those who process CVs with grep, I am familiar with SQL, Java, RMI, EJB, Servlets, C, C++, PHP, Perl, Python, Scheme, LISP, Assembly, Prolog, Erlang, Haskell, Ruby, XML, SGML, TCP/IP from Ethernet up to BGP and application protocols, UML, ASN.1, programming language design, garbage collection algorithms, cryptography, network security, distributed systems, Xen, Hadoop, Solaris, Linux, FreeBSD, OpenBSD, NetBSD, and the implementation of such pieces of software as compilers, interpreters, virtual machines, database engines, network stacks, and operating systems.
Networking Connecting computers together is fascinating; it's like a giant train set, only better. I was involved on and off in Internet Vision's network administration, I almost single handedly ran Frontwire's networks since I took over the department, I run a home LAN, and I have administered racks in datacentres for myself and for clients, including a dual-location setup with BGP. I run servers for HTTP, email, XMPP, DNS, IRC, SMB, NFS, and occasionally NIS. I have developed networking systems from the data link layer up to the application layer.
Leadership I really like leading teams of people. In my employment, I've managed software development teams, including mentoring developers. Outside of work, running a Cub Scout pack involves leading the children, and also leading teams of adults to organise events such as camps and expeditions.
Engineering I have been studying metalwork as a hobby, ranging from techniques such as blacksmithing, casting, welding and brazing. In 2004 I built a home aluminium foundry from scratch. I'm also interested in construction engineering; stonework and subterranean engineering a particularly fascinating.
Standards Development I am interested in the workings of standards bodies.I was a member of a join ISO / ITU-T working group, and have an X.690 OBJECT IDENTIFIER allocated by the BSI; the international standards work I did centered around ASN.1 and includes efforts to define extensions for UML in specialist domains. I was also a member of Working Group 1 of R7RS, the body that defined the current version of the Scheme programming language.
Sports I like rock climbing and target shooting; my interest in these things is probably driven by their relatively high gadget content. At school I was a keen member of the shooting team, and attended many competitions up to the national level, as well as being responsible for some of the administration of the range, armoury, and magazine. I've done no shooting since University, but would like to take up archery and/or clay pigeon shooting in the future.
First Aid, Survival, and Militaria Although I am a pacifist at heart, I have for various reasons (mainly sheer curiousity) ended up being trained in various armed and unarmed combat skills, survival and camouflage skills, demolitions disposal, and first aid. I was a voluntary member of St. Johns Ambulance for several years, and held an Essential Care Skills qualification with them, and was a trained office first aider for Teradata. My current role as a Cub Scout Leader involves teaching youngsters the elements of campcraft, shelter-building, and basic wilderness survival. I am calm and collected in an emergency!