Argus, which I named after the many-eyed giant in Greek mythology, is a lightweight monitor of software releases. I developed this to keep up-to-date with releases and easily view the changelogs. A big factor in starting this project was a desire to do more Go. This started as a simple CLI-only app named Release-Notifier and eventually expanded to having a web UI to visually track what it’s doing as well as how up-to-date my deployed softwares are.
One nice thing I encountered whilst in the early stages of this project was the release of Go 1.18+. This release introduced Generics which greatly reduced the amount of utils-style code. So instead of needing say a
GetFirstNonNilIntPtr, and a
GetFirstNonNilBoolPtr function, all I’d need is
GetFirstNonNilPtr that takes Generics and so can handle pretty much all pointer types. This helped cut down on a lot of duplicate code!
It was also appreciated that once I had the web UI working, someone (larsl-net) found the project and started using it. He helped by submitting a few bug/feature requests as well as helping with some of the documentation. It felt really good that someone else had found my project and cared enough to help try and improve it. This helped me better understand the appeal of working on FOSS. Thanks larsl-net :)