Matt Layher
- Unsafe string interning in Go, December 30, 2020
- I discuss the https://go4.org/intern package and the unsafe techniques it uses to implement string interning in Go.
- Go generics draft design: building a hashtable, June 17, 2020
- I describe my experiences porting a toy hashtable design to the June 2020 Go generics draft design.
- Matt's remote workspace in 2020, March 27, 2020
- A description of the audio/video/computer equipment that Matt uses working from home.
- CoreRAD: a new IPv6 router advertisement daemon, February 11, 2020
- An introduction to CoreRAD, an extensible and observable IPv6 Neighbor Discovery Protocol router advertisement daemon.
- Safe use of unsafe.Pointer, December 5, 2019
- Using Go tools to safely write unsafe code.
- Exploring byte parsing APIs in Go, December 14, 2018
- An exploration into building safe and ergonomic byte parsing APIs in Go.
- Network Protocol Breakdown: NDP and Go, May 30, 2018
- An introduction to the IPv6 Neighbor Discovery protocol, and how to utilize it from Go.
- A programmer's journey with RSI, February 12, 2018
- My experiences as a professional programmer dealing with RSI and cubital tunnel syndrome, and how I manage these issues.
- Accessing SMBIOS information with Go, December 19, 2017
- Accessing hardware information using the SMBIOS standard with Go.
- unsafe.Pointer and system calls, December 15, 2017
- Using Go's unsafe.Pointer type to cast raw memory and work with system calls.
- Cthulhu: Organizing Go Code in a Scalable Repo, October 10, 2017
- Lessons learned while working with DigitalOcean's monolithic Go code repository, cthulhu.
- Network Protocol Breakdown: Ethernet and Go, June 15, 2017
- An introduction to Ethernet frames, VLAN tags, and raw sockets, and how to leverage low-level networking primitives in Go.
- Linux VM sockets in Go, May 8, 2017
- Leveraging Linux VM sockets to enable bidirectional, many-to-one communication between a hypervisor and its VMs, using Go.
- Linux, Netlink, and Go - Part 3: packages netlink, genetlink, and wifi, March 13, 2017
- Using netlink, generic netlink, and nl80211 to manipulate WiFi network interfaces on Linux, using Go.
- Linux, Netlink, and Go - Part 2: generic netlink, February 28, 2017
- An introduction to generic netlink: an extensible netlink family. This post also describes how to leverage generic netlink in Go.
- Linux, Netlink, and Go - Part 1: netlink, February 21, 2017
- An introduction to Linux's netlink subsystem, and a tutorial on how to make use of it with Go.
- Contributing to the Go project, December 8, 2016
- A step-by-step explanation of how to contribute to the Go project.
- Open Source at DigitalOcean: Introducing go-qemu and go-libvirt, November 21, 2016
- Controlling QEMU and libvirt programmatically using pure Go interfaces.
- Go in a Monorepo, December 8, 2015
- An exploration of DigitalOcean's monolithic Go code repository.