GitHub: github.com/mishoo
Twitter: twitter.com/mcbazon
Projects
SLip — a Lisp compiler + VM + IDE in a browser
My intention was to build something usable in practical applications, but unfortunately this is too slow for browsers other than Chrome. But at least, it could become a pretty neat environment for learning Lisp.
This is a complete UI toolkit for JavaScript, which also extends the standard JS objects with tons of useful functionality. DL is currently used in Xuheki, in TagForge (an in-house CMS used to publish this very website), in my chess game.
The user interface in Schedule World is also based on DynarchLIB.
An editor for the Web, similar in spirit and features to Emacs. Ymacs implements many Emacs concepts, such as the kill ring, the undo queue, prefix keys, many Emacs key bindings, multiple buffers, split frames, syntax highlighting and automatic indentation (a few programming modes are already implemented, more to come).
UglifyJS — JavaScript compressor/beautifier
A JavaScript parser/compressor/mangler/beautifier written in JavaScript. It compresses better than YUI Compressor, close to Google Closure, faster than both and safer than the latter.
(also ported to Common Lisp, check cl-uglify-js)
Yajet — Yet Another JavaScript Emplate Tengine
An efficient and powerful JavaScript template engine spotting a clean syntax (best of all, I would say). Yajet is independent (no library and no browser requirements) and works even in browser-less JavaScript environments such as Rhino or Google's V8. Yajet compiles the templates into runnable JavaScript code for maximum efficiency.
Somewhat unmaintained but still in use
Xuheki — Web-based Email client
AJAX WebMail that doesn't suck. Well, at least not yet. :-p
Dynarch Chess — Online "chessroom"
It's a game that I initially started to demo DynarchLIB. It grew beyond the original intention. It can actually be used to play chess online—invite your pal and come on over. ;-)
I wrote DBIx::OO (a Perl-MySQL abstraction), Chess::Rep (an object to represent chess positions and generate the list of valid moves, SAN notation, etc.) and Net::IMAP::Client (IMO the best IMAP library available for Perl at this moment). All these modules are used in projects that I mentioned before.
Old projects
DlHighlight — a JavaScript-based syntax highlighting engine
This is a versatile source code colorer that runs in your browser. Currently it supports these languages:
- JavaScript (very extensively)
- Basic CSS support
- XML
- HTML (like XML but colors inline <script>-s using the JavaScript formatter)
SESE — Simple Emacs-based Subtitle Editor
This is a major mode for Emacs which makes it easy to create movie subtitles. You simply need to play the movie and press a shortcut key when you want to insert subtitles. At the end, you can generate subtitles in SRT format.
Some hacks around an existing JS mode to fix indentation (which is based on cc-mode indentation engine).
Older projects
This is my first big JavaScript project. It's still the most popular calendar available, and still works very well on any JavaScript browser that I know of.
I'm working on version 2 which will simply set a new standard in this field. :-p
HTMLArea, the online HTML editor
HTMLArea was an extremely popular HTML editor — the most popular, around 2004. I no longer maintain it, but it still works pretty well.
Dead stuff but still in use
A GTK “run program” utility written in C++. One good example about what “standards” mean — this program was written 10 years ago, but it still runs fine with today's libraries.