PreZ's Ramblings
HOME
About Me
Diary
Resume
Pictures
Writings
Projects
Links
Resume

Preston Elder

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.

  • Ported a windows-only tool that enabled data from the primary data store of a ReplayService (including both ReplayService for Rendezvous and ReplayService for RMDS) into a comma-separated value or SQL database (via. ODBC) to Linux and Solaris (while retaining Windows support).

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

http://www.neuromancy.net/mantra

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 IRC Services

http://www.neuromancy.net/magick

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

http://www.goth.net

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.

Visit the site I run ...
GOTH.NET