#303 — March 13, 2020
Golang Weekly
Database Basics: Creating a SQL Database System from Scratch — A multi-part series which starts with an extensive look at creating a basic SQL parser, adding an in-memory backend, and a simple REPL.
Phil Eaton
▶ An Introduction to Rust from Go's Perspective — Also billed as ‘Rust for Gophers’, this is an hour long talk (audio not great, sadly, but the video and live coding sections are good) to bring Go developers up to speed with Rust.
Damien Stanton
Do You Need Go, Docker or Kubernetes Training? — We offer on-site, remote and video corporate training for engineers that want to learn Go, Docker and/or Kubernetes. Having trained over 5,000 engineers, we have carefully crafted these classes for students to get as much value as possible.
ArdanLabs sponsor
Go Breaks Into The Top 10 in the TIOBE Index — Yes, the TIOBE index is a much critiqued attempt to index programming languages by their relative popularity but it’s been around a long time so Go finally breaking into the top 10 (up from #18 a year ago) is nonetheless notable relative to other languages.
TIOBE
Oragono 2.0: A Modern IRC Server Written in Go — Supports modern IRC chat features (e.g. IRCv3), UTF-8, and as of this week’s version 2, persistent history support, LDAP support, and full ‘bouncer’/always-on client support too.
Oragono
An Announcement to Go Event Organizers over COVID-19 — Google has placed a ban on all international travel for employees until further notice and no Go team members intend to travel internationally until at least May 2020. As well as taking this into account, there are ways you can notify the community about the state of your events (including emailing us, if you need to get the word out).
Carmen Andoh (Google)
💻 Jobs
Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring — Like coding in Go? We do too. Stream is hiring in Amsterdam. Apply now.
Stream
Senior Software Engineers (Go) - 100% Remote (UK/EU Only) — Award winning scale-up, providing cloud-native, real-time payments technology to major banks and fintechs. Remote-first culture.
Form3
Find a Dev Job Through Vettery — Vettery is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers.
Vettery
📘 Articles & Tutorials
go test -v Streaming Output in Go 1.14+ — go test -v now streams t.Log output as it happens rather than waiting until the end yielding a ‘quality of life improvement’ for integration-style tests where there might be messages you’d be keen to know about in real time.
Dave Cheney
Working with Dates in Go — Covers two situations that can be problematic.. adding a day or a week to an existing date, and the misuse of time.Time for working with dates.
Filip Borkiewicz
Why Are My Go Executable Files So Large? — An engineer’s mission to uncover what was causing his executable files to be 25% larger than the source code.
Cockroach Labs sponsor
How to Test CLI Apps Built with Cobra
Gianluca Arbezzano
Elixir-Style Actors in Go — This developer’s ‘foray into Elixir’ inspired the creation of Elixir-style actors in Go. Interesting though ultimately I’m not convinced this approach is necessary.
Preslav Rachev
Are Large Slices More Expensive Than Smaller Ones? — Dave thinks out loud.
Dave Cheney
🛠 Code & Tools
An Arkanoid Clone written in Go — For those who weren’t gaming in the 80s, think a bat and ball game 😄 This one is written in Go, uses the Ebiten 2D game engine, and follow an entity component system (ECS) architecture.
x-hgg-x
Emoji: A Minimalistic Emoji Package — Want to print emojis from Go? 👍 This provides a simple Go API with which to do so. For example: emoji.ThumbsUp
Enes Çakır
cli 2.2: A Fast Way to Build Go CLI Apps — You’ll need the v2 docs to get a feel for all the features available here, but think bash and zsh auto-completion, flags, subcommands, help text, and more.
Jeremy Saenz and Contributors
faas: Turn Any Go Function into an API? — Basically a lightweight way to turn a function into an HTTP service wrapped within a container.
Zack
GoAWK: An AWK Interpreter Written in Go — AWK is a text processing language with a long history.
Ben Hoyt