Golang workshop
TL;DR
Learn just enough Go from practical stand-point to understand code-base of DODG projects, build the software from source code, debug and deploy it. That's it.
We will use, (emacs|vim + golang binaries + bash) on GNU/Linux with modified Go specific environment variables GOPATH,GOROOT etc.
DOWNLOAD
Don't install Go using package manager. Instead download from the link below
https://go.dev/dl/go1.26.1.linux-amd64.tar.gz
LONG INTRODUCTION
Go is a garbage collected, statically-typed language with functional characteristics. It uses a concurrency model premised on passing data instead of shared memory with locks.
The cryptographic algorithms in packages part of the Go standard libraries and software that's written using these libraries eg. Docker are subject to export-control rules.
In it's quest to support reusable data structures, Go has copied the same ideas from C++ templates, C++ standard template library and added it's syntactic sugar with performance penalty.
Funfact, Go was created by a Piscean who once shared office with Prof Bjarne Stroustrup (creator of C++) at Bell labs. While working at a search engine company, the author's motivation came from the fact that he and some of his colleagues hated C++ and hoped that C++ programmers would move to Go.
This is a practical Go coding workshop and not a fan-club show!
FOCUS
- write Go code and lots of it
- GO specific environment variables (GOPATH, GOROOT etc)
- Go data types
- array, struct, pointer, function, interface, slice, map, and channel types
- interface type and polymorphism
- BIF make() function
- understand Go module system
- Go dependency management
- Concurrency model
- CSP
- channels
- goroutines
- Context package
- Network servers
- Patterns for API
- gRPC servers
- Modelling state
- Context + Network + Concurrency
- debugging code
- selective Generics*
- weakness
- vulnerabilities in Go code
- discussion about CVE reported in last 36 months.
- architecture and usage pattern of cryptographic* packages
(*) as evidenced in docker, kubernetes codebase
DURATION
180 min
SESSIONS
3
DATE(S)
2026-08-01
2026-08-02
2026-08-03
TIME
0600 hrs (UTC+0000)
Event is free to attend but RSVP is required.
Absolutely safe for students and women to attend. Code of conduct applies.
All members of the Ummah are cordiallly invited.
Right to admission is reserved!