David Koelle is a Boston-area Technical Project Leader and Software Engineer who develops user-centered applications based on research and new ideas.

JFugue is my Java API for Music Programming. I developed JFugue to make music programming as easy as play("C D E F G A B"), and to explore music in new and creative ways. People love it! I have presented JFugue at JavaOne multiple times, and I've written a book about it. JFugue is open source (LGPL license).

I developed The Alphanum Algorithm to address a glaring usability problem in software: lists are sorted using ASCII comparisons, which is not how humans actually sort things. This algorithm ensures that, when sorted, "file2.txt" comes before "file10.txt" (LGPL license).

Project Antares. Ah, my unfinished magnum opus, and my desire to inspire interest and excitement in Science, Technology, Engineering, and Mathematics (STEM). Today, the most awe-inspiring discoveries are made by experts in their fields - the average student isn't finding water on Mars or identifying the cause of bee colony collapse. What if every learner could make and share their own unique discoveries and theories in a realistic simulated world?

My Geometry API for Java lets you create complex geometric shapes easily. You don't even need to know trigonometry. I also have a discussion about my decision to use a fluid API design for this library. It's open source (LGPL license).

Also filed under Geometry

Advanced Spirals - Here's what happens when you take a popular spiral graph toy, create a generalized abstraction to explain how it works, then extend the abstraction. Plus, this is an experiment with ProcessingJS and HTML5.

Also filed under Geometry

idea2product is my blog, where I talk about the full lifecycle of software product development.
(An older iteration of my blog, active in 2006 and 2007, can be found here.)

I have done some work with Algorithmic Music, exploring new ways in which computer programs can create captivating music.


Have some old business cards laying around? You can do something with those! Put them to good and learn How to Make Polyhedra with Business Cards, and discover interesting facts about geometric solids while you're at it.

Here are instructions that show you How to Make a Great Dodecahedron with Business Cards, in case you have any left over after following the previous link.

Advanced Spirals - Here's what happens when you take a popular spiral drawing toy, create a generalized abstraction to explain how it works, then extend the abstraction. Plus, this is an experiment with ProcessingJS and HTML5.

Also filed under Software & Projects

My Geometry API for Java lets you create complex geometric shapes easily. You don't even need to know trigonometry. I also have a discussion about my decision to use a fluid API design for this library. It's open source (LGPL license).

Also filed under Software & Projects

My attempt at healthy, economical lunches. Can I make lunches that are inexpensive, exceedingly healthy, delicious, and easy to prepare at work? This page is for anyone who knows in their mind that salads are healthy, but knows in their heart (and stomach) that salads aren't always satisfying.

If you've heard of phrases like aquiline nose or hirsine odor, you might wonder about the range of animal adjectives that can be used to describe everything from facial features to biological conditions. At least I did. I have compiled the most complete list of animal adjectives you'll ever find. Here's an interesting thought experiment: If any image that ever existed or could be imagined were captured in a 200x200-pixel area, how many images could there be? The answer is huge but finite. Can I copyright all 1096330 of them? Let's find out!