Greg Pfeil’s résumé
Format
Code Portfolio
Additional code samples are available upon request. If you have a specific language in mind, pleast let me know. Also, the code linked to here may not be the most recent. If that is important, I’d be happy to provide current source.
Language | Projects | Source Code | Description | Skills | APIs |
---|---|---|---|---|---|
C | PortAudio | pa_mac_core.c | OS X support for the popular PortAudio library. It's used by a number of applications including Csound and Ardour to provide a cross-platform low-latency audio system. |
|
|
Objective-C | Square in the Jaw | full source | A pluggable real-time audio effect for Mac OS X. |
|
|
Eiffel | Eiffel Audio Library | full source | Cross-platform audio support for the Eiffel programming language. |
|
|
Java | Structured Text engine | full source | A tool for converting simple text markup, such as _italics_ and *bold* (like Wiki markup) into various formats, including HTML, plain text, PDF, RTF and others. |
|
|
Java | Simplified SAX Framework | full source | Applies the State Pattern to SAX parsing. Maintaining the element hierarchy, and making it even easier to write a parser for your XML documents. |
|
|
Haskell | cellular automata | ca.hs | Simple program that generates one-dimensional cellular automata based on a truth table or algorithm defined at the beginning of the source. |
|
Summary
Throughout my career I have used a number of object-oriented languages, both imperative and functional. As such, I have a solid grounding in the concepts and theory of programming. To balance that, my experience in business software has forced me to be eminently practical – I don’t allow theory to get in the way of finishing the job.
Over the past four years I have designed and implemented various large projects that I feel illustrate my programming ability. Some, including a context-sensitive search engine, required research and complex algorithm development. Previously, my research in the field of wearable computers prompted NASA to invite me as a domain expert to consult on one of their projects. More recently, my interest in music has influenced my programming, so I have written a cross-platform audio API for the Eiffel programming language (for which no audio support was previously available).
In addition, for the last three years I have employed agile development methods, such as test-first development and pair programming, in every project I have been involved with. I have found these methods to increase the clarity and reliability of the final product, as well as lower the cost of change (I have yet to work on a project where the requirements haven’t changed).