tinkering.xyz
tinkering.xyz · Personal blog · on HN since 2018
tinkering.xyz is a personal programming blog covering Python, Rust, Nix, optimization, and small-scale scientific computing.
What HN saysHN links it mainly for its post on adding macros to Python by abusing type annotations, which commenters cite as an unintended use of annotations.
15HN people shared it
2linked it in comments
20stories submitted
198story points
4 months agolast shared
2018people per year2026
Most-shared posts
- 1Bringing macros to Python by abusing type annotations3 people · 76 points · first shared 2018 · 17 comments on HN
- 2I don't care that it's X times faster3 people · 7 points · first shared 2026 · discussion on HN
- 3An Optimization Story2 people · 82 points · first shared 2022 · 11 comments on HN
- 4April Cools 2024: Physics Edition2 people · 6 points · first shared 2024 · discussion on HN
- 5Nix journey part 0: Learning and reference materials2 people · 4 points · first shared 2023 · discussion on HN
- 6Evaluating a Process Manager2 people · 3 points · first shared 2024 · 1 comments on HN
- 7Polsim – a case study for small-scale scientific computing in Rust1 people · 11 points · first shared 2019 · discussion on HN
- 8Today we launched Flox 1.01 people · 3 points · first shared 2024 · 1 comments on HN
- 9Introduction to Procedural Macros1 people · 2 points · first shared 2018 · discussion on HN
- 10I wrote an API client for my water-cooled bed1 people · 1 points · first shared 2026 · discussion on HN
- 11Nix journey part 1: My grand unified theory of Nix documentation1 people · 1 points · first shared 2023 · discussion on HN
- 12Composition: The feature I've wanted in Flox since I joined the company1 people · 1 points · first shared 2025 · discussion on HN
- 13Proctrace – a high level profiler for process lifecycle events1 people · 1 points · first shared 2024 · discussion on HN
- 14Introduction to proc macros1 people · first shared 2019
What HN people wrote when they linked it
DonaldPShimoda · 2019-05-15
Although not really what they were intended for, somebody used annotations to provide a macro system [0].
[0] https://tinkering.xyz/abusing-type-annotations/
bsurmanski · 2019-01-27
For anyone else looking into Rust, I've been experimenting in it for the past month. Heres my thoughts:
It advertises itself as a systems level language for the new age, but to me it feels like a functional language in disguise. The borrow checker enforces an unchained functional style (You may have 1 unique mutable reference or may have many immutable references). This sounds bad if you're used to pointer slinging, but once you get used to the peculiarities I find it forces me to write better quality code.
The package management is the most refreshing feature. It's a pain to rewrite my personal libraries in each language I use, but I found that most of the things I needed were already available at higher quality than I would have done. (And using them is a single config line).
For a 'low level language' they make it pretty hard to do some 'low level' things. Example's I've found include:
* writing a doubley linked-list. Consensus is "don't use linked-lists. The stdlib has better tools
* Reading a file into a struct. They make it surprisingly difficult to say "hey, read these 10 bytes, its this struct". Consensus is to use more structured file formats like json or protobufs. There's libraries for reading those things.
Error handling is similar in style to Go, but it get rid of a lot of the boilerplate. The '?' operator effectively acts as if err return err.
The macro system is really nice. I don't write many macros, but it does mean I can use other people's powerful…