Golang Weekly - The latest Go survey results

Plus Go-powered robots, parsing Go with regular expressions, and a big serving of Barf. |

#​460 — May 16, 2023

Unsub  |  Web Version

Together with  Ardan Labs

Go Weekly

The Go Developer Survey 2023 Q1 Results — Nearly 6,000 gophers took part in the latest developer survey, and now we have the results. Key takeaways include:

  • 92% of respondents are satisfied using Go.
  • Error handling is now folks' biggest pain point.
  • Keeping dependencies up to date (if maintaining a module) is a challenge.
  • VS Code remains the editor of choice, with GoLand a solid second.
  • The majority of Go devs work on either a Mac or Linux machine (tied in terms of popularity) but Windows is notably popular with newer devs.

Alice Merrick / Go Team

Go! Experts at Your Service — Do you need help filling skill gaps, speeding up development & creating high performing software with Go, Docker, K8s, Terraform and Rust? We’ll help you maximize your architecture, structure, tech-debt and human capital.

Ardan Labs Consulting sponsor

A Proposal for Less Error-Prone Loop Variable Scoping — After last week’s attempt to win us over with a new file extension for Go programs, Russ is back with a more serious proposal based on a long-standing desire to change the semantics around the scope of loop variables (but only in apps declaring a modern Go version in go.mod, so as not to break older programs).

Russ Cox

▶  Google's Gophers on Building More Secure Apps — Supply chain security is a pressing topic right now, so it’s neat to see folks on the Go team at Google (plus a member of the deps.dev team) tackle it head on both explaining the general problems and how Go and its ecosystem provide numerous tools and approaches to mitigating the problems. (18 minutes.)

Cameron Balahan and Julie Qiu

IN BRIEF:

How to Build a Serverless Discord Bot with OpenFaaS — A serverless chat bot? Don’t bots need to be long running processes? No, it’s possible for them to be stateless and triggered by events, and Alex shows us how to rig one up with Go atop the OpenFaaS platform (itself written in Go).

Alex Ellis

Producing a Go Scanner in 1,219 Bytes of Code — This is certainly quite the set of regexes..

Modern C

▶  Video: Securely Deploy K8s Clusters with Machine ID and GitHub Actions — Learn about security best practices for assigning individual identities to humans & worker nodes without static credentials.

Teleport | goteleport.com sponsor

▶  A 9-Hour Go Course for Beginners — This epic, practical and project oriented video probably isn’t aimed at most Go Weekly readers, but you might find it useful as a refresher or to pass on to someone else in your team.

Lane Wagner

Stepping up Your Go App Testing Game with TestifyTestify is a popular suite of packages providing added structure, assertions, mocking, and similar niceties to testing in Go.

Ukeje Chukwuemeriwo

🛠 Code & Tools

Gobot 2.0: A Framework for Robot, Drone and IoT Development — Before focusing on TinyGo, Ron Evans was best known for Gobot, a framework for using Go on robots and similar physical computing projects. Thomas Kohler now seems to be the main maintainer and v2.0 updates all sorts of things.

The Hybrid Group

BARF 1.0: A Framework for Building JSON-Based Web APIs — Not the most appealing name, but it stands for “Basically A Remarkable Framework” here 😆 It’s designed for building simple JSON-based APIs atop either REST or GraphQL. This week’s 1.0 release is the first to be “basically remarkable,” claims the author, which justifies the name I guess..

Perfection Loveday

A Developer’s Guide to Getting Started with Temporal — Use this guide to see how Temporal’s open source delivers durable execution for your services and applications.

Temporal Technologies sponsor

wzprof: pprof-Based Profiling for Wazero — Collect CPU and memory profiles during the execution of WebAssembly modules through wazero.

Stealth Rocket

There's also a fantastic blog post to go along with this project that digs deeper into how it works.

dinero.go: A Port of dinero.js to Go — Create, calculate, and format monetary amounts.

Dustin J Silk

  • Faktory 1.7
    ↳ Language-agnostic persistent background job server

  • Vale 2.26
    ↳ A syntax-aware linter for prose.

  • Mage 1.15
    ↳ make/rake-like tool but with Go.

  • etree 1.2
    ↳ Parse and generate XML as element trees.

Jobs

Game of Realms Contributor in Gno.land — Want to do something different? Help build Gno.land, the next-generation smart contract platform for web3. We hire contributors.
Gno.land

Find a Job Through Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
Hired

