Ask HN: Cool side projects you have written using Golang

19 points by mr_o47 ↗ HN
What are some cool side projects you have written using Golang

19 comments

[ 3.3 ms ] story [ 67.9 ms ] thread
A bunch while learning that were small enough that they didn't make it to Github, but here's the interesting ones. They both also include messing around with WASM:

- Image manipulations, https://github.com/cliftbar/PaintByNumbers, https://pixel.cliftbar.site/ (ignore the comments thing, that's another side project, it's currently broken until I'm back from travel. Also the stereogram web image handling is bugged out.)

- Hurricane model generation, https://github.com/cliftbar/godin, https://www.odinseye.cloud/

I wrote Dihedral, a compile-time dependency injection framework for Go [0]. It was inspired by the Java framework Dagger. It worked pretty well, but was a little clunky with Go's syntax. Ultimately, decided it wasn't worth it given the simplicity of manually constructing Go objects in a service setting.

0: https://github.com/dimes/dihedral

Shielded is an API controllable README badge service. The site needs work but it's in a usable state.

- https://shielded.dev/

Emojiboats is an ad free emoji search engine / general unicode information tool

- https://emoji.boats

Hookah is a GitHub Webhook listener/runner - we've been using it for many years now, it's less important since the rise of GitHub actions though. It allows you to run any number of scripts based on their names connection to the hook that was called to build automations using shell scripts.

- https://github.com/donatj/hookah

sqldump is a MySQL dump parser that rather than reading the data into memory builds a map of the dump file and operates off that. Once the map is built it can operate on the data pretty quickly.

I wrote it for a project that involved pulling data out of 10 years of 100gb->2tb daily archived MySQL dumps and it was a lifesaver, it wouldn't have been possible otherwise I don't think.

- https://github.com/donatj/sqlread

I wrote this in go and it made the front hackernews page at the time:

https://plaintextco.in

This was my first time using go and I found the language very handy for this kind of projects.

how did you generated graphs? any library you recommend for them?
It's HTML and unicode, powered by Go's templating system.
That’s pretty cool How did you make the graphs work in html
I have built an educational project which teaches one how to build a KV Store from scratch. Compilers have many good educational resources, but I could not find similar ones in Databases, so I created one.

I have set up this project in TDD fashion with the tests. So, you start with simple functions, pass the tests, and the difficulty level goes up. There are hints if you get stuck. You will have written a persistent key-value store when all the tests pass.

https://github.com/avinassh/go-caskdb

OK to post long-running-but-still-incomplete projects ?
I'm working on a project called "mig", which is a SQL migration runner for MySQL and PostgreSQL. Of course, it's distributed as a single binary, and it's configurable via an rc file, env vars, or CLI flags.

It's my first real Golang project and I've really enjoyed the language and tooling so far.