October 2010 – Present (10+ years)
near Montréal, Québec, Canada
I open-sourced 100% of my completely undocumented and effectively unusable code from my Hexstream Software (BahagonTools) era, first under the MIT license and then quickly under the Unlicense (public domain).
For several years I planned to improve these codebases to make them usable, but my skills having substantially improved, I eventually reviewed and deleted 48 old projects I no longer care about.
I redirected my efforts towards my newer, suitably engineered, documented, actually worthwhile projects.
Having learned from past mistakes, I now specialize in micro-libraries, with growing success in adapting my extreme modularity skills to bigger, higher impact projects.
I am finally achieving traction and accelerating momentum in completing my exciting roadmap.
Creating important Common Lisp community resources has been a particular focus of my work, and I will continue to invest heavily in this endeavor.
I am spearheading the nascent movement to . I believe this is eminently achievable given proper approaches.
See my Accomplishments section below for a summary of my extensive Common Lisp Open Source contributions.
June 2006 – October 2010 (4 years 5 months)
near Montréal, Québec, Canada
Weird era of surprisingly advanced programming using nascent software engineering and project management skills, entirely on my own. Several pearls in a sea of dreck.
While working on my BahagonTools mega-project (tools for players of the Bahagon MMORPG), I spent almost all my time doing pure Common Lisp R&D while building my own advanced (but badly engineered) web framework from scratch (using Hunchentoot for basic HTTP). I became a Common Lisp expert almost entirely by reading the CLHS and writing my own web framework.
I single-handedly designed and implemented the following from scratch:
- Several DSLs, for HTML, CSS, HTML rewriting, form validation and a bunch of other things, compiling to closures being a favorite technique. Declarative Programming is the ultimate paradigm!
- An HTML rewriting and injection system. This greatly simplified and automated the writing of new static and/or dynamic pages while eschewing unnecessary layers of fake "abstraction".
- A server-side form validation system notably featuring efficient declarative rete-based merging of error messages.
- "flexiconf", a fully declarative configuration management system notably featuring bijective macros and the ability to load a configuration, modify it in-memory and then dump it back in the appropriate files, preserving all the appropriate structure and abstractions, thus supporting the full configuration evolution cycle.
- A 25-tables SQL schema using Postgres.
- An authentication system. The passwords were stored hashed and salted.
- Tons of other cool stuff!
Version control evolution: none, subversion monorepo, darcs monorepo, git monorepo, one git repo per project.
I did successfully launch BahagonTools in early 2010, the site worked but was an utter commercial failure. The eventual goal was going freemium but no premium features were ever implemented. I took the site down after a few months due to lack of interest and prohibitive hosting costs: 80$/month for a dedicated server.