#300 — February 21, 2020 |
Golang Weekly |
pkg.go.dev To Be Open Sourced — The “central source of information about Go packages and modules” is set to have its code released in a few months/weeks, and there is some rejoicing. Here’s more on where pkg.go.dev is headed. Russ Cox |
Advanced Go Concurrency — Goes beyond the usual candidates (goroutines, using André Eriksson |
Do You Need Go, Docker or Kubernetes Training? — We offer on-site 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. Ardan Labs sponsor |
Go Tops List of In-Demand Software Skills — The IEEE have picked up on a report from Hired (the recruiting marketplace) which places Go at the top of the pile when it comes to ‘most in-demand coding languages’ worldwide, though Scala(!) just pips it in the Bay Area. IEEE Spectrum |
ESR's Notes on the Go Translation of Reposurgeon — A few years ago, Eric S Raymond thought Go could replace C in most situations, but now he’s done a rather extensive write up of his experiences in porting a complex program from Python to Go. The result is faster and easier to read, but he ran into a variety of problems. Eric S Raymond |
What's Involved in Building a 'Roguelike' in Go — A “roguelike” is a type of fantastical game, a la NetHack or Diablo. Hunter wrote this enjoyable conversational piece on game design in Go just prior to being eaten by a dragon. Hunter Loftis |
💻 Jobs |
Software Engineer / Founding Teammate (Remote OK) — A well funded, fast-moving startup that is changing the way large teams collaborate on documents. Think: GitHub for documents. Markup |
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 |
Moving Towards Domain Driven Design in Go — An abstract (meaning, not runnable) tutorial where the DDD code evolves from the tightly coupled version and why evolving to the domain approach is recommended. Jon Calhoun |
What's New In Go 1.14: Test Cleanup — 1.14 adds a Gopher Guides |
Rendering a Bloom Effect in Go — Basically makes things look like they’re glowing. Rémy Mathieu |
▶ Modeling MongoDB Documents with Native Go Data Structures — How to use the MongoDB Go driver to add BSON annotations to your native Go data structures, providing a way to seamlessly interact with data in the app as well as the database. Nic Raboy |
Video for Your Go App — Integrate seamlessly into your product's UI. Mux Video is an API-first platform that makes it easy to build beautiful video that streams everywhere. Mux sponsor |
Running GoLand on a Raspberry Pi 4 — Someone at JetBrains wanted to see if they could get GoLang (a popular commercial Go IDE) running on a Raspberry Pi 4.. turns out, you can, if you’re okay with a pretty lengthy startup time. Florin Pățan (JetBrains) |
▶ Discussing Interfaces in Go — The latest episode of the Go Time podcast digs into interfaces at length, what they are, how they’re being used, plus tips for how you can use them too. Go Time Podcast podcast |
🛠 Code & Tools |
Spinner: 70+ Configurable Terminal Spinner/Progress Indicators — If you want to add a little pizazz to your CLI app when it’s processing or loading something, you can’t ask for more variety than this. Check out all of the GIF demos! Brian Downs |
Operator: Go Operators as Functions — Implements logical, arithmetic, bitwise and comparison operators as functions (like Python’s operator module). Includes unary, binary, and nary functions with overflow checked variants. Ben Golightly |
Hugo 0.65.0: The Go-Based Static Site Builder — If you’re a fan of Hugo for building sites, this seems to be a significant release if you want more flexibility in how pages are managed. Hugo Team |
Learn How Pact Makes Testing Your APIs and Microservices Fast + Easy Pactflow sponsor |
Nodebook: A Minimalist Multi Language REPL with a Web-Based UI — I think this started life as a Node specific REPL but it now supports Go, C, C++, Elixir, and more. It’s principally written in Go, though. Jérôme Schneider |
go-memdb: An In-Memory Database Built on Immutable Radix Trees HashiCorp |
goxygen: Generate a Go and MongoDB-Backed React Project in Seconds — An opinionated full stack app generator that builds a skeleton backend that uses Go and MongoDB with React on the front end. Sasha Shpota |
Kivik: A Common Interface to CouchDB or CouchDB-like Databases for Go — A mature library that has just been updated to use modules. Kivik |
go-blurhash: A 'BlurHash' Implementation in Pure Go — A BlurHash is an ultra compact representation of a placeholder for an image that, as a blur, vaguely represents the original image visually. buckket |
REST: An HTTP Client Specifically for RESTful APIs — SendGrid uses this in their own client library. Twilio SendGrid |
Twirp: A Simple RPC Framework with Protobuf Service Definitions — Think gRPC but without the HTTP server and transport stuff. This runs direct on Twitch |
SeqKit 0.12: A Go Toolkit for FASTA/Q File Manipulation — Perhaps a handful of you will find this useful but it’s neat to see Go being used for working with biochemistry. FASTA/FASTQ are formats for storing “nucleotide and protein sequences”.. Wei Shen |