SKILL
PROFILE
Authorized to work in Australia, New
Zealand and the United States of America.
Programming Languages
|
C (14 years), C++ (9 years), Shell (10 years), Perl (8 years),
SQL (8 years), PL/SQL and Pro*C (2 years), Java (1 year), Python
(1 year) and TCL (2 years).
|
Operating Systems
|
Linux (RedHat, Ubuntu and Gentoo), FreeBSD and OpenBSD,
Solaris, AIX, HP-UX and Windows (NT, 2000, XP and 2003).
|
Databases
|
Oracle, Microsoft SQL Server, PostgreSQL, MySQL, Berkeley DB
and SQLite.
|
Applications/Libraries
|
Microsoft Visual Studio, Borland Kylix and C++ Builder, gcc,
icc, gdb, TIBCO Rendezvous and EMS, cvs, subversion, perforce,
apache, ethereal and tcpdump, STL, Boost, ACE, openssl.
|
Other Technologies
|
IP Sockets (TCP, UDP and ICMP), IPCs, Multithreading,
Firewalls, NT Services, UNIX/Linux Daemons, Regular Expressions,
HTML, CGI, Messaging Frameworks, OOP and OO Design, SNMP, Network
Intrusion Detection (NID).
|
EDUCATION
Certified in SQL, SQL*Plus and PL/SQL by Sun Microsystems.
Certified in Perl by Sun Microsystems.
Gymea College of TAFE – Sydney Australia
|
1995-1996
|
Microcomputing Degree
Major subjects included Programming, Databases,
Operating Systems, Networking and Office Apps.
Averaged an A grade pass.
Young Achievement Australia – Sydney,
Australia
|
1994
|
A program designed to give students real-world work
experience in the creation and operation of a company, including
electing officers, sourcing materials, manufacturing, marketing, book
keeping and delivering products.
Achieved Higher School Certificate from the Sydney
Institute of Technology.
PROFESSIONAL
EXPERIENCE
Merrill Lynch – New York, NY, USA
|
Mar 2006 – Feb 2008
|
Vice President, Equities Trading Technology.
Merrill Lynch is one of the world's leading wealth
management, capital markets and advisory companies, with offices in
38 countries and territories and total client assets of almost $2
trillion.
Technologies: C++, TCP sockets, multithreading,
boost, ACE, RedHat linux, Windows XP, Solaris, Berkeley DB, Oracle,
TIBCO Rendezvous and EMS, ultra-low latency systems.
Worked on the core infrastructure of the Market
Access product that connects Merrill Lynch to the financial
exchanges of the world (e.g. NYSQ, NASDAQ, LSE, etc). Specialized
in efficiency tuning and product design.
The Market Access product has a guarantee of less
than 1 millisecond latency in a single direction, which must include
logging, updating internal state, persistence to a permanent storage
device, and translation to/from the exchange-specific protocols in
question.
Created a replacement for the log4cxx logger that
allowed us to log messages 4 times faster than log4cxx without any
more exposure to loss of data. Later tuned this to allow for
asynchronous logging with a memory map backup which was even faster
and also guaranteed no lost log messages.
Created an innovative distributed cache (DC)
system back by Berkeley DB. This system was fully transactional and
used customized smart pointers that would conditionally commit data
(if it had been modified) to a transaction when it was no longer
referenced, and transactions that would automatically commit when
they went out of scope. Both were exception aware and thread safe.
Created a full-featured regression testing tool
capable of replaying a full day's production data in about an hour.
Could handle multiple applications, multiple connections to each
application, and validated all data received using regular
expressions. Had special code to handle stateful sessions, and also
handled things such as fields that were dynamically created by the
application(s) being tested.
Team lead for a group of 5 developers.
CodeStreet, LLC – New York, NY, USA
|
Oct 2005 – Jan 2006
|
Senior Developer.
CodeStreet provides business-critical trading systems
and software infrastructure for the financial services industry.
CodeStreet both creates their own software and provides high-quality
consulting services.
Technologies: C++, multithreading, boost, RedHat
Linux, Windows XP, Solaris, Microsoft SQL, TIBCO Rendezvous, Reuters
Market Data System.
Overpeer, Inc – New York, NY, USA
|
Oct 2002 – Oct 2005
|
Senior Software Engineer/Architect.
Overpeer, a LoudEye company was the industry leader in
peer-to-peer content protection and marketing. Overpeer was
successful in both making it harder to find illegal content on
peer-to-peer networks, but also in providing clients the valuable
opportunity to market their products directly to their customers by
delivering digitally rights managed content.
Technologies: C++, multithreading, TCP & UDP
sockets, Gentoo Linux, Windows 2000 & 2003, Berkeley DB,
Microsoft SQL.
Designed and implemented the primary data-driven
infrastructure (including DB schema, middleware and internet-facing
applications) that were the core of Overpeer's business.
The internet-facing application communicated to
five different peer-to-peer protocols simultaneously. It handled
more than 50,000 new connections every minute and sustained between
10-15,000 simultaneous file transfers at any time per instance of
the application.
Created a Store and Forward system to ensure that
all the details of peer-to-peer activity would not be lost. Also
created systems to allow for per-file and application-wide
throttling (to conserve bandwidth) and to ensure that nothing was
I/O bound (so the CPU and RAM could be utilized to their fullest).
Scaled the operation from less than 30
internet-facing hosts to more than 650, at our peek we were
sustaining more than 6 gigabit/second with bursts up to 8-10
gigabit/second.
Created an independent tool to accurately check
the actual effectiveness of the internet-facing product. It acted
just like a peer-to-peer client and would search for content we were
protecting and could distinguish between content we were hosting,
content our competitors were hosting, our own content that was being
shared by other users and actual piracy.
MicroMuse, Inc – Pleasantville, NY, USA
|
Feb 2001 – Jul 2002
|
Senior Associate Engineer.
Micromuse is the industry leader in network assurance
applications. It provides network management and predictive fault
analysis products to ensure rapid (even pre-emptive) resolution to
potential network problems.
Technologies: C++, Java, multithreading, Linux,
AIX, HP-UX, Solaris, Windows NT, Perl.
MasterCard International – Sydney, NSW,
Australia
|
Jul 1998 – Nov 2000
|
Software Engineer.
MasterCard's Regional Processing Center (RPC) in
Australia was the first of seven such centers designed to simplify
and modernize the existing processing network MasterCard uses for all
credit and debit card authorizations. It removes the need for each
credit/debit card issuer to have specialized hardware provided by
MasterCard, allows MasterCard more transaction control and reduces
infrastructure complexity by having seven main regional hubs as
opposed to over 600 individual nodes in a virtual private network.
Technologies: C, IPCs, Solaris, Oracle and
Pro*C, Perl.
PERSONAL
EXPERIENCE
Mantra is an application framework designed to allow
client developers to just write their business logic and not have to
worry about re-inventing the common infrastructure elements most
large applications need such as multi-threading, data storage and
message routing.
Mantra is designed to allow an application to have 100%
uptime by dynamically allowing individual modules to be loaded and
unloaded runtime, and do things such as re-route message flow to a
new module and away from old modules in real-time.
Mantra also plans to support things such as clustering
and load balancing between different processes and even different
hosts, tight data binding (including transactional support) with a
universal storage interface supporting multiple data storage
back-ends, and much more.
Mantra is still under development and has yet to
release official revisions of this product.
Magick is designed to provide Internet Relay Chat (IRC)
networks with services that allow for more control over the network.
These services include things such as nickname registration, channel
registration and control and IRC operator controls (for doing things
such as global bans or restricting 'clone' users).
Magck was also the first IRC services product that
supported Direct Client to Client (DCC) file transfers, which allows
for things such as attachments on memos between users, a user to
store a picture in their nickname profile and a file system
controlled by the services administrators for public downloads.
Magick started its life as a fork from the ircservices
product by Andrew Church in 1996, and quickly became popular. Magick
II was released in 2003 as a complete re-write in C++ incorporating
multi-threading and many other advanced improvements. Magick III
will be written in terms of Mantra when it is released.
GOTH.NET is a community portal for the worldwide Gothic
community. It has been in operation since 1997 and provides a large
variety of services including an online forum (with over 5000
members), e-mail and web space accounts (more than 2000), Jabber IM
accounts and a comprehensive on-line links database.
As owner and systems administrator I am responsible for
ensuring the system hardware is sufficient for the tasks at hand and
the software is both up-to-date and configured correctly. The entire
system is database based (including user accounts, quotas and
DNS/domain management) and I wrote several custom perl scripts and
modules for system administration.
|