Forget TypeScript, how about porting Doom to Go?

Plus should Go have tuples? |

#​546 — March 19, 2025

Unsub  |  Web Version

Together with  Frontend Masters logo

Go Weekly

Traversal-Resistant File APIs — Among the lesser known new features in recent versions of Go are some ways to improve file system security when end user input might have an impact on file paths your app tries to access, including os.Root, filepath.IsLocal, filepath.EvalSymLinks and filepath.Localize. A must read.

Damien Neil

Were Multiple Return Values a Mistake for Go? — An interesting technical post critiquing the effects of one of Go’s earliest design decisions. This is an area where opinions will differ strongly, but the author thinks Go sorely needs to support tuples.

Mond

📅 Live Workshop: Build Production-Ready Apps with JavaScript & Go — Join Maximiliano Firtman next week (online or in-person) for a 3-day workshop, learning how to build real-world, fully functional web apps using vanilla JS & Go. Create performant, scalable apps.

Frontend Masters sponsor

TypeScript's Go Port Already Leading to Optimizations for Go — Last week’s big news was about the TypeScript compiler being ported to Go for performance reasons. A neat side effect of such a large project entering our ecosystem is the increased potential for even more performance improvements for Go itself, something that has already begun to occur..

GitHub Go Repo

Go Structs and Interfaces Made Simple — An introduction (or refresher) of Go’s core building blocks when it comes to working with data types and structs – an approach that differs somewhat from those favored in object oriented languages like C++ or Java.

Deven J (Stream)

📄 Benchmarking: What You Can't Miss in Go 1.24 Jakub Jarosz

📄 How GitHub Engineers Learn New Codebases Brittany Ellich (GitHub)

📺 How to Implement Server-Sent Events in Go Alex Pliutau

🛠 Code & Tools

doomgeneric: Doom, Ported to Go? — If classic 90s FPS Doom can be ported to JavaScript and made to run inside a PDF, a Go port should be a piece of cake, right? Here’s a little slice of magic involving using the ccgo C-to-Go compiler. Don't get too excited though as it's a limited proof of concept and Linux only, but it's neat to see what ccgo is capable of.

cznic

golang-set: A Simple, Well-Tested, Generic Set Type“Until Go has sets built-in…use this.” The latest v2.8 release adds support for Go 1.23’s range-over-func iteration.

Ralph Caraveo

🔒 Protect Against AI Bots, Fraud, and Abuse in Real Time — WorkOS Radar protects your app with advanced device fingerprinting — stop fake signups, free tier abuse, bot attacks and brute force attempts today.

WorkOS sponsor

DiceDB: A Reactive, In-Memory Database Optimized for Modern Hardware — A new Go-powered database! Dice is a reactive database where your clients subscribe to receive changes immediately and it seems to take a lot of inspiration from the Redis approach being both in-memory and with simple Redis-like commands. GitHub repo.

DiceDB

Participle: A Simple Library for Defining Parsers — Provides a straightforward yet idiomatic way to define parsers in Go using a familiar approach of using struct field tags to define a grammar, so if you’ve used encoding/json before, you’re well on your way.

Alec Thomas

  • Glamour 0.9 – Stylesheet-based Markdown rendering for CLI apps, now with better syntax highlight and tables.

  • Toxiproxy 2.12 – Simulate 'chaotic' network conditions in both testing and development environments.

  • 🐍 Viper 1.20 – Config solution for Go apps supporting various file formats and environment variables.

  • 📰 Fusion 0.9 – Lightweight, self-contained feed aggregator and reader. Built with Go, SQLite, and Svelte.

  • go-github v70.0.0 – Go client library for accessing the GitHub API v3.

  • River v0.19 – Robust job processing system for Go and Postgres.

  • GoReleaser v2.8 – Mostly improvements to the Pro version.

  • TOML 1.5TOML config file parser for Go.

n

Older messages

Cleanups and weak pointers in Go 1.24

Tuesday, March 18, 2025

Plus TypeScript's compiler is rewritten in.. Go? | #​545 — March 12, 2025 Unsub | Web Version Together with WorkOS Go Weekly TypeScript's Compiler to Get 10x Faster, Thanks to Go — TypeScript

How Swiss Tables make Go 1.24 faster

Wednesday, March 5, 2025

Plus a way to call external library functions without Cgo. | #​544 — March 5, 2025 Unsub | Web Version Together with pgAnalyze Go Weekly Faster Go Maps with Swiss Tables — One of Go's newest

gopls can now suggest ways to modernize your Go code

Thursday, February 27, 2025

Plus a Go-powered OpenGL Minecraft implementation. | #​543 — February 26, 2025 Unsub | Web Version Together with Stytch logo Go Weekly Testing Concurrent Code with testing/synctest — Concurrency is one

Go 1.24 arrives

Friday, February 14, 2025

Plus slice gotchas, using Go over the radio waves, and replacing React with Go? | #​542 — February 12, 2025 Unsub | Web Version 🏖️ We're taking next week off, so the next issue will be on Wednesday

An interactive tour of Go 1.24

Wednesday, January 15, 2025

Plus generating random art, sending emails, and a variety of gopher images you can use. | #​538 — January 15, 2025 Unsub | Web Version Together with Posthog Go Weekly An Interactive Tour of Go 1.24 — A

You Might Also Like

JSK Daily for Mar 19, 2025

Wednesday, March 19, 2025

JSK Daily for Mar 19, 2025 View this email in your browser A community curated daily e-mail of JavaScript news Hope AI By Bit. - Developer teams build with AI and composable software. ✅ Build full-

Daily Coding Problem: Problem #1722 [Medium]

Wednesday, March 19, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Dropbox. Create an algorithm to efficiently compute the approximate median of a list of

Ranked | The World's Fastest Growing Economies in 2025 📊

Wednesday, March 19, 2025

The fastest growing economies of 2025 are primarily located in Africa and Asia, according to the latest IMF forecasts. View Online | Subscribe | Download Our App Presented by: Defiance ETFs FEATURED

Web Almanac: JS; syntactic quirks; Parcel v2.14.0; Bun v1.2.5; Node.js on Discord; Node v20.19.0

Wednesday, March 19, 2025

We have 9 links for you - the latest on JavaScript and tools The easiest security tool you will ever install. socket.dev Sponsor Socket's developer-first platform detects and blocks malicious

Microservices rules #7: Design loosely design-time coupled services - part 1

Wednesday, March 19, 2025

You are receiving this email because you subscribed to microservices.io. Considering migrating a monolith to microservices? Struggling with the microservice architecture? I can help: architecture

[Report] 69% of Attacks Bypass Defenses

Wednesday, March 19, 2025

69% of attacks go undetected. Breach and Attack Simulation pinpoints you where your defenses fail—before attackers do. ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏

11 Windows apps I always trash 🗑️

Wednesday, March 19, 2025

Forget SaaS; Change this TV setting; Amazon Spring Sale deals -- ZDNET ZDNET Tech Today - US March 19, 2025 delete key The 11 Microsoft apps I ditch on every new Windows install - and the 11 I keep A

⚙️ Nvidia's 'incredible' demand

Wednesday, March 19, 2025

Plus: The DNA of organized crime ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Post from Syncfusion Blogs on 03/19/2025

Wednesday, March 19, 2025

New blogs from Syncfusion ® Analyze Stock Market Trends with React DataGrid for Smart Trading By Mohammed Farook J This blog explains how to create a robust trading analysis app using the React