#263 — May 23, 2019 |
Golang Weekly |
Opinion Alert: 'Go Is Google's Language, Not Ours' — Every language goes through periods where contrasts between the leadership (de facto or otherwise) and the community get analyzed. This opinion piece addresses how much Google and the Go core team listen to the community and who ‘owns’ the language. It inspired an extensive discussion on Hacker News. Chris Siebenmann |
Understanding Real-World Concurrency Bugs in Go, Analyzed — An analysis of a paper on real world concurrency issues (we linked to the paper in issue 251) and how it’s still easy to run into concurrency bugs, even in a language like Go. The Morning Paper |
Do You Need Help Migrating / Building an Application? — When it comes to building, maintaining and deploying production level software in Go, there are few companies that have the level of expertise and experience Ardan Labs has. Let’s talk to see if we can augment your development team or help you build a product. Ardan Labs sponsor |
go-i18n 2.0: Translate Your Go Program Into Multiple Languages — A package and tool for translating Go programs into different (natural) languages. v2.0 just came out. Nick Snyder |
Why Go Fuzzing? — “Why we need to make fuzzing a standard practice in Go development backed by the Go toolchain.” Dmitry Vyukov and Romain Baugue |
“[M]y napkin math w/ git log + ~glassdoor salaries puts Google-paid accumulated salaries alone at least $45 million since 2009 [for people working on the Go project].” ___ |
💻 Jobs |
Product-Focused & Driven Frontend Engineers in Stockholm — Join our 30-person team of A-players, solve problems at global scale & help us become the most trustworthy online health company. Diet Doctor Sweden AB |
Find a Go Job on Vettery — Vettery specializes in tech roles and is completely free for job seekers. Vettery |
📘 Articles & Tutorials |
Understanding Boolean Logic in Go — Math is fun…damental! Also, there are truth tables in this post. DigitalOcean |
Go Has No Types for Types — The designers of Go opted not to make types visible as explicit entities in their own right. There are other ways to access information about types, however, as Chris notes here. Chris Siebenmann |
Testing Go Services using Interfaces — Interfaces and generated mocks can make it easier to test your code. Sebastian Coetzee (Deliveroo) |
Get the Fastest App Deployments. Get Started Free — Learn the most effective way to build better apps faster. Buddy sponsor |
Reverse Geocoding NEO 6M GPS Positions with Go and a Serial UART Connection — This is firmly in the “almost none of you need to do this, but it’s just cool!” family of links. Nic Raboy |
▶ Discussing Go Modules and the Athens Project — The Go Time podcast panelists discuss Go modules and the Athens project, a proxy server for Go module downloads. Go Time |
🔧 Tools & Code |
PegoMock: A Powerful Yet Simple Mocking Framework — pegomock brings a dynamic-feeling (and, dare we say, Ruby-esque) DSL to mocking. You can do stubbing and argument matching, as well. Peter Götz |
Limiter: Dead Simple Rate Limiting Middleware — Use as middleware with Ulule |
Automate Your Code Reviews, Directly from Your Current Workflow Codacy sponsor |
Minify: Go Minifiers for Web Formats (CSS, HTML, JSON, etc.) Taco de Wolff |
uint128: A Package for 128-bit Wide Integers — Just in case you need to work with numbers up to around 39 digits long(!) Possibly useful for measuring Luke Champine |
go-jira 1.0: A Go Client Library for Atlassian JIRA — JIRA is a popular agile software development management tool. Andy Grunwald |
ws 1.0.1: Tiny WebSocket Library for Go Sergey Kamardin |
gRPCurl: Like curl, But for gRPC Engineering at FullStory |