Golang Weekly - Go 1 turns twelve

Plus discussing debugging approaches, optimizing SQLite and brute force searches, and getting brain freeze with Charm. |

#​502 — April 2, 2024

Unsub  |  Web Version

🐣 A quick note to say Go Weekly is taking next Tuesday off, as part of some Easter break-taking. We'll be back on Tuesday, April 16 :-)
__
Your editor, Peter Cooper

Together with  Ardan Labs

Go Weekly

Freeze: Generate Images of Code and Terminal Output — From the purveyors of fine Go-powered libraries and CLI tools like Bubble Tea, Huh and Wish comes Freeze, a fresh way to create images of code and/or terminal output in PNG, SVG or WebP format.

Charm

🤩 The folks at Charm are also celebrating getting their 100,000th GitHub star with a look at 'how they do it.' A true Go success story!

Building an Interactive Shell in Go — From the folks working on the Dolt database (which includes a CLI to take SQL queries and feed them to the database) comes a guide to creating a CLI that’s intuitive and includes features like command history and autocompletion. ishell is their library of choice.

Zach Musgrave (DoltHub)

Go! Unlock Your Tech Potential with Ardan Labs Consulting — Struggling with skill gaps, development speed or complex tech challenges? Ardan Labs specializes in Go, Rust, Docker and K8s to accelerate your software development, optimize architecture, and manage tech debt. Let us supercharge your team!

Ardan Labs Consulting sponsor

▶  Discussing Debugging in Go — In the latest Go Time episode, Matt Boyle, Bill Kennedy and Jon Calhoun discuss debugging techniques. Bill explains why he doesn’t like his developers to use the debugger, and how he prefers to only use techniques available in production.

Go Time Podcast podcast

QUICK BITS:

Brute Force Text Search Optimizations — If you’ve got a lot of textual data in memory, performing a brute force search upon it can be surprisingly quick nowadays, particularly with some optimizations..

Ben E. C. Boyter

Optimizing SQLite for Servers — Developers are increasingly realizing SQLite can scale a long way and can handle many use cases for which more complex systems are often used. Sylvain goes deep into getting the best out of it.

Sylvain Kerkour

Building a Blog in Go: Rendering Markdown as HTML — An ongoing series to build a simple blog system using Go.

Jon Calhoun

💡 Jon has also put his extensive video courses Test with Go and Web Development with Go on sale until April 5.

▶  Pointers for Performance? — Does returning a pointer from a function instead of a value improve performance in Go? (3 minutes.)

Bill Moran

Prevent Sensitive Data from Leaking in Logs
Willem Schots

🛠 Code & Tools

LangChain Go: A Go Port/Fork of LangChain for LLM AppsLangChain is a popular framework (most commonly associated with Python) for developing language model powered apps. LangChain Go reimplements the same concepts in Go. GitHub repo.

Travis Cline et al.

Excelize: Library for Working with Excel Spreadsheets — Read and write XLAM / XLSM / XLSX / XLTM / and XLTX files. A long time library that keeps going from strength to strength. GitHub repo.

QI-ANXIN GROUP

Hookdeck: The Amazon EventBridge Alternative — Receive, transform, filter, route, and send messages across your EDA with an event gateway for engineering teams.

Hookdeck sponsor

Ebitengine 2.7 Released: The 2D Game Engine for Go — The new feature this time is text/v2, an all new text rendering package that offers improved support for Arabic and vertically-rendered Japanese, glyph vectorization, more text alignment options, and improved OpenType support.

Hajime Hoshi

Beego 2.2: Backend Framework for RESTful APIs and Webapps — Inspired by Tornado, Sinatra and Flask. v2.2.0 bumps the Go version to 1.20.

beego Framework

  • sqlc 1.26 – Generate type-safe Go code from SQL. (Includes an important security fix for users using output plugins.)

  • GoCV 0.36.0 – The Go bindings for OpenCV 4 now support OpenCV 4.9.0 and Go 1.22.

  • go-github 61.0 – Client library for the GitHub v3 API.

  • Oto 3.2 – Low-level cross-platform library to play sounds.

  • eBPF 0.14 – Pure-Go library to work with eBPF programs.

  • go-sqlite 1.2 – Low-level interface to SQLite 3.

  • fx 34.0 – Powerful terminal JSON viewer.

  • Bun 1.2 – SQL-first ORM for Go.

  • Micro 4.4

😎 Did You Know..?

As much as we enjoy making this newsletter, we also publish some others you might not know about. You can see their most recent issues directly on their homepages:

