Golang Weekly - It's about time

Plus Go jumps up the TIOBE index, binary search with SIMD and Go's assembler, and embedding a NATS server. |

#​515 — July 16, 2024

Unsub  |  Web Version

Together with  WorkOS

Go Weekly

Quartz: A Deterministic Time Testing Library — A new mocking library designed for testing code that relies on time, by introducing a little determinism and control to proceedings.. GitHub repo.

Spike Curtis

Go Range Iterators Demystified — In Go 1.22 (behind a flag) or 1.23 (currently in the release candidate stage), you can use the range keyword to iterate over custom collection types. Zach walks (iterates?) us through from the basics up to some more complex examples.

Zach Musgrave

WorkOS: The Modern Identity Platform for B2B SaaS — Start selling to enterprise customers with just a few lines of code. WorkOS provides flexible, easy-to-use APIs to integrate SSO, SCIM, and RBAC in minutes. It's used by hundreds of high-growth startups including Perplexity, Vercel, Drata, & Webflow.

WorkOS sponsor

Building a Binary Search Tree with SIMD and Go's Assembler — When you want a little more performance than Go provides naturally, or access to underlying CPU features unavailable in Go, leaning on assembly language is one way to do it. Clément shows a practical example here.

Clément Jean

⚠️ Note that the tutorial above assumes knowledge of Go's assembler and doesn’t walk through the build process. I’ve put together the pieces of Clément’s code into a single GitHub Gist to make it easier to reproduce for yourself, though.

IN BRIEF:

▶  Give Your Go App 'Superpowers' with an Embedded NATS ServerNATS is a lightweight real-time client/server messaging system, but a cool feature of NATS is you can embed it directly into a Go app and take advantage of its features without relying on a separate server.

Synadio

Profiling in Go: A Practical Guide — Pinpoint performance bottlenecks in your apps by profiling their activity and optimizing things based on the results.

Noam Yadgar

Kafka Is Dead, Long Live Kafka — Kafka is polarizing, yet ubiquitous. What if you could run Kafka as a single, stateless Go binary and reduce your costs?

WarpStream sponsor

📄 Mastering SOLID Principles with Go Examples Alex Pliutau

📄 Docker Best Practices: Choosing Between RUN, CMD, and ENTRYPOINT Jay Schmidt (Docker)

📄 Demystifying Go Strings Andrei Boar

🛠 Code & Tools

Fyne 2.5: GUI App Framework for Desktop, Mobile and Web — Fyne isn’t a new project, but it’s been years since we featured it, and it’s a pretty neat way to build GUI and mobile apps with Go. v2.5 is a big release with support for Wayland as well as internationalization. It requires Go 1.19+. GitHub repo.

Fyne Team

💡 In Writing GUI apps doesn't have to be painful, Nikola Ubavić explains how he considered numerous languages and GUI app development approaches before settling on Go and Fyne (above).

Minigrad: Andrej Karpathy's Micrograd in Go — A neural network library using an autograd approach. It’s essentially Andrej Karpathy’s (previously of OpenAI) Micrograd implementation in Go, rather than Python.

Jeet

📰 Classifieds

Meetings should be more like code reviews. We're building a product for that and looking for software leaders to join the beta. Apply here.


🛡️ Protect your application infrastructure running on AWS with this time tested and essential security checklist. Download now!


🎥 Iris seeks Sr. Backend Engineer for edge-deployed Go/Rust dev. Work on an AI-powered robotic camera platform. Remote, equity, competitive pay.

Build Tools for Go — If the out-of-the-box build tools aren’t getting it done, here’s list of open source build tools to consider, including Mage and Taskfile.

Inkmi

Chiko: An Elegant gRPC TUI Client — Uses the popular tview terminal UI widget library to offer a way to interact with gRPC services.

felangga

timediff: Produce Human Readable, Relative Time Differences — For example: timediff.TimeDiff(time.Now().Add(-3 * time.Minute)) would produce “3 minutes ago”.

MergeStat

n

Older messages

Let's get patching

Tuesday, July 9, 2024

Plus Google promotes PGO, Go 1.22.5 lands, and the latest library releases. | #​514 — July 9, 2024 Unsub | Web Version Together with Frontend Masters logo Go Weekly Locally Patching Dependencies in Go

