|
Experience
|
|
|
|
Connific
Senior
Android Developer (contract), January
2018
– March
2019 (14-months)
Developed
privacy-based social introduction and networking applications.
Developed efficient messaging library for Firebase RTDB that
reduces reads and therefore costs. App publication
is
pending.
Technologies:
Android
and Android Architecture Components, Java, Firebase RTDB, Fabric,
Crashlytics, Android Studio, Git
|
|
|
|
Sensorcast.org
Principal
Architect and Founder (now part-time), January 2011 – Present
(8-years)
Designed
and implemented end-to-end platform for collecting and
dissemination of crowd-sourced sensor data
from
phones and other devices. Intended for use by Citizen Science,
public outreach, and STEAM education, the platform provides tools
and API's for users sensor data into a distributed database;
merges that data with data from public sources – e.g., NOAA,
USGS, NASA – and provides tools and API's for accessing,
analyzing, visualizing, and mining the data. The platform shares
some thematic similarities with IoT, but only in the area of
collection. Work included
data
modeling, database implementation, JavaWS, unit testing and stress
testing, and 4 Android applications. The platform and a subproject
are in use (5+ years) by scientists at the Univ. of Wisconsin's
IceCube Particle Astrophysics Center
(WIPAC),
to observe and better understand cosmic-rays that impact the
earth. Peer reviewed
papers
have been published (see Publications below). This project has a
growing
base of users and volunteer collaborators that has found funding
from private sources and grants, including the American Physical
Society and the John S. and James L. Knight Foundation.
(This
is now ongoing part-time work I do in my spare
time.)
Technologies:
Android,
Java, Tomcat/JavaWS, Postgres 10/PostGIS/sharding, Eclipse/Android
Studio, SVN, Git
|
|
|
|
University
of California at Irvine
Instructor
for Android; and, Member of the Advisory Committee for Mobile
Application Development
May
2010 – 2018
(8-years)
Provide
college credit instruction for Application
Development for Android Devices
and
Advanced
Application Development for Android.
As
a member of the advisory committee I participated
in advising and setting the direction for courses in mobile
application development and the corresponding certificate program.
|
|
|
|
Thales
Avionics, Irvine, CA
Architect;
Senior Android Developer (long-term contract), June
2013 – November 2015
Designed
and implemented UI, application, and system features for various
aspects of Thales', Android-based, in-flight entertainment system.
Work included solving database performance issues, game and 3rd
party
application integration, general and UI performance issues, system
networking and aircraft event integration; and prototypes and
baseline development for high-throughput content distribution,
off-plane Internet-via-satellite connectivity, IPTV, and an
application that engages the user via points-of-interest along
their flight. Also performance and comparative analysis for
Android UI testing tools. Separately provided Android training
services through Thales' in-house
University.
Products worked on are
deployed
and in-use with American Airlines and other
carriers.
Technologies:
Android,
Java, Junit, Eclipse, Android Studio, Git, Jira, Confluence, Agile
|
|
|
|
Smilefish,
Newport Beach, CA
Senior
Android Developer (short-term
contract), February 2013 – May 2013
Designed
and implemented UI, image and data caching, and integrating REST
services
for
a Las Vegas casino application which provide the user the ability
to browse casino amenities and maps, and plan a complete stay by
booking
rooms
and shows. App was published to Google Play as MonteCarlo
Resorts.
Technologies:
Android,
Java, Junit, Eclipse, IIS, iOS
|
|
|
|
Apptico
Technology Group, Laguna Hills, CA
Principal
Architect, Project Lead (long-term contract), December 2010 –
September 2012
Designed,
implemented, and managed
end-to-end
development of a system providing users the ability to order food
and merchandise to their seats at sporting and entertainment
events, using their Android or iOS phone. Known as Stadiyum!
the
application was implemented for Android and iOS and deployed into
casino owned venues in Las Vegas, UNLV, and Mile High Stadium,
Denver, CO. The app was published to Google Play and Apple
AppStore as Stadiyum!
Technologies:
Postgres
9.1 with replication, Tomcat with clustering, Micros POS backend
systems, Android, iOS, Eclipse, Junit, Multi-tiered
server
deployment, PCI compliance.
|
|
|
|
SecureAuth
Inc., Irvine, CA
Senior
Android Developer (short-term contract), October 2010 – December
2010
Research
and solved specific issues with respect to implementing company's
flagship product onto Android. This allowed the company to move
forward with a full implementation of their product on
Android.
Technologies:
Android,
Java, Eclipse, Bouncy Castle
|
|
|
|
SolidMedia
Inc., Hollywood, CA
Senior
Android Developer (short-term contract), June
2010 –
October
2010
Designed
and implemented Android application for e-commerce/shopping, and
entertainment for West Hollywood.
Technologies:
Android,
REST, Eclipse, SVN, Jira
|
|
|
|
ProHealthCare,
Lake Success, NY
Senior Software Developer
(short-term contract), October
2009 –
June
2010
Designed
and developed an enterprise and Android application which provided
physicians the ability to manage their appointments and related
patient information from their Android device. Deliverables
included deciphering the API to a legacy scheduling system; an
application to translate HL7 artifacts and insert them into the
legacy scheduling system; a web application to serve appointment
objects; and, the Android application which could also interface
to Google Health.
Technologies:
Android, Glassfish, VirtualBox, GE Centricity, Eclipse, SVN;
Legacy: WebLogic 5.x, Oracle 8i, NT4 , Java 1.1
|
|
|
|
YouMail,
Inc., Irvine, CA
Principal
Mobile Developer, December
2007 –
October
2009 (2-years)
Designed
and developed acclaimed Visual Voicemail for BlackBerry devices.
Finalist for New Product or Service of the Year
-Telecommunications 2009, and recognized by PCWorld as one of the
10 Must-Have Apps for Your BlackBerry. Also developed mobile web
site for iPhone, Nokia, and other misc. devices.
Technologies:
BlackBerry OS, Java 1.5/1.6, BlackBerry OS, XML, JBoss, Spring,
FreeMarker, Eclipse, SVN
|
|
|
|
BlowfishWorks,
Inc., Westwood, CA
VP Mobile
Applications/Principal Architect, October 2006 – August 2007
(11-months; startup effort)
Designed and implemented a
clustered video-based advertising application for cell phones that
provided 100% accountability for tracking ads. Developed the
server application using Apache/Tomcat, Hibernate and MySQL and
the cell phone application using J2ME and various API's. Managed
offshore porting efforts.
Technologies: Java 1.5/1.6,
J2ME, XML, JSP/HTML, JUnit, Ant/Antenna, Apache 2.2x,
Servlets/Tomcat 5.5.x clustering, Hibernate 3.2.x, MySQL 5.0.37
clustering, Eclipse 3.x, Enterprise Architect 6.5, Subversion, PKI
Security (openssl, https, keystores, code-signing, smartcards),
Fedora 5&7, Windows XP, Windows Mobile, ffmpeg and a variety
of utilities for analysing/editing media encodings. J2ME Specific:
MIDP 1.0/2.0, CLDC 1.x, JSR-135 (Multi Media), JSR-75 (PIM/File),
JSR-172 (Web Services), JSR-211 (Content Handler), EclipseME,
Sun/Sony-Ericcson/Nokia/Motorola SDKs, J2ME Polish, BouncyCastle
|
|
|
|
TelePacific
Communications Corp., Los Angeles, CA
Senior
Software Developer (short-term contract), December 2005 – March
2006
Designed
and implemented a work-order scheduling system that managed the
calendars of people and equipment, and scheduled those resources
(overlapping, using a best
fit
algorithm) to fulfill work-orders from the Arbor work-order system
(a common work-order management system for the telecommunication
industry.) Utilized Java 1.5, Swing, RMI, Hibernate, JUnit, MySQL
and SQLServer.
|
|
|
|
Firedrum
Marketing LLC., Scottsdale, AZ
Senior
Software Developer (short-term contract), April 2006 – October
2006
Designed
and implemented an email delivery component that efficiently
delivered subscription-based email to the company's client
members. This component increased capacity and reliability by more
than 1000% (the limit to which it was tested), and reduced memory
requirements by more than 600%. These efficiencies in-turn created
greater concurrency, throughput and performance. In addition:
Fixed a number of reliability issues in legacy code. Utilized Java
1.5, Tomcat 5.5, MySQL.
|
|
|
|
OneFob.com,
Chandler, AZ
Principal / Principal Architect, May 2005
– December 2005 (8-months; startup effort)
Designed
and implemented a virtual security device, analogous to a Smart
Card, which could reside on commodity hardware and facilitate
secure transactions — loyalty programs, credit/cash purchases,
banking/brokerage transactions — and data storage — receipts,
coupons, tickets. Designed and implemented prototypes for loyalty
program, credit purchases, receipts, and tickets. Designed
procedures and protocols for user backup, recovery, and
invalidation in the event of lost, stolen, or migrating an old
device to a new one.
Technologies: Fedora Core 3;
Apache/Tomcat 5.5.x; Java 1.5, Swing, JDBC, JSE, J2ME CLDC
1.x/MIDP 1.x/2.x, JavaCard 2.x, XML; Hibernate 3.x, MySQL 4.x;
BouncyCastle; GnuPG; OpenSSL; PalmOS 5.4.x; Eclipse 3.x; netBeans
4.1; Ant/JUnit/SVN; Windows XP.
|
|
|
|
Forever
Living Products, LLC., Scottsdale, AZ
Web
Applications Developer (short-term contract), July
2004 – May 2005 (10-months)
Designed
and implemented a web-application that provided users the ability
to build their own website to support the sales of retail
products. A primary feature was a CMS system which allowed
users to edit/upload text, images, titles, and keywords that
comprised their site. Also, implemented a companion
web-application which provided a servlet-based mechanism for
securely administering DNS zone entries as a single transaction
across multiple servers.
Technologies:
RH Linux 8, Fedora Core 3; DB2 8.x; Apache/Tomcat 4.3; Java 1.4,
JDBC, JSE; Struts; Eclipse 3.x; Ant/JUnit/Subversion; BIND;
Windows 2000/XP.
|
|
|
|
WAZ-Metro,
Tempe, AZ
Principal, July
2004 – February 2005 (8-months; startup effort; sold)
Designed,
configured and installed a subscription-based wireless mesh
network in downtown Tempe, AZ using off the shelf hardware and
open source software. Also, physically measured and mapped
signal strength and coverage areas. Specified and negotiated
service and equip. contracts; and site install agreements.
Acquired by MobilePro.com in March 2005.
Technologies:
Fedora Core 2; Solaris 2.9; Tropos MetroMesh & Linksys
routers; Embedded Linux firmware; NoCat; iptables; Radius; Java
1.4; Apache/Tomcat 4.x; MySQL 4.x.
|
|
|
|
Transcordia,
LLC., Scottsdale, AZ
Principal Developer (short-term
contract), November
2003 – July 2004 (9-months; startup; sold)
Designed
and implemented prototypes for a proprietary consumer electronics
device that integrates a Palm OS cell phone, GPS, and
Text-to-Speech hardware. Provided comparative analysis of
technologies and devices, their relative costs, and their
suitability to the final design.
Technologies: Palm OS
3.5–5.2; J2ME CLDC 1.x/MIDP 1.x/2.x; CodeWarrior 9.x for Palm OS
& Symbian OS; WebSphere Device Developer 5.5–5.6; IBM J9 VM
for Palm OS & Pocket PC, Windows 2000.
|
|
|
|
Critical
Team, LLC., Boulder, CO
Principal / Senior
Architect, January
2002 – November 2002 (11-months; startup effort)
Designed
and developed handheld point-of-care clinical application for a
local hospital. This design utilized a forms based approach using
XML as the form definition language and MIDP on Palm devices as
the deployment equipment. Personally implemented wireless
object synchronization, XML-based object definitions and
compilers, MIDP/AWT user interface elements, HTML/JSP data entry
screens, patient treatment business logic.
Managed customer
relations; collected on-site clinical, technical, environmental,
and cultural product requirements.
Technologies: Java
1.3–1.4, Swing, AWT, XML; J2ME CLDC 1.x/MIDP 1.x; Servlets,
Tomcat 4.x, MySQL 3.x; Palm OS 3.5–4.1; Solaris 2.8; Windows
2000.
|
|
|
|
The
Radiance Group, Inc., Boulder, CO
Dir. of Engineering / Architect / Acting
CTO, October 1998 –
September 2001 (3-years+; sold)
As an architect:
Provided architectural analysis of existing product suite,
identifying performance and reliability issues. Evaluated,
recommended and lead architecture modifications.
Re-organized the development methodology improving efficiency and
reliability; automated the application build, integration, and
deployment processes. Re-architected company’s
point-of-care clinical application, including its Oracle schema.
Principal in re-architecting the company’s product suite.
Promoted in August 2000. Directed all aspects of development
organization while maintaining architect/developer duties.
Directed and led major installations, trained physicians and
managed customer service issues for a 3 hospital pilot program.
Promoted to CTO in June 2001, retaining all other
responsibilities. Managed technical presentation and
due-diligence examinations with potential buyers.
Technologies:
Java 1.1–1.3; Weblogic 4.x, 5.1 SP9; HTML, JSP, Tomcat 3.x, JNDI
and JMS; J2ME CLDC 1.x/MIDP 1.x, Palm OS 2.x–3.5, Windows CE
2.0-2.2, PockectPC; Windows NT/2000, Solaris 2.7–2.8.
Healthcare: CPT, IDC9, HCPCS, Multum, HL7.
|
|
|
|
InfoBeat,
Inc., Denver, CO
Senior Architect / Team Lead,
March
1998 – October 1998 (8-months)
Provided
architectural analysis, identifying performance and reliability
problems, of a multi-node e-mail publishing system. Designed
and implemented a near real-time distributed system &
application performance & fault monitoring
application.
Technologies: Java 1.1–1.2, AWT,
JNI; Solaris 2.6 SPARC/Intel.
|
|
|
|
Team 6, Inc.,
Boulder, CO
Principal
Architect, November 1995 – March 1998 (2-years, 5-months;
startup; sold)
Designed
and implemented a high-performance, high-availability,
object-oriented, multi-threaded, clustering-enabled HTTP-server
with single and multi-threaded API’s, support for Java servlets.
Also, script-based Internet scanning tools. Prototyped the
conversion of a C based software life-cycle management system to a
network aware Java based system.
Technologies:
C/C++, Java, JNI, JavaScript, HTML, Windows 95/NT, Solaris 2.4.
|
|
|
|
Point
Source Communications, Colorado Springs, CO
Contract
Technical Writer: November 1997 – February 1998
(part-time)
Wrote various technical documents and white
papers for Sun Microsystems products and the Solaris operating
system.
|
|
|
|
US
West Interactive Video Enterprises, Inc., Boulder, CO
Senior Architect: November 1994 – August 1995
(10-months; startup; US-West de-funded)
Designed and
implemented event driven, session oriented, dynamic content,
multi-threaded applications for use in e-Commerce.
Technologies:
C/C++, Netscape Server, Solaris 2.4–2.5.
|
|
|
|
Aztek
Engineering, Inc., Boulder, CO
Senior
Software Engineer: August 1993 – August 1994 (1-year
contract)
Designed and implemented end-user applications
for interactive cable TV (GTE MainStreet).
|
|
|
|
IBZ
Digital Productions, Inc., Boulder, CO/Frankfurt
Germany
Senior Architect /
Team Lead: October 1991 – June 1993 (1-year+7-months; company
sold)
Designed and implemented Hierarchical Storage
Management file-system for optical disk jukeboxes. This
flagship product facilitated the sale of the company.
|
|
|
|
AT&T
Bell Laboratories/Unix System Laboratories, Summit, NJ
Member of Technical Staff: October 1985 –
October 1991 (6-years)
Designed and implemented an OODB
on Tuxedo RMS, including multi-arena generation scavenging.
Also: Lifecycle mgmt. application development; and, UNIX OS
development.
|
|
|
|
AT&T
Corporate Data Systems, Piscataway, NJ
Member of Technical Staff: March 1985 –
October 1985 (8-months; transferred)
|
|
|
|
Soft-Switch
Inc., King of Prussia, PA
Software
Developer: September 1984 – January 1985 (5-months; startup;
laid-off due to budget)
|
|
|
|
Applied
Computer Products Inc., Philadelphia, PA
Principal: November 1982 – June 1984
(2-years; startup; sold ownership)
|
|
|
|
Drexel
University, Philadelphia, PA
Computer
Center Staff: December 1980 – January 1983
|
|