email: ems@jrandom.com
cell: +1 (650) 248–7109
mail: General Delivery
Palo Alto, CA 94301–9999
Goals
Design, develop software to meet business needs for
uncompromising robustness, maintainability, efficiency. Learn
and evaluate new technologies, serve team as expert. Prefer
small intense team and test-driven development. Relocating to
San Francisco Bay area.
Skills
-
Software Design
-
Robustness (test-driven development,
design by contract,
event escalation,
instrumentation);
Concurrency (threading,
coroutines,
deadlock/livelock);
Security (capabilities,
delegation,
auditing,
cryptography)
-
Software Development
-
C++ (STL,
POSIX,
Win32,
ATL,
ODBC,
Apache module API);
C# (P/Invoke,
NUnit,
WSE,
performance tricks);
Java (JDBC,
JSP,
JAAS,
JNI,
AWT,
JTAPI);
COM (apartments,
Automation,
IDL,
marshaling);
SQL (ANSI DDL and DML,
Transact-SQL,
Oracle PL/SQL,
MySQL);
ECMAScript (JavaScript,
DOM,
JScript/VBScript,
ASP,
ADO);
Perl (CGI,
DBI,
Apache embedding);
Assembly (JVM,
x86,
68K);
Common Lisp and CLOS;
Ada;
Eiffel;
ML;
Forth
-
Information Management
-
Databases (relational model,
DBM files,
Lotus Notes/Domino,
network model and Raima Data Manager);
Markup (XML Schema,
XSLT and XPath,
DocBook,
SGML DTD,
TeX);
WWW (HTML,
CSS,
WAP WML);
Configuration Control (Perforce/Source Depot,
SourceSafe,
CVS,
Ant,
Visual Studio,
GNU Make,
BUILD.EXE,
Windows Installer,
WiX)
-
Communication Protocols
-
WWW (HTTP,
FTP,
SMTP,
MIME,
NNTP,
Telnet,
Gopher);
Voice (MBone/SDP,
SIP,
RTP/RTCP,
VoiceXML);
Security (firewalls and proxies,
OpenPGP,
RADIUS,
RSA PKCS/X.509,
EAP/802.1X);
Compression (PNG,
zlib,
ASN.1 DER/PER);
Directory (DNS,
LDAP);
Internationalization (Unicode composition,
UTF-8/16/7,
code pages and shift states);
Remoting (SOAP,
RMI,
DCOM)
-
Miscellany
-
Rapidly comprehend technical specifications;
Build constructive relationships with QA team;
Assemble and deploy computer networks
Education
-
Bachelor of Science ·
University of Washington–Seattle ·
September 1988–June 1992
-
Earned degree cum laude in Computer Science. Member of
Phi Beta Kappa and
Golden Key honor societies.
Employment History
-
Software Design Engineer (contract) ·
SolutionsIQ ·
November 2005–April 2006
-
Assigned to secure networking team at Microsoft. Maintained,
supported, and tested built-in Windows Vista services to prompt for
credentials and authenticate with wired and wireless
networks. Resolved buffer handling problems and assorted bugs in
legacy shell objects for network configuration.
-
Software Design Engineer (contract) ·
SolutionsIQ ·
April 2004–April 2005
-
Assigned to MSN Messenger server team. Resolved many buffer handling
problems in legacy C++ server code. Helped design, implement, and
support testbed deployments of high-performance C# gateway between
proprietary MSN and SIP-based instant messaging and presence services
(such as Live Communications Server and Vodafone). Developed log
analysis tools, diagnosed and helped troubleshoot problems in test
tools and third-party code.
-
Software Design Engineer ·
Click2Learn (now SumTotal) ·
December 2002–January 2004
-
Designed, implemented transparent TCP/HTTP proxy and
scalable demultiplexor server for components of realtime virtual
classroom application. Trained new team in Hyderabad, AP, India
on Win32 thread primitives, overlapped I/O, COM, and development
best practices. Advised team on network throughput, TCP windowing
and IP fragmentation, latency/dropout tradeoffs, GDI painting,
and waveform audio API buffering; proposed improvements.
-
Software Development Consultant (contract) ·
Loudeye ·
May–October 2002
-
Designed dropout recovery, compression and resolution scaling for
Win32 application demo system; documented prototype and planned design
for smooth restart of project when resources permit. Learned
unmaintained PowerPoint upload application (JSP, beans, servlet
filters) from source; migrated to target new production business
object layer; advocated production workflow changes to improve user
experience; supported successful production deployment. Designed,
implemented JAAS-based
security layer authenticating external users and enforcing complex
authorization rules; adoption by other applications expected. Owned
defunct telephony automation project; demonstrated prototype
multi-threaded calling agent with streaming/archived Windows Media
encoder output.
-
C++ Developer ·
Accretive Technology Group ·
October 2001–May 2002
-
Designed content server network balancing HTTP load geographically
and prioritizing revenue-generating traffic; implemented first phase
(pool per media type). Designed, developed HTTP parser to call out
URLs while preserving invalid markup. Developed self-service WebDAV
hook (and highly interoperable FTP/WebDAV gateway) to inspect uploaded
files and verify only approved formats are used. Tested, maintained
high-performance Apache module to perform load balancing by modifying
called-out URLs. Supported successful production deployment.
-
Senior Software Design Engineer ·
Wonderhorse ·
January–September 2001
-
Expanded customer base by designing, developing HTTP server to fit
inhouse asynchronous network engine along with
WinINet-based
HTTP client mode to traverse firewalls. Improved service security by
identifying severities of possible exploits, designing source
verification rules (without changing wire protocol). Debugged,
maintained ASP signup system and T-SQL authentication stored
procedures. Designed, developed session negotiation and management for
next-generation voice conferencing server; led team in rapid SIP and
RTP competence; raised needed product changes based on protocols'
capabilities. Improved immediate cash flow prospects by designing,
developing metered use client with cryptographic verification.
-
Lead Developer ·
U-Bridge Technologies ·
March–November 2000
-
Designed, developed mission-critical high-throughput XML application
server based on
thttpd and
expat with symmetric
encryption, Oracle worker processes, event record/playback for
testing. Designed, developed typesafe low-overhead mapping from XML to
C++ objects. Maintained ASP user profile management system. Built,
administered SMP Linux server testbed. Advised Mumbai outsource
development team on modern C++, Outlook, OLE Automation, postmortem
debugging. Supported successful beta deployment. Maintenance,
troubleshooting on DSL circuit, VMWare client testbed, Gauntlet
firewall, DNS, NT domain, Exchange.
-
Software Consultant ·
Analytical Software ·
December 1999–March 2000
-
Contributed to design, development of inhouse servlet template engine
for business objects. Developed dial-in authorization server for
Internet appliance vendor; deployed dial-in server
inhouse. Reverse-engineered Internet broadcaster's cobranded streaming
service; reported feasibility of non-integrated ad reporting, dynamic
content scheduling.
-
Studio Developer ·
ELF Technologies (now Serengeti) ·
December 1994–December 1999
-
Developed applets, servlets to Web-enable Microsoft Access-based
invoice editor; added public-key encryption to prevent company access
to information under attorney/client privilege. Designed robust server
job scheduler, administered via Notes or
OLE Automation. Maintained Perl scripts to robustly parse variety
of unstructured invoice formats. Wrote server jobs automating workflow
and mapping data between Notes databases, Oracle, Access, and
mainframe data files; negotiated needed changes with
clients. Contributed to design, development of inhouse Lisp
interpreter with Notes, ODBC, EBCDIC support; developed garbage
collector greatly improving server job stability.
-
Software Developer ·
CARE Computer Systems (now Keane Care) ·
July 1992–December 1994
-
Designed, developed text-mode 4GL runtime targeting customers' 2MB
80286 (MS-DOS) systems, with object serialization and lightweight
DLLs. Team C++ language lawyer, expert on IA32 protected mode and
debugging. Maintained C data entry screens.