Threads for fresal

  1. 5

    In German, the words for file and folder are Datei and Ordner.

    Datei is short for Daten-Einheit which literally means unit of data.

    The literal translation of Ordner is something like sorter or maybe orderer and means thing the brings order.

    Hence Germans never discuss this tiresome and futile topic whether files and folders are good or bad abstractions.

    Anyway: named units of data in named hierachical structures are easy to understand and freaking awesome. If you’re unable to grasp that concept in a few minutes, you’ll probably never use a computer for much else than entertainment.

    1. 6

      That might be a retro-explanation. -ei is just the suffix for “place for”. See and . Compare Bäckerei.

      1. 2

        The point I’m trying to convey is that the word Datei stands for itself and doesn’t have an analogon in the material realm. Hence, the confusion about its interpretation is less.

        To clarify: I learned the explanation that Datei is short for Dateneinheit in middle school. It maybe a retrograde mnemonic as I had trouble finding it via web searching.

        I found an explanation stating that Datei somehow relates to the word Kartei (meaning card index) which is composed of Karte (card) and the suffix -ei. Kartei indeed has the meaning of place where the cards are. But as a native German-speaking person it feels wrong to understand Datei as the place where data is. By that logic Datei would have the meaning of file system which is obviously wrong.

        1. 2

          Wiktionary agrees with the Kartei derivation.

          1. 1

            If the folder is where the files are, then it would be Dateiei, and the filesystem the Dateieiei. Doesn’t that sound like a better world to live in?

        2. 2

          I thought it was formed in analogy to “Kartei”, as in a card in a card file (see, there we have files again).

          1. 2

            Datei is short for Daten-Einheit which literally means unit of data.

            As a fellow German I have never heard of this until today. I have been using computers since ~30 years. I doubt that this is well known.

          1. 1

            I say both.

            Learning high level programming gives you power, expressiveness and swiftness. Learning low level gives you certainty, insight and coherence.

            Solely learning highlevel programming is like learning to read without learning about the alphabeth. You can try to directly memorize the shape of each word but it’s much easier if you also learn what the characters mean and how they play together.

            1. 41

              The title sells it short. This is an extremely informative and entertaining post.

              1. 13

                On the other hand: the title is perfect. No click-baity bs. Straight to the topic. It made me think that the author is serious about the post’s content and thus made me read it. It’s a paradigm of how titles should be.

                The title does not sell it short. The article is of equally high quality as the title :-)

                1. 1

                  It’s like reading the script of a talk by Ellen Körbes and Tabitha Sable.

                1. 14

                  Easier way to eavesdrop on Signal users : ask Google to send them a modified apk and update it silently (which android can do for Google Play apps). Or update signal from signal’s own update mechanism.

                  Those huge weak points only exist because of signal’s insistence on not allowing open source builds to be distributed.

                  1. 10

                    It’s worse yet than “if google uploaded a poison APK”

                    Google’s keyboard “GBoard” communicates with the internet for various reasons. You don’t need to poison a fake APK - you can spy on the keyboard directly.

                    And it has rudimentary ML capacity since it can and will correct words that you type previously.

                    1. 1

                      That’s why I use simple keyboard.

                      1. 3

                        Absolutely true that you can install different keyboards - however the defaults always retain a significant amount of power.

                        And Signal’s messaging is poor here as well. They never mention anything about GBoard and its ability to spy on every character you type and substitute. Using Signal with defaults can get you taken for a black van ride, if you’re not careful.

                        1. 6

                          Isn’t the point of signal to make mass surveillance too expensive via rock solid E2E for the masses? You don’t get a van ride if someone isn’t already seriously invested in your messages since mass interception is too difficult using the above methods. Your phone could just as easily be attacked by any other software attack surface. E2E encryption doesn’t solve device/OS level security problems.

                          1. 4

                            Really. A black van ride. I mean your not wrong but this escalated pretty quickly to “Signal is responsible for my abduction by not communicating that the dangerous GBoard is Google’s default in smart phones.”

                            1. 1

                              It’s certainly the outlier, but has happened. And it primarily happens with whistleblowers and similar leak-to-news-agencies.

                              And Naomi Wu (RealSexyCyborg) in China has reported similar with dissident friends who were black-bagged after talking about sensitive stuff on Signal.

                              Doing usual sensitive stuff like sexting or getting passwords isn’t going to have any real ramifications. But if you involve reporters or dissidents, your phone wont protect you.

                      2. 7

                        Easier way to eavesdrop on Signal users : ask Google to send them a modified apk and update it silently (which android can do for Google Play apps).

                        I think Google can’t do that, if Signal signs its app itself. (See Manage your own signing key) In this case Google could only give you a different app with the same name if it’s the initial installation of the app. But for updates this wouldn’t work. Also this would sooner or later be detected by the public since the signature can be compared manually after the fact.

                        Also you can download the APK directly from This way you still have to trust Signal and its TLS CA. The APK updates itself from then on (as far as I know). While the underlying OS is still Android from Google or iOS from Apple, IMO it gets silly to focus on Signal in that regard.

                        I’m happy that Signal exists and that it has the potential to appeal to the masses while providing the technical means to shield (legally acting) businesses from exploiting the chat data. Of course any improvement is welcome no the less.

                        1. 3

                          Who knows with Google, these days? They are known to force-install apps without notification or consent:

                          1. 3

                            Who checks the signature of the app you’re running? It seems like it’d be pretty easy to have Android not check the signature on startup, if you’re considering Google acting against the user.

                            1. 2

                              If we go full paranoia: theoretically there is a possibility that the Google Play app installer service could secretly circumvent the whole “updates-with-same-certificate” model by e.g. replacing the cert in the package manager’s database, right? (Assuming Play has parts running as root which I think it did?)

                              1. 2

                                Even on rooted devices, a changed certificate will cause the device to first uninstall (and remove all associated data) the existing app.

                                If we assume Google is going to be complicit in a surveillance measure in the future, they will have had to add a covert option for the OS to not do that in the past.

                                But if we assume Google to be complicit, all bets are off anyways and you should probably side-load Signal to begin with. And replace the phone OS with one you built yourself after auditing all of its Millions lines of code

                            2. 3

                              Or update signal from signal’s own update mechanism.

                              That would require you to have Signal’s signing keys which I hope live in some HSM and which require manual physical interaction to make use of

                              ask Google to send them a modified apk and update it silently

                              This would work, but only for fresh installs. The system refuses to update an installed apk with one that’s signed by different keys.

                              You can force the install, but it will first uninstall the existing application with all of its data

                              1. 1

                                Those huge weak points only exist because of signal’s insistence on not allowing open source builds to be distributed.

                                Ironically, this insistence means that on Linux the only installation is via their third party apt repository rather than from an official distribution package source. It’s the exact opposite on Android, where the only installation is from Google, the “official” Android distribution package source. This is exactly the wrong way round to how I’d like it because in both cases more trusted sources are available.

                              1. 3

                                This blog post has a very annoying cookie consent overlay that doesn’t offer a simple no. So I went away.

                                1. 32

                                  derek-jones claimed that experiments on unwitting participants were acceptable because Nazis gained valuable data in murderous experiments. antt literally wrote “Gotta hand it to them” for killing fewer people in the Holocaust than big tobacco, whose critics were denounced as Nazi-like. Neither permitted a sarcastic, satirical, or other reading.

                                  I’m sorry I wrote flippant ban messages, you’re entirely right that they’re not useful. I was shocked and horrified by the comments and I reach for black humor as stress relief in shitty situations. But me throwing up my hands at the awful absurdity of someone publicly going to bat for Nazis isn’t useful for setting site norms or conveying the seriousness of the situation.

                                  I’m not OK with continuing to publish these comments praising Nazi atrocities or downplaying the Holocaust. They’re so repugnant that there’s no potential learning value like there could be when a comment crosses a line like “language Foo is bad” to “you, fan of language Foo are bad”.

                                  As to leaving up other final messages before bans, I think only sockpuppet voting rings and the guy who posted about how bitcoin is like a handjob have gone from totally off my radar to banned in a single post. The overwhelming majority of bans, it’s someone who’s been getting heavily flagged over a period of time and had multiple DM conversations with a mod about what’s not acceptable. The last message before a ban isn’t special, it’s the last straw of a pattern of abuse that I try to explain in the ban message. I often revise these in IRC between me, @Irene, and the two chat mods, @355e3b and @aleph for clarity, but the final wording is always my responsibility. I haven’t gotten many questions asking for further explanation so it seems like this is going OK.

                                  1. 6

                                    I think it’s important to note that there wasn’t exactly a pattern in comments by that user, that I saw–and frankly with you saying “Neither permitted a sarcastic, satirical, or other reading.” after trashing the source material none of us will ever know.

                                    I can think of several ways of stating some similar sentiment about that odious medical research, ranging from “Dr. Josef did nothing wrong” at one extreme all the way to “There is perhaps the tiniest comfort that the unjust and inhumane suffering inflicted on uninformed and unwilling participants was not completely in vain: post-war reactions to this experimentation started a massive shift in ethics for medical research and norms.” Without the source comment, there’s no way for us to know.

                                    Locking subthreads (or even just a “We’re not here to litigate the Holocaust, this is off-topic, stop or get banned.”) would probably be a better way of handling it in the future.

                                    1. 12

                                      Maybe I’m weird, but I’m of the opinion that we shouldn’t be waiting for someone to demonstrate they are a repeat offender in playing-down-the-holocaust for them to receive a ban.

                                      1. 3

                                        The question is all about intent IMO: did they intend to downplay the Holocaust, or did they phrase a point in a bad way? There’s even room for accidents: I’ve sometimes made posts where I accidentally omitted a word like “not” which means what I wrote was the exact opposite of what I wanted to say. My original reading of derek-jones’ comment was that they said Nazi experiments were unethical, although reading it again carefully they may have actually said it’s a good thing. Is that what they intended to say? I don’t know…

                                        In principle I agree with your point. I’ve kicked up fuss in the past about this sort of thing (I spent a lot of time trying to change that site, both publicly and less publicly, I ended up just deleting my account as it had no effect, literally worst site in SE network ever). In that case there was 0 doubt, but sometimes it’s not so clear what exactly was intended.

                                        That’s the problem I have from operating on a single data point. Perhaps it’s naïve to a degree, but I’d rather be a tad naïve than see a Nazi every time someone says something stupid. On the other hand, I’d also rather have the occasional overzealous ban that ever deal with anything even close of that fucking cesspool of Politics SE again where literal Nazis and other outright assholes were given 90 chances before getting a short ban after which the cycle all started over again.

                                        1. 1

                                          I appreciate your thoughts. I think we basically have a moral disagreement.

                                          The question is all about intent IMO

                                          Whereas I feel pretty strongly that it’s only a little bit about intent. A culture that assumes good faith in people that say borderline nazi stuff seems, at best, naive enough to unwittingly shift the Overton window in a direction that makes more room for it, and the annoying trolls that stuff it into tired faux-rational multi paragraph comments. I’m not interested in hanging out in that kind of space. It’s immature, good people leave, and it gets more trolly, childish, and reactionary over time.

                                          Perhaps it’s naïve to a degree, but I’d rather be a tad naïve than see a Nazi every time someone says something stupid.

                                          I know what’s you’re getting at. This reads as handwavy to me, so let’s be precise because it’s important not to distort what has actually taken place in favor of what’s happening in hypotheticalland. What actually occurred, if we’re talking about yesterday’s ban, was someone saying something to the effect of ‘gotta hand it to the nazis’ because they didn’t kill as many as the smoking industry.

                                          So the comment wasn’t only “something stupid”, but specifically invoked nazis being ‘not as bad as’ something else. Even if they’re true in some narrow sense of number of deaths or injuries, do they have to be a literal card carrying nazi to be a malignant asshole that invokes nazis-as-less-harmful-than and ought to leave?

                                          1. 6

                                            Or just a bad way of phrasing and not what they actually intended to say? Or maybe it wasn’t and they’ll be at a KKK rally this evening. It’s likely we’ll never know for certain. Either way, I’m not going to come to any sort of conclusion based on a single data point. I always find it a bit disturbing how casual these things are flung around. At this point anything is “hypotheticalland” because all we have is a short statement that, on the face of it, of course aren’t good, but not everything is always what it appears at first sight.

                                            (I apologize for the length of this post by the way; it’s really as short as I can make it while still accurately and clearly explain my views, at least, I hope it’s clear. It’s not something I can explain in three or four paragraphs; perhaps if I was a better writer, but unfortunately I am not.)

                                            In my experience it’s actually really easy to find these sort of things out: just talk to them. The innocent will reply with “oh, I’m so sorry, I didn’t intend it like that!” and all is fine and we can continue as we were. The actual Nazis will almost always double down. I’ve also had this happen with a friendly mod messages I sent years ago: “hey, I deleted that because it came off as insensitive and vaguely racist because [reasons], I appreciate that wasn’t your intention but please be a bit more careful in how you phrase it in the future, cheerio!” And I got a reply saying it absolutely was their intention followed by some long rambling racist screed trying to convince me that The Jew is actually running the show and that a Goyim like me shouldn’t be fooled, or … something. I didn’t bother to read it but thanks for clearing that up; hold on while I revisit my earlier decision to just send a warning and never speak to you again. That’s also what happened in that SE thread I linked, where the Nazi ass started referring to the Holocaust as an “alleged historical event” right in the public thread calling out his anti-Semitism and calling for him to be banned, which finally netted him his long-deserved ban.

                                            Crackpots in general just love to talk about their crackpottery to anyone who shows vague interest in it (of even to those that don’t); Nazis are rarely an exception.

                                            And to be clear: we absolutely shouldn’t tolerate these posts or people that consistently make them. They should be deleted and the users sent a message this wasn’t appropriate. No disagreement on that. A second similar offence after the warning can just result in a ban because at that point we’re past the point of “maybe it was just a stupid moment” and a pattern has been established (tangentially related previous post]( I don’t think there’s much risk of shifting the Overton window, and I also don’t think we have that much of a moral disagreement as I am absolutely not in favour in making Lobsters a space where Nazis are somehow tolerated; I have argued before we should ban known Nazis even if their on-site behaviour on Lobsters is unobjectionable. I also wouldn’t want to hang out in this kind of space, like you, and would leave as I did on the Politics SE site in spite of being one of the top users in the years I participated (a somewhat sad affair, as I really like the premise of the site, which is fairly unique AFAIK, and spent a lot of time trying to make it work).

                                            Do I have patience or “tolerance” for Nazis or anything vaguely in that direction? No, absolutely not, and I will spend active effort to address any such issues, as demonstrated. But at the same time I’m also hesitant to jump to conclusions; I don’t think any of that is “handwavy”, I’m careful with this exactly because I take it very serious. The more serious an allegation, the more careful I am. And “Nazi” is pretty darn serious as far as I’m concerned.

                                            Also, as an additional point, not everyone lives in the same context and culture; and not everyone has the same sensitivities.

                                            I lived in Cork, Ireland for a while. One of the houses in my street had a confederate battle-flag in their window. I thought this was just the oddest thing, why would anyone in Ireland have such a stupid thing? Are you so racist that you’re now fighting for the “states rights” to keep slaves of a country you don’t even live in?

                                            Then I realized it may actually be something entirely different. Cork is the “rebel city”, referring to a rebellion against the English in medieval times. It’s a common nickname and there’s loads of references to “rebel” in Cork. Maybe … it was just a matter of “Rebel city? Rebel flag!” and they didn’t really understand the full context? I think it’s likely. I used to watch the Dukes of Hazards on TV as a kid, and for a long time I thought that the confederate battle flag was just the logo for the “General Lee”, which seemed like a really odd name for a car, but whatever. Only much later sometime in my 20s did I realize that actually, this was the Confederate battle-flag, and that “General Lee” referred to General Robert E. Lee. Do’h! And after that it took me some more years to really understand the history of the US and the civil war and that the Confederacy was actually really bad. I absolutely could have said something insensitive, perhaps even “borderline nazi stuff” at this point, simply because I didn’t really know what I was talking about back then on account of not being from the US.

                                            I watched The Death of Stalin with my Indonesian girlfriend some time ago, which parodies the death of Stalin and ensuing rat race for the leadership. At some point mid-film she asked me “Stalin was the leader of Russia for a while right?” and “did he really kill that many people? Did that really happen?” She’s not stupid, far from it, but those kind of things are mostly just not a thing here. Similarly, I’ve talked to plenty of people (including her) who don’t really know all that much about Nazi Germany or Hitler. Hell, I know someone who named their son “Adolf”. I chocked in my drink at first, but then she explained that he’s named after her Dutch grandfather (Adolf was a common-ish name before that failed Austrian painter ruined the name together with an otherwise perfectly serviceable style of moustache). “Oh yeah, Adolf Hitler, he was this leader in Europe right?”

                                            Indonesia was occupied by the Dutch and Japanese, not the Germans. That’s what they learn about in history lessons. I didn’t get any history lessons about the Japanese in WW2 either, because for my country it wasn’t really a thing (other than leading to Indonesian independence, on which I did get quite a lot of on account of being Dutch and the colonial history).

                                            Every culture has their own sensitive topics. For a lot of us, it’s almost inconceivable that someone doesn’t know about the atrocious Nazi history and doesn’t consider them to be pretty much the epitome of evil. But if you go beyond the “western cultural bubble” then it quickly becomes a lot more murky. I’m not trying to make some cultural relativism point or say that we need to respect all sensitivities equally because then we would also have to ban anything “blasphemous” or in favour of gay rights, and of course we shouldn’t allow offensive stuff just because someone is from, say, Indonesia. I’m just saying that “borderline nazi stuff” and such may not always be what you think it means at face value.

                                            Whether any of this is applicable here: who knows. But this is another reason I tend to be careful.

                                            1. 3

                                              Whereas I feel pretty strongly that it’s only a little bit about intent.

                                              I don’t think this makes sense if one thinks about it for more than a second. Ignoring intent tends to make it easier to hurt people who make honest mistakes or borderline cases, and makes it harder to deal with clever bad actors who follow house rules…and that’s before we even get into deeper philosophical questions.

                                              A culture that assumes good faith in people that say borderline nazi stuff seems, at best, naive enough to unwittingly shift the Overton window in a direction that makes more room for it, and the annoying trolls that stuff it into tired faux-rational multi paragraph comments. I’m not interested in hanging out in that kind of space. It’s immature, good people leave, and it gets more trolly, childish, and reactionary over time.

                                              This exact same case can (and is) made for the takeover of spaces by “SJWs”, communists, and other radicals. It’s a valid critique that cuts both ways–and opening the Overton window is essential to have a functioning marketplace of ideas.

                                              What actually occurred, if we’re talking about yesterday’s ban, was someone saying something to the effect of ‘gotta hand it to the nazis’ because they didn’t kill as many as the smoking industry.

                                              You’ve done a bit of a bait-and-switch here…I was referring specifically to the @derek-jones case (even linking to their profile). You seem to be referring to the @antt case, which even a casual reading of the comments suggests was trending towards some weird off-topic behavior even if it they weren’t going to go all nazi (and who knows, the comment pattern suggested that might have been the case). I’ll also note that, with the WHO reporting 8 million deaths a year, @antt wasn’t factually incorrect–but the comment history signals intent, which under your professed view we must discount.

                                              Even if they’re true in some narrow sense of number of deaths or injuries, do they have to be a literal card carrying nazi to be a malignant asshole that invokes nazis-as-less-harmful-than and ought to leave

                                              It’s not some narrow sense–if you believe the WHO’s numbers and you believe the Holocaust numbers then yes, the cigarette industry is literally 10x worse than the Nazis. They’re probably even worse than that, given the number of Nazis-per-death versus the tobacco-executive-per-death–unless you want to make the argument, as some have and some will, that even a single life of the chosen people (here Jews, but others can and have made the argument for Muslims, Christians, Blacks, gays, , etc.) is unforgivable; that all deaths are equally incalculable losses; that deaths due to consumer choices are not the same as deaths due to murder; or whatever else.

                                              That’s prima facie a valid discussion to have–if you have even a slight philosophical bent–but it sucks the air out of the room and the normative ethics of taking human life isn’t something that Lobsters as a community either has space for or the tools to do without kicking up a lot of dust.

                                              Why work this example? @antt was correct in their observations, but again the inferred intent (based on multiple posts, at least one of which is still available to read) was being a nazi shithead, and we judge them on that.

                                              @derek-jones had one post which we can’t even refer to anymore, and didn’t seem to have any history of this behavior.

                                              I for one would prefer a community where we at least try to understand intent–going by surface-level signalling is woefully insufficient and unjust.

                                              1. 2

                                                That’s prima facie a valid discussion to have

                                                Maybe, but not on this site.

                                                1. 2

                                                  Agreed, as evidenced by the rest of the sentence. :)

                                                  1. 3

                                                    True, I misread the rest of the sentence. Sorry!

                                      2. 5

                                        Thank you. I believe that this is the kind of moderation we need.

                                        1. 4

                                          I’m sorry, the ban message wasn’t bad per se. My criticism to it was because without the context of the comment, I thought it was a generic pre-written reason

                                          1. 3

                                            In my eyes your reasoning and reactions were good. I imagine it’s tough continuously having to assess potentially bad contributions. Well done.

                                          1. 5

                                            :^) Hits bong… “You know what ? We should get rid of the Desktop metaphor. It’s like soo old, bro. We tell somebody to replace it with like deep search tech and then we can get all the cat pictures instantly.” /:^)

                                            With more seriousness: More complexity always helps. Except if complexity itself is the problem.

                                            Having a software (i.e. “other people”) trying to determine relevance of data snippets or files in a similar manner as web search engines do as the center piece of a personal device UX would be horrible in my opinion. It would add a huge amount of uncertainty to the user experience. I believe it would ultimately increase the mess beyond the user’s reach.

                                            How do you search for cats in pictures in such a system ? With image recognition ? Even if this would work reliably how do you isolate the picture you’re looking for if you have 1500 or more pictures of cats. Are you gonna scroll through them every time you need a specific picture ? And all cats that ever have been copied to the clipboard or have been on any webpage you ever visited or instant message you ever received will also be in this list. How does the “deep search tech” determine relevance in all this data ? Even if a lot of metadata is recorded it would be impossibly hard and error prone to determine relevance since only you interacted with all the snippets and almost every case only one single time. Web search engines depend on the input of thousands and millions of users looking at the same stuff to determine relevance.

                                            By letting data rapidly decay it would be stripped from the a central benefit that a computer can bring. If you want your data to decay based on personal relevance just use your human mind. If you can remember where you stored the picture, it is relevant. Even if you have a search mechanism you need your human memory to remember the data’s existence as well as a useful search term.

                                            I do support the notion that modern software should be able to store state without troubling the user with dialogs. Though a lot of software does this already (be it in a mobile OS or one of those dreaded Desktop OS :-).

                                            Oh and there was one sentence that I could not understand at all:

                                            Maybe today’s desktop makes more sense as a deeply capable air traffic controller librarian character, rather than a main center for documents.

                                            Can somebody who understands it explain ? Please and thank you.

                                            1. 2

                                              When I “Block all third party cookies” does that mean every site other than Google sites? Or does that just mean third party cookies that Google and its affiliates would otherwise send me?

                                              1. 5

                                                Third party cookies are HTTP cookies set by resources from a 3rd party domain being fetched, for example tracking pixels

                                                1. 4

                                                  There is a main domain name (or just domain) for every webpage you visit. It is the same as the domain name that you can read in the webbrowser’s address bar. For example if you go to, then the main domain is

                                                  Once the initial data of the webpage has been loaded from its main domain, it almost always contains instructions to load more data – including cookies – from other domains. These other domains are called third party domains. Hence cookies from third party domains are called third party cookies.

                                                  When you “Block all third party cookies” it means that for every webpage you visit, the webbrowser is only allowed to exchange cookies with the main domain.


                                                  1. 1

                                                    Got it, thanks.

                                                1. 1


                                                  If you don’t have the time to write this kind of document, at least write something along the lines of: “In order to understand this project, start with reading the source code file(s): [short list of source code files]”

                                                  Also a historical list of high level decisions with dates is way more helpful then many imagine.

                                                  1. 31

                                                    Good advice, except the one about skipping man pages. Man pages are easier to use and almost always more useful than --help. They’re “rich text”, they automatically open in a pager and they have a pretty much standardized disposition and format.

                                                    The only exception is when developers are too lazy to write them and instead generate them from some other, non-man documentation. These man pages usually turn out terrible. But honestly, mdoc is not that hard. If you care about user experience, you should write a man page for your program.

                                                    They don’t work on Windows? Says who? I’m sure man is ported to Windows. And besides, why should the way Windows works dictate how I write UNIX tools? I use both Windows and UNIX, and I don’t expect them to be the same type of system – that’s why I use both.

                                                    Also, citation needed on the claim that “not enough people” use man pages. How can you know that?

                                                    1. 5

                                                      I think your advice on man pages here is a bit off, or at least, it’s not the advice I would give.

                                                      The only exception is when developers are too lazy to write them and instead generate them from some other, non-man documentation.

                                                      You seem to be using “lazy” as a pejorative here, but I see it as a positive in this case. My main problem with writing the entire man page from scratch is that it duplicates a lot of the documentation that is shown in the --help output. So when the docs change in one place, you have to remember to make the same change in the other place too. This is annoying. So it’s not just a matter of sucking it up and writing the man page in the first place. There’s a question of continued maintenance here.

                                                      I write a portion of my man page in asciidoc while the rest is generated straight from the argv definitions. Overall, I think the resulting man page looks pretty good. Certainly not terrible.

                                                      They don’t work on Windows? Says who? I’m sure man is ported to Windows. And besides, why should the way Windows works dictate how I write UNIX tools? I use both Windows and UNIX, and I don’t expect them to be the same type of system – that’s why I use both.

                                                      I don’t use Windows and I don’t know the state of man tooling on Windows. But I don’t know anyone who uses man on Windows regularly. People who use my CLI tools on Windows might not have cygwin or WSL or whatever else installed. It’s a native Windows program, so they don’t need it. It would be awfully user-hostile of me to only offer the complete docs for the tool in a way that doesn’t let them read it natively on their system. “Oh no sorry, in order to read the docs for this tool, you need to go out and download this other port of a UNIX program. Good luck setting it up.”

                                                      That’s why I try to write man-level documentation in my argv definitions. So that when a user uses --help, they see exactly the same documentation that appears in the man page. And they don’t need a special tool to read it.

                                                      Now obviously, man-level documentation is quite verbose, so the compromise I settled on is that the -h flag will show a much briefer set of docs.

                                                      But the point is this. All the docs for all the flags are located in exactly one place and that place occurs right next to that flag’s definition in the code. So when you need to add a flag or change docs or whatever, everything is right there near each other. Locality is a useful feature.

                                                      So I’d say we agree that “forget about man pages” is bad advice. It makes me sad that it’s being promoted here. But let’s not be blind to their downsides and the realities of maintaining cross platform tools.

                                                      1. 2

                                                        I think you have presented a very responsible way of generating and thinking about man pages here. I like your compromise between -h and --help. I agree with you for the most part!

                                                        However, I think that your generated man page (rg.1), at least as it appears on my system (Alpine Linux), is an example of the risks of such generation. The NAME section is preceded by six empty lines, and the definition lists likewise have too much spacing in comparison to traditional man pages (example). These small details are easy to miss when generating man pages from another format.

                                                        But this is not a fundamental problem with your method, it is probably an easy fix, nor am I against such generation in general, if only done responsibly and consciously. You have clearly put good effort into it. Other than the spacing, rg.1 looks like any other man page.

                                                        1. 1

                                                          Yes, to your point, I used to use Markdown and converted it to a man format using pandoc. But the results were quite terrible. I almost just decided to learn mdoc and figure out how to use that, but noticed a lot of other projects using asciidoc and getting decent results.

                                                      2. 5

                                                        I think man usage is closely tied to what type of programming and what environment/OS is being worked on.

                                                        If you work mostly on JavaScript on windows almost all of the documentation (command or library-wise) you regularly interact with is going to be on the web. If you are doing C on BSD, then you probably lean on man pages a lot. Most of the devs I know at work so Java on Linux or C# on windows, and I doubt most of either group of them are used to man pages.

                                                        And if there’s a windows implementation of man (not cygwin or WSL), I’d love to see it.

                                                        That being said, mandoc/mdoc is delightful, and I wish it would become more popular and cause the authors to change their mind.

                                                        PS powershell help is infuriating - it seems comprehensive, but built for a different thought process than I’ve been able to force myself into. Tips would be welcome.

                                                        1. 7

                                                          If you work mostly on JavaScript

                                                          Indeed, I think this goes for web technologies in general. They don’t use man pages because they are not UNIX tools. The same goes for C++ and Java to some extent. No problem there.

                                                          But when JavaScript developers start building UNIX tools, they should write man pages for them, because the man page is part of what a UNIX tool is. UNIX users expect their programs to have manuals.

                                                          And if there’s a windows implementation of man

                                                          I’m not sure to what extent the man program itself works on Windows, with how it locates man files across the system, but I know mandoc, which man uses to render man pages, is ported. You don’t need Cygwin or WSL to use it.

                                                        2. 4

                                                          To be fair if your only experience with man pages are Linux’s then you probably would almost always skip them.

                                                          It was only when I started using OpenBSD that I realised the true power of the manpage.

                                                          1. 4

                                                            I’ve used both OpenBSD and various distributions of Linux, and I think this is somewhat true, but not entirely. OpenBSD does make a greater effort to document the system as such, which is difficult to do for a Linux distribution, because it uses a bunch of different parts written by different people. But reasonably, program documentation must be pretty much the same on both systems, at least for programs that exist on both. Linux also has a lot of good documentation for C functions.

                                                            1. 4

                                                              ^^ this. I literally have a dedicated vertically oriented “man screen” that synchs from word-at-cursor with a vim keybinding against the OpenBSD man pages first, with a few exceptions (ptrace, mmap, …) even if I am on a Linux machine a the moment.

                                                            2. 3

                                                              I’ve always got the feeling that the man pages themselfs are great but navigating them is not where it could be. Try finding something in man bash. All the information is there but you just can’t find it if you’re not already experienced.

                                                              And ironically understanding less(1) through its man page is horrible. There are just too many not that useful esoteric options, commands, special notations for key combinations etc. pp. for a tool with such a simple and important purpose.

                                                              Using manpages should be dead simple (like markdown for example).

                                                              1. 2

                                                                My main issue with man is that I often struggle to find exactly the flag I need, as they tend to be rather lengthy. However, on a --help, I can search on my terminal and often find what I need in less steps.

                                                                As for your point, you should definitely discuss it with them, then the post can be improved for everyone else.

                                                                1. 12

                                                                  FYI, man usually supports / to search

                                                                  1. 4

                                                                    Yes, but still, there is way more information, so it becomes harder to find exactly what I need. Sometimes such a simple search for a substring doesn’t cut it (if less has more fancy searches, I’m not aware of them).

                                                                    1. 1

                                                                      Yes, man, at least mandoc, supports tags – type ‘:t’ to jump. It also supports full text search across all manpages at once, using either whatis or apropos.

                                                                      For writing manpages, there are also more friendly options than troff these days. For example, scdoc is reasonable. Here’s an example of scdoc documenting its own file format:

                                                                  2. 3

                                                                    As was said, less (the pager man usually uses) supports / for searching and & for grep-like filtering. Much more convenient, in my opinion, than running --help output through grep.

                                                                    That said, --help is fine for a concise specification of the tool’s options. It is not meant for more descriptive explanations. That’s where man pages are useful.

                                                                  3. 1

                                                                    I use app help all which prints out all help topics, and by piping that to less or your pager of choice, you’ve got essentially the same as you would have with a manpage, including formatting.

                                                                    I could work on also providing a manpage with more or less the same text, but … what’s the point? I suppose that man app is kinda convenient, but it’s a very small convenience and comparatively a lot of work.

                                                                    1. 4

                                                                      The problem is that your x help all interface will always be inferior to man x because it is not a consistent interface that the user can expect every program to work with. I don’t think we appreciate that enough – being able to type man x to read a well-written documentation for every program on the system is a dream come true.

                                                                      By not providing man pages, the developer not only annoys the user; he lowers the user’s expectation that man x will work for any x, which causes the user to look elsewhere for documentation in general, making man less popular, which in turn developers see as an excuse not to write man pages, which causes users not to expect man pages to be available, and so on forever, in a vicious circle. The more UNIX tools that are created without a man page, the less the man ecosystem will prosper.

                                                                      In other words, I think providing man pages is responsible and commendable. For once in the UNIX world, there is a canonical and unified way of doing something. It would be a tremendous loss if we reverted to a thousand different and mutually incompatible help systems.

                                                                      1. 2

                                                                        Manpages aren’t consistent either; conventions differ widely. Here are four manpages from some fairly standard tools (curl, ls, top, xrandr), and the formatting of the flags is all different. I didn’t have to try many manpages to get this either: just load 4 tools from 4 different authors/ecosystems.

                                                                        I’m not supposed to generate these manpages either according to your previous comment, so I’m supposed to endlessly muck about with this unreadable and uneditable troff nonsense for every update, which would be a duplicate of the inline CLI help and a massive waste of time IMO, just so you can type man app. Call it “lazy” if you will, but if we want to sling those sort of adjectives around then not wanting to type app help all – which gives almost identical results to man app – is much lazier, as the amount of effort for that is minimal, whereas the effort for writing non-generated manpages is pretty large.

                                                                        1. 2

                                                                          The formatting in those example is somewhat different, but mostly the same. The differences seem fairly irrelevant because I’ve read all of those man pages before and never noticed that they were slightly different in how they use indentation and bold text. You could say there’s a forest here to be seen beyond the trees.

                                                                          What I said about generation in my original comment only goes for what one might call lazy and ignorant generation, characterized by these things:

                                                                          • The end result does not read like a man page, because it is generated from a type of documentation entirely unlike a man page.
                                                                          • The developer is largely clueless about troff/mandoc and the man page system and trusts a generation system written by somebody else, who might or might not know what they’re doing.

                                                                          This is the type of generation I call lazy. Not generation in general. In fact, troff is a great target for generation – if you know what you’re doing. Your help x/y/z documentation, which I am not saying is bad, might be generated to troff with great success, but it depends on how it is written, and it must be done with care.

                                                                          I realize it might sound a bit demanding: not only must you provide a man page, it must also be well-made. But naturally, if I think man pages should be provided, I also think they should be good. The way I see it, the user is always going to be lazy, but the developer should try not to be, and it is noble if one tries.

                                                                          (Besides, developers regularly work with all kinds of arcane languages, not least the UNIX shell. Troff is just another one, and a relatively simple one at that, especially if you stick to m(an)doc, which doesn’t actually use the troff program per se AFAIK.)

                                                                          (By the way, Git is a good example of a UNIX tool that has man pages like help x/y/z, except they’re man git-x/y/z.)

                                                                          1. 3

                                                                            But the result are exactly the same. Why spend a day (optimistic, will probably be more) writing some troff tool? Just because I know one “arcane” language doesn’t mean I should learn another just to fit the personal preference of some random person on the internet. Life is short. There are a lot of things of value I’d like to do. Dealing with troff is not one of them.

                                                                            Good documentation doesn’t depend on the format; that’s just a boring implementation detail. Docs in HTML or PDF is far from my favourite format, but I’ll choose well-written HTML or PDF docs over some manpage any day, especially if that makes things easier for the author. Good documentation depends on clear writing, which is hard and time-consuming, so it’s probably best to spend time there than on technical implementation stuff. If manpages work for you: great, go for it! If something else works for you: use that.

                                                                            1. 2

                                                                              But the result are exactly the same.

                                                                              What does this refer to? Maybe you can clarify.

                                                                              Regarding format, it is not just an implementation detail. Man pages can be compared with academic papers, which also follow a more or less standardized format. People expect an abstract, an introduction, methodology, background, results and so forth. This format may sometimes feel like a burden for the authors, but ultimately, it helps them. And paradoxically, creativity tends to flourish precisely when it must work under restrictions.

                                                                              I’ll choose well-written HTML or PDF docs over some manpage any day, especially if that makes things easier for the author

                                                                              I think most UNIX users would be find it very annoying if some of their programs were documented in HTML, other in PDF, yet others in mdoc, etc. etc. Man is valuable because it is a universal documentation system. That doesn’t mean it has to be the only documentation system. Very complicated programs, such as Emacs, cannot and should probably not be documented entirely in man.

                                                                              If manpages work for you: great, go for it! If something else works for you: use that.

                                                                              Again, from the perspective I’ve represented here, I don’t think this is a proper way of thinking about it.

                                                                              If man pages are an intrinsic part of what UNIX tools are, which I argue, then not providing a man page for a UNIX program is akin to not providing an installer for a Windows program. Some Windows programs are provided as zip files, which the user must install manually, but that is not in line with what Windows programs should be.

                                                                              I think we should not move towards more fragmentation here. It would surely be easier for developers, because it is always easier (or at least it feels easier) to work without restrictions, but would be a great loss for users and the UNIX ecosystem in general.

                                                                              1. 3

                                                                                But the result are exactly the same.

                                                                                What does this refer to? Maybe you can clarify.

                                                                                That a help command (or -h/--help flag) doesn’t need to be that different from what you get from a manpage; see e.g. this or this. You could argue this or that should be bold or underlined or whatnot, but I’d format it more or less the same in a manpage (not a huge fan of a lot of bold/underline text), and the principle is the same: short, concise plain-text documentation.

                                                                                The only tool that I still maintain with a manpage essentially just duplicates the --help output. It’s fairly pointless IMO, and just increases the maintenance burden for little reason (the --help output is actually better because it’s easier to align stuff better).

                                                                                Manpages haven’t been “the standard” for years; loads of CLI tools come without manpages, or essentially just manpage for the sake of it but without the full (or even useful) docs. GNU tools actually do this: the full documentation is usually available in info; for example yesterday I wanted to set the time to the year 2100 to test some potential 2038 bug, and date(1) has just:

                                                                                   -s, --set=STRING
                                                                                          set time described by STRING

                                                                                STRING … yeah, useful … what kind of string? It’s not really mentioned anywhere, but info date has much more detailed (actually useful) docs on this. This is common for a lot of CLI tools, not just GNU ones (although only GNU tools use that weird info thing).

                                                                                Your entire argument is essentially just “I prefer it like this, therefore everyone should be doing it like this”. It’s fine to prefer things and argue the advantages of this – I do this all the time – but I really don’t like it when people go around telling me what I “should” be doing with my spare time, that I’m “lazy”, or that it’s not “the proper way to think about it”. I have no doubt this was not your intention, but it comes off as fairly unpleasant and even aggressive to me. Do with that feedback what you will.

                                                                                1. 1
                                                                                  1. Thanks for clarifying.

                                                                                  2. I still maintain that man pages are a de facto standard, and I think your example proves that. Otherwise, why would the GNU tools even have man pages?

                                                                                    Further, I would estimate that the majority of CLI tools packaged by popular Linux distributions actually do come with man pages. Sometimes, package maintainers even add them manually. Why would they do this, if they didn’t have an idea that man pages are or at least should be a standard documentation system that their users can rely on being available?

                                                                                    I think your argument is akin to saying that there is no “standard” sense of morality or values within a culture, just because some people within that culture disagree with it. Democracy and liberalism are “standard” values in most Western countries even if some neo-fascists who live there disagree with it.

                                                                                    A couple of exceptions don’t disprove the rule, and even large disobedience to a standard (e.g. the ancient Israelites) does not remove the standard (i.e. their ideal law).

                                                                                  3. No, I argue for man because I think it is a valuable standard. I don’t think it’s perfect, it’s just okay. In fact, some mix between man and info would perhaps be better, in theory. But in practice man is the closest we’ve got.

                                                                                    That’s why I think UNIX developers should put in the effort to write man pages, because I care about the preserving the man system.

                                                                                  Sorry if I came across as arrogant. I tried as much as I could to argue as clearly and convincingly as possible and limit the claims of my own opinions by saying “I think”.

                                                                                  I think this discussion has reached its limits, at least for now, but I’d be glad to discuss this some other time and really try to understand each other. Dank u voor de discussie!

                                                                                  1. 1

                                                                                    By the way, one of the things I’ve been meaning to write for years is a “unified documentation viewer”; typing doc ls will display the info page if it exists, or the man page if it exists, or the output of ls -h and/or ls --help if that works, etc. This would also include native support for rendering asciidoc and/or Markdown, as well as a pager that makes some things a bit easier.

                                                                                    I think something along those lines is probably a more useful path forward than telling people to write manpages, and if done well it probably has the potential to outright replace manpages as the de-facto standard Unix documentation tool. I mean, there’s a reason people aren’t writing them, and addressing these reasons is more helpful (I have similar feelings to the “you should use {IRC,Email,…}” arguments that people use).

                                                                                    1. 1

                                                                                      doc ls

                                                                                      That’s not a bad idea. I’d be very interested in such a tool. It would certainly be very useful, sort of along the lines of tldr.

                                                                                      there’s a reason people aren’t writing them, and addressing these reasons is more helpful

                                                                                      Interestingly, we both seem to take a pragmatic approach to the way we think about these things. In my case, I think that neither e-mail and man are perfect, but nonetheless I care about preserving them because they’re already so widespread, and having a standard, regardless of how imperfect that standard is, is better than fragmentation.

                                                                                      I agree that it is ultimately ineffective to yell at people to use e-mail or man, when they’d be more persuaded if e-mail/man were actually made easier to use, which they certainly can.

                                                                                      Sometimes, though, people just think that man is hard to use. They haven’t actually read the mandoc/mdoc manuals or really tried to find any information on how man pages are created. They’ve ruled out man(doc) beforehand, simply because a lot of people online, who in turn might not have any actual experience with man(doc) either, say that man is not modern or is hard to use or that not enough people read man pages anyway (for example, the page discussed in this thread).

                                                                                      In these cases, while it isn’t helpful to yell at people, it might be helpful to suggest to them that their prejudices about man are incorrect and that they should look into it honestly and reassess it.

                                                                              2. 1

                                                                                I wonder what @johnaj thinks of help2man or if he has another suggestion. help2man is what I’ve always suggested to cligen users.

                                                                                It might be “not so hard” to write in a common sub-dialect that winds up formatting well-ish in both help & man formats. Then muscle-memory man cmd folks and --help folks can all get along with minimal extra effort. Maybe sometimes a little auto-postprocessing on the output of the generated troff stuff could help.

                                                                      2. 1

                                                                        This has been one of our more controversial suggestions with reviewers too! This guide is intentionally meant to be a bit opinionated and to open discussion, so I’m enjoying the debate. ;)

                                                                      1. 1

                                                                        Here are two (canonical) traits that (among others) make up a terminal:

                                                                        • It can only display characters.
                                                                        • All characters have the same width.

                                                                        These traits are regarded as strengths rather than shortcomings because they lower complexity. The lower complexity should turn out as qualities like reliability, longevity, (cross platform) compatibility, small bandwidth (characters not pixels), insignificant rendering delays, reduced effort for implementing a user interface, manageability of user interface code by a single/few person(s) even for complicated use cases…

                                                                        … all while covering a fair amount of all possible application use cases and enabling automation on top.

                                                                        The more you disregard these traits, the more you loose the qualities. Letting the terminal be the terminal is (at least in my view) not some obsession with a glamourised past but a commitment to a functioning future.

                                                                        1. 1

                                                                          A few case by case examples to my statement from above:

                                                                          • Do ligatures belong in terminals: Yes, seems legit.
                                                                          • Should terminals enable UTF-8 PUA (Private User Are) for icons: I… don’t know ? Maybe yes. But any software should work well without it.
                                                                          • Scrolling with the mouse wheel: Yes, as long as keyboard based scrolling works well too.
                                                                          • Coloring and inline styling (italic, bold etc.): Sure, but again, any software should work well without it.
                                                                          • Terminals with GPU rendering: If the aim is to display motion more fluid then I’m in. If on the other hand software starts to require a GPU-based terminal (something like an ASCII-video player), then no.
                                                                          • Images/pixel graphics capabilities in terminals: No. Use a GUI program for that.
                                                                          • Non fixed width font rendering: No. Use a GUI program for that.
                                                                          1. 1

                                                                            All characters have the same width.

                                                                            If only. What’s more, wcwidth() can differ between the application, the terminal and the font.

                                                                            1. 1

                                                                              Yeah, you’re absolutely right. And that’s exactly where the complexity starts to increase :-)

                                                                              At least the monospaced fonts are not as complicated as proportional fonts. AFAIK monospaced fonts keep the main grid of regular characters, right ? So all wider than regular characters use a multiple of the space of a regular character. Or doesn’t even this ideal hold true ?

                                                                              Out of curiosity: how serious is the wcwidth problem ? Do you know an insightful resource on the topic by any chance ?

                                                                              1. 2

                                                                                Monospace fonts should use the same width for all glyphs, or twice that width.

                                                                                New additions to Unicode, i.e., what hasn’t been covered by older tables, can cause problems. E.g., if you add emoji to the private use area, you will be disappointed. Also, I’m not sure if some characters haven’t switched category.

                                                                                There is a set of characters that may take either a single cell or two cells (also called half-width or full-width, just to mess with you), see

                                                                                These are mostly corner cases. Low likelihood of running into this.

                                                                                In general, monospace fonts are a bit simpler but not by far. Asians and Unicode will destroy your assumptions.

                                                                                To retain some sanity, you can limit yourself to languages using the latin, cyrillic or greek alphabet.

                                                                                1. 1


                                                                                  I proxy learned some Unicode lingo too:

                                                                                  • characters (refers to meaning) vs. glyphs (refers to appearance)
                                                                                  • half-width (means 1 cell) vs. full-width (means 2 cells)
                                                                          1. 1

                                                                            Can the video stream from the lecture only be watched live or will it be available on demand afterwards ? I would really like to watch it but I will probably be occupied at 9:30 UTC.

                                                                            1. 1

                                                                              There’s but I can’t tell from the site if this series will make it there as well.

                                                                              1. 2

                                                                       says “The webcast is now over - The recording will be posted on this webpage on 9 November”

                                                                            1. 1
                                                                              According to the specs, a 2019 14" X1 is lighter (2.2 lbs/ 1.0 Kg)
                                                                              than a 2020 MacBook Air 13" (2.8 lbs / 1.29 Kg).

                                                                              I would like to see a link to these specs. I have yet to see a 14” X1 that is under 2.49 lbs. And googling around a bit, I cannot find any today either. Maybe 2.2 lbs is without battery?

                                                                              1. 2

                                                                                The X1C7 is 1.09 kg (2.4 lb) according to the specs. I have one at home. I measured it: checks out. :-)

                                                                                1. 4

                                                                                  I’m surprised to see a *bsd post not by @vermaden

                                                                                  Is there a song this time as well?

                                                                                  1. 5
                                                                                    1. 4

                                                                                      I wanted to but someone else was faster :)

                                                                                      1. 2
                                                                                      1. 5

                                                                                        Debt doesn’t have to be understood in its financial meaning. It basically means that an inevitable act is postponed. Some debts grow over time others don’t. Some can be transferred to other actors, some cannot. Some turn into trap doors if they are forgotten. To me a technical debt is that but related to a technical realm. No need to narrow it down further.

                                                                                        1. 1

                                                                                          RIP, David Graeber. May his debts be forgiven.

                                                                                        1. 1

                                                                                          File synchronization service with on-demand local file loading.

                                                                                          I always wanted a network file synchronization mechanism where all files, directories, symbolic links etc. are locally visible but the data of the files is only loaded on demand. There would be a command (and context menu item for graphical desktops) to load and unload specific files or directory trees for the local system. Once loaded locally, it should transparently and continuously synchronize the files with the server.

                                                                                          With traditional remote disk mounts there’s no local storage space wasted, but usage experience suffers from the network dependency. File synchronization services are more pleasant to use since all files are local, but waste locale storage space. This would combine the advantages of both.

                                                                                          1. 2

                                                                                            libprojfs might help you on Linux? (disclaimer: wrote a bunch of it) You can build it without the C# extension points and make a responsive, virtualised filesystem mount.

                                                                                            1. 2

                                                                                              That looks promising. After a quick look into the project description, the project seems to revolve around the crucial part providing the necessary generalized APIs/libs to build such a synchronization mechanism. I’m gonna need to find time to dive into this. Thx.

                                                                                            2. 1

                                                                                              Have you seen Seafile?

                                                                                              1. 1

                                                                                                I took it for a spin apporximately 3 years ago. I did not notice that since then it now has the exact feature that I described. Thx for your hint. Would be extra nice, if it also ran on OpenBSD.

                                                                                            1. 5

                                                                                              What software actually uses Intel AMT? Like, what’s the management server software that controls corporate devices? I don’t do IT so I’ve never had a reason to know.

                                                                                              Also, how do you choose to use the “consumer” version of Intel ME? That sounds like something I’d want to do. I’m aware of microcode updates but my intuition tells me those aren’t related.

                                                                                              1. 3

                                                                                                There’s multiple ways to enable and configure AMT, but apparently you can just do it from the firmware setup screen, and then it just hosts VNC and HTTPS access. A popular/recommended management system seems to be MeshCommander

                                                                                                1. 2

                                                                                                  that’s the right question. very few computers can be remotely controlled via AMT, yet the firmware is active on almost all of them.

                                                                                                  notable exception, that I’ve seen are hp Z-series workstations, that are IN THEORY remotely controllable by AMT WebGUI.

                                                                                                  It feels like intel is charging vendors for fully enabling AMT, I got no other explanation why its so uncommon.

                                                                                                  1. 2

                                                                                                    Also, how do you choose to use the “consumer” version of Intel ME?

                                                                                                    With most manufacturers, all you can do as a buying customer is choosing a device where the Intel CPU does not have vPro.

                                                                                                    vPro and AMT (Active Management Technology) mean the same thing and are the part of the Intel ME (Management Engine) that make remote administration possible. There are many other parts to the ME that are present in every Intel CPU, irregardless of it having vPro or not.

                                                                                                    Example: The Lenovo X1 Carbon 2017 is/was available with an i5 CPU with vPro and without vPro. This is also reflected by the CPU-type number: Intel i5-8265U means without vPro and Intel i5-8365U means with vPro.

                                                                                                    If you wanted to go further, there are possibilities to disable almost all of the ME’s functionalities or even remove the relevant binary code from the firmware before flashing it back into your device’s firmware storage chip. Unfortunately this procedure is no easy task, the necessary steps are highly dependent on your specific device and you could maneuver yourself into a situation where you don’t know how to recover your bricked device anymore. But it’s much more doable than a few years ago.

                                                                                                    Lastly there are a handful of manufacturers, that disable as much of ME’s functionalities as possible by default (basically with the same procedure as mentioned above) and replace some of the necessary functionalities with open source firmware (usually Coreboot). Purism and system76 are two examples of such manufacturers.

                                                                                                    See my other comment about an overview talk regarding the Intel ME for further research.

                                                                                                  1. 2

                                                                                                    Intel ME (Management Engine) is a convoluted topic, especially because of the intransparency and the many marketing terms and abbreviations it encompasses. I found the following talk by Igor Skochinsky and Nicola Corna to be a helpful starting point:

                                                                                                    Igor Skochinsky works at Hex Rays, a company that makes a famous binary reverse engineering software. Nicola Corna is the guy that created me cleaner, a repository/project/software-package/manual for disabling the Intel ME.

                                                                                                    1. 5

                                                                                                      Note-taking technics often seem fantastic when presented and start to show their downsides only after some time of serious use. I would like to shortcut the experimenting phase: Does anybody have a good article, blog post etc. that also discusses the downsides and limits of the Zettelkasten system ? Or maybe a in-depth tutorial or real world usage examples regarding technical knowledge. Maybe somebody has a publicly visible Zettelkasten ? I already found the research project regarding Luhmann’s original Zettelkasten ( ) as well as an elaborate blog post ( ) that is unfortunately missing contra arguments.

                                                                                                      1. 2

                                                                                                        or real world usage examples regarding technical knowledge. Maybe somebody has a publicly visible Zettelkasten ?

                                                                                                        This one:

                                                                                                        And more here