Golang Weekly - Considering a v2 of encoding/json

Plus getting your head around type inference in Go. |

#​479 — October 10, 2023

Unsub  |  Web Version

Together with  Crunchydata

Go Weekly

Thinking About a Better encoding/json — Led by Joe Tsai, but with input from several fellow gophers, this is a discussion to kickstart the process of potentially modernizing the long-standing encoding/json package by way of a new v2 version (which already has an experimental implementation to play with.)

Joe Tsai et al.

Everything You Always Wanted to Know About Type Inference (And a Little Bit More) — Type inference allows Go's compiler to determine types without explicit annotations. In this post, built upon a talk he recently gave at GopherCon, Robert Griesemer of the core Go team runs through everything you need to know around a commonly misunderstood topic.

Robert Griesemer

❤️ Postgres — You need a database provider that loves Postgres as much as you do. We'll take care of all the hassle - monitoring, backups, HA, disaster recovery so you don't have to. Want amazing support? We'll be there when you have questions.

Crunchy Bridge sponsor

Go Database Driver Overhead on Insert-Heavy Workloads — For INSERT-heavy workloads in Go Phil suggests switching database drivers — specifically noting that there is now “likely no good reason to use lib/pq anymore for accessing PostgreSQL from Go”. He suggests pgx instead.

Phil Eaton

IN BRIEF:

  • 📢 Go 1.21.2 and 1.20.9 have been released, but 1.21.3 and 1.20.10 are expected later today. All these releases include security fixes.

  • 📰 Bill Kennedy wrote in to let us know that his Ultimate Go Tour is now being translated to numerous other world languages with Persian being the first to be available. Twelve other languages are due to follow soon.

  • 📗 Learn Go with Pocket-Sized Projects is a new book being published by Manning later this month, but most of it is already available in an early access form.

A Web Server ‘Hello World’ Benchmark: Go vs Node vs Nim vs Bun — The standard disclaimer applies: benchmarks are difficult and don’t always measure what you should care about. Nonetheless, here’s a quick example comparing the simplest of HTTP servers using Go, Node, Bun and Nim.

Daniel Lemire

An Attempt at Visualizing the Go GC — Aadhav’s talk proposal for GopherCon India ‘23 may have been rejected, but he has turned his disappointment into an interesting blog post about his experiments.

Aadhav Vignesh

📈 It's not exactly the same, but Statsviz is a neat tool for visualizing real time plots of runtime metrics relating to your programs and just had a new release.

Adding Icons to Go-built Windows Executables — If you’ve built an app and want its .exe to have a nicer icon, rsrc provides a way to do it.

Mahmud Ridwan

🛠 Code & Tools

Mods 1.0: Command Line AI from Charm — Those Charm folks (of Bubble Tea fame) recently released an OpenAI powered command line AI tool to help you analyze code, write docs, and more. v1.0 adds streaming responses, saved conversations, and Azure OpenAI support.

Charm

templ: A Way to Build HTML with Go — Create components that render fragments of HTML and compose them to create screens, pages, documents, and apps. GitHub repo.

Adrian Hesketh

Sqinn: Access SQLite Databases Without Cgo — It instead uses an intermediary that communicates over I/O streams/stdin/stdout.

Christoph Vilsmeier

💻 Hired Makes Job Hunting Easy — Instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.

Hired sponsor

  • Viper 1.17 – A hugely powerful and flexible app configuration solution for Go apps. v1.17 requires Go 1.19 and adds log/slog support.

  • Requests 0.23.5 – The convenient HTTP request library has added support for changing the default JSON serializer/deserializer or setting it on a per-request basis.

  • Task v3.31.0 – Imagine if make were reimplemented in Go. (Homepage.)

  • Roaring 1.6 – 'Roaring' bitmap data structure implementation.

  • Betteralign 0.3.1 – Detect structs whose elements could be better aligned.

  • Ginkgo 2.13 – Modern testing framework.

