Andrew Robb


Personal Particulars:

Position:
UNIX, C++ programmer.
Age:
43 years
Availability:
immediate
Qualifications:
BSc Hons Mechanical Engineering
Experience:
IT Professional with over 20 years experience of the computer industry covering a broad spectrum of the project life cycle:
Past Experience:
Address:
23 Middleton Avenue
Hove
East Sussex
BN3 4PH
Phone:
+44 (1273) 388052
FAX:
+44 (1273) 414385
Mobile:
+44 (7790) 743966
E-Mail:
AJRobb@bigfoot.com

EMPLOYMENT HISTORY

FEB 2000 - DATE: Ångstrom (start-up)
Position:
Linux consultant (also C++).
JAN 1998 - FEB 2000: X-TENSION (PROJECTS) LTD.
Position:
C++ UNIX Developer (also script).
DEC 1978 - JAN 1998: RICARDO CONSULTING ENGINEERS LTD.
Position:
Principal Engineer, Powertrain Refinement Dept.

SKILLS

C++, ISO/IEC 14882-1998:
This has been his principal programming langauge since 1997. His experience covers six years. Programming with draft ANSI and ISO/IEC compilers (GNU, Borland and HP). Currently writing with gcc-2.95.2. Previously worked with HP ANSI C++. He used Rational Rose for design and documentation.
C, ANSI X3.159-1989:
This was his principal programming language for eight years (1989-1996). Excellent programming skills for writing portable code, e.g: 16-bit DOS through to 64-bit UNIX from same source.
UNIX Programmer (HP-UX, Linux, IRIX)
He devised and implemented new analysis techniques that are in daily use within the department and sold commercially. He also wrote systems administration software (mostly C but some shell-script). This included a back-up system (based on cpio format) to perform incremental back-ups with a minimum of impact on the network and host systems (separate processes for reading and writing using share memory).
UNIX Systems Administrator:
He has experience in writing and maintaining shell scripts for Bourne, Korn and C shells. At Ångstrom, he has been acting as UNIX consultant. At X-Tension, he maintained their UNIX systems. At Ricardo, he was responsible for; specifying, purchasing, installing and maintaining UNIX systems and software within the department of over 35 (mostly graduate engineers). These used NFS, NIS, DNS and SMB (Samba). He maintained the systems with critical patches and CERT advisory notices. He implemented and maintained the site DNS servers. He also implemented the department Intranet WWW server in 1995 and wrote several on-line technical training manuals.
Windows Programmer (Workgroups, 95 and NT4):
In the space of a month he rewrote an application that took the previous programmer 18 months not to complete. He used Borland C++ “Application Expert” to lay down the framework and “Class Expert” to build the GUI and define transfer buffers.
MATLAB Programmer:
He was principal author of “ASTRA” (automated software for transmission rattle analysis). This also uses phase-demodulation (Hilbert) and resampling (Shannon) to identify rattling in pairs of gears using simple instrumentation (inductive probes). This is correlated with measured sound and vibration to rank the importance of each gear pair. Most of the processing is in compiled C MEX-files.
FORTRAN, ANSI X3.9-1978 + MIL-STD-1752:
For ten years (1978-1988) this was his principal programming language. He developed automotive emission test cycle simulation software. This predicted vehicle emissions from steady-state test-bed data. He also wrote a control strategy optimisation program as companion to the simulation program. Together they were used to optimise diesel fuel-injection timing and EGR (exhaust gas recirculation) control strategies for a US EPA parametric trade-off study (particulate v. NOx at maximum fuel economy). He also optimised modal analysis code.
HP (Rocky Mountain) BASIC:
In 1983 he completed the acoustic intensity analysis software (driving a 2-channel FFT analyser) and added the data presentation software. This stayed in daily use (almost untouched) for 12 years.
Signal Processing:

EXPERIENCE

At Ångstrom, he has been configuring Linux to run on prototype web-pad devices. He is also there to form the backbone of a C++ team for e-commerce application development.

At X-Tension, his last task was to program the Vantive side of middleware (Tuxedo) for EDS in Paris. Data handling within middleware uses C++ STL containers. The Vantive consultants recommended against using the Vantive API. Instead, access to the Vantive's Oracle database tables was through:

He designed it this way so that changes to tables and/or business rules only required changes within Vantive's database (to the views and/or stored procedures) and not to the compiled code (i.e. the Pro*C was fixed). The same middleware programs were used simultaneously on both development and production databases. Database skills were widely available at the client for maintaining the logical views presented to middleware.

With the middleware developed, he then spent some time on optimising the database (indices, views and stored procedures). Access times with a full customer database dropped from 50 sec/query (first row) to 40 query/sec (all rows), i.e. 2000 times faster. A single query took 1/6 sec.

His previous task at X-Tension was also middleware related. He was programming in C++ using Remedy's “Action Request System” API. He was responsible for the final development of the production code. This also included the interface to Keenan's Arbor/BP and the main scheduling engine. The production code was developed from a prototype middleware system. This also acted as the operational business layer between a service desk GUI (Remedy) and a billing system (Keenan Arbor BP).

He was first contracted, at X-Tension, to write the “Remedy side” of the prototype system. It runs as a daemon process under HP-UX and uses a UNIX message queue to marshal requests. Results are returned through a separate named pipe for each request. The requests are defined by a table, which can be read from a Remedy “schema” (Sybase table).

Previously, at Ricardo, he wrote a data re-sampling program for a client in the USA in 1990. At his last contact with the client in 1995, it was still in increasing use. His 5000 lines of C had been left untouched (although recompiled on other platforms). This processing engine implements both Hilbert transforms (for phase demodulation) and resampling to transform time-series data into the powertrain's flywheel angle domain. The client's developments have been built around this processing engine.

He has written a demonstrator program under IRIX to play sound files synchronously (to facilitate subjective A-B comparisons). He also wrote a filter program to apply both fixed-frequency and tracking notch filters to binaural audio data (Head Acoustics).

He maintained:
 
He gave technical assistance to Computing Services Dept:
 
Signal Processing Techniques:
Between 1987 and 1994, much of his time was devoted to the development and application of advanced signal processing techniques to problems with automotive NVH (noise, vibration and harshness).
 
Energy Flow Analysis:
This is an experimental/theoretical technique to determine the important paths for (car interior noise) energy. It is similar to the more theoretical Statistical Energy Analysis. He wrote the code to perform the experimental analysis. He refined the general technique to make it much less sensitive to experimental/systematic errors.
 
Modal Analysis:
When he joined what became the Powertrain Refinement Dept., he was performing experimental modal analysis of powertrains. This included debugging and optimising (including vectoring) the analysis code. He reduced the typical time to load and display an animated mode shape from 20 seconds to under one second. He introduced similar speed improvements to the data reduction and greater improvements in the analysis.
 
He was so successful that the costs reduced from £25,000 to £5,000 and it was no longer worth quoting for jobs (then on cost-plus). With experience, the quality of the data acquisition (using over-sampling) and analysis techniques improved. He also developed an ancillary technique for modeling the effect of ribs etc. This correlated very well for bending modes against full FEA.