7 ms·
It’s buzzword bingo with the aim to inflate the writer’s ego and intimidate the reader. This stuff happens all the time when insecure people get to write things
by rlonn 5y ago
It’s buzzword bingo with the aim to inflate the writer’s ego and intimidate the reader. This stuff happens all the time when insecure people get to write things.
- Spooky23 5y agoExactly. “Idempotent” is one of the key words used as a cudgel in this way. It’s great for the bullshit artist, as to a layman the dictionary definition is completely inscrutable.
- bollu 5y agoIdempotence is a desirable property of systems whereby repeating an action has no effect. Mathematically, an operator is idempotent if f(f(x)) = f(x). Idempotence is handy because it implies that one can retry safely if one isn't sure whether something succeeded or failed. Not sure if your file was saved? Save again! If it was indeed saved, the file continues to be saved. If the file was not saved, it is now. Yay. I would kill for such descriptions of every system I work with.
- lifeisstillgood 5y agoIdempotent is surely a valuable piece of software jargon. I know exactly what the user intends, and have good ideas of how hard it is and what likely trade offs they will be making behind the scenes surely it is the very opposite of bullshit.
- bjourne 5y agoBut the phrase in the paragraph is non-idempotent which is completely redundant. Every piece of software in the world is non-idempotent.
- lifeisstillgood 5y agoApart from the idempotent ones ... :-)
- diegocg 5y agoIdempotent is a perfectly fine word. There is absolutely no reason why CS shouldn't have it's own jargon. I found the description very descriptive.
- ray__ 5y ago"I found the description very descriptive" - an idempotent system in action.
- SkyMarshal 5y ago> as to a layman the dictionary definition is completely inscrutable. This isn't written for laymen, who would obviously never be reading about what SystemD is. It's written for specialists who do engineering work on or with Linux, and who actually need to know the technical details of their tools. And anyway, I suspect plenty of laymen, and highly trained professionals in other fields like law, medicine, and philosophy among others, would have no trouble understanding what "idempotent" is. It's not inscrutable at all, but rather is one of the easiest concepts in CS and software engineering to understand.
- CogitoCogito 5y ago> Exactly. > “Idempotent” is one of the key words used as a cudgel in this way. It’s great for the bullshit artist, as to a layman the dictionary definition is completely inscrutable. Are you saying that being "idempotent" is completely inscrutable? Is it not a fairly straight-forward concept?
- tremon 5y agoIf we're going to be pedantic, "idempotent" (or rather non-idempotent) as used in the description is rather vapid and meaningless. Idempotency is a quality that describes the result of an action; as such, only actions can be thought of as idempotent. Applying the word idempotent to any noun that does not describe an action (such as "dataflow" in this case) is meaningless. What does it mean for a dataflow to be idempotent in the first place? What purpose does it then serve to describe a dataflow as non-idempotent? What they meant to say, I guess, is that the dataflow may contain multiple actions for the same unit, and that systemd makes no guarantees about the end state of the unit in such a case. But even then, it is the execution which should be described as non-idempotent, and not the dataflow.
- int_19h 5y agoThat feels unnecessarily pedantic. If the sole job of entity X is to perform action Y, and it always performs this action idempotently, then why not describe X as idempotent? It's shorter, and it's clear enough. It might not be precisely accurate in the dictionary definition of the word - but natural languages also have DSLs, and those DSLs evolve to adapt to their use cases. Saying "thing that performs an idempotent action" over and over again is a waste of everybody's time.
- Spooky23 5y agoIn the context used, it’s fluff.
- deleted 5y ago[deleted]
- tehbeard 5y agoIdempotent is a perfectly cromulent word for a technical article not aimed at complete newbies.
- coldtea 5y agoIdempotent is a very clear and quite basic term: being able to run something multiple times with no different outcome than running it once. A very valuable property for certain systems (even for simple shell scripts). And the description of systemd just uses bog standard terms related to what systemd does and the resources it manages. But I get the feeling that both this and the parent comment it agrees with were more about the putdown and talking bad at someone, than about a technical or other objection.
- arendtio 5y agoActually, it is just a word to describe the property that if you do something repeatedly, it leads to the same result as doing it just once. So the latter executions don't change anything. And because it is such a common property when talking about algorithms and APIs the word is pretty common among CS people. One very popular example are REST APIs because some HTTP verbs are idempotent and others are not [1]. This is also the reason why your browser asks you, if you want to submit a form again when refreshing a page that has been reached by submitting a POST-form. [1] https://en.wikipedia.org/wiki/Representational_state_transfer#Semantics_of_HTTP_methods https://en.wikipedia.org/wiki/Representational_state_transfe...
- ratorx 5y agoWhich words do you think are buzzwords in the description? What I think of by buzzwords are things like “Blockchain”, “Machine Learning” etc. which are generic topics used to build hype whilst not really explaining anything. In this case however, the words are all fairly precise and accurate (at least from my basic understanding of systemd). They might not be words used in everyday conversation, but they don’t need to be unless the document is targeted as introductory material (which I don’t think is the case). That’s not to say this is the only way to explain it, but it is a very concise way, which I at appreciate.
- deleted 5y ago[deleted]
- awrmc 5y agoI would say most of it is unnecessary buzzwords that don't help explain it. The whole thing can be simplified to something like "systemd is a task runner that has a dependency graph and transactions". That should also be fairly straightforward to you if you've used it a few times. I'd say the other mistake the article commits is by trying to paint this as being a very complex design for the problem space. It's not when you consider the design constraints. You want services to have dependencies, and you want the updates to the unit files to be committed atomically to avoid stale data. Hence, the dependency graph and the transactions.
- Sebb767 5y agoI highly disagree. Sure, it contains a lot of buzzwords, but it clearly describes systemd and its philosophy in a single paragraph. It's not the first thing you should throw at someone unprepared (because then it would really be intimidation), but it prevents you from reading 20 pages of documentation and not getting the gist. Sometimes, a concise, high-level overview is what you need.
- justin66 5y ago> it clearly describes systemd It really doesn’t.
- ADSSDA 5y agoAgree to disagree. Maybe because I've worked in embedded Linux for so long (including on inits of various forms), but that description clearly articulates exactly what systemd is and does and I appreciate the direct, crystal clear technical language rather than some long form essay written assuming a clueless reader with 0 technical background.
- justin66 5y agoYou’re pulling my leg, right? The description could be improved, for starters, by forcing the author to not use the word “object.” That overuse alone makes me wonder if the description is satire. I expect everyone here commenting is familiar with systemd. I doubt very much that anyone who was unfamiliar with systemd and read that description would then have any idea what it does or how it works.
- Sebb767 5y agoI mean, I'll agree with you in so far as that the wording could be improved further. But I do really, honestly think it's a good summary. > I expect everyone here commenting is familiar with systemd. I doubt very much that anyone who was unfamiliar with systemd and read that description would then have any idea what it does or how it works. It depends on what knowledge you expect. If someone is familiar with general init management and some programming concepts, this short summary will get them up to speed (and that's what I/we were arguing). If you grab a layperson of the street and read them this, it's obviously not going to tell them anything - but that's not the target audience. What I value is a short summary which brings a reader, who knows the concepts and the space a software is operating in, up to speed quickly. And that's what this summary does.
- arendtio 5y agoIt uses many well defined technical terms like: - event-driven - object - side effects - kernel resources - userspace - subsystems - unit - scheduled - state propagation - dispatched - singleton - merging - cyclic ordering - consistency checks - dependencies - non-idempotent - weak ordering guarantees And while this list is good for BS Bingo, as these terms are being used in other contexts too, the overall description of what systemd does is pretty precise for just three sentences.
- coldtea 5y agoThat's what you've got from a very clear technical description, in a very detailed history and breakdown?
- kaba0 5y agoIf you don’t understand something, it’s cleverer to remain silent