Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #10810

E

Ewen Cheslack-Postava

Personal blog · ewencp.org/blogprogrammingweb

Ewen Cheslack-Postava's personal blog at ewencp.org covers programming and web. Since 2012, 7 different Hacker News readers have linked it 9 times, most often “Iterator patterns in Go”. It is still writing: the last post was on 2025-03-18, and you can follow it by feed.

Visit the blog
9mentions?
7HN people?
2012–2023first – last linked?
Links on Hacker News per year · peak 3 in 2023

Too few sampled comments (3) to say how often HN recommends it.?

Why HN links it

HN readers cite this blog's Go iterators post as a reference on lazy iterator patterns in Go, which one commenter says is much harder to write than in Python. It comes up in Go iterator and coroutine threads.

Summarised by Claude from a sample of 3 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Ewen Cheslack-Postava

Most-linked posts?

  1. Iterator patterns in Go
    3 people · 3 mentions · first linked 2013-09-08
  2. /blog/golang-iterators/index.html
    2 people · 3 mentions · first linked 2021-05-05

What Hacker News says?

  1. Yes, iterators are typically a hard[1] problem in Go. I think this essay[2] describes perhaps the closest lazy eval iterator pattern in Go, which is much more complex to write than languages like Python. [1] https://ewencp.org/blog/golang-iterators/index.html [2013] [2] www.catb.org/~esr/reposurgeon/GoNotes.html [2020]

    Comment linking /blog/golang-iterators/index.html

    on “Go proposal: new package to provide generic slice functions”
  2. Submitted Iterator patterns in Go as a story · 87 points

    HN discussion
  3. Horrible overhead. If the loop does something simple, like summing integers, 99% of time will be spent switching between goroutines. From TFA: "Because scheduling is explicit (without any preemption) and done entirely without the operating system, a coroutine switch takes at most around ten nanoseconds, usually even less. Startup and teardown is also much cheaper than threads." "For this taxonomy, Go's goroutines ar…

    Comment linking /blog/golang-iterators/index.html

    on “Coroutines for Go”
  4. Submitted URL Shortener Analysis - Tweets from 2009 vs. 2012 as a story · 13 points

    HN discussion
  5. The design of channels is constrained by the need to support concurrency. If you do not need concurrency, using something designed to support it will be suboptimal. And because it's specifically concurrency, the overhead will be substantial. ... that's the theory behind it. For more grounded explanations, see [1] & [2]. [1] https://news.ycombinator.com/item?id=29510751 [2] https://ewencp.org/blog/golang-iterators/in…

    Comment linking /blog/golang-iterators/index.html

    on “Iterators are (maybe) coming to Go”
  6. Submitted Iterators in Go as a story · 5 points

    HN discussion
  7. Submitted URL Shortener Analysis as a story · 2 points

    HN discussion
  8. Submitted Offices, Betting on Serendipity, and Water Coolers as a story · 1 points

    HN discussion
  9. Submitted Iterator Patterns in Go (2013) as a story · 1 points

    HN discussion

Search all of HN for ewencp.org