🧑‍💻 Got a job listing to share? Here's how.

🤔 An a-maze-ing Go program

Amaze: A Program to Create, Solve and Draw Mazes — This is a bit of fun. It’s a Go program that can create, solve and draw mazes either in the terminal or as 2D or 3D graphics (powered by G3N and OpenGL). I like how the author also uses it as a way to promote his clap CLI argument parsing library :-)

Fred X

n

Older messages

A modest proposal?

Tuesday, May 9, 2023

Plus Go 1.20.4, a way to visualize call graphs, Go GUI bindings, and a pure Go machine learning library. | #​459 — May 9, 2023 Unsub | Web Version Together with Teleport logo Go Weekly go-callvis:

Writing an OS in Go?

Tuesday, May 2, 2023

Plus random testing, a turbocharged gRPC workflow, and a plea to OpenAI. | #​458 — May 2, 2023 Unsub | Web Version Together with Helios Go Weekly Rueidis 1.0: A Fast Redis Client with Caching —

Test gains and memory drains

Tuesday, April 25, 2023

Plus a real time strategy game built in Go, and a mutation testing tool. | #​457 — April 25, 2023 Unsub | Web Version Together with Courier logo Go Weekly How to Troubleshoot Memory Leaks with Grafana

What do you get when you cross a LLaMA with a Gopher?

Wednesday, April 19, 2023

Plus when TinyGo beats C++, domain driven design in Go, and how Go calls Windows' APIs. | #​456 — April 18, 2023 Unsub | Web Version Together with JetBrains The Go Weekly Newsletter Go's Error

The smallest Go binary

Tuesday, April 11, 2023

Plus what's new in GoLand, how to parse spreadsheets from Go, GoReleaser 1.17, and treating ourselves to some Gin. | #​455 — April 11, 2023 Unsub | Web Version ℹ️ As mentioned last time, Go Weekly

You Might Also Like

The Sequence Opinion #504: Does AI Need New Programming Languages?

Thursday, March 6, 2025

And some old computer science theories that can become sexy again in the era of AI-first programming languages. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

U.S. Charges 12 Chinese Nationals in State-Backed Hacking Operations

Thursday, March 6, 2025

THN Daily Updates Newsletter cover ⚡ LIVE WEBINAR ➟ ASPM: The Future of AppSec -- Boom or Bust? Discover How ASPM is Redefining Application Security with Smarter, Unified Solutions. Download Now

Is it time for you to get a VPN?

Thursday, March 6, 2025

Hello there, Most people don't think twice about online tracking. But the truth is, it's not just about targeted ads. Cybercriminals and scammers have ways of using your internet traffic

🚴🏼‍♂️ Apple Should Make an Electric Bike — 10 Cars That Were Technologically Ahead Of Their Time

Thursday, March 6, 2025

Also: iPhone 16e Review, and More! How-To Geek Logo March 6, 2025 Did You Know The cat in the opening scene of The Godfather purred so loudly that some of the lines in the scene had to be redubbed. 💻

📧 Did you want this discount?

Thursday, March 6, 2025

​ Hey, it's Milan. I want to make sure you see this today because it may be gone this weekend: There are 29 coupons left to join Pragmatic REST APIs with 30% off. After that, the price goes back to

Tiny Type On Yellow Pages ☎️

Thursday, March 6, 2025

That time phone books got a font upgrade. Here's a version for your browser. Hunting for the end of the long tail • March 5, 2025 Tiny Type On Yellow Pages Why AT&T had to redesign its primary

Simplify Kotlin Error Handling

Thursday, March 6, 2025

View in browser 🔖 Articles Goodbye try-catch, Hello runCatching! Exception handling in Kotlin just got cleaner! This article explores how runCatching can replace traditional try-catch blocks, making

JSK Daily for Mar 5, 2025

Wednesday, March 5, 2025

JSK Daily for Mar 5, 2025 View this email in your browser A community curated daily e-mail of JavaScript news Unions and intersections of object types in TypeScript In this blog post, we explore what

Daily Coding Problem: Problem #1709 [Medium]

Wednesday, March 5, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Facebook. Given an array of integers, write a function to determine whether the array

How Swiss Tables make Go 1.24 faster

Wednesday, March 5, 2025

Plus a way to call external library functions without Cgo. | #​544 — March 5, 2025 Unsub | Web Version Together with pgAnalyze Go Weekly Faster Go Maps with Swiss Tables — One of Go's newest