Software I wish existed¶

(and haven't (yet) built myself)

If you find or build any of these pieces of software, please let me know.

It goes without saying that all of these should be completely open-source. If the software you build isn't, you needn't contact me, because I won't use it.

Simple automatic builds for Docker images¶

I want to feed it nothing more than a list of paths to Dockerfile contexts and tags to give them, and have it build them all (concurrently, and in the right order if they depend on each other).

The ordering is important. If I have a/Dockerfile which is FROM b/Dockerfile, then b needs to be built first. (don't just pull an old version of b from the registry)

Command-line tool for GitLab¶

I want a carbon-copy of GitHub's surprisingly useful gh, but for GitLab.

Note-taking app¶

• web-based interface so you can edit easily from mobile or other places
• data are stored in markdown files on the server, not opaque databases
• you can ssh to the server (or however) and edit the markdown separately in your own editor
• the interface presents the markdown files as a hierarchical tree, abstracting away the innate "directories -> files -> headings -> bullet points ..." system that always comes with a bunch of markdown files on my hard drive
• (important): they're still stored like that for when you interact with them separately
• (also important): there's an API that lets you write other tools that interact with the abstract tree rather than the concrete repo, if you want
• you can have multiple views, not just a tree, like Notion (table, list, ...?)
• data versioned in a git repository
• auto-committing for when you edit on the web interface, auto-generating commit messages like add 'eggs' to shopping_list
• bidirectional linking and decent search and all the other features you'd expect from the existing solutions like Notion
• simple sharing and permissions so I can turn it into a blog
• (important): colours are important! nodes need to be easily coloured

Actually maybe YAML is a better format than markdown:

• we don't need all the markup features of MD
• (because a tree view can't really have all those features)
• (and when editing on the command line you can't see the markup anyway)
• round-trip parsers for YAML are readily available
• some extra metadata can be added using !!yaml_tags
• markup to keep is really just:
• code formatting (+ syntax highlighting) (e.g. !!code/python)
• mathjax, maybe?
• colours, naturally
• yeah that's pretty much it
• maybe needs some extra work to deal with (i.e. retain) comments in YAML

Linux distribution without a single shred of userspace C code in it¶

Still using the Linux kernel (which is obviously written in C, so I'm gonna disallow userspace C only).

Just to see how easily it can be done.