#347 — January 29, 2021

Unsubscribe  |  Read on the Web

Go Weekly

Go 1.16 Release Candidate 1 Released — Go 1.16, due to have its final release in February, is now taking its final form and is ready for your production testing, say the Go team. The draft release notes will bring you up to speed with what’s new, but highlights include support for ARM on macOS (such as with the new M1-powered Macs), module-aware mode by default, go install accepts version suffixes, you can embed static files with the go:embed directive, and more.

Alex Rakoczy

Building REST Servers in Go: A Series — Eli has been putting together a neat series of posts on building a REST API with Go using a few contrasting approaches so you can figure out what best suits your use case. Part 1 covers the standard library, part 2 using a router package, and part 3 using a Web framework.

Eli Bendersky

Combining GoLang, REST, NoSQL and Serverless — Connect your Go service, CLI or app to an automatically generated GraphQL data access API for your NoSQL DBaaS in < 5 minutes. Yep, that’s Apache Cassandra on DataStax Astra: the proven, globally distributed, highly available cloud database. Try our serverless beta. | No card, free to 5GB.

DataStax Astra sponsor

A Tour of Go 1.16's io/fs Package — Ben compares the new filesystem package with afero, a community filesystem package, finding where the similarities and gaps exist. There isn’t feature parity yet, so you’ll want to read (but not write *coughs*) this post.

Ben Congdon

LearnGo: A Large Collection of Go Examples, Exercises, and Quizzes — A repository that explains Go concepts with 1000+ exercises to help people ‘learn by doing.’

Inanc Gumus

Quick Bits

  • The TinyGo team has got hold of some Raspberry Pi Pico boards and are setting to work getting Go running on them. Watch this space.
  • Last week I erroneously said you need a Google account to see announcements on the golang-nuts mailing list, but this requirement hasn't been in place for a while. Hurrah! Thanks to Filippo Valsorda for the heads up.
  • The GopherCon Europe 2021 CFP has been extended for two weeks (to February 7) if you missed it so far.
  • The Go compiler and runtime team has begun to publish brief weekly notes of their meetings.
  • Bill Kennedy (along with Hoanh An) is working on a new Go book due in March. Love the cover illustration.
  • A Twitter thread of things to look forward to in Go 1.17 (due much later this year).

📘 Tutorials and Stories

▶  Featherweight Go: Understanding Generics in Go — A discussion of the underpinnings of the generics proposal from a more CS/research-y point of view. This gets academic fast but if you want an exhaustive deep dive, you’ll love it.

Hu, Lange, and Toninho

How to Integrate with GitHub 'The Right Way' with GitHub Apps — A tutorial covering how to build your own (Go powered) GitHub App to work with GitHub’s API and to act on the behalf of its users, and using faasd to have it work in a serverless manner.

Batuhan Apaydın

📅  Feb 16: Managing Software Development in a High‑Compliance Environment

99 Percent Visible - DevOps Tech Talks sponsor

▶  An Introduction to Go Debugging with DelveDelve is a popular feature rich debugger for Go. (22 minutes.)

Golang Cafe

Real-World SQL in Go — If you don’t want to use an ORM (and many don’t) then you better handle your SQL queries cleanly.

Ben Johnson

Working with Embed in Go 1.16 — The embed directive provides a way to deploy a single binary that includes HTML and other assets. It also showcases the new filesystem package.

Barak Amar

Reuse Expensive Computation With In-Progress Caches
Raul Jordan

🛠 Code & Tools

Goful: A Console UI Orthodox File Manager — This is giving me flashbacks to the Norton Commander days :-)

anmitsu

go-reddit 2.0: A Library for Using the Reddit API — For when you want to pull links from Reddit, create a bot, or whatever.

Vartan Benohanian

Project Management Without All the Management — "Clubhouse is like a fast and delightful version of Jira, a more purposeful version of Trello." - Current User.

Clubhouse.io sponsor

JuiceFS: A Distributed POSIX File System Built on top of Redis and Object Storage — JuiceFS stores file metadata in Redis using object storage for the file contents and supports all major cloud provider object storage services (such as S3, Google Cloud Store, Azure Blog Storage..)

Juicedata, Inc

Wire 0.5.0: Compile-Time Dependency Injection for Go — Wire’s job is to simplify the management of initialization code when doing dependency injection.

Google

Introducing go-financial: A Native Go Port of numpy-financial — A port of some (and more to come) of the numpy-financial functions along with an amortization schedule generator.

Gyanesh Malhotra

Maddy: A Composable All-in-One Mail Server — Can work as an MTA, accept messages via SMTP, store messages and even provide access to them over IMAP.

Max Mazurov

Vitess 9: Database Clustering System for Horizontal Scaling of MySQL — Essentially sharding middleware for MySQL. It originally spawned from scaling problems that YouTube had (background story here). Built primarily in Go.

Alkin Tezuysal

💻 Jobs

Senior Software Engineer (Remote, Germany) — We’re a not-for-profit organization seeking an experienced engineer to join our autonomous, agile team as we drive the development of new distributed ledger technologies (DLTs).

IOTAFoundation

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 Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.

Hired