Go in 5 Minutes & design patterns

Go Time: Golang, Software Engineering ·

Aaron Schlesinger joined the show this week to talk about his Go in 5 Minutes series of screencasts, and design patterns in Go.

Join the discussion (https://changelog.zulipchat.com/#narrow/stream/455709-gotime) Changelog++ (https://changelog.com/++) members support our work, get closer to the metal, and make the ads disappear. Join today! Sponsors:

• Linode (https://linode.com/changelog) – Our cloud server of choice! We host everything we do on Linode servers. Use the code gotime20 to get 2 months free!

• Fastly (https://www.fastly.com/?utm_source=changelog&utm_medium=podcast&utm_campaign=changelog-sponsorship) – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform.

• Backtrace (https://www.backtrace.io/gotime) – Reduce your time to resolution. Go beyond stacktraces and logs. Get to the root cause quickly with deep application introspection at your fingertips.

Featuring:

• Aaron Schlesinger – Website (http://arschles.com/), GitHub (https://github.com/arschles), X (https://x.com/arschles) • Erik St. Martin – GitHub (https://github.com/erikstmartin), X (https://x.com/erikstmartin) • Carlisia Thompson – GitHub (https://github.com/carlisia), LinkedIn (https://www.linkedin.com/in/carlisia), X (https://x.com/carlisia) • Brian Ketelsen – GitHub (https://github.com/bketelsen), X (https://x.com/bketelsen)

Show Notes:

• Go in 5 Minutes (https://www.goin5minutes.com/)

• Deis: Open Source Application Platform. For Public and Private Clouds. (http://deis.io/)

• Design Patterns: Elements of Reusable Object-Oriented Software (Gang of Four book) (https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented-ebook/dp/B000SEIBB8)

• Rob Pike - Another Golang at Language Design (video) (https://www.youtube.com/watch?v=uQgWP7zM6mU)

• Rob Pike Google I/O 2012 - Go Concurrency Patterns (video) (https://www.youtube.com/watch?v=f6kdp27TYZs)

• GopherCon 2014 A Channel Compendium by John Graham-Cumming (video) (https://www.youtube.com/watch?v=SmoM1InWXr0)

• GopherCon 2014 High Performance Systems in Go by Derek Collison (video) (https://www.youtube.com/watch?v=ylRKac5kSOk)

• Svett Ralchev design pattern in Go (tutorials) (http://blog.ralch.com/tutorial/)

• Jason Buberel: Go Examples of Common Patterns (https://github.com/jbuberel/go-patterns)

• Helm: The Kubernetes Package Manager (https://github.com/kubernetes/helm)

• Clean Code (book) (https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882)

Interesting Go Projects and News

• Teleport: Modern SSH server for clusters and teams (http://gravitational.com/teleport)

• Vim-Go 1.9 released (https://github.com/fatih/vim-go/releases/tag/v1.9)

• Steve Francia joins the Go language team (http://spf13.com/post/joining-go-team-at-google)

• Curated list of Go patterns and idioms (http://tmrts.com/go-patterns/)

• dhcplb: Facebook’s implementation of a load balancer for DHCP (https://code.facebook.com/posts/1734309626831603/dhcplb-an-open-source-load-balancer/)

• GolangUK Conference 2016 videos (https://www.youtube.com/playlist?list=PLDWZ5uzn69eyh791ZTkEA9OaTxVpGY8_g)

• Golang UK Conf. 2016 - Liz Rice - What is a container, really? Let’s write one in Go from scratch (video) (https://www.youtube.com/watch?v=HPuvDm8IC-4)

• vuls: Vulnerability scanner for Linux/FreeBSD, agentless (https://github.com/future-architect/vuls)

• Mig: Mozilla’s real-time digital forensics and investigation platform (http://mig.mozilla.org/)

• goviz: A visualization tool for golang project dependency (https://github.com/hirokidaichi/goviz)

• Caddy webserver: The HTTP/2 web server with automatic HTTPS (https://caddyserver.com/)

• Lego: Let’s Encrypt client and ACME library written in Go (https://github.com/xenolf/lego)

Free Software Friday

• Brian - BoltDB (https://github.com/boltdb/bolt) and WTF Dial: Data storage with BoltDB (blog) (https://medium.com/@benbjohnson/wtf-dial-boltdb-a62af02b8955#.mpah9vonj)

• Carlisia - Api2Go: JSONAPI.org Implementation for Go (https://github.com/manyminds/api2go)

• Aaron - GPS: Go Packaging Solver (https://github.com/sdboyer/gps)

• Erik - CoreDNS: DNS service discovery for the cloud (https://coredns.io/)

Something missing or broken? PRs welcome! (https://github.com/thechangelog/show-notes/blob/master/gotime/go-time-18.md)