#314 — May 29, 2020 |
🐱 Some fun side projects at the end of the issue this week, especially if you like dancing gophers.. 😄 |
Golang Weekly |
RobotGo 0.90: Native Cross-Platform GUI Automation — We’ve linked this a few times over the years but it’s just had a huge update. Control the pointer, keyboard, read the screen, etc.. you could use this to automate many computer-based jobs with enough creativity 😁 0.90.0 release notes. The examples give a good sense of the API too. V Caesar et al. |
Diamond Interface Composition in Go 1.14 — Go 1.14 permits embedding interfaces with overlapping method sets (specified here) and Dave quickly looks at what that means. Dave Cheney |
Secure Your Go Application with Sqreen — Join us and learn more about Go application security best practices and how to secure your Go apps with Sqreen. Sqreen sponsor |
Micro: A Go-Powered Terminal-Based Text Editor — Now aiming to be “somewhat of a successor to the nano editor”, Micro is now a pretty mature and good example of building a text editor in Go. 2.0.4 just dropped. Zachary Yedidia |
What Are Goroutines and How Big Are They? — Goroutines are frequently called ‘lightweight’ threads, but just how light? Paschalis goes poking and benchmarking to find out more. Paschalis Tsilias |
💻 Jobs |
Want to Build a Platform Ecosystem in Go? — Skool is hiring its 2nd backend engineer in Los Angeles, CA. Go, PostgreSQL, Redis, Elasticsearch, Docker. Apply now. SKOOL |
Golang Developer at X-Team (Remote) — Join X-Team and work on projects for companies like Riot Games, FOX, Coinbase, and more. Work from anywhere. X-Team |
Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. Vettery |
📚 Articles & Tutorials |
Instrumentation in Go — Thoughts on how Go programs should be instrumented “in a clean and flexible way.” Then once you’ve got the basics down, you could move on to using things like OpenTelemetry. Sergey Kamardin |
Diving Into Go by Building a CLI Application — A straightforward code-heavy tutorial aimed at someone “somewhere between a beginner and an intermediate.” Eryb |
Go and CPU Caches — How can understanding the basics of processor architecture help us in optimizing performance? Teiva Harsanyi |
Find & Fix Code Performance Issues — Install in minutes. Profile & understand Go code’s behavior & performance. Browse through appealing graphs. Blackfire.io sponsor |
A Book Review of Writing an Interpreter in Go — Thorsten Ball’s Writing A Compiler in Go gets lot of kudos but is it worth the money? Joe, a total newcomer to Go, decided to dive in and learnt a lot along the way, much of which he shares here. Joe Previte |
Optional JSON Fields in Go — If you need to set default values, this post points (HA!) out a couple of approaches, along with their pros & cons. Eli Bendersky |
Build a Go Application using OpenShift Pipelines — You only need this if you’re in the OpenShift world. It’s an introduction to using the OpenShift and Tekton-based Pipelines CI/CD system as part of a Go app building process. Don Schenck |
maybedoer: The Maybe Monoid for Go Christine Dodrill |
Raul Jordan |
🛠 Code & Tools |
Introducing Athenadriver: An Open Source Amazon Athena Database Driver for Go — Amazon Athena is a service for doing analysis directly on data in S3 using standard SQL. Uber has created a Go driver that is Uber Engineering |
SDNS: A Lightweight, Fast Recursive DNS Server with DNSSEC Support — We first linked this two years ago but this week it’s reached version 1.0. Congrats. Yasar Alev |
go-git 5.1: An Extensible Git Implementation in Pure Go — “Manipulate git repositories at low level (plumbing) or high level (porcelain), through an idiomatic Go API.” go-git |
Optimize Your Golang Apps with End-To-End Tracing in One Place Datadog sponsor |
A Collection of Technical Interview-Style Questions Solved with Go — Things like ‘implement a doubly linked list’, ‘count the number of digits in a number’, etc. Not examples to be taken as the best solution but worth revising if you think you’ll need to code these sorts of things on the fly at some point. Raed Shomali |
go-mod-outdated: A Tool to Find Outdated Dependencies Pantelis Sampaziotis |
🎲 Fun and Side Projects |
gopherdance: Some Dancing Gophers in Your Terminal — The creator is working on the PIXterm ANSI art library and this is a neat proof of concept. 80at8 |
Netris: A Multiplayer Tetris Clone — Built in Go and designed to be played over SSH (indeed, you can Trevor Slocum |
Go-Powered Autopilot for Docking the SpaceX Dragon Capsule — Calm down, this isn’t for the real SpaceX capsule, but for this official online simulation of the docking process. Still very cool though :-) Martin Bertschler |
If you want to get into a section like this in a future issue, let us know if you work on any interesting Go related projects you think we should include. Bonus points for games, musical, or anything with a nice visual angle we can include, but everything welcome. 😄 |