Marmox™ Home Home
Folder Folder
Page Page
Page Folder Page Folder
Blog Entry Blog Entry
Upload… Upload…
selectedEdit Edit
Save Save
Rename… Rename…
Refresh Refresh
Delete Delete
Previous Previous
Next Next
Download… Download…
Add Comment… Add Comment…
Access… Access…
Properties… Properties…
About The Marmox™ Network About The Marmox™ Network
Log in Log in Join Join
Garret Wilson About Resume

Garret Wilson Resume

About
Resume
Sites
Email
garret@globalmentor.com
WWW
http://www.garretwilson.com/

Summary

SubjectSkill Rating (1 to 10)Experience
Ajax 9.2 6 years
Android 7.0 <1 year
C++ 8.2 >10 years
Hypertext Transport Protocol (HTTP) 9.0 >15 years
Java 2 Enterprise Edition (J2EE) (Servlets, JSP, EJB, etc.) 8.0 >10 years
Java 9.8 >15 years
Java Foundation Classes (JFC)/Swing with Model/View/Controller (MVC) 8.5 >10 years
Java Database Connectivity (JDBC) 8.5 >10 years
Java Message Service (JMS) 7.0 >10 years
JavaServer Faces (JSF) 9.0 >5 years
Apache Wicket 8.0 1 year
JavaScript/ECMAScript 9.5 >15 years
Resource Description Framework (RDF) 9.0 >10 years
SQL 5.0 >15 years
Unified Modeling Language (UML) 8.0 >10 years
Extensible Markup Language (XML) 9.5 >10 years
Web Services 8.0 >10 years
  • Consulting services from driver development to consultation on Internet specifications.
  • Experience leading international standards committees.
  • Constant, comprehensive development using cutting-edge technologies for internal projects for over a decade.
  • Impeccable education, including BS Computer Information Systems, MA International Studies and Diplomacy, and JD/MBA law and business administration.
  • Superb communication skills.
  • Ability to communicate in several languages including English, Portuguese, French, and Hindi/Urdu.

Skills

Law

Civil Procedure, Constitutional Law, Contracts, Corporations, Criminal Law, Criminal Procedure, Evidence, Intellectual Property, International Business Transactions, Property, Public International Law, Torts

Computer Languages

Java 1.0/1.1/1.2/1.3/1.4/5.0/6.0
I have expertise with applications, applets, threads, networking, and reflection. I am an expert in the latest Java language features, such as typesafe enumerations and generics.
Extensible Markup Language (XML)
I have implemented an XML processor from scratch directly from the XML specification. I constructed an XML-based persistence scheme for Java objects using the Java reflection API. I created XML schema parsers and CSS parsers to implement the latest W3C recommendations.
Unified Modeling Language (UML)
I've worked with use cases, class diagrams, sequence diagrams, collaboration diagrams, state diagrams, and activity diagrams
HTML/XHTML/DHTML
I've co-authored markup languages, and have a philosophical insight into good markup design and rigorous separation between content and presentation.
C/C++
I've created and marketed entire applications written in C++. I've developed a custom windowing toolkit from scratch. I have created an object-oriented framework to wrap low-level TWAIN scanner access, as well as an object-oriented development kit for creating scanner drivers as TWAIN data sources.
Other Frameworks, Protocols, APIs, and Standards
JavaScript, ObjectPascal (Delphi), 6502/6510 assembly, 80x86 assembly

Frameworks, Protocols, APIs, and Standards

Guise™ and Ajax
Extremely dissatisfied with JSF, I created a comprehensive and elegant Internet application framework that handles asynchronous server communication and real-time component updates transparently. The entire framework component hierarchy is abstracted from the end-user technologies, without application developers to write any HTML or JavaScript. All Ajax functionality was written from scratch.
JavaServer Faces (JSF)
I've worked deep within the JSF reference implementation source code and submitted multiple bugs to Sun. In a recent Google search for "JSF file upload", the proposal I made for file uploads to the JSF forum is one of the first to appear. I am the inventor of US Patent 20070016660 for a JavaServer Faces Upload technique.
Hypertext Transport Protocol (HTTP)
I've created from scratch an implementation of HTTP directly from the specification, along with an implementation of the HTTP Digest authentication scheme for both client and server.
Web-based Distributed Authoring and Versioning (WebDAV)
This HTTP extension is the basis for Microsoft's WebFolders. I've created from scratch a WebDAV servlet that allow custom authentication (using, for example, the HTTP digest authentication module I created).
Java Message Service (JMS)
Not only am I familiar with the the JMS API, I've created an implementation from scratch both on the server and on the client using SOAP as an underlying exchange syntax. My implementation goes through firewalls and doesn't require permanent TCP connections.
Session Initiation Protocol (SIP)
I've created a SIP server and SIP stack from scratch for this HTTP-like VoIP signaling protocol made to replace H.323.
Java Web Start (JWS)
I have deep experience in dynamically producing JNLP files from a server, and I've submitted many bug reports regarding the deficiencies in JWS including caching problems and errors resulting from local URL encoding/expansion on the Windows platform.
Java Foundation Classes (JFC)/Swing with Model/View/Controller (MVC)
I've leveraged Swing to to its fullest extent, creating custom formatted text flowing views, many times researching into the Swing source code to find answers and submitting bug reports to Sun. I've created an eBook reading platform which supports XHTML, pagination, and right-to-left languages such as Arabic and Urdu.
Resource Description Framework (RDF)
This metadata framework goes beyond mere descriptions to encode ontological assertions, allowing semantic-aware queries and inferences. I've implemented an RDF processor from scratch, and I have a deep understanding of the propositional underpinnings of RDF and its relation to the semantic web.
Uniform Description Framework (URF)
Because of several deficiencies in RDF, including inconsistent representation between resources and literals; and redundant string representation and typing; I authored and implemented a new framework, URF, to replace data-oriented XML, RDF, and JSON. I have published a production-quality open-source reference implementation for processing URF, with corresponding API documentation.
Other Frameworks, Protocolss, APIs, and Standards
Java 2 Enterprise Edition (J2EE), Java Abstract Windowing Toolkit (AWT), Enterprise JavaBeans (EJB), Resource Description Framework (RDF), Cascading Syle Sheets (CSS), XML Document Object Model (DOM), XML Simple API for XML (SAX), XML Stylesheet Language (XSL), XML Namespaces, XML Schemas, XML Linking (XLink), XPointer/XPath, Active Server Pages (ASP), Java Server Pages (JSP), TCP/IP, UDP, Microsoft Foundation Classes (MFC), Borland ObjectWindows Library (OWL), Delphi Visual Component Library (VCL), Win32 API, TWAIN, C++ Standard Template Library (STL), COM/ActiveX, Unicode, MathML, Unified Software Development Process (USDP), Rational Unified Process (RUP), IMS Question & Test Interoperability Specification, IMS Content Packaging, Simple Object Access Protocol (SOAP)

Development Environments

Microsoft Visual C++, Borland C++, Borland Delphi, Symantec Visual Cafe, Borland C++Builder, Borland JBuilder, Eclipse, Rational Rose, Together/J, ArgoUML, Magic Draw UML, Microsoft Visual SourceSafe, Subversion

Operating Systems

Windows Vista, Windows XP, Windows 2000, Windows 9x, Windows 3.1x, Linux, Vax/VMS, SavaJe OS

Server Applications

Apache HTTP Server, Apache Tomcat, Orion Application Server, UW-IMAP, SquirrelMail, Mailman, OpenSSL

Database

Borland Database Engine (BDE), Paradox, dBase, SQL, Java Database Connectivity (JDBC), Oracle, hsqldb

Spoken Languages

English (native), Portuguese (Brazilian), French, Hindi/Urdu, Spanish

Communication and Interaction

