Hacker Newsnew | past | comments | ask | show | jobs | submit | kqr's commentslogin

I agree. I come back to it all the time when I need a little inspiration for how to deal with a gnarly codebase. Usually there is something in there I can apply directly to get me out of a pinch. When there is not the reminder of how malleable code is suffices.

QR codes, like other barcodes, store information. They never "do" anything.

Or are you saying the ones you found failed to checksum?


On the other hand,

> there are few things as dangerous as an expert with access to open-ended data that can be interpreted wildly, like a clinical interview.

https://entropicthoughts.com/arithmetic-models-better-than-y...


This is a very good explanation of Simpson's paradox, which is the name for this thing.

It can go arbitrarily deep and the trend can flip sign for each added controlled variable.


This may change with age. My children were cute but didn't engage me much emotionally while they were still mostly crying, pooping, and trying their best to hurt themselves. Once they became more multi-faceted that changed.

This is a neat idea, but it does require that you know up front the largest union that could ever be supported in that argument, so that you have the ability to narrow it down later. Worse, it in the limit it requires a combinatorial explosion of type classes, with one for each possible union! The `ToXYZorW` classes form a powerset over the available types.

See fundeps.

Ah! I didn't know the term for it but I have often been stubborn in running a neglected platform as my dev environment for precisely this reason.

Sometimes it makes the system more complicated, but it definitely also reveals where the rough corners are.


Another example would be something like a leader/follower distributed data storage system. It (and maybe its clients) needs to maintain a coherent view of which the leader node is. This adds significant complexity, and in many cases is no longer worth it.

When the Apollo astronauts learned that they might need to repair the computer if it breaks they joked they might as well learn brain surgery if they end up needing that too.

(This was when they planned on sending a modular computer with them. In the end they settled for sending up a fully assembled spare computer instead, which made replacement easier.)


i imagine soldering in space can cause solder joint issues, or unexpected physics to happen

It does not.

Even if different teams write software in different languages, they end up creating very similar bugs because the bugs crop up in the complexities of the domain and insufficiencies of the specification.

N-version programming doesn't work as well as you think. See Knight and Leveson (1986).

(N-version programming does guard against "random" errors like typos or accidentally swapping parameters to a subroutine call. But so does a good test suite and a powerful compiler.)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: