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

Master the New Elasticsearch Engineer v8.x Enhancements!

Tuesday, March 4, 2025

Need Help? Join the Discussion Now! ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ elastic | Search. Observe. Protect Master Search and Analytics feb 24 header See

Daily Coding Problem: Problem #1707 [Medium]

Monday, March 3, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Facebook. In chess, the Elo rating system is used to calculate player strengths based on

Simplification Takes Courage & Perplexity introduces Comet

Monday, March 3, 2025

Elicit raises $22M Series A, Perplexity is working on an AI-powered browser, developing taste, and more in this week's issue of Creativerly. Creativerly Simplification Takes Courage &

Mapped | Which Countries Are Perceived as the Most Corrupt? 🌎

Monday, March 3, 2025

In this map, we visualize the Corruption Perceptions Index Score for countries around the world. View Online | Subscribe | Download Our App Presented by: Stay current on the latest money news that

The new tablet to beat

Monday, March 3, 2025

5 top MWC products; iPhone 16e hands-on📱; Solar-powered laptop -- ZDNET ZDNET Tech Today - US March 3, 2025 TCL Nxtpaper 11 tablet at CES The tablet that replaced my Kindle and iPad is finally getting

Import AI 402: Why NVIDIA beats AMD: vending machines vs superintelligence; harder BIG-Bench

Monday, March 3, 2025

What will machines name their first discoveries? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

GCP Newsletter #440

Monday, March 3, 2025

Welcome to issue #440 March 3rd, 2025 News LLM Official Blog Vertex AI Evaluate gen AI models with Vertex AI evaluation service and LLM comparator - Vertex AI evaluation service and LLM Comparator are

Apple Should Swap Out Siri with ChatGPT

Monday, March 3, 2025

Not forever, but for now. Until a new, better Siri is actually ready to roll — which may be *years* away... Apple Should Swap Out Siri with ChatGPT Not forever, but for now. Until a new, better Siri is

⚡ THN Weekly Recap: Alerts on Zero-Day Exploits, AI Breaches, and Crypto Heists

Monday, March 3, 2025

Get exclusive insights on cyber attacks—including expert analysis on zero-day exploits, AI breaches, and crypto hacks—in our free newsletter. ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌

⚙️ AI price war

Monday, March 3, 2025

Plus: The reality of LLM 'research' ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