I have excellent control of the English language, with the skills to write software documentation, prose, or poetry. I excel in education and teaching, working in environments in which I manage and/or educate groups or individuals. I work well as part of a group or alone. I interact well with others of diverse personalities and backgrounds. I apply skills of logical thinking, rational problem solving, and object-oriented design and analysis both to complete my work and to effectively function within the work environment.

Legal Experience

July 2004 - August 2004

Legal Clinic

Center for Legal Studies (Centro de Estudos Jurídicos—CEJUR), Attorney General's Office (Procuradoria-Geral do Estado), Rio de Janeiro, Brazil

I studied the Brazilian legal system and performed research on comparative approaches to affirmative action in the United States and Brazil in light of the common law and civil law traditions in the respective countries. The work product of this clinical was the essay, The Effect of Legal Tradition on Affirmative Action in the U.S. and Brazil. I learned Brazilian Portuguese specifically for this placement.

July 2003 - August 2004

Study Abroad

Budapest, Hungary

I studied Public International Law, European Union Law, and Comparative Dispute Resolution.

Information Technology Experience

November 2010 - November 2011

Software Development Consultant

Navigenics, Inc., Foster City, California USA

I help maintain and develop the front-end and back office web applications, business logic, and database tier for personalized-genetics management. With a team I designed and implemented a multi-time-zone scheduling component and a monthly subscription billing system.

November 2007 - November 2010

Software Development Consultant

Affymetrix, Inc., Santa Clara, California USA

I formed part of a team designing and implementing the Chromosome Analysis Suite (ChAS) software for visualizing genomic data as part of the cytogenetics product.

June 2005 - May 2007

Consultant

Grey San Francisco, San Francisco, California USA

I helped design architecture of GreySF software projects, provided input on project priorities, as well as guided a team of developers in Shanghai implementing software systems. I was technical lead on the Wellpoint Blue Cross of California small business insurance project, and the entire resulting BeneFits web site is built on top of my Guise™ Internet application framework.

May 2002 - 2003

Consultant

Texas Instruments, Inc., Dallas, Texas USA

I gave advice on technical data formats for educational content for the TI E&PS division. I provided assistance with implementing recommendations produced by standards bodies such as the World Wide Web Consortium (W3C), the IMS Global Learning Consortium, Inc., and the Unicode Consortium. My contribution primarily supplemented the development of a new version of TI-Navigator, a wireless classroom network system for distributing educational material to TI hardware devices.

May 2000 - March 2001

Contracted Senior Developer

WebTelecom, Inc., Pleasanton, California USA

I led a team for creating from scratch a transport stack for the Session Initiation Protocol (SIP), the successor to the H.323 voice signaling protocol. I led the architecture for the company's future technologies, which included real-time multithreaded multi-user interaction with EJB/JSP/JDBC integration. I interviewed candidates for joining the development team. I documented legacy code using the latest features of modeling languages such as UML 1.3 within design tools such as Rational Rose and MagicDraw UML. I analyzed and prepared critiques for aiding technology acquisition/partnering decisions. I traced and repaired errors in legacy systems. I constructed a company-specific software development process that is use-case driven, architecture centric, and iterative using the phases (inception, elaboration, construction, transition) outlined in the Unified Software Development Process (USDP) and extended in the Rational Unified Process (RUP).

December 1997 - April 1998

Contracted Senior Programmer

J. F. L. Peripheral Solutions, Inc., Ottawa, Ontario, Canada

I was responsible for creating the majority of each TWAIN scanner driver for the Bell & Howell scanner models Copiscan II, Copiscan 4000 series, and Copiscan 8000 series. I designed C++-based object-oriented engine using C++ features such as templates and exception handling. I ported this MFC-based engine to Microsoft COM/ActiveX, writing a custom window wrapper object set and constructing an object-oriented TIFF library from scratch.

1993-1999

Owner

Mentor Computer Solutions, Chelsea, Oklahoma USA

I formally started Mentor Computer Solutions in September of 1993 as a company to produce quality educational software. Mentor Computer Solutions is now GlobalMentor, Inc.

1990-1993

Programmer

Chelsea Software, IVR, Chelsea, Oklahoma USA