🕰 ICYMI (Some older stuff that's still worth checking out)

n

Older messages

It's Go vs Rust again

Tuesday, October 3, 2023

Plus a native Go SSH client, and Rob Pike's off to Australia. | #​478 — October 3, 2023 Unsub | Web Version Together with Three Dots Labs Go Weekly Rust vs Go: A Hands-On Comparison — Despite all

Fixing Go's for loops, for real

Tuesday, September 26, 2023

Plus we say hi to GopherCon 2023, GitHub's support for passkeys, and GoLand's latest EAP. | #​477 — September 26, 2023 Unsub | Web Version Together with Ardan Labs Go Weekly Organizing a Go

Explaining Go's WebAssembly System Interface support

Tuesday, September 19, 2023

Plus a simple Go static server, looking at JSON with 'fx', and gocron springs back into life. | #​476 — September 19, 2023 Unsub | Web Version Together with Fusion Auth Go Weekly fx 30: The Go-

Let's get optimizing

Tuesday, September 12, 2023

Plus some love for the Go gopher, and Go takes 8th place in IEEE's language roundup. | #​475 — September 12, 2023 Unsub | Web Version Together with Ardan Labs Go Weekly Profile-Guided Optimization

'Cgo performance is good actually'

Tuesday, September 5, 2023

Plus how Go 1.21 enables truly reproducible builds. | #​474 — September 5, 2023 Unsub | Web Version Together with Teleport logo Go Weekly Perfectly Reproducible, Verified Go Toolchains — Go 1.21

You Might Also Like

Learn How to Use AI to Reach Your Full Potential, newsletterest1!

Sunday, May 19, 2024

3 Ways AI Can Help Your Writing ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌ ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌ ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌ ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌

Software Testing Weekly - Issue 220

Saturday, May 18, 2024

Software Testing Conferences 📚 View on the Web Archives ISSUE 220 May 18th 2024 COMMENT Welcome to the 220th issue! Have you ever been to a testing conference? They're a great way to learn about

📶 Is a Cellular iPad Worth It? — How to Prevent YouTube From Taking Over Your Screensaver

Saturday, May 18, 2024

Also: This Robot Vacuum Can Clean Stairs, and More! How-To Geek Logo May 18, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to your inbox by

Weekend Reading — Objection-oriented programming

Saturday, May 18, 2024

This week we find a power-up box, replace GitHub Actions with Maven XMLs, avoid the worst website in the world, revisit RTO policies, “listen” to OpenAI employees, watch our Slack private messages, do

Daily Coding Problem: Problem #1445 [Easy]

Saturday, May 18, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Jane Street. The United States uses the imperial system of weights and measures, which

You don’t have to take our word for it…

Saturday, May 18, 2024

You can probably tell how excited we are to re-launch our Gigantic courses – which bring on-demand product management training for today's modern Product Managers and Product Leaders. In fact, we

🐍 New Python tutorials on Real Python

Saturday, May 18, 2024

Hey there, There's always something going on over at realpython.com as far as Python tutorials go. Here's what you may have missed this past week: What Is the __pycache__ Folder in Python? In

Visualized | Life Expectancy by Region (1950-2050F) 📊

Saturday, May 18, 2024

This map shows life expectancy at birth for key global regions, from 1950 to 2050F. View Online | Subscribe Presented by Voronoi: The App Where Data Tells the Story FEATURED STORY Life Expectancy by

New Wi-Fi Vulnerability Enables Network Eavesdropping via Downgrade Attacks

Saturday, May 18, 2024

THN Daily Updates Newsletter cover The DevSecOps Playbook: Deliver Continuous Security at Speed ($19.00 Value) FREE for a Limited Time A must-read guide to a new and rapidly growing field in

🐍 New Python tutorials on Real Python

Saturday, May 18, 2024

Hey there, There's always something going on over at realpython.com as far as Python tutorials go. Here's what you may have missed this past week: What Is the __pycache__ Folder in Python? In