There is a ton of links to extra reading and videos through out the material. Occasionally we run into material that we feel is important and don't have an exact place to put it. This is a section place for that material.
Go In Action - Kennedy, Ketelsen, St. Martin
Learn Go - Nathan Youngman
Going Go - William Kennedy
The acme of foolishness - Dave Cheney
The Go Blog - Language Team
Ukiah Smith - Ukiah Smith
Mechanical Sympathy - Martin Thompson
Go Documentation References - Language Team
An Interview with Brian Kernighan
Interview with Dennis Ritchie, Bjarne Stroustrup, and James Gosling
The Evolution of Go - Robert Griesmer
Language Design in the Service of Software Engineering - Rob Pike
A Very Brief History of Computing, 1948-2015 - Martyn Thomas
The Rise and Fall of Minicomputers - Gordon Bell
After Moore's Law - Economist - Tim Cross
A Crash Course in Modern Hardware - Cliff Click
The Future of Programming - Uncle Bob
The Best Programming Advice I Ever Got - Rob Pike
A Retrospective on SEDA - Matt Welsh
io package - Ben Johnson
bytes + strings packages - Ben Johnson
encoding package - Ben Johnson
strconv package - Ben Johnson
Structuring Tests in Go - Ben Johnson
Structuring Applications in Go - Ben Johnson
How one developer just broke Node, Babel and thousands of projects in 11 lines of JavaScript
The End of Software Versions - Pieter Hintjens
Profiling Go Programs - Go Team
Profiling & Optimizing in Go - Brad Fitzpatrick
Go Dynamic Tools - Dmitry Vyukov
How NOT to Measure Latency - Gil Tene
Go Performance Tales - Jason Moiron
Debugging performance issues in Go programs - Dmitry Vyukov
Reduce allocation in Go code - Python Bytes
Write High Performance Go - Dave Cheney
Static analysis features of godoc - Go Team
Design Guidelines
Composition - William Kennedy
Interface Pollution - Burcu Dogan
Abstraction Considered Harmful - Brave New Geek
Bufferbloat: Dark Buffers in the Internet - Jim Gettys
Buffer Bloat Videos
The Definitive Guide to Linux System Calls
Linux Performance Analysis in 60,000 Milliseconds - Netflix
Tenets of the UNIX Philosophy - Mike Gancarz
Monitoring and Tuning the Linux Networking Stack: Receiving Data - packagecloud
The Linux Scheduler: a Decade of Wasted Cores
Path: add BBR congestion control
How To Deploy a Go Web Application with Docker - Kulshekhar Kabra
An introduction to Clear Containers - LWN.net
Getting Started with Docker - Docker
Kubernetes Bootcamp - Google
Notes on Distributed Systems for Young Bloods - Jeff Hodges
Complete Guide To Go Net HTTP Timeouts - Filippo Valsorda
Basic Queuing Theory - Dr. János Sztrik
Shrink Your Go Binaries With This One Weird Trick - Filippo Valsorda
USENIX Association Videos
You wanted a banana but you got a gorilla holding the banana - John D. Cook
Much of this content can be found under arrays and data races. We feel this content is so important it has been moved out to this general materials page.
CPU Caches and Why You Care - Video - Scott Meyers
CPU Caches and Why You Care - Deck - Scott Meyers
Mythbusting Modern Hardware to Gain 'Mechanical Sympathy` - Martin Thompson
What Every Programmer Should Know About Memory - Ulrich Drepper
How CPU Caches Work and Why - Joel Hruska
Modern Microprocessors A 90 Minute Guide - Jason Robert Carey Patterson
Memory part 2: CPU caches - Ulrich Drepper
The Free Lunch Is Over - Herb Sutter
Data Center Computers: Modern Challenges in CPU Design - Dick Sites
Wirth's Law - Wikipedia
Eliminate False Sharing - Herb Sutter
NUMA Deep Dive Series - Frank Denneman
The Myth Of Ram - Emil Ernerfeldt
Understanding Transaction Hardware Memory - Gil Gene
Data-Oriented Design and C++ - Mike Acton
Pitfalls of OOP - Tony Albrecht
Why you should avoid Linked Lists - Bjarne Stroustrup
Efficiency with Algorithms, Performance with Data Structures - Chandler Carruth
Data-Oriented Design (Or Why You Might Be Shooting Yourself in The Foot With OOP) - Noel
The Linux Scheduler: a Decade of Wasted Cores
The Cost of Virtualization - Ulrich Drepper
NUMA Deep Dive Series - Frank Denneman
This content can be found under pointers. We feel this content is so important it has been moved out to this general materials page.
Go Escape Analysis Flaws - Dmitry Vyukov
Compiler Optimizations
Tracing Garbage Collection - Wikipedia
Go Blog - 1.5 GC
Go GC: Solving the Latency Problem - Rick Hudson
GopherCon 2015: Static Code Analysis Using SSA - Ben Johnson
https://github.com/golang/go/blob/dev.ssa/src/cmd/compile/internal/ssa/compile.go#L83
https://godoc.org/golang.org/x/tools/go/ssa
Understanding Compiler Optimization - Chandler Carruth
Open issues for the upcoming release
Go 1.7 Release Notes - 2016/08/15
Go 1.6 Release Notes - 2016/02/17
Go 1.5 Release Notes - 2015/08/19
Go 1.4 Release Notes - 2014/12/10
Go 1.3 Release Notes - 2014/06/18
Go 1.2 Release Notes - 2013/12/01
Go 1.1 Release Notes - 2013/05/13
Go 1.0 Release Notes - 2012/03/28
DINAMITE: A modern approach to memory performance profiling
GoHotDraw: evaluating the Go programming language with design patterns - ACM
Blade : A Datacenter Garbage Collector - David Terei
Text Understanding from Scratch - Xiang Zhang, Yann LeCun
Model Checking of Fault-Tolerant Distributed Algorithms? - Vienna University of Technology
The Modelling and Analysis of Security Protocols: the CSP Approach