#322 — July 24, 2020

Unsubscribe  |  Read on the Web

We're skipping the tutorials section this week, as three new design drafts have provided us with more than enough to read! 😄 If, however, you have any tutorials or blog posts we could include next week, hit reply and let us know.

Golang Weekly

A Draft Design for Go Command Support for Embedded Static Assets — Last December we linked to a proposal for bringing the embedding of static assets/files in Go binaries to the main Go toolset (versus using existing tools like Packr) – Brad Fitzpatrick is now back with a draft design for us to chew over (which includes links to 15 alternative implementations, if you’re curious!). Russ Cox has also recorded this video demo of how the draft design works in practice.

Brad Fitzpatrick and Russ Cox

▶  A Chat with Brian Kernighan of Unix, C, AWK, and Go Fame — Lex Fridman, a well known AI researcher, had an extensive chat with Brian Kernighan, the co-author of The Go Programming Language (book). Brian touches on lots of neat stuff that you’ll enjoy, but the Go specific section is between 58:45 and 1:01:55.

Lex Fridman

Building Strong Distributed Teams, One Pixel at a Time — Learn how eng. managers can improve teams based on three key “C” pillars: connection, communication, and collaboration.

CircleCI sponsor

A Draft Design for New File System Interfaces for Go — You don’t get just one new draft design this week, you get two. This one similarly has a video presentation and introduces io/fs, a new package that defines an interface for read-only file trees. If this idea is ringing a bell, Afero, which we linked last week, covers similar ground.

Russ Cox and Rob Pike

The go2go Playground Now Supports New Style Generics — Want to play with the next step for generics without lots of messing around? Enter this special build of the online Go Playground.

go2go

A Draft Design for First Class Fuzzing — What’s better than two design drafts? Three. Fuzzing is a type of testing where inputs are manipulated continually in a search for issues. It is automated and mutatable and an excellent way to harden code.

Katie Hockman

💻 Jobs

Sr. Software Engineer at CrowdStrike (Remote) — CrowdStrike is the leader in cloud-delivered endpoint protection, which helps protect our customers from cybersecurity attacks.

CrowdStrike

Software Engineer - 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

One Application, Hundreds of Hiring Managers — Use Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers.

Vettery

🛠 Code & Tools

GoLand 2020.2 Reaches Beta — The popular (though commercial) IDE takes another step forward, though note this beta is the last release you can try out without a subscription. Improved Go module support is included here, along with initial, experimental support for generics.

Ekaterina Zharova (JetBrains)

The Golang Security Checklist — Ensure the infrastructure and the code of your Go applications are secure with the latest actionable best practices.

Sqreen sponsor

todocheck: A Static Code Analyzer for Annotated TODO Comments — I don’t know about you, but I’m a fan of dumping ‘TODO’ comments in my code but this tool will actually let you do something about them (in several languages, including Go).

Preslav Mihaylov

Gabs: Parse, Create and Edit 'Unknown' or Dynamic JSON in Go — A wrapper for navigating hierarchies of map[string]interface{} objects provided by encoding/json.

Ashley Jeffs

Stats: A Comprehensive Go Statistics Library Package — No dependencies, well tested, work with concepts like averages, sums, percentiles, standard deviation, etc.

Montana Flynn

Goldmark 1.2.0: A Markdown Parser Written in Go — Boasts that it’s easy to extend and CommonMark compliant (we’ll debate the role of standards in Markdown another day 😏)

Yusuke Inuzuka

Filling and Flattening PDF Forms to Make Everlasting PDFs

UniPDF sponsor

Evergreen: A Distributed Continuous Integration System from MongoDB — Built by MongoDB to test MongoDB, but it’s written in Go and dynamically allocates hosts to run tasks in parallel across many machines.

Evergreen

fluff: Fast Web Fuzzer Written in Go — This is for testing systems/apps of your own, of course, but will let you quickly fuzz POST data, URL parameters, paths, and more.

Joona Hoikkala