Great article! I feel like I am dealing with so much of this behaviour at my job recently. It feels like most of the people espousing Best Practice never learned that "appeal to authority" was not a reasonable argument.
Really enjoyed this article. Longevity and health increasingly seems to be intrinsically tied to planning for better things, hoping for better things and enjoying the process.
This looks really cool. Would have bought it but the price is a bit too high for me (I live in New Zealand as well so when you convert from USD then add shipping costs etc...).
Great! I agree 100%. We have to assume a "reliable network" within a "boundary" (i.e. a computers CPU, memory, busses etc...). Distributed systems (from which these rules are taken) are specifically systems where anything within one of these "boundaries" is considered a "single node" and treated the same, whether it's a NIC, a kernel module/driver, a user space process or anything else.
In our case if we were to take (for example) that the NIC would de-duplicate the messages for us, anyone writing the producer/sender and a user-space program for the receiver a would need to know that the NIC was doing this (or risk having messages dropped for failure of including a unique id).
This is a pedantic point, but I would strongly stress that the only reason these "delivery rules" are so popular (and evoke such a reaction) is because of the very large number of times that programmers mis-understand them.
Commonly they either assume that:
* the network is reliable
* something else will guarantee "exactly once delivery" for me (when in fact nothing will)
> why can't I choose to view "the system itself" as the thing that is on the other side of a de-duplicator?
because the "de-duplicator" would either:
* be somewhere else on an unreliable network (in which case we have the same problem)
* be on the same machine (or in the same process) as "the system itself" (in which case from a distributed systems perspective makes it the same thing)
> It seems a bit pedantic...
It is pedantic. The only reason that these "delivery" rules are popular is because of how many times programmers have gotten it wrong. Mostly by making assumptions that either:
* the network is reliable
* the message queue (or whatever) will de-duplicate messages for me
This comment really hit home for me, thank you for posting it. Thinking about it, for the last few years the only motivating thing about work has been to "do it for the person next to you", to try and help them, make their life easier.
I really struggle to be motivated by company mission, values. It might be because recently I have worked in mostly quite boring industries (banking, insurance, retirement funds etc...) with little competition or incentives to be better/go faster.
The financial compensation is also not a great motivator anymore as I've been quite lucky where I feel like if I was to not be able to work anymore, I would still be in a pretty good spot (and might even get to spend more time with my kids!), despite my "net worth" and retirement not looking that great.
The other great motivator of "do your best work" has fallen by the wayside as well due to personal issues and having to deal with the harsh realities of competing priorities over the last decade. It's become more of "do the best you can with what time/effort you can afford to give without your life falling apart".
WFH largely takes away any connection I had with "the person next to me" as they're not next to me. They're just words in IM or a face on a screen. Just writing this down is making me realise how important it was as the last good reason I had for "getting up and going to work" in the morning.
Definitely going to be looking for a job in the office for the next role.
Reading the comments, it feels like a lot of people seem to have read this as an anti-capitalist piece? I didn't get that personally