Curriculum Vitae: Regan Russell BSC
Curriculum Vitae: Regan Russell BSC
Curriculum Vitae: Regan Russell BSC
Education
Diploma, Programming (COBOL, RPG, CP/M) Control Data Institute 1986.
Certificate, UNIX Administration NCR 1988.
Bachelor of Science, Computer Science James Cook University 1996.
Certificate Clear Case fundamentals for UNIX Rational University 1998.
Training course, DOORS Internal, Thompson-CFS 1999.
RSA Reach. 2003.
RCG TCP 2006.
Citrix Certified Administrator Internal, Citrix
2006.
Previous Experience
November 2006 –
Company PymbleSoftware Pty Ltd.
Platforms: SGI IRIX, Solaris, Windows2000, XP Pro64, Linux, Windows2003.
Comments: Created marketing and advertising material, built automated phone system
that answers calls, prompts for person to redirect call, records messages,
converts messages to Windows wave files, and sends an email with audio
file attachment. Built company web site with PHP/mySQL, developed a
product for Gnome/Linux in C++ and created payment page. Installed and
configured RAID array, Linux and Oracle 10.1g, exported a Windows
database, imported DBs into Oracle on Linux and wrote a small
Oracle/VB.NET application for a customer. Built a web site for another
customer. Repaired a UPS for another customer. Device driver code for
VIA vt6212 USB driver on Irix.
Comments: Read kernel crash dumps and Dr Watson dumps with WinDbg. Debugging
device drivers. Code investigation with reference to trace logs. Dealt with
customer issues. Business trips to Japan and Hong Kong.
SNMP Support for previous application. Wrote a server that polls a shared
memory segment and dumps content to a log file to be retrieved by CA
Unicenter Log Agent 3.0 and sent to SNMP port. Also wrote a debug test
harness that forces exceptions to be thrown for the “catch and send SNMP
trap” code. Prototype for EJB interface for the previous application.
Configuration of a WebLogic8.1 and Tuxedo8.1 server on Windows XP.
WebLogic to Tuxedo (WTC) code. Java server pages to call the EJB. Ant
scripts in XML to compile and deploy the EJB in the WLS. A C++ test
program to call the test target service in “BORIS” as a prototype for the
JSP/EJB prototype. WebLogic and Tuxedo domain configuration, on
Linux, Windows XP and AIX. Documentation and support for previous
project. Maintenance work on the C++ and OpenUI OPL source code on
the Macintosh client. Wrote C++ Tuxedo test harness for SIBEL interface.
Comments: I was one of two programmers responsible for “Direct Link” maintenance.
Transaction processing in excess of $5 billion daily. Code for the
$2.5billion problem, numerous reports. The system contained several
components including:
Products: Sybase, Sunsoft C++, Cytrix, Borland C++ Builder, Java, PERL/Tk,
Tools++, DBTools++, GreenLeaf Comm++, SNA, LU-62, Systematics
OWL, Paradox engine 3.0, Comms++, Protoview Datatable, Seagate
Crystal reports, InstallShield, Borland C++ 4.52, 5.0, C++ Builder 5.0.
Microsoft Word, Excel.
Comments: On site development at ADC broadband. This was a conversion project for
ADC on behalf of Compaq as a result of a request of one of ADCs’ Pacific
clients. I ported code from Sun/SGI/AIX/HP-UX/Win32 to include
conditional compilation for the Compaq (Now HP) version of UNIX (Tru-
64). The code base is several million of lines of code for a
telecommunication billing system. This included spotting known issues
and fixing. It required compiling on the new platform, rerunning unit tests
and fixing compile errors and unit test failure bugs. At the end of the
contract Glen Bowles wrote a very good reference and returned to New
England, USA. He may be retired now.
Comments: This was a telecommunication company that mostly built digital switches
(Signal Control Processors - SCPs). I scanned the bug list in the GNATTS
database, resolved the bugs and submitted progress updates. One of the
bugs in the systems was a multithreaded construction/destruction bug
which was related to multiple inheritance (class X: public Y {}; instead of
class X: virtual public Y { }; and class Z: public YA, YB {};). Once the
bug list was reduced, I migrated the code from the Orbix, ORB to the
ACEs TAO ORB because the company wanted to use more open source
software and not pay for commercial licenses. I reran the unit tests for all
relevant parts of the system, and worked with others team members to
resolve any issues. I rewrote the logging code which provided streams
(“<<” and “>>” operators were overloaded) and URL style logging
methods (such as “file:”, “socket:”, etc ). We had internal seminars on
SS7, Voice Over IP, etc. The main customer was One.Tel which was a
spectacular “dot.bomb” failure. Open Telecommunications no longer
exists. Documentation method was UML using Rational Rose, Source
code control was in CVS. Unit tests were in scripting languages such as
expect, awk or PERL.
June 1999 - July 1999 (after hours, part time, concurrent with SMA below)
Company: Transport Management Group, CBD, Sydney, Australia.
Platforms: Windows/MFC
Title: C++ Programmer.
Comments: Train scheduling. I produced graphical reports in MFC/C++, (eg zig-zag
graphs which show when trains are scheduled to arrive/depart at points up
and down the line). Environment was ORACLE Pro*C which was
wrapped within smart pointers which loaded an internal cache, pre-
fetching and lazy-evaluating as required. Development environment was
initially extremely chaotic which I resolved to structure. I introduced, set
up and maintained, QVCS as no source code control system was used and
QVCS (a free/cheap product) was used at SMA where I was working
concurrently (together 6:30am to 9pm every day and sleeping through the
weekends).
Comments: This was originally a 6 month contract which was extended to 11 months
to co-inside with the completion of the project. SMA is a defence training
organization that mostly produced manuals for military equipment based
on the writing of in house Subject Matter Experts (SMEs). This was
extremely challenging project which required examining a real piece of
equipment and developing a design to simulate it. The EOSS is a system
much like a periscope on a submarine. A director head sits about three
quarters the way up the mast of the Huon class mine hunters. On the
director head is a day light TV camera and a thermal imager. On the
bridge of the ship is a console which was simulated. I had to put 3 video
cards into one computer and get all the device drivers to work together.
Then I had to get hardware accelerated Direct-3D to function on two video
cards, load textures and vertexes into each card, while the other video card
displayed a menu system, I wrote that mimicked the controls on the real
bridge. Some video cards would detect that they were not the primary
display device and switch to software rendering. Other video cards would
steal vertex lists or not load textures. The thermal imager had “White hot”
and “Black Hot” modes and therefore two sets of textures had to be loaded
for each object and flipped between them in the scene as the controls were
accessed. The day light TV camera had an intensity control on the touch
sensitive control panel and therefore I had to walk the vertex list on the
video card and adjust the lighting intensity of each vertex in the scene. The
glow and dim effect was quite spectacular and was quite cool to play with.
Additional functionality included socket code to interact with an
Instructors station (which someone else wrote). There was also a Digi I/O
board added to the machine which enabled digital / analogue conversion
of signals. For example, there were rocker switches which interacted with
functionality of the camera and imager and scene. We also broke open the
monitors and rewired sections replacing components like resistors and
capacitors with direct wired output with signals from the Digi I/O board.
We had rough seas, mines, islands, buoys, targets, F14s and other 3D
objects modelled in 3D Studio Max. These were converted to X files.
Various paint packages were used to create the textures.
The project was completed 2 two weeks ahead of schedule and I spent
some time profiling and optimising it as much as was possible. The Navy
were happy to sign off on the project.
If the tender was not revoked I would have had additional continuing
contracts with SMA.
This was about the same time that I had the BeOS C++ Ray Tracer article
published in Doctor Dobbs Journal.
Products: Windows 98, Visual C++ 6.0, DirectX 6.0, QVCS, VME, MIL-STD-1397,
3D Studio Max.
One of the faults included reworking some of the drivers when the disk
capacity increased from 2.6Gb to 5Gb, 32 bit limits were exceeded and
block orientated seeks had to be replaced with ioctl()s on the devices.
Some faults required some functionality be moved from the upper layer of
the kernel to the lower level drivers or vice versa
Comments: BDE is a small dynamic games software house. I was involved in various
aspects of the real time interactive movies. I took over the installer when
the previous person responsible flipped-out. I did all of the Unix work and
wrote code to interact with other parts of the system including the ticket
server. I also did the credit card validation code via Plink.
I had previously worked for the company in 1988 when it was known as
Scientia-Whitehorse. The system was Accounting (invoicing, accounts
receivable, payroll) and manufacturing (Just-In-Time (JIT) and MRP-II).
Products: Visual C++ 5.0, Borland C++ Builder, C-ISAM, SAGA-C, ISDN, Win
Gate, SMIT, Humming Bird Exceed XDK, Motif, SAMBA, Microsoft
TCP/IP, POP3.
Comments: EyeOn software grew out of a film industry special effects company
(a "Post production house") which had worked on “Yahoo Serious”
movies, “Sirens”, “ID4 – Independence Day” and others.
The product "Digital Fusion" was an Object Oriented, multi-processor
optimised, multi-threaded spline based, resolution independent video
compositing system. My role was to design and implement features file
format loaders and savers for the majority of graphic file formats
(something like two dozen variants like JPEG, Sun Raster, PNG, TIFF,
Gif, etc). I wrote Windows Registry code and various graphic processing
code including Sobel and La Placian, edge detection, and blur filters. I
wrote MFC/GUI code for custom controls like a “rubbery” range control
(like 2 slider controls in the same control, which stretched and contracted
at limits), screw control with infinite wrap around looping behaviour. The
entire GUI was based on ray traced images and was extremely slick. The
code also ran on the (64 bit) Alpha processor under WindowsNT for
RISC. A large part of the product was based on Amiga Operating System
fundamentals; the system was extensible in “intuition layer” style so that
existing components would be benefit from under laying extensions. DLLs
could be dropped in so that at load time the system would recognise and
register new components.
As no full time network administrator has been appointed and the Lotus
Notes, Novell Netware server and TCP/IP and SMB shares and CISCO
router occasionally failed or faulted, I took on the additional
responsibilities of administration of the networks, Lotus notes and Internet
gateways. I did some install work with Install Shield.
For some months all of the staff went to meetings with angel investors,
business partners overseas and attend SIGGRAPH conferences. I was left
alone in charge of the company, answering phones, making sales, sourcing
suppliers, deciding mark ups, arranging conferences, transferring money,
paying bills, and myself.
Products: Visual C++ 4.x RISC Visual C++ 5.0 Intel, MFC, MCI, Install Shield,
OLE, Windows registry, ISDN, Notes, TCP/IP.
Products: HTML, CGI, PERL, PASCAL, Novell 3.11, OSF/1, Digital UNIX.
ULTRIX, SOLARIS, IRIX, C, PVM, MPI. Various super computers
including SGI, Cray. Processor farms.
Comments: While studying and flying I worked on small projects for various small
companies.
Russell R., (Nov 1999) "BeRays: A ray tracer for BeOS" , Doctor Dobbs Journal.
Review of Windows NT Device Driver Development Doctor Dobbs electronic review of
computer books (ERCB).
Review of The Windows NT Device Driver Book: A Guide for Programmers ERCB.
Review of Developing Windows NT Device Drivers ERCB.
Review of Writing a UNIX Device Driver, Second Edition . ERCB.
Review of Panic: Unix crash dump analysis, ERCB.
Review of Advance animation and rendering techniques, ERCB
Review of Windows TCP/IP. ERCB
Review of Open source development with CVS. ERCB
Review of System performance tuning. ERCB
Review of Learning the vi editor. ERCB
Review of Ada for experienced programmers. ERCB.
Russell, R., & Ryan C (1994) “METAcoder for windows: real-time and multi-pass
event logging and analysis in the social and behavioural
sciences.” Psychology Teaching Review.
Russell, R., & Ryan C. (1994) “METAcoder for windows: real-time and multi-pass
event logging and analysis in the social and behavioural
sciences.” Psychology Software News.
Interests
Travel, Outdoors, Snow Skiing, Hiking, Aviation, Sailing, Computer Graphics and
Parallel and distributed processing and Computer Architecture (especially SIMD,
MIMD), UNIX kernel internals. Japanese, Kanji, Bashi-Indonesia, Spanish, Catalan, and
French. Robotics, and managing a server rack, routers and various subnets around the
house. PADI qualified diver.