Ray Waldin
San Francisco, CA
415.672.1316
Personal Accomplishments
- Co-founder of Palamida, Inc.
- Primary inventor of Determining a Document Similarity Metric, US Patent 7,565,348
- Primary inventor of AntiVirus Accelerator for Computer Networks, US
Patent 6,094,731, World Intellectual Property Organization Patent 00/28420
- Primary inventor of Multi-Tiered Incremental Software Updates, US
Patents 6,052,531, 6,651,249, 7,185,332, World Intellectual Property Organization Patent
99/49391
- Participant in the XHTML Forms
(XForms) Working Group and the XML
Style Language (XSL) Working Group of the World Wide Web
Consortium.
Employment History
- 2009-present Keas, Inc., Sr Software Engineer
- 2008-2009 KForce Technology Staffing, Web Developer
- 2007-2009 Workforce Logic/Provade, Inc./Randstad Inc., Web Developer
- 2003-2007 Palamida, Inc., Co-founder/Architect/CTO
- 2003 Bay City Capital, Consultant
- 2000-2003
Cacheon Inc., Software Architect
- 1999-2000 Lexica Holdings, LLC,
Architect/Team Lead
- 1998-1999 Digital Generation
Systems, Sr. Software Engineer
- 1996-1998 Symantec Corporation,
Sr. Software Engineer
- 1994-1996 Symantec Corporation,
Sr. Quality Engineer/Supervisor
- 1990-1992 Symantec Corporation,
Sr. Support Engineer/Supervisor
2009-present Keas, Inc
Sr. Software Engineer
At Keas, my principal responsibilities are the development and maintenance of
the user interface for a high profile consumer facing web application. My daily duties
include programming in Java, JSP, and Javascript, using libraries, frameworks, and
tools such as Spring MVC, JQuery, Maven, Hudson, Subversion, and Eclipse. Secondary
responsibilities include the development of XSLT and Javascript technology used to
implement Keas' content sharing relationship with Healthwise, whereby we transform
their XML content and medical protocols into the format used by our web application.
2008-2009 KForce Technology Staffing
Web developer
On contract with Western Governors University, this project involved the
development of a Groovy/Grails/jQuery application used internally for authoring
of educational course curricula and subsequent alignment of these to various
state, federal, and professional standards organizations. This application was
developed by a geographically distributed team, including myself and one other
software engineer, one QA engineer, and a project manager using the Scrum development
process.
2007-2009 Workforce Logic/Provade, Inc./Randstad Inc.
Web developer
On contract with Oracle Corporation, I developed Web 2.0 features for use in
Oracle's Fusion Enterprise Application prototypes for the User Experience group,
including tagging, contextual popup windows, and feed subscriptions. Also developed
Groovy/Grails/GWT application used to
design tests for navigation tasks, perform the tests remotely on the web, and collect
and report on results.
2003-2007 Palamida, Inc.
Co-founder/Architect/CTO
Palamida's products and services enable customers to discover and manage the
use of third-party code. As founder, I was responsible for the inception, design,
and implementation of the core technology used to detect and identify third-party
components using exact and fuzzy matching of source code and binary data. Additionally,
I was responsible for the design of the infrastructure necessary to collect and
process massive amounts of component signature data. Of my many accomplishments at
Palamida, two that stand out are:
- Massive multi-pattern search - extending Wu-Manber multi-pattern search to
handle massive search datasets. Palamida has collected several terabytes of
open source material. Their tools search for occurrences of any of the billions
of source code fragments they've collected while scanning customer code. This
invention extends multi-pattern search to allow such massive datasets while
remaining relatively performant.
- CodeRank - a similarity metric for source code documents. Searches against
massive search datasets produces a high volume of fine-grained match results.
CodeRank is a post processing technique for scoring document similarity based
on coverage, clustering, and uniqueness of individual matches. Analogous to
Google's PageRank, this metric turns large numbers of individual source code fragment
matches into fewer, high-level source code document similarity scores.
2003 Bay City Capital
Consultant
Bay City Capital was one Cacheon's primary investors. Upon
dissolution of the company, I was one of three technologists retained
to serve as consultants to further develop and refine the intellectual
property and pursue new product opportunities. This effort has
resulted in the creation of two spinoff products:
- the Cacheon Compliance Tool is a rules based Java source code
analysis tool for enforcing standards and best practices, based upon the
technology found in the Cacheon Migrator.
- the Cacheon Analyzer is used to determine the extent to which a
Java application depends upon a particular platform (JDK, Application Server,
Third Party Libraries, etc) and ultimately, an estimate of the effort required to
move an application from one platform to another.
2000-2003 Cacheon Inc.
Software Architect
Cacheon specialized in application integration and migration
software. While employed there as Software Architect, I was responsible
for the design and development of major portions of two products: the
Cacheon Migrator and the Cacheon Business Services Console (BSC).
Cacheon Migrator automated much of the work
involved in migrating large applications from one J2EE environment to
another, across vendor, version, and JVM boundaries. My contribution
to this project included the design and development of:
- the Cacheon Semantic Tree object model to represent Java program
logic, based upon the Java Language Specification
- an ANTLR
tree grammar for transforming source code parse trees into this model
- an XPath
implementation for use as a query engine with Cacheon Semantic Trees
- a declarative language for Cacheon's rule-based
source code transformation engine
- a JHTML
to JSP transformation
system including a handcrafted JHTML parser, transformation modules for
each JHTML construct, and extension points for customization
- a JSP to JSP transformation system using an open source JSP
parser, a JSP object model including symbolic representation of
embedded Java code, and declarative rules for transformation.
Business Services Console enabled Business
Analysts to compose new applications or services from pre-existing
components across disparate platforms using a simple graphical
interface. My contribution to this project included the design and
development of:
- a general, uniform meta-component model
- specific implementations of this model for various platforms such as
JavaBeans, COM, Web
Services, EJBs, etc.
- a system to interconnect component service invocations, methods
to record these interconnections, and perform datatype conversions as
necessary
1999-2000 Lexica Holdings
Architect and Technical Lead
Lexica produced software for the insurance industry, specifically
supply chain automation and fulfillment systems. In my role as
Architect and Technical Lead of the XML Technology Group, my
duties included the design and development of:
- a datatype-aware XML Object Model and an XML Namespace-aware DTD Validating XML Parser.
- an XML Templates Java class library for simple document creation
based on XPath expressions.
- an XML Schema Datatypes Java class library including code to
parse, validate, derive subtypes, etc.
- an XHTML
based language for deploying e-commerce web sites as part of a supply
chain automation platform (Lexica Online) for the insurance industry
using XML, XSLT,
DOM, CSS, JavaScript, and Java
Servlets.
- portions of iLingo,
a set of XML Schemas for Insurance E-Business, and co-authored a whitepaper
describing its intended use and future directions.
1998-1999 Digital Generation Systems
Sr. Software Engineer
Digital Generation coordinates delivery of radio advertisements to
radio stations across the country. As Sr. Software Engineer in the
Applications group, I participated in the design and implementation of:
- automated order submission system using XML, SAX, DOM, and JDBC
on Windows NT and Solaris.
- HTML based order entry system using XML, SAX, DOM, XSLT, JavaScript, CSS, JDBC, and Servlets on
Windows NT and Solaris.
1996-1998 Symantec Corporation
Sr. Software Engineer - Norton AntiVirus group
Symantec produces utility software for personal computers. While
employed there as Sr. Software Engineer, I designed and implemented:
- the pilot version of the virus definition upgrade infrastructure
consisting of XML documents published over various Internet protocols (HTTP, FTP, NNTP, etc.) driving a
Java update client. Awarded US
Patent 6,052,531 for this work.
- the HTML user interface server embedded in Windows NT and Solaris
versions of Norton AntiVirus for Internet Email Gateways, Norton
AntiVirus for Firewalls, and Norton AntiVirus for Exchange Server. This
dynamic page generation module consisted of an HTTP server and custom
application hooks accessible via page template scripting language.
- SMTP proxy for Norton AntiVirus for Internet Email Gateways
- Content Vectoring Protocol (CVP) client for Norton AntiVirus for
Firewalls
- Web crawling virus scanner for Symantec AntiVirus Research Center
- the boot sector virus repair engine used in Norton AntiVirus 4.0
and 5.0 line of products. This involved porting x86 Assembly code to a
C++ class library and extending support to additional platforms (NTFS, NEC) as well as adding new
functionality and maintaining backward compatibility with thousands of
existing boot sector virus repair definitions.
1994-1996 Symantec Corporation
Sr. Quality Engineer/Supervisor - Norton AntiVirus Group
- Supervised testing of Norton AntiVirus for Windows 95 and Norton
AntiVirus for Windows NT, including initial release, numerous
regionalized versions, and several inline releases. Designed and
implemented test tools for use by QA Analysts.
- Designed and implemented test tools for the Polymorphic AntiVirus
Module used in all Norton AntiVirus 4.0 products. Supervised testing by
QA Engineers.
- Designed and implemented test tools for new APIs and program
libraries delivered from core AntiVirus engine team.
1990-1992 Peter Norton Computing/Symantec Corporation
Sr. Support Engineer/Supervisor - Peter Norton Group
- Supervised technical support of Norton AntiVirus, Norton
Commander, Norton Backup, and Norton Editor.
- Coordinated pcAnywhere support transfer to Symantec upon
acquisition
- Handled numerous live data recovery calls to assist customers
using Norton products.
Skills
Languages
- JavaScript
- Java
- C
- XML, XPath, XSLT
- XSD, RelaxNG
- Groovy
- Scala
Frameworks/Libraries
- Spring MVC
- Hibernate
- Grails
- Google Web Toolkit
- DOM/SAX
- JDBC