Well, two posts in a year – that’s better than only one! Let’s see, what did I accomplish this year, hack-wise?

  • bitjs, Binary Tools for JavaScript:
    • Added a Zipper to create a zip file in JS from byte arrays (issue #29). No compression, store-only for now.
  • kthoom, a Comic Book Reader:
    • Added a Metadata Viewer (issue #18) and Editor (issue #49) using the aforementioned Zipper.
  • TNO, a turn-based strategy game:
    • Finished rewriting an old, DOS-based game as a web-based game for its 25th anniversary 🙂
  • Carve, a vector graphics editor:
    • Started creating a rudimentary SVG editor in the open. Maybe this was irresponsible of me, given SVG-edit exists and I have lots of history there, but I wanted fresh infrastructure (TypeScript, mainly) and a chance to try and get the architecture right in the beginning..
  • Music playlist service and player
    • Private project where I assembled all my offline music, created a microservice to arrange, list, edit music into playlists stored in the Cloud (Firestore), and accessed via a web music player.

All of these little hack projects are strictly in the service of scratching various itches I have. Any fun projects you worked on this year?

Happy New Year, all!

§1292 · January 1, 2022 · Uncategorized · (No comments) ·


Logo for the kthoom comic book reader

Decided to pluck at one of my open source projects on the weekend. The latest idea was to use the Google Drive API to let users load up their comic book files (cbr/cbz/cbt) into kthoom (a comic book reader).

This should help those users storing their comic books on Google Drive to be able to access them on Chromebooks. Haven’t tried it on a tablet yet – I wonder if that works…

I’m always accepting patches if someone wants to write the equivalent code for Microsoft OneDrive.

§1048 · August 26, 2014 · Uncategorized · 3 comments ·


I want to believe. SVG as an image format.After finding some time to go through and mass-delete spam comments on this blog, I realized that it’s time to turn on the “Automatically close comments on post older than XX days” checkbox in WordPress. This means that posts older than 90 days will no longer be able to be commented on.

In case it’s not obvious, I haven’t been writing that much here these days. I’ve been too busy at my day job as a Google+ engineer and at my night job being a husband and father. If you really want to “follow me” these days, the best bet is Google+ for now. Let me know if you need an invite.

I’m not saying I won’t pick up the ol’ blogging pen from time to time. In fact, writing this very post has made me realize how much the UI has improved in WordPress. Also, I might have a couple new things to talk about in a little while, which I’ll likely post here and reference on Google+.

And yes, I’ve obviously been fully absorbed into the collective at this point 🙂

§1021 · September 11, 2011 · Uncategorized · 3 comments ·


The Open Web logoThe Web has changed us forever. It’s not just about how we experience digital media or how we purchase things or even all that free porn. Yes it’s also given us new ways to satisfy our egos, express our ideas, publish works, report information, research, share new capabilities. But I’m also talking about fundamental things: new ways of communicating, learning, meeting people, keeping in touch with people, even grieving.

Read the rest of this entry …

§810 · April 10, 2010 · Uncategorized · Comments Off on The Sticky Web ·


The IE LogoSVGAs expected, it was announced today that IE9 will support SVG, DOM Events, XHTML, CSS3 Selectors and more. There were even a couple surprises in there (HTML5 Video!). This finally puts IE9 in the realm of a “modern browser”! Hey! Someone on the IE team needs to send me a SVG image of the IE logo. The one I have is pretty sucky (no offense, Sam). Hopefully that image has an, ahem, gradient in it…

Now read on for more details on their SVG implementation (hey, I know why you’re here). Read the rest of this entry …

§741 · March 16, 2010 · Uncategorized · 14 comments ·