--- title: "Projects" description: "Projects I'm currently working or have (mostly) finished" date: 2023-01-17T13:42:01-05:00 draft: false cover: ./cover.png type: generic --- Most of my projects are hosted on [Sourcehut,][sourcehut] but some of my older projects can also be found on [NixNet's Forgejo instance.][forgejo] I do have a [Github account,][github] but I don't actually host any projects on it as I prefer more open platforms. [sourcehut]: https://sr.ht/~amolith/ [forgejo]: https://git.nixnet.services/ [github]: https://github.com/Amolith All of these projects were created to [scratch an itch.][sai] [sai]: https://scratchanitch.dev ## Active projects These are what I'm currently focusing on.
willow (2023-09-21) (Go)

Tracks software releases across various platforms. Still a work-in-progress with bugs major and small, but I've been "dogfooding" it with my all my private self-hosted services, everything on NixNet, and the AUR packages I maintain. It does work and I find it quite useful 🙂

## On hold There are still things I want to accomplish with this software, but I don't have enough bandwidth to work on them at the moment.
earl (2022-01-01) (Go)

I take a lot of hand-written notes and wanted a quick way to write down web references. I was unsatisfied with all of the current URL shortener implementations so I decided to write my own.

## Finished projects These are projects that I consider ["finished".][finished] I might fix the occasional bug, but they meet my needs as they are and I will not be adding major swaths of code to introduce new features. [finished]: https://gavinhoward.com/2019/11/finishing-software/
rss2fedi (2023-06-01) (Go)

Looks at a provided RSS feed, converts the HTML to plaintext, truncates to 100 words, shoves those words into a templated, and posts to fedi. Supports authenticating with Akkoma, Pleroma, and Mastodon. Patches for additional platforms are welcome.

opml2md (2023-05-01) (Go)

Takes an OPML file exported from an RSS reader, turns it into bulleted lists of subscriptions (ignoring particular sections if desired), and shoves those lists into a templated Markdown file. It's in use on the feeds page.

p2c (2023-04-05) (Go)

Generates cover images for Hugo sites using the page's frontmatter, the site's global config, and file's metadata. It's written in Go and generates images using Gio, a cross-platform GUI framework. It generates the cover images for most of the pages and posts on this site.

go-webring (2021-12-18) (Go)

This is generalised software for creating and maintaining old-school webrings. It currently powers Fediring.net.

## Future projects Tools I want but that I haven't necessarily had time to start on yet
Alternative Bond Touch client/server

The official app is just an unusable pile of trash. I want to reverse-engineer the bracelet's Bluetooth protocol and implement my own client/server. Client functionality will be strictly limited to sending/receiving touches and matching touch patterns with user-defined messages. Server functionality will be strictly limited to transferring touches between devices.

## Abandoned projects Unfinished tools I don't plan to finish.
rārangi (2021-10-12) (Go)

A todo TUI that operates on basic text files. Unfinished items are denoted with a - and finished items are denoted with a +. I wanted to try Bubble Tea but decided it was more complicated than I was ready for at the time.