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

Kotlin Weekly #438

Sunday, December 22, 2024

ISSUE #438 22nd of December 2024 Announcements klibs.io JetBrains has introduced the alpha version of klibs.io – a web service that speeds up and simplifies discovering KMP libraries that best meet

Weekend Reading — Happy "That's a January Problem" week

Saturday, December 21, 2024

Can Christmas season start a little earlier this year Tech Stuff Ramsey Nasser fuck it happened i am in a situation where i do actually need to reverse a linked list Atuin I just learned about Atuin

Daily Coding Problem: Problem #1644 [Easy]

Saturday, December 21, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by IBM. Given an integer, find the next permutation of it in absolute order. For example,

🐧 Whatever Happened to Unix Workstations? — My Incredibly Cheap Alternative to a Soundbar

Saturday, December 21, 2024

Also: Here's Why More Games Need Expanded Difficulty Settings How-To Geek Logo December 21, 2024 Did You Know Lake Wendouree, an artificially created and maintained shallow urban lake in Australia,

Supercharge Your Knowledge Capture Workflow with the Obsidian Web Clipper

Saturday, December 21, 2024

Stop juggling multiple tools and supercharge your knowledge capture workflow with Obsidian's powerful Web Clipper browser extension Sébastien Dubois DeveloPassion's Newsletter Supercharge Your

Charted | The World's Most Valuable Automakers 🚙

Saturday, December 21, 2024

Tesla shares reached a record high, setting a new valuation milestone. This graphic highlights the world's most valuable automakers by market cap. View Online | Subscribe | Download Our App

Next Holiday Season, Ignore Everyone Except One Customer

Saturday, December 21, 2024

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, December 21, 2024? The

🐍 New Python tutorials on Real Python

Saturday, December 21, 2024

Hey there, There's always something going on over at Real Python as far as Python tutorials go. Here's what you may have missed this past week: 🎓 Master Python's Core Principles (New Live

Post from Syncfusion Blogs on 12/21/2024

Saturday, December 21, 2024

New blogs from Syncfusion ASP.NET MVC Suite Update: Aligning with .NET Changes By Rajendran R Discover key updates in our ASP.NET MVC suite, aligning with Microsoft's latest .NET changes for

LockBit Ransomware Developer Charged for Billions in Global Damages

Saturday, December 21, 2024

THN Daily Updates Newsletter cover The Data Science Handbook, 2nd Edition ($60.00 Value) FREE for a Limited Time Practical, accessible guide to becoming a data scientist, updated to include the latest