Writing generic collection types

Tuesday, July 2, 2024

Plus Russ Cox's new bot, using Go from JavaScript, and the River job queue gets a UI. | #​513 — July 2, 2024 Unsub | Web Version Together with Ardan Labs Go Weekly Writing Generic Collection Types:

Go 1.23 gets another step closer

Tuesday, June 25, 2024

Plus making a regex engine in Go, how to think about channels, and Bleve gets vector support. | #​512 — June 25, 2024 Unsub | Web Version ✈️ I've produced this issue a day early due to being en-

A quick Go quiz

Tuesday, June 18, 2024

Plus debates about Go 1.23 iterators, anti-patterns, and another Go web framework. | #​511 — June 18, 2024 Unsub | Web Version Together with Dragonfly Go Weekly Why People are 'Angry' Over Go

Errors, errors, and errors again

Tuesday, June 11, 2024

Plus another success story for profile-guided optimization. | #​510 — June 11, 2024 Unsub | Web Version Together with Frontend Masters logo Go Weekly An Applied Introduction to eBPF with Go — eBPF is a

You Might Also Like

💻 Issue 428 - C# different way to do a proof of concept

Thursday, September 19, 2024

This week's Awesome .NET Weekly Read this email on the Web The Awesome .NET Weekly Issue » 428 Release Date Sep 19, 2024 Your weekly report of the most popular .NET news, articles and projects

💎 Issue 435 - Ruby-SAML pwned by XML signature wrapping attacks

Thursday, September 19, 2024

This week's Awesome Ruby Newsletter Read this email on the Web The Awesome Ruby Newsletter Issue » 435 Release Date Sep 19, 2024 Your weekly report of the most popular Ruby news, articles and

💻 Issue 435 - Oracle, it's time to free JavaScript

Thursday, September 19, 2024

This week's Awesome JavaScript Weekly Read this email on the Web The Awesome JavaScript Weekly Issue » 435 Release Date Sep 19, 2024 Your weekly report of the most popular JavaScript news, articles

📱 Issue 429 - iOS 18 breaks IMAPS self-signed certs

Thursday, September 19, 2024

This week's Awesome iOS Weekly Read this email on the Web The Awesome iOS Weekly Issue » 429 Release Date Sep 19, 2024 Your weekly report of the most popular iOS news, articles and projects Popular

💻 Issue 353 - Why React Won the Front-End Race

Thursday, September 19, 2024

This week's Awesome React Weekly Read this email on the Web The Awesome React Weekly Issue » 353 Release Date Sep 19, 2024 Your weekly report of the most popular React news, articles and projects

💻 Issue 435 - DevSecOps Project: "Secure Full-Stack Node.js Web Application Deployment with Jenkins, Docker, Kubernetes, and HashiCorp Vault"

Thursday, September 19, 2024

This week's Awesome Node.js Weekly Read this email on the Web The Awesome Node.js Weekly Issue » 435 Release Date Sep 19, 2024 Your weekly report of the most popular Node.js news, articles and

📱 Issue 432 - Swift 6

Thursday, September 19, 2024

This week's Awesome Swift Weekly Read this email on the Web The Awesome Swift Weekly Issue » 432 Release Date Sep 19, 2024 Your weekly report of the most popular Swift news, articles and projects

💻 Issue 430 - Days since last Minecraft server written in Rust was released

Thursday, September 19, 2024

This week's Awesome Rust Weekly Read this email on the Web The Awesome Rust Weekly Issue » 430 Release Date Sep 19, 2024 Your weekly report of the most popular Rust news, articles and projects

Ranked | The Largest Producers of Wind Power, by Country ⚡

Thursday, September 19, 2024

Global wind power capacity hit fresh records in 2023 thanks to strategic government investment and lower technology costs. View Online | Subscribe | Download Our App Presented by: NEW REPORT: Brought

🧠 ChatGPT Passed the Turing Test — 5 Tips to Make Your Laptop Last Longer

Thursday, September 19, 2024

Also: How to Sideload Apps on Android TV, and More! How-To Geek Logo September 19, 2024 Did You Know Babies seem to have such large eyes because humans are born with eyes approximately 75 percent of