💛 JavaScript Weekly covers all things JavaScript, but also its broader ecosystem, including TypeScript, WebAssembly, Astro, HTMX, Vue.js, build tools, etc.

⚛️ React Status covers, unsurprisingly, the React world and Node Weekly goes deeper into Node.js, the npm ecosystem, and other server-side JS platforms like Deno and Bun.

👩‍💻 Frontend Focus covers the broad gamut of technologies that appear in the browser: CSS, HTML, accessibility, WebGL, Web APIs – it's all in there.

🐘 Postgres Weekly and Ruby Weekly don't need much introduction and are exactly what you'd expect ;-)

We'll be back in two weeks - see you then!

__
Peter Cooper, your editor

n

Older messages

No-one likes a leaky goroutine

Tuesday, March 26, 2024

Plus a 3D raycasting engine on top of Ebitengine. | #​501 — March 26, 2024 Unsub | Web Version Together with Ardan Labs Go Weekly Learning Go in 2024; From Beginner to Senior — Go learning resources

Flight recording for Go apps

Tuesday, March 19, 2024

Plus fail-safe HTTP clients, Hugging Face transformers in Go, and writing better READMEs. | #​500 — March 19, 2024 Unsub | Web Version Together with Three Dots Labs Go Weekly More Powerful Go Execution

Are single letter variables that bad?

Tuesday, March 12, 2024

Plus we talk gRPC, logical replication, high speed packet sending, and even un peu de Français... | #​499 — March 12, 2024 Unsub | Web Version Together with Ardan Labs Go Weekly High-Speed Packet

How things work at Charm

Tuesday, March 5, 2024

Plus another try at memory arenas, processing PDFs with Go, and some advice for new Go programmers. | #​498 — March 5, 2024 Unsub | Web Version Together with Tuple logo Go Weekly 📊 How I Keep Myself

Becoming the engineering manager of the Go team

Tuesday, February 27, 2024

Plus thinking about enums, colors, email testing, LLMs, and even jQuery.. | #​497 — February 27, 2024 Unsub | Web Version Together with Ardan Labs Go Weekly Robust Generic Functions on Slices — The

You Might Also Like

WP Weekly 192 - WP Biz - Brands Merged, Woo Cart Popup, Fastest Hosting

Monday, May 6, 2024

Read on Website WP Weekly 192 / WP Biz The 'business of WordPress' is buzzing for sure, be it the acquisition of plugins or the massive Envato ownership change. Also, WordPress content brands

SRE Weekly Issue #423

Monday, May 6, 2024

View on sreweekly.com A message from our sponsor, FireHydrant: FireHydrant is now AI-powered for faster, smarter incidents! Power up your incidents with auto-generated real-time summaries,

⚠️ Avoiding AI Scams on Social Media — An Open Source Google Photos Alternative

Sunday, May 5, 2024

Also: Reviewing the Customizable Drop Mechanical Keyboard, and More! How-To Geek Logo May 5, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to

Daily Coding Problem: Problem #1432 [Medium]

Sunday, May 5, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This question was asked by Snapchat. Given the head to a singly linked list, where each node also has a “random”

PD#572 Good Ideas in Computer Science

Sunday, May 5, 2024

Ideas every programmer likes and why Garbage Collection and Object Oriented Programming don't count ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

RD#454 API Layer & Fetch Functions

Sunday, May 5, 2024

ixing API and UI code quickly leads to messy and unmaintainable code ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

The Shiny Toy Syndrome & Tiny macOS utility apps I love

Sunday, May 5, 2024

Lex launching its redesign, Raycast shares another monthly update packed with AI updates, prompts should be designed not engineered, and a lot more in this week's issue of Creativerly. Creativerly

Hyundai antes up $1B for AV startup Motional and Elon unplugs the Tesla Supercharger team

Sunday, May 5, 2024

Plus, layoffs come for Luminar, Fisker and Ola View this email online in your browser By Kirsten Korosec Sunday, May 5, 2024 Image Credits: Motional Welcome back to TechCrunch Mobility — your central

C#504 Adventures serializing absolutely everything in C#

Sunday, May 5, 2024

A fantastic journey porting Newtonsoft.Json to System.Text.Json ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Sunday Digest | Featuring 'Which City Has the Most Billionaires in 2024?' 📊

Sunday, May 5, 2024

Every visualization published this week, in one place. Visual Capitalist Sunday Digest logo May 5, 2024 | View Online | Subscribe | VC+ The Best of This Week's Visuals Presented by Voronoi: The