App development, data manipulation, general software stuff. All the varied sorts of software things a
[Android, Java, Python, AWS, Azure]
Scimodo is about bringing fun, connected, IoT projects to schools everywhere for enhanced STEM education.
I designed and built initial IoT prototypes, based on various Arduino, Particle.io, and ESP8266 platforms.
[Arduino, C, Keen.io, Django, Python]
I was on the CCNx team at PARC, developing new networking technology.
CCN is PARC's 'Context-Centric Networking', now generally called ICN or 'Information Centric Networking'.
I was one of the engineers building out the second release of PARC's base CCNx implementation, which was
subsequently acquired by Cisco
and renamed 'CICN'.
Check out the Cicn project for more info and the current status of the project.
Prototyped new and innovative user experiences for Samsung. Can't really talk about it. Mostly Android stuff,
with some server-side coding, too.
[Android, Java, Python, Django]
I was a programmer in the Context Aware Systems Area (previously the Ubiquitous Computing Area) at PARC, with a focus on context-aware computing and mobile interaction.
A nice thing about PARC is that you get to work on many types of
projects. Here are some that I've been involved in:
- AECIS/TRAQ - an Android-based project for the military (under
DARPA's Transformative Apps project).
AECIS/TRAQ encompasses data gathering, inferencing, and a set of end user apps.
I worked on the AECIS infrastructure, including our pub/sub sensor module system
and persistent graph store layer, as well as the component apps that make up TRAQ
(Camera, Audio Recorder, GPS Controller, Map).
[Java, Android, Linux, SQLite, MySQL]
- Meshin - a plugin for Outlook
that extracts information from email messages and enables the user to quickly
find details and relationships without explicit searching.
Meshin builds a semantic graph of the information it extracts, and persists
that in an RDF store built on top of a SQLite relational database. I worked
on the query layer, which was responsible for building the SQL queries used
to reassemble the RDF triples from the tables that represented them.
[C#, .NET, SQLite, Windows]
- Magitti - a mobile location-based leisure activity recommender.
was to learn a user's behavior and preferences, and recommend things that would
be of interest to them given their location, the time, their preferences, the
weather, their history, and other inputs. In a nutshell, the system consisted
of a mobile client, a content database, and a server that ran the complicated
user models and recommendation engine. This was in 2006-7, pre-iPhone, and
early in the Location-Based Services revolution.
I built the client (Windows Mobile) and the server interface
(Apache/Tomcat servlets to deal with our JSON protocol). Because a customer
requirement was that the system be easy to use with one hand, we developed
a custom UI that made heavy use of finger sweeps and pie menus. The native
Windows Mobile widgets were very traditional, so there were some hoops
to jump through to get Windows Mobile to behave the way we wanted.
Here is a short video of Magitti from 2007.
[Java, C#, Windows Mobile, MySQL]
Bitsmith was my consulting company. I've worked on a variety of projects through it, including:
- The "Trade Show Advantage"
for Creative Training Solutions.
I built a JSP/servlet-based online training course for trade show attendees.
It included a custom tag library to support our special
features (video and audio tags, saving notes, "jargon" tags for
customer-specific terms, etc.), and an online purchasing system.
[Java, JSP/Servlets, Apache/Tomcat, PostgreSQL (via JDBC), Linux]
An SEC database scanner for
Atomic Intelligence, which tracks and
parses SEC filings. The application, which runs continuously, is
used to generate realtime filing alerts.
[C#, MS SQL Server, Win2K/XP]
"3 World", a project for
Southwestern Medical Center,
which integrated structural, functional, and alignment data for
researching how proteins are involved in cell signaling.
[Python w/Pmw, Linux and Windows]
At AT&T, I was part of a small team that developed Hubbub, a sound-enhanced,
mobile instant messenger that provided background awareness
cues and supported lightweight, informal communication among distributed
groups. I designed and implemented the server, the proxy servers, the Palm
wireless client and contributed to the Win32 client.
Also while at AT&T, I co-authored the book
Designing From Both Sides of the Screen: How Designers and Engineers Can Collaborate to Build
Cooperative Technology" with Ellen Isaacs. In this book, we describe our
strategy for user-centered design and use Hubbub's development as the
[C/PalmOS, Java/Solaris/Linux, C/Win32/MFC, Perl, PostgreSQL]
One of Electric Communities' products was
The Palace, a graphical chat
application. The Palace server handles message fanout and permission
enforcement, among other things. I worked on extending the server so
that it could better handle large scale moderated events.
This code eventually became the Palace Arena.
I designed and implemented a conformance test suite for 3Dfx's Glide
graphics library. The test suite was intended to help verify that new
revisions of either hardware or software behaved within tolerance of
previous versions, and that the Glide API performed according to its
documentation. It was used successfully during the development of
Glide 3.x to find bugs and deviations in the new software.
[C, Win32, Glide3]
EC was developing a Java-based secure, distributed virtual world
application/platform. I wrote the text subsystem (first in
Java, then in Java-wrapped native code for better performance),
integrated our application with web browsers and the Win95/NT Explorer,
and examined and fixed various performance problems (memory usage, speed,
and networking) throughout the code base.
[Java/JNI, C, Win32]
I was a developer on the Liquid Reality team. Liquid Reality was
Dimension X's Java-based implementation of a VRML2.0 browser, plus a set
of API extensions. I implemented 3D text, added DirectSound support, and
handled the integration of Liquid Reality with web browsers.
[Java, C, Win32]
I co-founded Anyware Fast as a consulting firm in 1989. We specialized
in graphics-related projects, from device drivers to high level APIs.
Most of our work was done for Sun Microsystems, although other customers
included SCO, Ameritech, Any Channel, and Rendition. Anyware Fast was
acquired by Dimension X in October of 1996.
[C/C++, Solaris, Win32]
I was a member of the graphics group for CADDS, a very large CAD/CAM
application. I was also one of a three-person team responsible for
bringing SunView to the Raster Technologies GX4000, a graphics
accelerator with a firmware PHIGS implementation.