#296 — January 24, 2020 |
Golang Weekly |
Giu: A Cross Platform Rapid GUI Framework Based on Dear ImGui — Another way to create simple GUI apps from Go. Dear ImGui is an interesting GUI library (for C++) aimed at creating quite idiosyncratic UIs aimed at power users rather than standard end-user UIs. Allen Dang |
Inlined Defers in Go — An optimization in 1.14 and later for simple use cases with Jaana B. Dogan |
Reach Your Go App Users Anywhere with Video That Streams Beautifully, Everywhere — Automatically deliver the best user experience for every combination of device, browser, location, and bandwidth with Mux's video API. Get started with a $20 credit. Mux sponsor |
Stats: A Comprehensive Go Statistics Library Package — No dependencies, well tested, work with concepts like averages, sums, percentiles, standard deviation, etc. This week’s addition? Normal distribution functions. Montana Flynn |
Algorithms with Go — For your benefit, I very rarely link to anything behind an email wall, but Jon has produced so much great content for our community, and this little Go algorithm course will benefit many of you, so… :-) Jon Calhoun |
Go's Tooling Is An Undervalued Technology — This is focused mostly on the Go compiler but brings in package management as well. And, he’s right: Go’s compiler is so fast and good the average developer doesn’t need to think much about it. Chris Wellons |
💻 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 |
Golang Developer at X-Team (Remote) — Work with the world's leading brands, from anywhere. Travel the world while being part of the most energizing community of developers. X-Team |
Find a 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 |
On the Graceful Shutdown of a TCP Server in Go — Shutting down a TCP server can be tricky because it’s not necessarily clear what an existing client is doing. Here are two strategies to consider. Be safe, my friends. Eli Bendersky |
Why Russ Cox |
▶ Dynamically Instrumenting Go Programs Jason Keene |
Measure and Improve Go Code Performance with Blackfire.io — Profile in development, test/staging, and production. Visualize bottlenecks in an intuitive UI and find root causes. Blackfire.io sponsor |
Generating a Static Site with Hugo and Netlify — Not much Go to see here, but Hugo is a popular Go-based static site generation tool so if you want to get started with it.. Máté Boér |
A Chapter in the Life of Go’s Compiler — A pretty technical post on Go and deterministic compilation, which was working, then not working, then working again…with a flag. Jon San Miguel |
Go + Services = One Goliath Project — The journey from a monolithic Python 2 to a distributed, service-based Go platform, including the rationale and progress made to date. Khan Academy Engineering |
Why I've Come to Like That Go's Type Inference Is Limited — Type inference in Go is limited to within a single function, and that’s a good thing that avoids spooky things. Chris Siebenmann |
🛠 Code & Tools |
termenv: Advanced ANSI Style and Color Support for Terminal Apps — Offers convenient methods to colorize and style output, without needing to deal with weird ANSI escape sequences and color conversions. Christian Muehlhaeuser |
GoMock: A Mocking Framework for Go — Has two modes of operation: source and reflect. Source mode generates mock interfaces from a source file. Reflect mode generates mock interfaces by building a program that uses reflection to understand interfaces. Go Project |
Faster CI/CD for All Your Software Projects Using Buildkite Buildkite sponsor |
Eris: A Better Way to Handle, Trace, and Log Errors? — Designed to give you more control over error handling via error wrapping, stack tracing, and output formatting. rotisserie |
Ink: A Framework for 2D Graphics in Go — An experimental project focused on creative coding and based on OpenGL. The examples show off what it can do (in code, at least). Alex Buchanan |
automaxprocs: Automatically Set Uber Golang |
uprobe-http-tracer: uprobe-based HTTP Tracer for Go Binaries — Captures calls to Sematext Group, Inc. |