Top all-time · #2230
Bit Bashing
Personal blog · bitbashing.io · on HN as mrklineprogrammingsystems
Bit Bashing is a personal blog at bitbashing.io about programming and systems. Since 2015, 33 different Hacker News readers have linked it 40 times, most often “Std::visit is everything wrong with modern C++”. It is still writing: the last post was on 2026-06-19, and you can follow it by feed.
Too few sampled comments (10) to say how often HN recommends it.?
Why HN links it
HN readers link Bit Bashing for its critiques of C++ and Rust, such as std::visit and async Rust, and its float-comparison post. Commenters mostly cite these posts as references rather than discussing the prose.
- Recommended for · 1 comments
- One commenter calls the comparing-floats post a better reference than a Python float-comparison article.
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.
Yet another programming blog. Thoughts on software and related misadventures.
Most-linked posts?
- Std::visit is everything wrong with modern C++8 people · 8 mentions · first linked 2017-09-14
- Garbage collection for systems programmers (2023)5 people · 5 mentions · first linked 2023-09-29
- Comparing Floating-Point Numbers Is Tricky (2017)4 people · 4 mentions · first linked 2020-08-09
- TeX: A Tale of Two Worlds3 people · 3 mentions · first linked 2017-10-17
- Async Rust Is A Bad Language3 people · 3 mentions · first linked 2023-09-08
- D is like native Python (2015)3 people · 3 mentions · first linked 2021-01-02
- D is like native Python2 people · 2 mentions · first linked 2015-01-26
- Shipping Culture Is Hurting Us2 people · 2 mentions · first linked 2015-02-17
- Simulating Airband AM Radios2 people · 2 mentions · first linked 2026-06-20
What Hacker News says?
D is also worth a look as a compiled C- family language that can read like python. https://bitbashing.io/2015/01/26/d-is-like-native-python.htm...
Comment linking /2015/01/26/d-is-like-native-python.html
on “A half-hour to learn Rust”Submitted Garbage collection for systems programmers (2023) as a story · 396 points
HN discussionHere's a dump of the "Programming" folder from my RSS reader: Aphyr's (aka the guy behind the Jepsen distributed system test series): https://aphyr.com/ Fred Herbert, the author of Learn You Some Erlang: http://ferd.ca/ Eevee, who posts a mishmash of stuff about programming in general but these days is mostly focussed on games: https://eev.ee/ Tef/Programming is Terrible, which features strong opinions about program…
Comment linking /
on “Ask HN: What programming blogs do you follow?”Submitted Shipping Culture Is Hurting Us as a story · 231 points
HN discussionLet me point out two alternatives: Cython which is very Pythonic looking, and compiles to C and produces amazing projects including UVLoop which is a drop-in module for asyncio for Python 3 that will speed up asyncio: https://magic.io/blog/uvloop-blazing-fast-python-networking/ https://github.com/MagicStack/uvloop Note how GitHub claims it's all mostly Python code ;) That's because Cython like I said looks Pythonic.…
Comment linking /2015/01/26/d-is-like-native-python.html
on “C for Python programmers (2011)”Submitted Std::visit is everything wrong with modern C++ as a story · 201 points
HN discussionAsync in Rust isn't exactly universally loved, partly because async Rust is perceived to spread progressively to Rust libraries making it less optional to use. See eg https://bitbashing.io/async-rust.html , "Async Rust Is A Bad Language"
Comment linking /async-rust.html
on “Cancellations in async Rust”Submitted Concurrency in Haskell: Fast, Simple, Correct as a story · 193 points
HN discussionI won’t be able to address all the points. But in my experience, C++ has been going in the wrong direction in terms of simplicity or productivity. Modern C++ is drastically more complicated and riddled with deep esoterica. The flexibility benefit modern Python gives is probably more like 1000x, further mitigating many cases when there are concerns about the flexibility/performance trade-off. Just for one example abo…
Comment linking /std-visit.html
on “Python as a declarative programming language (2017)”Submitted C++ on Embedded Systems as a story · 178 points
HN discussionThis is not a very good article, and I would not recommend it beyond simple use cases. The problem is that there is no right way, it depends on the usecase and the magnitude of numbers you're comparing. See e.g. https://bitbashing.io/comparing-floats.html as a better referenc. The fundamental difficulty of comparing floats is that the format ensures a near constant number of digit of precision regardless of the scal…
Comment linking /comparing-floats.html
on “How to compare floats in Python”Submitted Std::visit is everything wrong with modern C++ (2017) as a story · 120 points
HN discussionI wonder if C++ is headed for COBOL-ification. This article is very interesting but doesn't really give any hope for success in implementing a modern module system in C++. I feel like the only way to have truly useful, simple and intuitive modules in C++ would involve breaking a certain amount of backward compatibility and force a few constraints (project layout, file naming scheme, build system, ...) on the user. B…
Comment linking /std-visit.html
on “Killing the C++ Modules Technical Specification”Submitted Comparing Floating-Point Numbers Is Tricky (2017) as a story · 87 points
HN discussion>more modern and less dangerous language than most people think Compared to what? Itself from 20 years ago? That's great, but not nearly enough. Cpp just has SO MUCH FRICTION that it's simply not worth it to deal with it. Maybe if you have 20yrs of cpp experience and carved out a specific way for yourself to avoid all of it while still being productive... But that's not really an argument. And sure, there are still…
Comment linking /std-visit.html
on “#include <rules> (2010)”Submitted Comparing Floating-Point Numbers Is Tricky as a story · 73 points
HN discussionThat does not give you destructuring though, so to distinguish different variants of the same type you are left with a classic `if` inside the lambda. Also this has "language support" in the sense that it is (again) implemented via template meta programming, i.e. the compile time is impacted quite heavily. See "std::visit is everything wrong with modern C++": https://bitbashing.io/std-visit.html This standards propo…
Comment linking /std-visit.html
on “Functional Language Features: Iterators and Closures”Submitted Simulating Airband AM Radios as a story · 64 points
HN discussion“Modern C++” is very powerful, but also incredibly frustrating. Take std::variant/std::visit (sum types) for example.[0] Getting the value out is way more complicated than Rust. And if you mess up, expect an indecipherable multi-dozen line error message! [0]: https://bitbashing.io/std-visit.html
Comment linking /std-visit.html
on “An incomplete list of complaints about real code”Submitted Unsafe at Any Speed: Tradeoffs and Values in the Rust Ecosystem as a story · 59 points
HN discussionSubmitted Async Rust Is A Bad Language as a story · 44 points
HN discussionSubmitted TeX: A Tale of Two Worlds as a story · 28 points
HN discussionSubmitted Garbage Collection for Systems Programmers as a story · 21 points
HN discussionSubmitted D is like native Python as a story · 19 points
HN discussionSubmitted Time Between The Lines: how memory access affects performance (2015) as a story · 11 points
HN discussionSubmitted D is like native Python (2015) as a story · 7 points
HN discussionSubmitted TeX: A Tale of Two Worlds as a story · 6 points
HN discussionSubmitted Garbage Collection for Systems Programmers as a story · 4 points
HN discussionSubmitted Comparing Floating-Point Numbers Is Tricky as a story · 4 points
HN discussionSubmitted Simulating Airband AM Radios as a story · 3 points
HN discussion