A limitation on what '<code>go install</code>' can install (as of Go 1.18)

Fuzzing: an introduction, plus updates coming to 1.19.

#​417 — June 24, 2022 Unsubscribe  |  Read on the Web The Go Weekly Newsletter ▶  An Introduction to Fuzzing in Go — An official, three-minute, introductory video from Google on getting started with Go’s newest fuzz testing fe...

Why is it easy to implement a Lisp?

A few weeks ago, an interesting HN thread caught my eye. When implementing an interpreter for a programming language, Lisp is often cited as a particularly attractive example due to its simplicity. Why is that? I've really enjoyed implementing Lisp interpreters and compilers in t...

Bringing SIMD into Go?

#​416 — June 17, 2022 Unsubscribe  |  Read on the Web The Go Weekly Newsletter Go 1.19 Beta 1 Released — This post on the golang-announce group just has the basics of how to download it, but these draft release notes go further into...

Go programs and Linux glibc versioning

The Y combinator in Go with generics

A few years ago I've written in some detail about the Y combinator, including implementations in Clojure and Python. This short post is showing how to implement the Y combinator in Go using generics; in general, static typing makes the Y combinator somewhat less appealing, but I...

The star of the Go

#​415 — June 10, 2022 Unsubscribe  |  Read on the Web The Go Weekly Newsletter Go has passed 100,000 stars on GitHub. There was no obvious top feature this week, so what better way to celebrate than to mark the (arguably quite arbitrary) mi...

Performance of coroutine-style lexers in Go

Back in 2011, Rob Pike gave a talk on the topic of Lexical Scanning in Go, where he presented an interesting approach to lexical analysis with coroutines (implemented via goroutines communicating over a channel). Since I've been pondering the connection between coroutines and sta...

My tmux workflow

I wanted to share a quick thing that made my life easier on tmux lately, but before we dig into that, I feel like I need to explain how I usually work. How my workflow looks like It has 2 main modes: Mode 1: Local I open an Alacritty windows and run: $ tmux Mode 2: Remote This i...

Practical Uses Of Blockchain Technology

Introduction A blockchain is an integrated solution of different computer science problems in the form of a single, append-only, publicly available, transparent, and cryptographically auditable database that runs in a distributed and decentralized environment. I’ve heard many t...