Curriculum Vitae [pdf]
Education, work experience, awards, publications, grandma's secret recipes, etc.
Can’t we develop this software a whole lot faster?
What do you mean it’s impossible to test that?
Can the developed world’s digital make sense of stormy developing world analog?
Can a single pixel captured in-flight yield precise ground coordinates in real time?
You want always-on Internet in your home but broadband service doesn't exist yet? No problem.
Can new technology married to old advertising rebirth local television?
What’s the key to creating a groundbreaking experience?
How do we provide students distance learning — with big expensive real-world equipment?
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
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…