Top all-time · #3095
Alex Edwards
Personal blog · alexedwards.net/blogprogramming
Alex Edwards's personal blog at alexedwards.net covers programming. Since 2013, 25 different Hacker News readers have linked it 47 times, most often “Go Naming Conventions: A Practical Guide”. It is still writing: the last post was on 2026-07-14, and you can follow it by feed.
Too few sampled comments (5) to say how often HN recommends it.?
Why HN links it
HN readers link Alex Edwards' site for his Go books, Let's Go and Let's Go Further, and his posts on Go middleware and form validation. Commenters say the books helped them learn Go.
Summarised by Claude from a sample of 5 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Go Naming Conventions: A Practical Guide3 people · 3 mentions · first linked 2026-03-24
- Which Go router should I use? (with flowchart) – Alex Edwards3 people · 3 mentions · first linked 2021-10-04
- An Overview of Go's Tooling3 people · 3 mentions · first linked 2019-04-15
- Gorilla vs Pat vs Routes: A Mux Showdown2 people · 2 mentions · first linked 2013-09-02
- Organize your Go middleware without dependencies2 people · 2 mentions · first linked 2025-04-26
- Form Validation and Processing in Go2 people · 2 mentions · first linked 2013-11-02
- Surprises and Gotchas When Working with JSON2 people · 2 mentions · first linked 2020-09-24
What Hacker News says?
Checkout the work of Alex Edwards [0] and his book on Go [1]. Great guy and he even helped me with a consulting project. [0] https://alexedwards.net [1] https://lets-go.alexedwards.net/
Comment linking /
on “Ask HN: What are you learning?”Submitted A modern approach to preventing CSRF in Go as a story · 146 points
HN discussionNo need to embed function calls everywhere. The integration of authorization middleware should only be as complicated as your routing: mux.Handle("/", middlewareOne(middlewareTwo(finalHandler))) https://www.alexedwards.net/blog/making-and-using-middleware
Comment linking /blog/making-and-using-middleware
on “Weird Languages”Submitted Practical Persistence in Go: SQL Databases as a story · 41 points
HN discussionThis article turns into the creation of a small web app, so while not exactly relevant, I'll ask here: are there any good form validation libraries for Go? I ended up using this approach: http://www.alexedwards.net/blog/form-validation-and-processi... This is straightforward but also manual and low-level. In comparison is Python's formencode library which is declarative and high-level: class Registration(formencode.…
Comment linking /blog/form-validation-and-processing
on “How I Start: Go”Submitted The ‘fat service’ pattern for Go web applications as a story · 31 points
HN discussionOther than some of the resources mentioned already in comments, I highly recommend Alex Edwards books Lets Go and Lets go Further. Helped me a lot and still does when building Web Applications. https://www.alexedwards.net/ https://lets-go.alexedwards.net/ https://lets-go-further.alexedwards.net/
Comment linking /
on “Ask HN: What is the best way to learn Go?”Submitted Golang Automatic Reloads as a story · 30 points
HN discussionhttps://alexedwards.net is my favorite.
Comment linking /
on “Ask HN: Who to Follow the Go Community?”Submitted Form Validation and Processing in Go as a story · 6 points
HN discussionSubmitted An Overview of Go's Tooling as a story · 5 points
HN discussionSubmitted Go test assertions I use (and why) as a story · 4 points
HN discussionSubmitted A Complete Guide to Working with Cookies in Go as a story · 4 points
HN discussionSubmitted Which Go router should I use? (with flowchart) – Alex Edwards as a story · 4 points
HN discussionSubmitted Organize your Go middleware without dependencies as a story · 3 points
HN discussionSubmitted Flow: Delightfully tiny but powerful HTTP router for Go as a story · 3 points
HN discussionSubmitted Configuring Sql.db for Better Performance as a story · 3 points
HN discussionSubmitted Serving Static Sites with Go as a story · 3 points
HN discussionSubmitted How to manage configuration settings in Go web applications as a story · 2 points
HN discussionSubmitted When is it OK to panic in Go? as a story · 2 points
HN discussionSubmitted How to manage tool dependencies in Go 1.24 as a story · 2 points
HN discussionSubmitted Tips for structuring your Go projects as a story · 2 points
HN discussionSubmitted Using go run to manage tool dependencies as a story · 2 points
HN discussionSubmitted Internationalization in Go: Managing Translations as a story · 2 points
HN discussionSubmitted Go Interfaces Explained as a story · 2 points
HN discussionSubmitted An Overview of Go Tooling as a story · 2 points
HN discussionSubmitted Practical persistence in Go: Organizing database access as a story · 2 points
HN discussionSubmitted Simple flash messages in Go as a story · 2 points
HN discussionSubmitted Gorilla vs Pat vs Routes: A Mux Showdown as a story · 2 points
HN discussionSubmitted A Recap of Request Handling in Go as a story · 2 points
HN discussion