Projects

I always like to keep a few things going in the hopper. Here's a few of the things I've worked on or am working on now. Feel free to ask me about any of them.

Current Projects

EulerWell: solving math and software challenges

  • Client: Public at large
  • Status: In production use
  • Project duration: Ongoing
  • Project size: Solo effort
  • Key skills/technologies: C#, .Net Framework
  • Domains: general algorithms and optimization

EulerWell is a software project designed to illustrate solutions to Project Euler and other problems through the use of C#.

back to top

Periscope: look before you leap

  • Client: Public at large
  • Status: In production use (version 0.2.2)
  • Project duration: 90 minutes
  • Project size: Solo effort
  • Key skills/technologies: Javascript, Ajax, Greasemonkey
  • Domains: web documents, usability

Periscope is a simple Greasemonkey extension for Firefox that allows you to see where you're going before you take a plunge. It adds two pieces of functionality to your browsing experience:

  • Periscope un-obscures URLs that have been compressed by third-party services such as tinyURL, tiny.cc, and is.gd, adding a tooltip to each such link that it understands.
  • It also unobscures a number of other sites, such as YouTube, by determining the title of the video or content of interest and including that in the tooltip. This is handy for dodging the shenanigans of mischief-making acquaintances, if you're a frequent target of rickrolls or other videos you'd rather not see.
  • Each recognized link is visually distinguished from others by the presence of the short string {!} after the link text. Mouseover any such link to see what Periscope found out about the destination URL.

Visit the Userscripts page to install Periscope, leave reviews, talk with other users, and for additional general information. You will need the Greasemonkey extension for Firefox to install Greasemonkey scripts like Periscope.

back to top

TicTacGo: useful, usable Twitter searching

  • Client: Public at large
  • Status: In production use (version 0.1)
  • Project duration: 60 minutes
  • Project size: Solo effort
  • Key skills/technologies: Javascript, Ajax, Greasemonkey
  • Domains: web documents, usability, search

TicTacGo is a Greasemonkey extension for Firefox that converts hashtags (like #twitter or #charlottesville) present in tweets into clickable links. Each link goes to the corresponding Twitter search page for that hashtag. This allows you to effortlessly search for other tweets that use the same tag -- for example, to peruse the buzz about a conference or a restaurant, or just to satisfy your own curiosity.

back to top

Past Projects

Note: Some project names have been changed to partially conceal confidental business or sensitive information, as per the terms of outstanding nondisclosure agreements. Other details remain accurate to the extent of allowed precision.

Ozone

  • Client: United States Environmental Protection Agency
  • Status: Multiple releases to client; future final release to public
  • Project duration: 28 months
  • Project size: 14 members (5 development; 4 requirements/testing; 3 database/support; 2 management)
  • Key skills/technologies: Java, Groovy, Struts, Spring, Hibernate, Surefire, TestNG, Selenium, Maven/Ant, Hudson, Subversion, virtual machines
  • Domains: air emissions, environmental regulations, inventory development, emissions trading

Ozone is the world's largest tracking and reporting system for air emissions produced from a variety of sources. The collected data is submitted by hundreds of independent agencies, presented in a 508-compliant manner, and made available for review and editing as needed. Various sub-products of Ozone facilitate data transformation and submission efforts, analysis and reporting, and real-time editing and interactivity.

back to top

Spyglass

  • Client: Confidential
  • Status: In military and commercial production use; multiple releases
  • Project duration: 14 months
  • Project size: 21 members (13 development; 6 requirements/testing; 1 support; 1 marketing; 1 management)
  • Key skills/technologies: .NET Framework, C#, Syncfusion, Git
  • Domains: commercial/military radar technologies; GIS; mapping; navigational systems

Spyglass is an advanced, modular navigation system designed to be integrated into the bridges and navigation systems of ships. Spyglass understands how to automatically interpret onboard and remote telemetry of all kinds, assembling and presenting appropriate visualizations, some of a traditional nature and some unique to it. In military versions of the product, it is also capable of integrating up-to-date intelligence data from a variety of sources and additional classified visualizations.

back to top

Starfish

  • Client: Confidential
  • Status: Widespread internal production use; multiple releases
  • Project duration: 6 months
  • Project size: 8 members (5 development; 2 requirements/testing; 1 management)
  • Key skills/technologies: embedded development, .NET Micro Framework, C#, Subversion
  • Domains: cryptographic protocols and encryption; high-level networking; embedded devices and design

Starfish is a software product that overlays a secure, distributed virtual network architecture on top of an existing insecure network, such as the Internet. It is designed to be installed transparently on sensors or embedded devices with highly constrained processing power and memory resources. Private networks running Starfish are extremely adept at resisting physical failures or malicious attack by intruders, and can make provable guarantees about the security of certain messages. In fact, so long as at least certain nodes can be trusted, data can be transmitted securely over the virtual network, even through nodes that are compromised.

back to top

Published Works and Reviews

"Career 2.0" by Jared Richardson

Jared Richardson is a renowned Agile speaker and a recurring member of the No Fluff Just Stuff software symposium. His Career 2.0 book expounds on some of what he's put into practice over his development career, and focuses on instilling the discipline necessary to go from good to great. The book is a quick read and has many useful, concrete suggestions to help you in this regard, as well as resources to help you get started. I reviewed the book and provided technical and editorial suggestions and feedback.

Encyclopedia of Software Engineering (ESE)

The ESE is an authoritative text that is a comprehensive summary of the latest practices in software engineering. The third edition of the text is slated to come out in late 2009, and will include multiple chapters that I contributed to or reviewed. It's a bit of a stuffy ivory-tower academic's text, but there are some genuinely useful sections if you need an overall survey on software engineering.

back to top

Presentations and Talks

Coming soon. I've given a number of talks to a number of groups on various topics of interest; I'll post overviews here.

back to top