Software Engineer. Go, Linux, and open source software enthusiast. On and ever upward.
- Package apcupsd provides a client for the apcupsd Network Information Server (NIS). MIT Licensed.
- A network load-balancer implementation for Kubernetes using BGP
- Kubernetes configurations used for Matt Layher's home cluster. MIT Licensed.
- Package ndp implements the Neighbor Discovery Protocol, as described in RFC 4861. MIT Licensed.
- Ansible playbooks used to configure Matt Layher's machines. MIT Licensed.
- Command mdlayher.com serves Matt Layher's personal website. MIT Licensed.
- Talks by Matt Layher. MIT Licensed.
- Randomized testing for Go
- Package edgemax implements a client for Ubiquiti EdgeMAX devices. MIT Licensed.
- Package taskstats provides access to Linux's taskstats interface, for sending per-task and per-process statistics from the kernel to userspace. MIT Licensed.
- Accessing SMBIOS information with Go
- Accessing hardware information using the SMBIOS standard with Go.
- unsafe.Pointer and system calls
- Using Go’s unsafe.Pointer type to cast raw memory and work with system calls.
- Open Source at DigitalOcean: Introducing go-qemu and go-libvirt
- Controlling QEMU and libvirt programmatically using pure Go interfaces.
- Cthulhu: Organizing Go Code in a Scalable Repo
- Lessons learned while working with DigitalOcean’s monolithic Go code repository, cthulhu.
- Network Protocol Breakdown: Ethernet and Go
- 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
- 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
- Using netlink, generic netlink, and nl80211 to manipulate WiFi network interfaces on Linux, using Go.
- Linux, Netlink, and Go — Part 2: generic netlink
- 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
- An introduction to Linux’s netlink subsystem, and a tutorial on how to make use of it with Go.