Planned articles as of October 2019

Filed under: Ego, Software — Jacob Welsh @ 00:00

Now that I'm finally off the fence about applying (and yes, that's a relief), my work remains cut out for me in communicating who I am, which means, in large part, what I've done with myself. Having established what I stupidly chose not to do,(i) it's time to have a look at the other side of this coin. I'd better plan it, or it won't happen.

Exact publication sequence and schedule remain to be determined: not that I think this is unimportant, but further work is required in order to make promises I can keep here.

The technical

This is not intended to include every scribbling of code found on my shelves, nor items I haven't yet decided to release for public consumption.

The initial articles in this series will aim to present high-level summaries of the items as they exist currently, with draft sources attached lest I be hit by the proverbial falling piano. In time I certainly wish to move toward full source annotation and signed vpatches.

  • MP-WP patches: some smallish cleanups, fixes and additions currently running on this blog. (For a sneak preview, see the live V manifest).
  • MP-WP Q&A: lessons learned from my deployment efforts.
  • keksum: the Keccak hash function implemented in C as a standalone Unix utility.
  • Gales Linux: a cross-bootstrapped, do-it-yourself, fully-static, discriminatory Linux/musl/BusyBox distribution. Includes base configuration files and scripts, a documented build process, and a simple package system with small but practical ports collection.
    • Gales Linux patches: I produced a number of patches to both base components and ports; many are self-explanatory but some will warrant discussion.
    • gksh, the Gales Public Domain Korn Shell. After trying a number of "easier" options, I identified OpenBSD's pdksh fork as the most promising target for terraforming, read a portion of the code, ported it back to Linux, and made a series of cleanups and fixes they'd been neglecting.
    • musl libc research: a summary of mailing list activity from March - May 2016, then zooming out to a list of major changes in subsequent releases, 1.1.15 - 1.1.21.
  • The Real Bitcoin patches: a getrawtransaction implementation, and a much-simplified rewrite of the Makefiles for building on Gales.
  • TRB Q&A: data collected and lessons learned from my efforts in TRB building, configuration, sync, tuning and operation.
  • Gales Scheme: an anti-Thompsonistic, almost-R5RS-plus-extensions Scheme system for Unix, striving for simplicity, soundness, minimal artificial restrictions, and strict error checking.
  • Scheme library: R5RS is a famously lightweight language spec, which is partly why I like it but has the downside that various modern-day essentials need to be reinvented in order to get anything practical done.
    • pkg.scm, a basic package import/export mechanism.
    • critbit.scm, an implementation of djb's "crit-bit tree" data structure.
    • hashes.scm, an (IMHO) elegant albeit slow implementation of RIPEMD160, SHA1, SHA256, SHA512 and HMAC algorithms.
    • bit-ops.scm, the rather less elegant support code for bitwise operations in a specified width.
    • http.scm, an HTTP/1.0 client.
    • json.scm: JSON encoding, decoding and traversal.
  • Scheme integration: in order to ensure correctness, memory safety and some degree of portability in the core interpreter (which is currently written in C but wants to grow up into self-generated assembly, or possibly Ada, or silicon), inter-process communication via piped subprocess or socket has been my strategy for foreign codebase interfacing.
    • rsqlite, an RPC server interface for SQLite.
    • tlsproxy, an OpenSSL-based TLS client bridge, authenticating the server by explicit RSA public key.
    • wsproxy, a WebSocket client bridge, implementing the protocol's requisite bit-fiddling in C to provide a simplified protocol for high-level language clients.
  • Gales Bitcoin Wallet, an as-yet incomplete attempt at the old wallet air-gapping problem. Progress to date and remaining challenges will be addressed. I'm presently on the hook for getting this to some degree of usefulness by close of 2019.
  • yrc, a VT100 IRC client in Python 2.
  • StatMaps, a no-JS OpenStreetMap tile browser, partly as an exercise in server-side web programming in Scheme.

The not-strictly-technical(ii)

  • How I spend my time these days.
  • History. I'm not sure what I'll write here, but something to do with my value structure, where I came from and how I got to where I am would seem to be in order.

And that should about cover it for now!

  1. As the song goes, "If you choose not to decide, you still have made a choice." [^]
  2. I was going to write "the personal", but it's not like the tech isn't a part of me too. [^]


  1. Updated for spelling, formatting & TRB link.

    Comment by Jacob Welsh — 2019-10-21 @ 01:03

  2. [...] 2016-October 2019: Investing in what I believe to be a strong technological arm, while keeping the political arm in a cast by embodying the coy failure modality to presently [...]

    Pingback by Taking my blogging lumps and asking for help. « Dorion Mode — 2019-10-25 @ 17:43

  3. [...] also posted on Sunday and was a bit down on Monday when the enumeration of his technical work these last years [...]

    Pingback by RMD review, October 15th-November 1st, 2019 « Young Hands Club — 2019-11-01 @ 23:49

  4. [...] articles to write already, which I had thought to be chiefly my technical backlog, I first wrote a plan to list and briefly summarize them. The plan itself took longer than anticipated, and the content [...]

    Pingback by The road to Ossasepia, part 6 « Fixpoint — 2019-11-21 @ 02:40

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by MP-WP. Copyright Jacob Welsh.