The last few weeks I've been working on a new web-based rich text editor. It’s a semantic editor, or “What You See Is What You Mean” (WYSIWYM). You edit using styles you define then import or export to whatever you need. Following cues from Medium and others on the perils of content-editable, I stopped relying on the browser to store the model. Instead I built an internally consistent model that only uses the DOM for handling input and pastes. This approach makes the editor robust, flexible, and very easy to customize.
It’s the Fourth of July again, which is America’s independence day for my non-US friends, and it’s time for some code cleaning. I’ve built several open source projects over the last year and it’s time to shut some of them down. Out with the old to make way for the new. Let’s review, shall we?
I've been writing unix-ish code for more than two decades (crap, I'm old!) but last week I discovered something I'd never used before, the stdbuf command. It solves (well, works around) one of my longstanding problems working with command line programs: buffering.
My hatred of C and C++ is world renown, or at least it should be. It's not that I hate the languages themselves, but the ancient build chain. A hack of compilers and #defines that have to be modified for every platform. Oh, and segfaults and memory leaks. The usual. Unfortunately, if you want to write fast graphics code you're pretty much going to be stuck with C or C++, and that's where Amino comes in.
I have a problem. Sometimes I get something into my head and it sticks there, taunting me, until I do something about it. Much like the stupid song stuck in your brain, you must play the song to be released from it's grasp. So it is with software.
I’ve been working on Amino, my graphics library, for several years now. I’ve ported it from pure Java to JavaScript, to a complex custom-language generator system (I was really into code-gen two years ago), and back to JS. It has accreted features and bloat. And yet, through all that time, even with blog posts and the goamino.org website, I don’t think anyone but me has ever used it. I had accepted this fact and continued tweaking it to meet my personal needs; satisfied that I was creating something that lets me build other useful things. Until earlier this year.