Curriculum Vitae

Name: Pádraig Brady   Web: www.pixelbeat.org
  Email: P@draigBrady.com
 
Skills Summary (rated 1-10)
 
Programming Languages:
C(10), sh(9), Python(8), C++(6), SQL(5), PHP(5), UML(5), VB(3), 68K(2), x86(2)
APIs:
Sockets(9), POSIX(8), Linux(8), pthreads(7), Win32(5), STL(3), ODBC(2), COM(2)
 
Open Source Software
 
Maintainer:
Contributor:
linux kernel, OpenStack, util-linux, ...
 
Educational Qualifications
 
B.Eng. Electronics, DCU.
(1991 - 1995)
  • Overall grade: II.I
  • Option subjects: Digital Signal Processing, Communications
  • Project: "Teleconferencing tools on the Internet"

This allowed Windows users, to conference over the Internet through Linux servers. Users could interactively edit files and send public and private messages. The client was written in visual basic and the server in C.

 
Professional Experience
 
Red Hat. (Sep. 2011 - Present)

  • OpenStack downstream packaging lead, and OpenStack upstream nova core team member (2012 - 2014)
 
Lincor, Dublin, Ireland. (Nov. 2005 - Aug 2011)

Lincor provide bedside terminals for patients and doctors to access phone, TV, VOD, internet and medical information. The technologies used to deliver the system are: C, Python, Django, HTML and GTK+ on Linux.

Corvil, Dublin, Ireland. (Jul. 2002 - Nov. 2005)

Corvil provides the breakthrough capability to measure network traffic at the millisecond level, used for example to give financial market traders a competitive edge in high frequency order execution. My Corvil responsibilities were:

  • Implemented the linux distribution used in Corvil's network agent.

This was built completely from source for COTS x86 systems, and runs from 64MB compact flash. It supports robust remote upgrade, and I made many modifications from the ethernet driver to the application to support low latency measurements. As of 2005 the system could process 1.2 million packets per second.

  • Defined the linux distribution used in Corvil's network server.
  • Implemented Corvil's SCM (using subversion) and build system.
  • Evaluation and support of various application delivery platforms.
  • Performance and accuracy testing of Corvil's core mathematical algorithms. This involved efficiently analyzing very large data sets and indexing and plotting the results using python and gnuplot.
Antefacto, Dublin,Ireland. (Jan. 2001 - Jul. 2002)

Antefacto manufactured an integrated high availability appliance called the S1000. Essentially this device load balanced internet traffic across multiple managed servers, while automatically dealing with any problems on those servers. My Antefacto responsibilities were:

  • Sole designer of the hardware which was 1U, x86 and had no moving parts.
  • Designed and implemented the core software module, (C++ (10K lines)).

This monitored TCP services from layer 3 to 7, and carried out appropriate actions. It was multithreaded and I was able to use and enhance the cross platform (LGPL) thread classes and socket library I developed for a project in Compaq.

  • Other system software.

Implemented some of the PHP web front-end to the S1000. A lot of experience was gained with Linux, as both the development and embedded operating systems were Linux.

Compaq, Dublin, Ireland. (Apr. 1999 - Jan. 2001)

I was in the professional services division and mainly worked on projects for Eircell (now vodafone). These projects interfaced mostly with the backend systems with the intention of providing a web front end to them:

  • HLR interface (C++ (25K lines), pthreads, sockets, encryption)
  • Web front end to HLR (NT, ASP (Vbscript))
  • WAP mail interface (C, sockets, HTML parsing)
  • Voice/FAX mail interface (C, sockets)
  • Prepaid system interface (C, sockets, HTTP)
  • Fax server (ISDN, Linux, HylaFax, Qmail)
  • Dynamic COM interface (C++, NT, Linux)

I also did an investigation and presentation for Eircell on the implementation and consequences of post GSM protocols (GPRS, WAP, 3G etc.) in their network.

 
Euristix, Dublin, Ireland. (Sep. 1998 - Apr. 1999)

I developed a variant of the QSIG protocol for Air Traffic Control Systems called ATS-QSIG. The main difference from standard QSIG was at OSI layer 1 and the supplementary services. For this project I developed a HDLC driver for the Siemens ESCC2, and also the supplementary services. This was done in C, and assembly. The embedded environment for this application was Microware OS9 running on a 68340. The host environments were HPUX and Linux.

 
Jtec, Cork City, Ireland. (Dec. 1995 - Sep. 1998)

My main task was enhancing Layer 3 of various telecommunications protocols on an embedded system for new markets. These protocols included: Q.931, Q.2931, UNI3.1, SS7 and IP. The narrowband ISDN protocols were written in C, and the broadband and SS7 protocols were written in C++.

I also wrote an emulation library in C so that these protocols could be simulated and tested off board. To generate the inputs to the protocols for testing I wrote a windows application (VB3), which also ran regression tests on the protocols.

My other responsibility was for system administration of the Cork office, which was mainly a Windows environment, and had 12 users.

 
Harris, Dundalk, Ireland. (Jun. - Aug. 1993, Mar.- Oct. 1994, Jun. 1995 - Dec. 1995)

Initially in 1993 I was part of the team to develop a new test standard for the company product (varistors), and was also involved in the set-up of a new computer network. Then in 1994 I completed the 6 months INdustrial TRAining (INTRA) component of the BEng. degree at Harris. I developed an automated testing and reporting system, in the high reliability area of the plant. This involved becoming familiar with Visual Basic (20K lines), relational databases (MS Access & SQL) and interfacing with the IEEE 488 bus.

After graduating I installed automatic monitoring and reporting systems for the production lines in the plant. Programmable Logic Controllers were used to process and convey information from the various machines, and this information was then analysed using Total Preventative Maintenance algorithms. Statistical information was then redisplayed on the production lines (on a television), and stored in a database from which reports were generated.