I was responsible for converting company-specific libraries, originally written in BASIC, to assembly language. These libraries comprise PhoneTools, which the company both uses internally and markets to other developers. PhoneTools allows creation of custom Interactive Voice Response (IVR) applications by interfacing with Dialogic voice cards using the BASIC programming language.

Education

2002-2005

Juris Doctor, 17 December 2005

University of San Francisco School of Law, San Francisco, California USA

I earned a law degree and was awarded the International and Comparative Law Certificate, with Honors.

Master of Business Administration, 17 December 2005

University of San Francisco School of Business and Management, San Francisco, California USA

1998-1999

MA International Studies and Diplomacy

School of Oriental and African Studies, University of London, London UK

I received a masters with a merit status at the end of 1999.

1993-1997

BS Computer Information Systems, May 1997

University of Tulsa, Tulsa, Oklahoma USA

I graduated with a cumulative GPA of 3.651. I was a member of the Kappa Sigma Fraternity, where I was social chairman for one semester. I was also president of the Academic All-State Alumni Association, an organization that has grown out of the Oklahoma Foundation for Excellence, promoting academic excellence in Oklahoma's public schools.

Bibliography

Patents

Differential Filtering of Genetic Data (US 2011/0257896)
Computer software products, methods, and systems are described which provide functionality to a user conducting experiments designed to detect and/or identify genetic sequences and other characteristics of a genetic sample, such as, for instance, gene copy number and aberrations thereof.
JavaServer Faces Upload (US 2007/0016660)
This invention consists of a custom JavaServer Faces UIForm component, a custom JavaServer Faces UIInput component , and a corresponding process which allows file uploads to be implemented within JavaServer Faces without the need for a separate servlet filter.

Law

Refactoring the Law: Reformulating Legal Ontologies (2006)
Explains the common philosophical underpinnings of jurisprudence and software engineering, traces their similar evolutions, and lays out likely future interactions and convergences within and between these two disciplines.
The Effect of Legal Tradition on Affirmative Action in the U.S. and Brazil (2005)
Examines how the distinct legal traditions in Brazil and the United States affect the legitimacy and applicability of affirmative action in those countries.

Technology

Uniform Resource Framework (URF) (2007)

Author, Editor

Designed to remedy RDF deficiencies, URF provides a consistent way for representing resources and their relationships. It is useful for data storage, data interchange, data querying, and logical inferences. URF together with its interchange formats provides a more powerful yet in many ways simpler and more consistent replacement for data-oriented XML, RDF, and JSON.

Internationalization Using String Resource References (2006-08-01)

Author

Describes a flexible technique of non-intrusive text referencing for application internationalization.

Typed and Targeted Property Change Events in Java (2006-08-01)

Author

Introduces a method for using Java generics when listening for property change events, and for identifying when a change occurred in an object other than the event source.

Programming Language Ontology for Objects and Properties (PLOOP) (2005)

Author, Editor

A specification describing techniques for identifying programming language classes within RDF, an RDF property namespace for identifying programming language class properties within RDF, and a processor for constructing a hierarchy of programming language objects based upon an RDF description. This specification has now been superseded by URF PLOOP.

Mentoring Activity and Query-Response Ontology (MAQRO) (2004)

Author, Editor

An RDF ontology for describing query and response scenarios. MAQRO has features especially useful in educational settings. Use cases include storing test and assessment questions; describing a series of educational interactions; planning a series of education activities; and formulating polls.

XML Package (XPackage) (2003)

Author, Editor

A format for describing resources and their associations as they appear in packages or collections of resources. The specification is based upon XML, RDF, and XLink, and provides a central RDF ontology for packaging-specific metadata. This specification has now been superseded by URF Content.

Open eBook Publication Structure 1.0.1 (02 July 2001)

Co-Author, Maintenance Sub-Group Chair

A specification for representing the content of electronic books, created through the Open eBook Forum, an international trade and standards organization for the eBook industry. This specification later became the ePub format.

Version 2011-11-18