David Koelle is a Boston-area software developer who
creates user-centered intelligent systems by day, and develops
fun and typically brainy software on the side.
JFugue is my JavaTM API for Music Programming. It makes music programming very easy (as it should be), and facilitates creating and experimenting with musical phrases. JFugue has received lots of praise, and I
presented JFugue at a JavaOne 2007 technical session (Read the reviews or See the slides and (oddly compressed) video)
Project Antares will be a new type of simulation and exploration application
to foster and inspire Science, Technology, Engineering, and Math (STEM) learning. I am actively seeking assistance for this project.
I have three additional Future Projects for which I'm seeking collaborators:
- Magazine to inspire recreational programmers, including youths
- Series of variety activity books with non-tech science and play
- "Software Band" to develop innovative entertainment apps
idea2product is my blog, where I talk about the full lifecycle of software product development.
I'm doing some work with Algorithmic Music. I'm exploring multiple
ways to create captivating music programmatically.
The Alphanum Algorithm is an algorithm I developed to address what I think is a glaring usability problem:
most computer programs sort lists by ASCII comparisons, which is not how humans actually sort things.
In API Usability, I discuss tips for creating highly
usable programming interfaces. As I know from my work on JFugue,
I know that a clean, concise, and usable API directly impacts the success of your library.
Persistent Externalization: If you're a Java developer, and you get frustrated when
your previously serialized or externalized objects cannot be used once you change your
class's member variables, then this solution is for you!
I believe that Recreational Programming is an important part of getting young people interested in computer science,
but has become increasingly neglected despite the spread of computing.
- Problems in Recreational Programming
- Recreational Programming Resources
- Recreational Programming Magazine