Top all-time · #2612
Mero's Blog
Personal blog · blog.merovius.deprogramming
Mero's Blog is a personal blog at blog.merovius.de about programming. Since 2016, 29 different Hacker News readers have linked it 45 times, most often “Diminishing returns of static typing”. The last post was in 2024, but the archive is still widely read.
Too few sampled comments (10) to say how often HN recommends it.?
Why HN links it
HN readers link this blog for technical posts on Go, including backwards compatibility, generic constraints, iterators and duck typing, plus notes on static typing and filesystem limits. Commenters cite it as a reference.
Summarised by Claude from a sample of 10 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Diminishing returns of static typing5 people · 6 mentions · first linked 2017-09-12
- Constraining Complexity in Go Generics3 people · 4 mentions · first linked 2024-01-05
- Persistent datastructures with Go3 people · 3 mentions · first linked 2018-02-25
- /2015/07/29/backwards-compatibility-in-go.html2 people · 2 mentions · first linked 2018-03-27
- Calculating Go type sets is harder than you think2 people · 2 mentions · first linked 2022-05-16
- Why context.Value matters and how to improve it2 people · 2 mentions · first linked 2017-08-13
- Monads are just monoids in the category of endofunctors2 people · 2 mentions · first linked 2018-01-07
- What even is error handling? (2018)2 people · 2 mentions · first linked 2018-01-21
What Hacker News says?
> Are there limits to the number of files a directory can hold? Yes, depending on the file system. For example, ext4 with default settings uses 32-bit hashes. Upon the first collision, you can no longer add more files to the directory (ENOSPC error). Source: https://blog.merovius.de/2013/10/20/ext4-mysterious-no-space...
Comment linking /2013/10/20/ext4-mysterious-no-space-left-on.html
on “SQLite the only database you will ever need in most cases”Submitted Diminishing returns of static typing as a story · 434 points
HN discussionSee "adding a field to a struct" on this page: https://blog.merovius.de/2015/07/29/backwards-compatibility-...
Comment linking /2015/07/29/backwards-compatibility-in-go.html
on “A Proposal for Package Versioning in Go”Submitted Using Hilbert Curves to 100% Zelda as a story · 164 points
HN discussion>I have never got all these jokes. If you mean that literally, this joke is referencing another joke meme in the functional programming community, explained here: https://blog.merovius.de/2018/01/08/monads-are-just-monoids.... If you mean, you don't get why people joke about Git being hard, it probably isn't for most professional programmers already accustomed to some kind of source control, just perhaps to anyone n…
Comment linking /2018/01/08/monads-are-just-monoids.html
on “Git for Computer Scientists (2010)”Submitted Scrapping Contracts: a critique of the Go generics proposal as a story · 86 points
HN discussionI'm surprised by the complexity of Go's generic constraints, given the language's focus on simplicity. Things like the difference between "implementing" and "satisfying" a constraint [0], and exceptions around what a constraint can contain [1]: > A union (with more than one term) cannot contain the predeclared identifier comparable or interfaces that specify methods, or embed comparable or interfaces that specify me…
Comment linking /posts/2024-01-05_constraining_complexity/
on “Constraints in Go”Submitted Calculating Go type sets is harder than you think as a story · 79 points
HN discussionCancellation is a little tricky. If things can cancel at any point, then it's impossible to write safe/correct code. Async has the advantage that the await calls are natural sync points, so it's (probably) safe to cancel there. But historical experience has also shown that people will forget to yield when they should, and it will lead to cooperation problems. I think the best approach has to look something like Go's…
Comment linking /2017/08/14/why-context-value-matters-and-how-to-improve-it.html
on “Project Loom and Structured Concurrency”Submitted Operator constraints in Go as a story · 47 points
HN discussionI recall reading some details around this on https://blog.merovius.de . Maybe it was this article: https://blog.merovius.de/posts/2018-06-03-why-doesnt-go-have... . Compilation speed plays a big factor when deciding which features are added to Golang and I think they'd have a hard time maintaining the current compilation speed if they remove this limitation.
Comment linking /posts/2018-06-03-why-doesnt-go-have-variance-in
on “Fun with Go Iterators”Submitted Backwards compatibility in Go (2015) as a story · 47 points
HN discussionI'm a fan of this multi-language trend of gradual and optional typing. Static typing has definite benefits, but there are also diminishing returns on productivity as a language becomes more and more statically safe. Often times, type safety is a rabbit hole that can easily turn a language into what some call a "puzzle language," where the efforts to please the compiler become non-intuitive and take long times to fig…
Comment linking /2017/09/12/diminishing-returns-of-static-typing.html
on “The state of type hints in Python”Submitted Persistent datastructures with Go as a story · 43 points
HN discussionHas something changed such that adding an exported field to a struct is now safe in the case of clients who are using struct embedding? Previously: https://blog.merovius.de/2015/07/29/backwards-compatibility-...
Comment linking /2015/07/29/backwards-compatibility-in-go.html
on “Keeping your Go modules compatible”Submitted Using roughtime as a “cryptographic notary” as a story · 42 points
HN discussionRe: Diminishing Returns of Static Typing: https://blog.merovius.de/2017/09/12/diminishing-returns-of-s...
Comment linking /2017/09/12/diminishing-returns-of-static-typing.html
on “Lambda Cube”Submitted Ext4: Mysterious “No space left on device”-errors due to hash collisions (2013) as a story · 15 points
HN discussion> You need to have something that uses those templates. Exactly. That is what I said: > because you need to know the actual type arguments used, regardless of what the constraints might say. It is because type-checking concept code is NP complete - it is trivial to check that a particular concrete type satisfies constraints, but you can not efficiently prove or disprove that all types which satisfy one constraint al…
Comment linking /posts/2024-01-05_constraining_complexity/
on “Generic interfaces”Submitted My Case for Veganism (2018) as a story · 11 points
HN discussionThe Go standard library makes use of a number of “optional interfaces”, which it uses to detect when a type implements a higher level action in a more efficient or specific way This can be thought of as duck typing. Examples can be found here: https://blog.merovius.de/posts/2017-07-30-the-trouble-with-o...
Comment linking /posts/2017-07-30-the-trouble-with-optional-interfaces/
on “Duck typing (horror) in Go”Submitted Calculating type sets is harder than you think as a story · 9 points
HN discussionSubmitted Diminishing returns of static typing as a story · 6 points
HN discussionSubmitted The four things I miss about go as a story · 6 points
HN discussionSubmitted How to not use an http-router in go as a story · 5 points
HN discussionSubmitted Constraining Complexity in Go Generics as a story · 4 points
HN discussionSubmitted Persistent datastructures with Go as a story · 3 points
HN discussionSubmitted Monads are just monoids in the category of endofunctors as a story · 3 points
HN discussionSubmitted How to not use an HTTP-router in go as a story · 2 points
HN discussionSubmitted What even is error handling? as a story · 2 points
HN discussion