Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Aero
:bullettrain_side: High-performance web server for Go (2016). New alpha (2024) with even better performance is currently in development at https://git.akyoto.dev/go/web (not production ready yet) (by aerogo)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
set
Package set is a small wrapper around the official reflect package that facilitates loose type conversion and assignment into native Go types.
Take a look at Tunl https://github.com/pjvds/tunl. It exposes local services and docker containers similar to Ngrok and might teach you a bit about reverse proxies, networking and creating a CLI tool.
Well, always willing to welcome new contributors to https://github.com/preslavmihaylov/todocheck. The codebase is relatively small (less than 10k LOC) and there are some "good first issue"s open
If you have some experience and find parsers and interpreters to be pleasant, take a look at https://github.com/dop251/goja because it's a pure Go (instead of calling out to v8 or quickjs via cgo) implementation of es5.1+ which is working it way towards es6+. I think it's a nice place to look if you have experience because the features needed are well defined with standardized tests, and you can work on one small thing at a time as a unit.
https://github.com/anatol/booster is an initramfs generator. Reading its sourcecode and contributing to the project will let you learn *a lot* about early boot process at Linux.
https://github.com/anatol/luks.go a golang library to unlock LUKS partitions. Look at it if you are interested in cryptography.
github.com/yeka/zip
https://github.com/WireGuard/wireguard-go/blob/master/main.go#L67-L70
It's generally not well received to use reflect to step around Go's type system but there are also instances where the type system starts to violate DRY. I've put together a small package that uses reflect to work some magic on types @ https://github.com/nofeaturesonlybugs/set