#330 — September 18, 2020 |
📣 Quite a few cool bits and pieces in the Code & Tools section at the bottom of this week's issue, so be sure to check it out if you don't usually 😁 |
Golang Weekly |
GitHub CLI 1.0: Take GitHub to the Terminal — The aim is to reduce context switching and to help you script and create your own workflows all from the terminal. And as a bonus, it’s cross platform and built in Go (here’s the source) :-) GitHub |
Debugging Go in Production Using eBPF — A somewhat complicated debugging technique showing how to intercept function arguments in userspace in a production application. Pixie Labs Inc. |
Sqreen: App Security for Golang Web Apps (Free Trial) — Deploy Sqreen in under 5 minutes and start protecting your Go web apps against OWASP top 10, reduce false positives and get actionable insights into threats and vulnerabilities. Sqreen sponsor |
go-bluetooth: A Cross-Platform Bluetooth API for Go — From the folks behind TinyGo comes this cross-platform package for working with Bluetooth Low Energy (BLE) from Go. It can also work on certain microcontrollers via TinyGo itself. TinyGo |
Introducing Pebble: A RocksDB Inspired Key-Value Store Written in Go — The folks at CockroachDB created Pebble as a RocksDB-compatible replacement for their storage engine. This post explains the why and the how of their process. Peter Mattis |
Go's Major Versioning 'Sucks' (From a Fanboy) — Go’s versioning policy beyond v1 is taking a bit of flak from some quarters of the community. To be fair, it’s a hard problem, and how we got here is understandable, and Lane concludes that “Go still has the best toolchain and ecosystem.” But intriguingly, the author of last week's Go Modules have a v2+ Problem post disagrees with much of this one as he explains on Hacker News. Lane Wagner |
💻 Jobs |
Stream Provides APIs for Building Activity Feeds and Chat — Stream is looking for a full time Backend Software Engineer to join our development team. If you are interested in becoming a part of what we do, apply now. Stream |
Golang Developer at X-Team (Remote) — Join the most energizing community for developers and work on projects for Riot Games, FOX, Sony, Coinbase, and more. X-Team |
Find Your Next Job Through Vettery — Create a profile on Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers. Vettery |
📘 Tutorials |
Doing Cool Stuff With Go’s AST Package — Cooper Thompson |
Writing Multi-Package Analysis Tools for Go — Go provides packages to help analyze codebases and glean things like embedded types (structs or interfaces) along with many other insights. Eli Bendersky |
Running Go Code on iOS and Android — Notably this doesn’t use Go Mobile but instead uses Cgo to build libraries that can be imported into normal native mobile projects. Roger Chapman |
Try the Fastest, Most Secure Way to Test and Build Software Today 🚀 — Buildkite is as fast and enjoyable to use at 500 developers as it is at 10. Self-hosted agents work with all languages. Buildkite sponsor |
The Go Client for Elasticsearch: Configuration and Customization — How to configure items such as authentication, service discovery, logging, and retry functionality in your client code. Elastic Blog |
When The Go Garbage Collector Will Panic Over Bad Pointer Values Chris Siebenmann |
🛠 Code & Tools |
modgv: Convert Luca Sepe |
A Database for Every Go REPL on Repl.it — Repl.it is an online tool for writing (and even running) code in an in-browser IDE. Now, they’ve added their own key/value store into the mix which is usable from their Go REPL. repl.it |
gopls v0.5.0 Released: Go's Language Server — Go’s official language server (used to provide extra Go-flavored functionality to editors and IDEs) adds some new features, such as extract-to-function and view GC optimization details, along with bug fixes. Go Project |
YARR: Yet Another RSS Reader — You definitely need to pronounce YARR like a pirate, in my opinion. Always good to see a desktop application built in Go, too. Nazar Kanaev |
Yaegi 0.9: Yet Another Elegant Go Interpreter — A Go interpreter to enable Go to be used for scripting within other apps, interactive shells, or for quick prototyping. You can use it as a REPL or embed it into your own apps. Traefik |
Bitmovin Encoder 2020 Roadmap: Dolby Vision & Atmos, VVC and More Bitmovin Inc. sponsor |
Datatable: A Go In-Memory Table — Provides a way to manipulate tabular (think spreadsheets) data – inspired by Pandas and R’s data frames. Dataframe-Go and Gota are other worthwhile projects in this space. Datasweet |
Leaf: A General Purpose Reloader for All Projects — Watches for changes in the working directory and runs the commands of your choice when files update. Built in Go, naturally. Vaibhav |
2048: A Cli Implementation of the 2048 Game in Go Amit Chhabra |
go-immutable-radix 1.3: An Immutable Radix Tree Implementation HashiCorp |