Resume
John Quigley
1111 S Wabash Ave, 907
Chicago, IL 60605
| Phone: |
312-351-3671 |
Website: |
www.jquigley.com |
| Email: |
jquigley at jquigley dot com |
Jabber: |
jquigley at jquigley dot com |
Objectives: Create. Innovate. Make beautiful software. I aspire to work on very hard problems.
KNOWLEDGE
|
Areas:
|
Distributed systems, programming languages, Linux kernel, network communication, information theory, storage systems
|
|
Languages:
|
C, C++, Java, Python, Scala, ANSI Common Lisp, Erlang, Io, Lua, Perl, Latex, Bash
|
|
Tools:
|
vim, Emacs, Eclipse, gmake, gdb, kgdb, valgrind, Ant, Maven, JProfiler, sed, awk, flex, bison,
grep, Subversion, Mercurial, git, VMware suite, slime, nmap, netcat, Wireshark, bdb, MySQL,
Postgresql, screen, ssh, rsync
|
|
Protocols:
|
AMQP, ARP, BitTorrent, DNS, HTTP, IPv4, ISCSI, LDAP, SCSI, SCTP, SSH, TCP, UDP, XMPP
|
|
Platform:
|
Linux (Debian, RHEL), FreeBSD, Mac OS, Solaris, Windows
|
EMPLOYMENT
Cleversafe, Inc. Chicago, IL (Jan 2008 to Present)
Lead Software Engineer and Open Source Manager (Advanced Technology Group)
|
Summary:
|
A founding member of the Advanced Technology Group, with focus on long-term research and
innovation for dispersed storage technologies, augmentation of intellectual property holdings,
and development of Open Source product and community.
|
|
Patents:
|
Listed as inventor on two patents (pending).
|
- Storage security: Team leader implementing initial authentication and authorization integration.
Prototype work has produced integration with Java's JAAS framework and network-level security provided by
an integrated use of GSSAPI and negotiation performed with SPNEGO. Implementation offers unified
authentication/authorization of both biological (password challenge) and silicon (PKI) users. Project work
is ongoing.
- Distributed messaging and events: Lead engineer defining initial phase of company's initiative to
provide limitless dispersed storage scaling into the exbibytes. To this end, architected distributed
messaging system allowing for dynamic and asynchronous network messaging and events. System offers unified
producer/consumer interface into arbitrary transports (XMPP, JMS, AMQP, log4j, syslog), message
life cycle control fully defined by external configuration and integrated message processing intelligence
for aggregation, filtration and persistence. Project work is ongoing.
Cleversafe, Inc. Chicago, IL (Oct 2005 to Dec 2007)
Senior Software Engineer (Core Development Team)
|
Summary:
|
As an initial employee of the company, I acted as a lead engineer and certified Scrum
master within the core development team. Beyond development responsibilities listed below,
I worked to expand the company's agile methodologies, establishing lasting process and
policies refining software feature implementation, integration and ownership.
|
|
Patents:
|
Listed as inventor on eight patents (pending).
|
- iSCSI target: Company's go-to-market offering, providing first streams of revenue. Personally designed
and implemented the commercial iSCSI target allowing a user to interact with dispersed storage medium from
the network as if it were a standard SCSI block device. Implemented in collaboration with Germany's
Universität Konstanz, whose team worked on sister project developing corresponding iSCSI
initiator.
- Personally created a RFC3720-compliant iSCSI device target, transport and protocol
implementation fully native to Java.
- Implemented support of initiators on all major platforms, including Linux, Windows, Solaris and
Mac OS.
- Successfully passed three separate external compliance and stress validation tests performed by
Finisar's Medusa Labs.
- SCSI target: Team lead on design and implementation of the commercial SCSI block device target that
presented a dispersed storage volume as a standard logical unit. Full project life-cycle involvement, with
development responsibilities including:
- Development lead of a SAM-2, SBC-3 and SPC-3 compliant SCSI device target fully native to Java.
- Extended performance analysis and tuning resulted in us pushing the JVM to its operational
limits.
- SCSI layer integration with dispersed storage driver, allowing SCSI I/O to be performed
transparently on the dispersed storage medium.
- Successfully passed three separate external compliance and stress validation tests performed by
Finisar's Medusa Labs.
- Dispersed storage core: Worked with ten developers on full life-cycle design and implementation of
Cleversafe's Java-based core dispersed storage software. The system implemented a distributed system for
the storage of data that had been operated on by a channel coding algorithm. The algorithm decomposes input
into data and code symbols, allowing the original source data to be reconstructed by various recombinations
of symbols. Major development responsibilities included:
- Personally designed and implemented the entire asynchronous network communication stack,
co-designed grid protocol as ASN.1 presentation layer, designed and implemented application and
connection session management
- Research, design and development of data transformation stack and pluggable codecs which
performed information dispersal via Cauchy Reed-Solomon forward error correction, block encryption
and integrity verification. R&D with linear time fountain codes.
- Co-developed distributed data store facility for block device access, and corresponding server
implementation for dispersal backing store.
- Autodeploy: Personally designed and led team to implement Python-based application for centralized
deployment, management and operation of a heterogeneous grid of Linux machines. Used internally to deploy
Cleversafe software on wide area networks, with features implemented including:
- Fully autonomous installation and bootstrapping across a wide are network via the ssh protocol
- Allows operator to interact with the grid through a single console, and issue standard commands
as if dealing with the local machine only
- Custom logging and monitoring facilities allowing for fault-tolerant interaction and
intelligent healing of lost nodes
- dsgfs: Personally designed and implemented a POSIX-compliant prototype file system for Cleversafe's
unveiling demo at LinuxWorld. Allows a user to interact with a Cleversafe dispersed storage grid as a
standard UNIX file system. Built in user-space in C with FUSE and supporting most standard POSIX operations.
R&D to turn prototype into production product, including design work to offer distributed cache
coherency and locking for failover.
Ad Ink, LLC New York, NY (Jan 1999 to Jan 2003)
Software Developer (Department of Information Technology)
- Inkydoo: Personally designed and implemented company's content delivery system in Python. Provides
simple WebDAV content management and a 'RESTful' software interface with facilities for complex
aggregation and data sharing with the back-end legacy B2B system.
- Advertisement ordering: Personally designed and implemented company's Internet magazine advertisement
purchasing system, including integration with our back-end for fully automated purchase processing and
intelligent auditing.
- Content management: Designed, implemented and maintained the original outward-facing website content
management system, written in Perl.
- IT Infrastructure: Designed, built and maintained the original high-availability back-end on which the
company was founded. Setup and management including RDBMS, MTA, web server, Samba CIFS server, Cisco VPN
and DNS.
RESEARCH
IIT Coordination in Open Dynamic Environment Group Chicago, IL (Jan 2003 to May 2004)
Researcher and Software Developer (Research Lab)
- White Programming Language: Conceived of and led design and development on an ambient-oriented
distributed programming language for mobile networks based on the actor model. System inspiration taken
from Erlang, Self, LISP, Io and Smalltalk. Prototype-based and deeply reflective object model.
IIT Information Retrieval Laboratory Chicago, IL (Jan 2002 to Jan 2003)
Researcher and Software Developer (Research Lab)
- Diesel Search Engine (Northrop Grumman contractor): Lead engineer performing development and
statistical analysis of distributed and highly-concurrent classified search engine for
multi-tebibyte datasets. Developed test and result metrics analysis tool chain in Python and R.
- SQLGenerator (BIT Systems, Inc. contractor): Development of the custom XML-QL grammar, parser and query
compiler, allowing for XML documents to be indexed into a RDBMS and queried via XML-QL and XPath.
- Mediator Search Engine (US Holocaust Memorial Museum contractor): Development and integration work with
the Java- and Python-based Mediator search engine, a data mediator that integrates searching structured,
unstructured and semi-structured data sets. Development focus on the natural language query parser and
results algorithms.
EDUCATION
Illinois Institute of Technology Chicago, IL
Bachelor of Science, Computer Science and Psychology
COMMUNITY
Chicago Linux Chicago, IL
Founded and forged group into vibrant community of hundreds of technologists, featuring monthly meetings, workshops and outreach programs.
Chicago Lisp Chicago, IL
Founded group to discuss functional language design and semantics in addition to general programming theory.