Curriculum Vitae [pdf]
Education, work experience, awards, publications, grandma's secret recipes, etc.
Projects
Embedded GUI Simulation Framework
Can’t we develop this software a whole lot faster?
Embedded Systems Code Testing Tools
What do you mean it’s impossible to test that?
Weather Balloon Data System Upgrade
Can the developed world’s digital make sense of stormy developing world analog?
High Precision Targeting Research
Can a single pixel captured in-flight yield precise ground coordinates in real time?
AIMe: Advanced Immediate Messaging
You want always-on Internet in your home but broadband service doesn't exist yet? No problem.
Sofa Real: New Old Television
Can new technology married to old advertising rebirth local television?
The Glove and the Groundbreaking Robot
What’s the key to creating a groundbreaking experience?
Automated Manufacturing Lab
How do we provide students distance learning — with big expensive real-world equipment?
Atomic Object Website UX, IA & Branding Redesign
How do we communicate a high-tech company’s geek value minus the geek user experience?
Publications & Writing
- Way Better Error Handling in C Using CException
Great Lakes Software Excellence Conference, 2011 - Mocking the Embedded World: Test-Driven Development, Continuous Integration & Design Patterns
Embedded Systems Conference Silicon Valley, 2007 - Effective TDD for Embedded Software
IEEE 2006 Electro/Information Technology Conference, 2006 - Agile Project Management. Or, Burning Your Gantt Charts.
Embedded Systems Conference ston, 2008. - A Virtual Manufacturing Laboratory
ASEE National Conference Proceedings. Seattle, WA. July 1998 - A Virtual Reality Robot
ASEE North Central Section Conference Proceedings. Lansing, MI. April 2000
- Note the Smile
My writing on the ideas and promise of playful technology - Go East, Young Man
Stories for my people back home on the adventures and trials of moving to New York City - Helmus Brothers Building
Extensive history of the building, its architect, and its neighborhood in Grand Rapids, Michigan - PresenterFirst
Wikipedia entry for the software design pattern and programming approach - Super Developers Are Also Mild-Mannered Reporters
Want to be a super developer? Get your Clark Kent on. - Mysteries and Puzzles
Success in software is not only solving puzzles, it’s seeing the bigger mystery - The end of software engineering and the start of economic-cooperative gaming
Once upon a time software was seen as a craft and then as engineering discipline — perhaps it’s really a game - Financial Analysis in Software Development
Bridging the financial gap between software decisions and management decisions - A Moral Obligation to Marketing
Geek culture often looks down at “marketing” — instead maybe it is, in fact, virtuous - Testing and Legacy Code, A Primer
A practical guide to working with living, working code without breaking it - Surviving and Thriving as an Inshoring Software Company
Defining and making the case for Inshoring in an offshoring world
Open Source Contributions
- C# BK-Tree :: Burkhard-Keller tree for fuzzy matching in discrete metric spaces
- Unity :: Lightweight unit test framework for C
- CMock :: Ruby-based mocking framework for C
- Ceedling :: Ruby/Rake-based test build environment for C
- And more at the evil mad scientist programming site Throw the Switch…
Patents
Don’t undertake a project unless it is manifestly important and nearly impossible.