Nigel Horne, M. Phil., B. Sc., B. A. (Open), B. A. (Shef), PgDipCCI, LDBBA
Address Telephone
**** ********** **. **** 301-***-****
Silver Spring, MD 20910 Cell 301-***-****
E-mail Citizenship Status
*****.*****@*******.*** H1-B sponsorship required
Qualifications
Post Graduate Diplomas
2000: Open University
Postgraduate diploma in Computing in Commerce and Industry
Degrees
1992 Open University B. A. Physics/Music (Upper Second
Class)
1980 Westfield College, B. Sc. Computer Science (Lower Second
London Class)
City & Guilds
Radio Amateurs' Examination
Summary
. Senior systems programmer with multi-platform experience across the
entire SDLC
. Knowledge of security, Linux, UNIX, systems administration, kernel and
embedded programming
. Main programming abilities: C, Linux, UNIX, TCP/IP, Perl, shell
programming
01/10 - Present Localstars (Contract)
Advised on testing strategy for a website, including common sources for
security vulnerabilities and exploits.
Proofread and edited end-user documentation.
Advised how to avoid emails they sent from being delivered to customers'
spam folders. Reconfigured the Linux and DNS servers and made
recommendations to the PHP programmers.
05/09 - 12/09 Pursuing outside interests
Working toward an M. Phil in music composition at the University of Leeds
in the UK which will be completed in April 2010.
Worked with the Sanesecurity project to create scripts written in Perl to
provide samples of spam, phishing and malware for use in the Sanesecurity
anti-spam plug-in for ClamAV.
Tested Perl add-in modules on a wide variety of read, virtual and
emulated hardware and operating systems. As a result, I am in the top 12
testers for the CPAN Perl testers' group.
08/07 - 04/09 Sourcefire Inc (Product Manager)
Maintained and tested ClamAV, an open source anti-virus project for UNIX,
Linux and Windows that is written mostly in C, that I had been working on
in my spare time since 2002 prior to the acquisition of the project by
Sourcefire.
Primarily I worked in the areas of file format handling and unpacking
(emails, SMTP, PDF, Microsoft Office, TNEF etc.) throughout the entire
software development life cycle. Worked on portability and regression
testing and development (especially from Linux to Windows and various
flavors of UNIX using virtual machines such as VMware and emulated
machines such as QEMU, SIMH and GXEMUL).
Wrote a TCP/IP based load-balancing and fault tolerant middleware
application between ClamAV and Sendmail to scan and decode MIME messages.
Researched the market place and latest malware techniques to design
algorithms that enhance the product. Encoded these algorithms, primarily
on Linux using C.
Worked with the Open Source community to raise awareness of ClamAV and to
understand the Open Source community's needs and expectations of the
company. Chaired and programmed on-line speeches and seminars.
Liaised with the internal IT organization to ensure that the business
needs of the product, such as the website, were understood and met.
Designed and tested web pages.
09/04 - 08/07 Various
Ji-tu Ltd (based in the UK): designed and tested web based multimedia
application focusing on TV, audio and video portal delivery, e-commerce,
on-line and digital media and publishing, and distribution over the
Internet. The Windows client was written in C++ using Visual Studio
using object oriented design methodology. The web back-ends used Perl
and MySQL and other open-source technology to host forums and video based
chat rooms and booking systems.
ClamAV Foundation (based in Poland): member of the not-for-profit
governing body of the ClamAV project, an open-sourced anti-malware and
anti-virus project.
10/06 - 12/06 Ocean Blue Software (contract)
Ported a set top box application written in C to Linux. Implemented a
hard disc driver and debugged the recording software.
05/06 - 10/06 Unnamed customers (freelance)
Provided commercial support for the ClamAV and SpamAssassin and Apache
suites for a web hosting service, working as a systems administrator and
systems programmer to optimize the email throughput on the server.
Wrote a program (written in Perl with an HTML front-end) to allow a music
publisher to upload CSV files from Microsoft Excel and to translate these
into HTML files suitable for an E-commerce site that I installed
(www.prima-arts.co.uk).
02/06 - 05/06 Peek Traffic (contract)
Worked as a Linux programmer adding existing functionality to a fault
tolerant system written in C, and ported the software to a 64-bit
environment. Implemented a protocol over TCP/IP, and used the Ethereal
packet analyzer to monitor the traffic over the network watching real-
time events to ensure the protocol was correctly implemented and honored.
Reviewed the software design, test specifications, and MMI of the
Windows based client. I suggested techniques for integration testing
that is more rigorous. I advised enhancements for usability and how to
approach UI design.
Bug fixed the watchdog driver of a data-gathering device running embedded
Linux.
Designed and implemented proof of concept code driving a box that
converts from Serial to Ethernet and vice-versa. The code was written in
C under Linux.
06/05 - 12/05 Devoteam (contract)
On site at France Telecom. Researched into the possibility of modifying
Linux (kernel, device driver and a user level daemon) implement the
proposed SyncServ protocol for 802.11b. Debugged the user and kernel
level software, implemented fixes and discussed the fixes with the
authors. Tested and documented the results with and without the kernel
patch. Bug fixed the Wi-Fi device driver and modified the software to
intercept and honor IPv6 router advertisement packets by intercepting the
packets and writing a simple decoder.
Took over the development of existing middleware of a new project for the
integration of 3G, GPRS, Bluetooth and other roaming technologies.
Rectified problems with the software design and implementation, optimized
the current code, and fixed incorrect assumptions with the Wi-Fi
bandwidth algorithms. Made changes to the system to make better use of
the multi-threading capabilities of Linux.
Wrote front and back ends in Perl, to send XML to the QoS server.
Wrote a multi-threaded server application in C++ on Linux to read and
parse XML data read from a TCP/IP socket and, using embedded SQL, save
the data on a PostgreSQL database.
Designed and implemented an automated test suite to drive the database
client and to verify the results. The suite, written in C and Perl on
Linux, parsed a command file containing information on how to drive the
client, what data to expect, and how to handle exceptions.
02/04 - 09/04 Tadpole Technology (contract)
Integrated Wi-Fi into the Linux kernel advised on test strategies and
modified the ACPI code for a laptop running the Java Desktop System.
Wrote the installation programs (Shell Scripts, Perl and C) and device
drivers (C) for the hardware not supported by the generic Linux
distributions, especially laptop related ones such as multimedia keys,
battery, ACPI and hibernate mode.
04/03 - 01/04 Global Security One (Global Development Manager)
Product manager for an Internet security device and a Windows based
network security manager and analysis program, managing, and reviewing
the work of, the teams that were working in all parts of the SDLC. The
technologies covered areas such as VPN, anti-virus, bandwidth management,
embedded Linux with a Windows GUI and content filtering for anti-virus
and other unwanted data.
Set up an offshore company that was an amalgamation of the companies
outsourced to by GSEC1. Oversaw the office and company creation in India.
Ran departments working on various technologies including embedded Linux,
Windows GUI, C, C++, QT, kernel modifications, test case analysis,
design, UI design and system daemons, driving the various procedures
needed to meet the needs of customers and quality control across the
various teams.
Kept abreast of the latest security issues with a focus on a technical
understanding, assessed the company's need to address them, and worked
with the chairman to ensure that a roadmap for the future of the product
was put in place.
Responsible for:
. Setting the goals for the project managers and team leaders and
ensuring that requirements were met without compromising quality, by
advising on testing, documentation and procedures; market
leadership, technical features and how best to implement them; or
usability, by organizing user trials and overseeing the user
documentation.
. Introducing a company software development strategy based around
industry best practice and the V model and put in place a team to
verify that the model was being adhered to.
. Setting objectives and appraisals: responsible for employee
discipline for all projects.
. Introducing programming standards and a code review process,
including analysis of the impact of incorporating changes to the
system.
. Delivery and specification of the products, devices for Internet
security (web and e-mail content filtering and anti-virus) based
around embedded Linux configured by a Windows GUI, and a Windows
based network security package.
. Setting the quality process of hardware, software and third level
support with the use of formal methods. Created a development
lifecycle and worked with the project managers and team leads to
monitor adherence and risk assess when issues arose.
. Setting and scheduling the test strategy, procedures, goals and
identifying tools. Set the metrics with the QA manager that these
had been met. This covered white and black box testing including
stress and vulnerability tests. Championed the use of automated
testing using scripts where possible.
. Identifying likely security risks to the firmware and recommending
internal and external solutions.
. Providing the leadership and co-ordination for the technical
resources of the company.
. Setting the timetables and resource requirements for the company.
. Designing the GUI.
. Advising the programmers on how best to make use of Linux in an
embedded environment and performed ad hoc code reviews to mentor and
advise the programmers.
. Setting the defect tracking process using Bugzilla and CVS.
. Chairing various project and management meetings.
. Drawing up the job specification, and heading the appointment of,
the QA manager.
Managed resources and teams in various locations worldwide including
offshore development (India) that totaled around 20 staff. Established
the strategy for the future, reviewed risks and created the company's
development procedures and processes. Drew up job specifications,
appraised CVs, conducted interviews, and advised the Managing Director.
Repositioned the technical teams to be customer rather than technology
focused especially in the approach of MMI design and user documentation
by introducing a scheme of user trials of prototypes. Oversaw the
results of these trials and reviewed the strategy for dealing with
problems that were raised and the procedure for verifying the results.
Mentored, organized training and provided technical guidance for the
project managers, team leaders and junior staff and helped with their
career development.
04/02 - 07/02 TfL (contract)
Managed the user acceptance of various products including document and
code reviews, problem tracking and writing installation and integration
black box test documents. Located problems with software deliverables and
managed solutions with suppliers and customers. Mentored the Integration
Manager with an emphasis on quality control. Liaised with the
configuration manager and data centre to determine their requirements and
ensure they were met.
Wrote test programs in C and Perl on Solaris UNIX.
01/02 - 04/02 Tadpole Technology (contract)
Wrote a device driver for Solaris 2.8 to support the Adaptec range of
SCSI cards for PCI and CardBus using the CardBus bridge driver I
developed for Tadpole last year. Used the BSD and Linux kernels and
drivers as references allowing for the differences between Intel and
Sparc, the SCSI transport layers, DMA and memory allocation between the
operating systems.
Ported, debugged and tested the Adaptec firmware assembler to Solaris and
built and tested the embedded BIOS code that uses it. Used a SCSI
protocol analyzer to verify the data along the bus.
Provided pre-sales advice to the sales team. Wrote performance-testing
scripts to measure the throughput of the driver against comparable
alternatives.
7/01 - 9/01 CrossLee (contract)
IT Manager, providing support of the Visual DBase client software and
database and some hands on work including system administrative tasks on
the Linux server (shell and Perl scripts) and maintaining a bespoke
Borland C++/SQL system on their Windows 98 clients.
Wrote a proposal for the IT strategy of the company, and suitable job
specifications for the positions.
1/01 - 07/01 Tadpole Technology (contract)
Worked as a senior systems programmer designing and modifying the kernel
to support a hot-pluggable device driver in C for Solaris version 2.8 to
support Cardbus devices, and providing changes to the existing memory
mapping software as needed. The device driver was based around the
existing PCI, PCMCIA and other drivers that are standard with Solaris,
comparing with the relevant Linux drivers and kernel where necessary to
verify the hardware was being correctly driven. Tested with combinations
of graphics, Ethernet, SCSI, USB and PCI cards in various configurations.
Before 2001:
10/00-12/0 ERA Technology
0
4/00 - First Direct Bank
10/00
10/99 - Marconi Communications
4/00
9/99 Oracle (contract)
5/98 - ERA Technology (contract)
8/99
7/96 - Nortel (analyst)
5/98
5/88 - Softcare Media Systems Ltd. (technical director)
5/96
1/83 - UniSoft Ltd. (Formerly ROOT Computers Ltd) (divisional
5/88 director)
6/80 - Westfield College, University of London, Computer
1/83 Science Dept. (Systems Administrator)
Miscellaneous
I was the technical reviewer for the O'Reilly book on the Java Desktop
System, reviewing for the accuracy, completeness and consistency of the
language used.
I hold a Class A amateur radio transmitting license.
I enjoy working with people from other cultures, and actively seek
opportunities so to do in my musical as well as my business activities.
I have a keen interest in learning about other cultures and in spending
time and working in many places across the globe, especially in Asia and
North America.
I have a B.A. in band studies from The University of Sheffield (graduated
in 2003), have an undergraduate diploma in Musical Adjudication from the
University of Salford (2007) and an M. Phil in music composition at the
University of Leeds. I am currently the musical director of Rockville
(MD) Brass Band. I have conducted and run many musical groups at a
variety of levels in a number of countries.
I was a member of the organizing committee for the 2006 Research Students
Conference of the Royal Musical Association.
I am in excellent health and I do not smoke.