Matt Layher
- schedgroup: a timer-based goroutine concurrency primitive
(GopherCon Europe 2020)
- Building and Go package which can schedule tasks to be performed at or after a specified time.
- slides
- Monitoring, the Prometheus Way (with Ganesh Vernekar)
(KubeCon/Cloud Native Con NA 2019)
- An introduction to the Prometheus metrics and monitoring system.
- slides
- Building a net.Conn type from the ground up
(GopherCon UK 2019)
- Leveraging Go's runtime network poller to create custom net.Conn and net.Listener implementations.
- slides
- Using unsafe.Pointer to explore Linux system calls
(GoCon Canada 2019)
- Using Go's unsafe.Pointer type to cast raw memory and work with system calls.
- blog,
slides
- Ethernet and Go
(GoTO, April 2019)
- An updated presentation and demo of using Ethernet frames and sockets directly in Go.
- blog,
slides
- Exploring IPv6 at Home: Preparing for the Future of the Internet Protocol
(Orchestructure, March 2019)
- An overview of IPv6, and a demonstration of how to set up IPv4/6 dual-stack networks at home.
- slides
- Linux, Netlink, and Go in 7 minutes or less!
(GopherCon 2018, lightning talk)
- Manipulating the Linux kernel using Netlink with Go.
- blog,
slides
- Implementing a Network Protocol in Go
(GopherCon 2018)
- Implementing the IPv6 Neighbor Discovery Protocol in Go.
- blog,
slides
- Networking with OVS at DigitalOcean
(OVS Orbit podcast)
- Matt Layher and Armando Migliaccio discuss Open vSwitch networking at DigitalOcean.
- audio
- How to export Prometheus metrics from just about anything
(KubeCon/Cloud Native Con EU 2018)
- Gathering and exporting Prometheus metrics with Go from files, devices, and system calls.
- slides
- OvS manipulation with Go at DigitalOcean
(Open vSwitch Conference 2017)
- How DigitalOcean controls Open vSwitch using the Go programming language.
- slides
- Ethernet and Go
(GopherCon 2017, lightning talk)
- A lightning talk about using Ethernet frames and raw sockets directly in Go.
- blog,
slides
- A brief intro to Go
- package ovs
- Self-contained testing in Go