16 ms·
Your statement is correct but misses the point
- qqii 7y agoNeither statement have an agreed "context" from which the discussion is taking place, and flipping the statements may make the other seem irrelevant.
- kerpele 7y agoNot sure if you were serious or not but your comment seems like a nice example of what the article talks about
- laurent123456 7y agoI don't think he's agreeing or disagreeing with the article, just providing a possible explanation for this behaviour. The two people arguing are ignoring the context, which is common in many debates. Especially with politicians - shift the context a bit and you're right even if what you're saying is unrelated to the original point.
- Ensorceled 7y agoThe article chose pretty good examples, they are all of the form, "generally true statement" with a "specific, or even completely unrealistic, edge case disagreement". They all require no context to understand the exchange. Debates, especially political debates, are purely about winning the debate. Context in a debate is particularly irrelevant.
- anticristi 7y agoI'm not sure I agree with "edge case disagreement". TLS, for example, has shown it's limits (e.g. CA hijacking) and was improved (e.g. CT). However, someone had to find those edge cases and discover the limitations of stated assertions: "2010 TLS was safe under the assumption that the CAs are not hijacked."
- Ensorceled 7y agoOk. So, are you saying that we should stop using HTTPS and instead use HTTP? If you are not, what is your point? Is it not under the 100% correct but missing the point label this article is talking about?
- anticristi 7y agoWell, you could use HTTP over an IPSec tunnel with a pre-shared key (obviously distributed face-to-face), and that would have been resistant to a CA being hijacked. However, nowadays, I believe with CT HTTPS is really safe. But again, someone had to nitpick on the security limitations of HTTPS for CT to be invented.
- qqii 7y agoCould you enlighten me as to why my comment isn't relevant to this post or how I've missed the point? I've read the post again in the best faith that I can give and I think I understand the point, I just thought it would be intersting to discuss the idea of "context" in conversation. Instead of seeing the replies as pedantic seekers to logical truth they may just be misunderstood individuals who is talking with a different context. If we assume my comment as the first comment in his examples, I am equally at fault for not communicating my context clearly. Unlike the author I don't find such interactions as frustrating, and hopefully I've effectively explain why in this comment.
- pjc50 7y agoYes, this is certainly part of the problem; the "blind men discussing the elephant". We all have a different set of experiences of programming, but not all of us have a good sense for where the boundaries of our experience are. Something you think is ubiquitous may not be.
- sturza 7y agoI think there is a name to this: it’s called dialectic/sophism. These arguers have no interest for the scope of the discussion, they just want to win the argument. I think it helps when you set the scope of the discussion clearly, at the beginning. edit: typo
- ghelmer 7y ago"They just want to win the argument" is a good summary of what I understood from the article. There are people I regularly encounter who have to inject their opposition or correction to anything anyone else does or says, which feels like they are attempting to prove their superiority or correctness (but instead proving their failure to recognize the context of the original statement). Couching their point in the style "What about X?" instead of making a counter statement would be a more useful communication method IMO. (Edited to fix grammar)
- paganel 7y agoLots of programmers forget that they should also be engineers, and not only computer scientists (or wannabe computer scientists). I can still remember how during the first programming class I took at uni 20 years ago the teacher told us that "engineering is all about compromises and especially about what compromises you should choose to make or not" (in that context she was talking about memory vs processor usage), and while I managed to barely pass her class that piece of advice has stuck to me ever since. Looking at things through the compromise lenses (for lack of a better phrase) would eliminate lots of misunderstandings rightfully pointed out by the OP in this article.
- deleted 7y ago[deleted]
- totalZero 7y agoThe failure of engineering in the presented hypothetical examples is a failure to understand the use case. I say this because I remember a class I took in college where I built a chat application and the TA chided me for using a hashed message ID instead of using random number generation. I was concerned that eventually there would be collisions and that would lead a message to either be undelivered or delivered to two parties (depending on implementation). The TA said "yeah but that's an infinitesimal risk." The problem with his view was that the intended user group would eventually see this failure occur. It's not an avoidable edge case, it's a bug that will impact the general use case. The failure could occur on an important message ("I'm gonna be at work late, can you pick up the kids") or a sensitive one ("I can't believe you cheated on me with our babysitter"), and the user would have no idea what happened. The article mentions NSA hacking and aggressive computation on a small microprocessor, but those issues are both easily avoidable by the atypical user. Are you a spy? Don't rely on HTTPS. Are you building an embedded system? Learn how to use C++ instead of Python. There is plenty of room within engineering to have sound practices that use computer science to mitigate edge cases. A problem arises when those edge cases don't affect the intended user, or are easily and obviously mitigated by the user choosing a better tool.
- gridlockd 7y ago
- kartickv 7y agoI think part of the problem is that school and college teach us to say "no" to something that's not always true. We're told a statement that's mostly true, and asked, "Is this true?" When we say yes, the professor says "No!" While a normal person, one with common sense, would say "Yes". This creates a habit of unnecessary attention to detail, nitpicking, and grasping at straws to come up with some reason why the other side is wrong.
- ehnto 7y ago> grasping at straws to come up with some reason why the other side is wrong. It's an almost combative mindset to discussion. Where there is a victor, and a loser. Someone being right is almost a full stop to the discussion; they've won, so what more is there to say?
- maqp 7y ago>I think part of the problem is that school and college teach us to say "no" to something that's not always true It's mostly that we fail to frame the context of the statement when it's true and when it isn't. In security stuff we often talk about threat model. The article mentions anonymity via HTTPS, which is never the case. You can remain anonymous from someone by using one-time pseudonym in Telegram. You can't remain anonymous from Telegram server without anonymizing your IP and phone number. You can remain anonymous from server with Tor, throwaway phone and prepaid SIM, but to remain anonymous from the NSA you need more steps like buying the SIM and phone with cash. Things are complicated and we often assume the conditions without explicitly stating it. Some people think from the perspective of word case (next Snowden on a run) and some from their own (often privileged) position. Some argue from the viewpoint of a Chinese dissident, someone from western cryptoanarchist. Risks are more often than not invisible so assessing them is extremely difficult. Security is often about margins, and I see a LOT of incompetence, e.g. encryption needs to be 256-bits and then key management (especially authentication) is hand waving. IMO the fault is the upvoting culture. Back in the day when we used to have separate forums, someone who would post a question, could immediately be asked a followup question e.g. "what is your threat model". This helped set the context for all readers. Once we moved into discussion with comments, we lost the story part, and people started to post "right" i.e. popular answers for upvotes without really focusing on relevance, like the author so eloquently puts it. What doesn't of course help here is often the conversation is only part of larger puzzle. Maybe the NSA is part of OPs threat model and they didn't know it. E.g. if they're a sysadmin of large company. They're not a terrorist, they just manage systems of interest. That's where the conversation forks. And the more nuances the original discussion has, the faster the story is lost. Furthermore, there's the endless amount of forum trolling that tries to drown insight amidst noise, memes, pop culture references and other thought terminating clichés that make you immediately turn on your heels, and look for insightful discussion under the next news story. Then there's grass-roots marketing, disinformation, shilling etc propaganda, all which is specifically designed to have plausible deniability that makes it impossible to weed out.
- qqssccfftt 7y agoThis is genuinely one of the best posts I have ever read on here. Completely correct, very direct. > In the real world being right is not a merit by itself A lesson a lot of programmers could learn.
- Laakeri 7y agoWhat is the point of this blog post? It appears to be about arguments in the Internet in general, but its implied point seems to be a rant against low-level programming.
- lukevdp 7y agoI took it as an observation on internet arguments and not about the programming concepts that were presented as examples.
- xupybd 7y agoI don't think it had a focus on low level programming. It merely used people missing the difference between the domains best suited for each as an example of missing the point. Often the low level example was used as the example of someone missing the point. But I don't think that was intentional.
- nottorp 7y agoIts arguments are perfectly correct, however it exposes the state of mind that has lead us to javascript "apps" eating gigabytes of ram because they instantiate Chrome 3 times. Yep, there's a price to pay when you're afraid of low level programming. Sadly you make us all pay that price.
- yoz-y 7y agoThat's quite a slippery slope though, from garbage collection straight to 3 instances of chrome.
- jokoon 7y agoThat's the problem with being pedantic. Pedants are correct, but they're not curious, and they don't care about learning something because they lack humility (humility is difficult to learn and rarely encouraged). A discussion, an argument or a debate is not meant to be some sort of confrontation quiz, where people who demonstrate they're right can win an audience. A real debate, argument or discussion is when an audience can listen, and ask questions to better understand what everybody is trying to say. A debate is a distributed way of thinking. Human thought only exists through language, un-worded ideas always die. This mentality stems from how people views how democracy works. The Socratic method thoroughly shows that having an argument is about helping each other communicate their point of view. And this is exactly how states like Russia are able to undermine democracy, by sowing confrontation and polarization. What is horrible is when this sort of polarization happens in your daily life, or in science or at work.
- _0ffh 7y agoYou're casting too broad a net here. I don't think this article is about pedantry. There is a time and place to be pedantic, just arguably in none of the given examples. The place to be pedantic is to point out sloppy thinking. Sometimes you just need precision, and it's not enough to be "mostly right".
- izacus 7y agoI don't think "pedant" as a personality trait encompasses people, who are only pedantic in necessary context. Your answer thus might be a bit... pedantic? ;)
- numpad0 7y agoSo I could point out that you started your comment with “You’re”. This statement is 100% correct and it’s pedantic. I bet you can’t argue that(but it’s moot! what has it to do!? Whatever the context!) I agree with you, the problem is not being able to synchronize with the goal or hierarchical chain of logic behind original statements, leading to remarks that are irrelevant, and I think it’s merely considered “pedantry” here by the looks of it.
- 7y ago
- H8crilA 7y agoWell, that happens for some of the comments, but not for all of the comments. You just have to write your comments well. If we just all wrote our comments well it would show the author how his post is pointless /s
- red_admiral 7y agoThe rationalist community has a kind of meta-rule that contributions to a debate should be at least two of {true, necessary, kind}. For necessary you can often also read useful. Once you're out of high school debate club, it's a good principle that if the only thing in favour of a statement is "it's true", err on the side of not saying it.
- mehrdadn 7y agoInteresting that truth isn't a requirement, especially given we're talking about rationalists. In what situations do they welcome false contributions?
- mjw1007 7y agoI think the idea is that it's forgivable to make mistakes, as long as you aren't also being unpleasant.
- mehrdadn 7y agoEdit: Sorry, I just realized I misread something. What I was pondering was what "necessary" meant in this case, but I think my brain is tired right now!
- adamisom 7y agoI'm not sure what you mean by 'mistaken unpleasantness', but getting at the truth, however unpleasant, is a far higher and more widespread norm in the rationalist community.
- red_admiral 7y agoFrom https://slatestarcodex.com/2014/03/02/the-comment-policy-is-victorian-sufi-buddha-lite/ https://slatestarcodex.com/2014/03/02/the-comment-policy-is-... : {necessary, kind}: > Recognizing that nobody can be totally sure what is or isn’t true, if you want to say something that might not be true – anything controversial, speculative, or highly opinionated – then you had better make sure it is both kind and necessary. Kind, in that you don’t rush to insult people who disagree with you. Necessary in that it’s on topic, and not only contributes something to the discussion but contributes more to the discussion than it’s likely to take away through starting a fight. {true, kind}: > Annnnnnd sometimes you might want to share something that’s not especially relevant, not the most important thing in the world – but if you do that it had better be both true and kind. No random interjection of toxic opinions that are going to cause World War III. No unprovoked attacks. (personal comment - the recent HN thread on castle Guedelon, where a bunch of experimental archaeologists are building a medieval-style castle, was perhaps not "necessary" or "relevant" on a tech forum, but it was kind in that I very much enjoyed the half hour I was reading about it. Since there were no false claims about castles on that page, I'd count that as "true and kind".) For good measure, {true, necessary}: > Nobody can be kind all the time, but if you are going to be angry or sarcastic, what you say had better be both true and necessary. You had better be delivering a very well-deserved smackdown against someone who is uncontroversially and obviously wrong, in a way you can back up with universally agreed-upon statistics.
- narag 7y agoThe article falls into the same error of misrepresenting opposing views.
- Ensorceled 7y agoExplain? To my mind, the article explains a problem, that two opposing views can both be technically correct, but one view is often useful and second, disagreeing opinion, is just contrary. Your comment seems to fall into the second category: just contrary disagreement.
- jjgreen 7y agoNot the OP, but I agree with them: the appropriate response to > Processing text files with Python is really nice and simple. is not something silly about C, it is "It is, but the packaging system is an effing nightmare, have you tried Ruby?"
- Ensorceled 7y agoI will almost always get a least one developer making exactly the argument in the example whenever I suggest Python, so their point stands. When I proposed Django, getting a Rails counter proposal doesn't fall into the "100% correct but misses the point entirely", it is entirely on the nose. So your counterpoint is ironically similar to the articles point.
- narag 7y agoExplain? To my mind, the article explains a problem... The article seems to explain a problem, but what it's really doing is expressing some opinions, misrepresenting opposed opinions as strawmen and going meta to further attack them. The criticism of the contrary opinions is not wrong, it's technically correct, just misses completely the point since it doesn't respond to the strongest version of the objections, just to the weakest ones.
- Ensorceled 7y ago
- andreyk 7y agoFrom the article: "The one thing that school trains you for is that being right is what matters. If you get the answers right in your test, then you get a good grade. Get them wrong and you don't. Maybe this frame of mind "sticks on" once you leave school, especially given that most people who post these kinds of comments seem to be from the "smarter" end of the spectrum (personal opinion, not based on any actual research). " A similar sentiment by Paul Graham here: http://www.paulgraham.com/lesson.html http://www.paulgraham.com/lesson.html
- travisporter 7y agoThis is true, but as a counterpoint, most math and science exams in high school give you partial credit for trying to reason through the problem even if the final answer is wrong. I had one physics teacher who would sometimes give full credit even if the final answer was wrong due to an arithmetic error. She was awesome; I still think of her as an inspiring figure.
- raverbashing 7y agoThanks for this, it seems a lot of discussions miss the point. "You can achieve the exact same thing in C, you just have to be careful." Of course you can. You can also drive at 160km/h safely or use an axe to chop onions in your kitchen "you just need to be careful" (with the subtle implication of "I can be careful, can you?". Narrator: no, you can't, you aren't as careful as you think) And the other favourite of mine "HTTPS self-signed certs are useless, you're not authenticating the origin" while forgetting about the whole encryption thing. Yeah.
- ehnto 7y agoWe're at a point in the diversity of tooling in software that subjectiveness is a genuine reason to choose one thing over another. Nitpicking fine points of performance is a very common way to miss the point. I could totally achieve the same thing in C, I just don't want to.
- cryptica 7y ago>> "HTTPS self-signed certs are useless, you're not authenticating the origin" while forgetting about the whole encryption thing. The problem is that not validating the origin can make you vulnerable to a MitM attack. If the attacker can place themselves between you and the server, the attacker could intercept the real certificate from the origin server (containing the real public key) and then instead of forwarding you the origin server's certificate, the attacker could forward their own malicious certificate to you (containing the attacker's own public key) but pretending to be the origin server. Because the attacker's certificate would be self-signed, the browser cannot automatically authenticate that the certificate and public key provided actually belong to the (also self-signed) origin server and not some random attacker. Then when the encryption begins, there will be encryption (that's true) but the encryption will happen between you and the attacker's machine and this is why it defeats the point.
- raverbashing 7y agoIt does not defeat the point if your attack vector is closer to your connection than closer to your server (e.g. untrusted connection). And in this case you can be your own CA and verify your own certificate. It does not defeat the point because your regular HTTP server can be MitM in the same way so not having self-signed HTTPS because of that is moot. So again, you're missing the point.
- m463 7y agoReading this part about garbage collection: Being able create things on a whim and just drop them to the floor makes programmers a lot more productive than forcing them to micromanage the complete life cycle of every single resource. I realized... It would be REALLY nice to have a garbage collector for the physical things in my house. Even some sort of tried-and-true algorithm to direct me would be nice. EDIT: (this actually started as a sincere though off-topic comment on my part) I have observed during this "shelter in place" that one way to be organized around the house is to be around the house (in this case 24/7). And now I have 3 algorithms to think on. I think it might be nice to be nagged periodically with a certain request from a certain direction. Part scheduled cleaning, part LRU, part where does that live, etc.
- WJW 7y agoIt is possible! Unlike in the programming world, true parallel garbage collection has been mastered for centuries in the physical world. However, there is of course no free lunch. You have to pay people to come over and clean your house. Failing that, you can "write your own" by simply allocating a block of time every day to cleaning up. Doesn't get more "tried-and-true algorithm" than that.
- mcny 7y agoImagine though (all we can do in the current situation) that the garbage collector comes in at seemingly randomnpoints during the day and just as you're about to use the restroom goes in and locks the door behind them to clean the restroom.
- m463 7y agoAt first I thought you were talking about your mom/spouse but then I realized it's a computer analogy :)
- beaconstudios 7y agoThere is an algorithm for this in the form of an old saying: "a place for everything, and everything in its place".
- ahncomment 7y agoIt appears that https://en.wikipedia.org/wiki/Perfect_is_the_enemy_of_good https://en.wikipedia.org/wiki/Perfect_is_the_enemy_of_good is a very relevant concept here, and is the principle behind the rebuttals to the arguments in each section. I feel that arguing for perfection is (arguably) part of a broader problem with internet discussion - and discussion in general. I've personally termed it "sniping" but there may be an existing agreed-upon term. Essentially, this is when a commenter takes one flaw or issue in a larger and reasonably sound argument - and runs with it. In context, focusing on this flaw is "missing the point" as the rest of the argument does not rest on the assertion being "sniped". But - if you make enough noise about it - you may be able to confuse people into thinking otherwise, and making the argument seem fundamentally flawed.
- anticristi 7y agoAlthough it gets tiring after some point, I very much appreciate all the "snipers" out there: They taught me a lot. I often do training for my customers (cloud technologies) and they expressed appreciation for me exposing the limitations of certain technologies / techniques.
- pritovido 7y agoI love snipers too. I have some broad idea about a topic I am not experienced. I expose it and I have immediately 25 different objections. I examine the objections and there are 5 really good I had never thought about. That is amazing, the fastest feedback loop in the world. The only problem is getting affected by the feelings people expose when they reply. But with text is easy. I do that on real life with Masterminds. You have to train people to be respectful with other people's ideas(they are not naturally). If you do, it is one of the most powerful tools in the world.
- geoffbp 7y agoAh this reminds me of a fellow at work. He's always correct, and the worst type of correct: technically correct.
- DrNuke 7y agoIt is more immaturity than education, though. Age makes most people appreciate diversity and act collaboratively, instead of antagonising.
- ehnto 7y agoI think you picked up some downvotes for saying it's age, rather than experience, that gets people to appreciate diversity and act collaboratively. I hope that the irony of that (and my own comment), in regards to this article, is not lost on those who downvoted you.
- amelius 7y agoOn HN you can click [-] to simply hide any statement that's beside the point ;)
- dgb23 7y agoI personally don’t find some of these examples problematic at all. A discussion doesn’t have to be so directed (relevant in a defined context) to be useful or interesting. The first example might just end right there with no further discussion if the context is not expanded. Discussions are beautiful like that, they start somewhere and can end up at a completely different place.
- shaan7 7y agoAnyone knows a non-technical version which conveys the same point as this article?
- laqqq 7y agoSo the author is pro garbage collectors and anti C. What a novelty on HN! If you discourage the pedantic counter comments, all you do is push a single narrative that slowly becomes the truth.
- danaliv 7y agoReminds me of one my all-time favorite bits of movie dialog, which I keep in my mental back pocket as a sort of reminder: “Am I wrong? Am I wrong?” “You’re not wrong, Walter, you’re just an asshole.”
- quantumwoke 7y agoBeing correct is really important sometimes. The blog's last example really hit home to me. For my last job I had to process six million records a minute on a shitty embedded CPU and Python (normally my go-to) completely barfed when I got to the domain-specific logic. While pedants on the Internet can be frustrating, we shouldn't generalise when there are many situations where we should be both precise and relevant. HN encourages curious discussion and I think that's an apt description of the discourse that I enjoy most here. Precision can generate curious conversation.
- lazyjones 7y agoPeople are naturally competitive and often antagonistic. But what are those discussions really about? In order to decide on a suitable programming language for a project, more methodic approaches are useful, like a list of requirements with ratings for each candidate. Debates usually just let the more stubborn and irrational participant win.
- CapriciousCptl 7y agoI see this incredibly often in medicine-- particularly from nurses, midlevels and patients when they don't have great relationship with the physician. Myself included (although I try to have a good relationship and communication I don't bat 100). People tend to latch on to what they know or think they know, and it's very hard to get them focusing on the more important issue that may be at odds with that. As an example-- I trained at a place where a patient disagreed with his doctor's assessment (something about lung fluid analysis). The patient cited a well-respected journal article that guided standard of care. But, the patient didn't realize something. The doc treating him authored that article. We see stuff like that routinely-- evidence gets misinterpreted and people get angry because their sources (but not their interpretation) may be excellent.
- tzjmetron 7y agoAt the same time, it goes the other way too. I cannot believe the number of doctors that I visited when I first got GERD, and all my questions were shot down while they prescribed PPI upon PPI. It only made my condition worse by the year. Finally, I decided enough is enough, and did my own research, happened upon naturopathic materials, and experimented in a logical fashion (eliminating one trigger at a time, trying a new natural cure at a time) till I chanced upon probiotics - specifically Yakult which works best for me, and have been living a normal life since then. The kicker is that if I had taken this approach from the start, my stomach and quality of life would have been much better from the start. Sure, it's anecdotal, but it's a counter-example to your assertion which, frankly, smacks of derision for the thinking patient. You have to remember that doctors, like those in any other profession, come in a spectrum of qualifications, capabilities, and empathy.
- CapriciousCptl 7y agoPhysicians are human and subject to their own biases and mistakes. I could go on about how helpful patient/nursing/midlevel input is and has been to me personally in my career. But the point I'm trying to make here is that the shallow vs deep thinking shows up in medicine at obvious points and causes problems.
- mjw1007 7y agoA discussion with started with the first statement and response, and then went on with the statements they listed under "ignores all the larger context of the issue" looks pretty decent to me. It might turn out that the second person thinks one or more of the bullet points is false, and both sides might learn something.
- anticristi 7y agoI agree! I love playing devil's advocate. People tend to focus too much on "who is right" and get annoyed. For me, it's about learning. It's about challenging my and my peer's assumptions and finding what are the limits of the assertion. The article is a good invitation to reflection, but an alternative title could be "let's discover the relevant context together".
- watwut 7y agoIt is much easier to play devils advocate then having opinion you advocate for. And it is overly easy to use devil advocate tactic to make it hard to keep original topic, to force people to go to lengthy tangents or otherwise prevent them to actually make the statement they were aiming for. If I intend to discuss complex enough real world problem in good faith, especially one with unclear parameters, devils advocate basically makes it impossible.
- anticristi 7y agoI agree, but I would put it differently. It is a lot easier to advocate a conclusion with full control over the assumptions, than discovering the boundary assumptions where the opinion no longer holds. For example, it is easy to argue for "HTTPS is more secure than HTTP". But what I am often interested in -- as a curious and skilled IT person, and not a lambda user -- is what attack models does HTTPS defend against. Remove assumptions one by one, when does HTTPS offer equivalent security to HTTP. This is not just nitpicking, but extremely relevant for our profession. TLS has gotten under quite a lot of fire lately, so sooner or later, someone somewhere will discover those hidden assumption. I rather it happens on a public forum.
- foxes 7y agoI think the real issues is communicating the correct point in a diplomatic way that wins people over. Lots of people might be making decisions on a feeling rather than a precise facts. This article reaches a bit too broadly from specific examples. There are lots of counter examples where you neeed to be correct, eg corona response, airplane design etc.
- Arathorn 7y agoI've always assumed that somebody must have gone through classifying bugs like this in faulty debate (e.g. based on ancient Greek debating theory, or law, or logic as taught in philosophy?). By using well-defined terms to refer to the bugs, it would be way easier to call them out and mitigate them - as the amount of time wasted in FOSS collaboration with stuff like this is unbelievable. Some egregious examples that spring to mind are: * Trying to disprove a point by finding an edge case where it's not true - even if that edge case is entirely irrelevant (a bit like the complaints in the original post) * Trying to disprove a point by exaggerating it to an extreme and saying that because it doesn't work in the extreme case, it must be false. * Taking a point out of context and proudly proving it to be wrong... when taken out of its wider context. * Making an entirely unrelated point which happens to be true, as a way of trying to prove an earlier point. I guess the second one is a form of hyperbole (but is that the right term)? The third one could be called out as "taken out of context", and fourth is "irrelevant"... but it still feels like life could move on faster if there was a clearer taxonomy for these 'bugs'. (One could even provide the taxonomy as tags/reactions into your communication system of choice - like a more nuanced version of "+5 Insightful" or similar). Edit: perhaps https://en.wikipedia.org/wiki/List_of_fallacies https://en.wikipedia.org/wiki/List_of_fallacies is what i'm looking for, although it feels... cumbersome.
- IAmEveryone 7y agoYes, of course: "Fallacies". But note there's also something I like to call the "Fallacy Fallacy": People read the wikipedia list and consider them some sort of universal natural law. Case in Point: "appeal to authority". This can indeed be fallacious, within the context where these were formulated, which is probably academic publishing. If someone says they've created an HIV vaccine, it would be very wrong to start using it without clinical trials just because the inventor is some famous researcher. If you try to apply the same to daily life and online debate, you're going to wither and die within a month. Example: you're experiencing chest pain. What do you do? You see a doctor! Do you subject them to a quiz on heart disease, and do you re-run every trial that contributed to your treatment? Of course not -– it would cost trillions and take many lifetimes. Instead, you trust your countries certification scheme, and you trust the scientific establishment. Both are authorities. When you return to your favourite restaurant, you are extrapolating expected future performance based on past experience. in other words: you trust them. Or in even otherer words: you consider them the authority on Fried Chicken and rely on that to guide your decisions. There are only two ways to gain an understanding of the world around you as needed to do anything: direct experience, and what others tell you. The fraction of required knowledge that you can individually verify from first principle is probably somewhere below 1%. For everything else, you need to rely on other's direct experience, by continually fine-tuning individual measures of authority by comparing to direct experience where possible, and integrating with other sources where not.
- IAmEveryone 7y agoInterestingly, this particular flaw in reasoning (dare I say "fallacy"?) is far more prevalent in the the tech community. Being guided by Vulcan-like logic applied to completely neutral facts isn't just considered ideal but even achievable. Emotions, OTOH, are considered a weakness, as are any product considerations that cannot be expressed in SI units. Design/UI/UX are confused with "making it look pretty" in the same way that what's considered art is usually interior decorating and any actual art is considered pointless at best and another postmodern abomination at worst. So it's no wonder that they'll frequently believe "I found this one remote outlier" to be a valid refutation of some argument. Because, in principle, it is: If you don't caveat for black sheep, Taleb is going to smack you over the head. And if you list black sheep, I'll spray-paint a sheep red and consider myself extremely smart. Soon, we'll have names for 16.7 million colours so you'll be on the losing side of this argument forever. The "liberal arts" have their own weaknesses. Engineering can put a man on the moon or a nuclear bomb on Japanese soil and it's pretty well obvious that someone got done with their todo list this week. That other culture doesn't lack in achievements of similar magnitude, such as the rule of law or democracy. But these are hard to measure, are achieved gradually. It's near impossible to assign individual credit and therefore harder to implement a meritocracy. Yet because they continually live in this sort of murky dialectic discourse, the humanities are far more comfortable with complexity. The tech community even more than the natural sciences has a fundamental problem with getting even close to considering the best possible opposing argument. Considering how great their believe in both the power of "rationality" and their ability to use it is, it's not even funny to see how lawyers, for example, tend to wipe the floor with them. Witness any discussion of law here or among tech-twitter, where dozens of ideas will crop up how to outsmart the law by being "clever" and owning a dictionary ("the contract said "Dollars", but didn't specify USD. I'll just pay in CAD")
- iovrthoughtthis 7y agoThis is great. I would extend the things discussed in the article. 1. Not everyone participates in a conversation for the same reasons. Some are here for rational purposes, others emotional purposes e.g. Getting an answer vs feeling accepted. Neither of these are wrong but being aware of that makes empathizing and filtering easier. We are social creatures and nothing we do happens in a vacuum. 2. Being right and useful is a core part of many peoples identity. If we can't contribute in a relevant way and be right, we'll often contribute in an irrelevant way so that we can be right. Our reasons for participation are largely emotional. 3. Communicating purpose is hard. Giving people the information and context required to decide when and how to act appropriately is hard. We often skip it e.g. in the discussion covered in the article at no time was the purpose covered. Why are we stating these things? It's not culturally standard and perhaps next to impossible to do but starting a conversation by: - Clearly stating the purpose. - Clearly stating your view points. - Considering what you want to get out of the conversation. - Considering what information, arguments or data would be needed to change your mind (if you are willing to change your mind). Would help make discussions be more effective. I wrote something about this a few years ago if anyone is interested to read: https://medium.com/@ioverthoughtthis/how-to-have-an-effective-debate-bb955c2c54fd https://medium.com/@ioverthoughtthis/how-to-have-an-effectiv...
- INGELRII 7y ago>This is sadly common on Internet debates Internet debates can be really good in very small, focused or closed forums where people have time to learn each other over time. Some mailing lists and tiny groups are phenomenal. Debates that happen between strangers in a single point of time don't have the minimum requirements for a good debate. Without shared context, history and commitment to the debate it's hard to get any results even among people who try hard.
- deleted 7y ago[deleted]
- arendtio 7y agoYes, sometimes it is simply a matter of scope. If you exclude or minimize some factors you will rightfully come to a different conclusion. So you most certainly have to agree on which factors are relevant and to which extent. Otherwise, every participant of a discussion might find a local optimum, where he (rightfully) thinks that his viewpoint makes sense.
- cryptica 7y agoThe article alludes to an interesting insight that developers tend to quickly disregard messy reality in favor of idealized theory. Developers are particularly bad when the argument necessarily involves aspects of human psychology. There is a very big difference between what SHOULD happen in theory and what WILL happen in practice - Arguments related to human psychology should never be discarded outright. Saying that a particular tool is not suitable because the tool is too complex and there are too many junior developers in the company can be a very strong argument. Or saying that a tool adds complexity to the project and that this adds unknown unknowns which adds risk is also a strong argument. Or a common one I use when discussing statically typed languages is that it's incorrect to assume that people will use types correctly; statically typed languages prevent developers from mixing invalid types based on their definitions but it doesn't stop developers from using the wrong type definitions (wrong abstractions) to begin with!
- GoblinSlayer 7y agoThe second statement isn't 100% correct because it's not 100% precise. Truth doesn't extend beyond precision. This is actually taught in school in physics classes when your answer is treated as entirely incorrect if it doesn't contain error estimation.
- ukj 7y agoIn the spirit of dialectic (thesis/antithesis/synthesis) it is precisely context which determines the "truth", "relevance" and "correctness" of any claim - to assume it a-priori is a framing tactic. The premise "Garbage collectors are nice and save a lot of work." is true precisely for the set of problem-domains (read: contexts) for which GC is the solution. Outside of those problem-domains, "GC is not always nice and can create a whole lot of work." is also a true statement. If you are arguing for any one of those two view-points without acknowledging the validity of the opposing view, then that tells us way more about your problem-domain than it does about the utility of GC. When you are using a ruler to measure a table, you are also using the table to measure the ruler...
- soVeryTired 7y ago> If you are arguing for any one of those two view-points without acknowledging the validity of the opposing view, then that tells us way more about your problem-domain than it does about the utility of GC. Your argument sort of reminds me of the "no free lunch" theorem in optimization: "any two optimization algorithms are equivalent when their performance is averaged across all possible problems". It's true, but it's largely irrelevant. Not all problem domains are created equal: some are commonplace, some are obscure, and some are so convoluted as to be completely inapplicable in the real world. I think a constructive rule of argument would be to state upfront when you happen to be standing in the "obscure" or "completely artificial" camps.
- ukj 7y agoI am standing in the camp of my own actual problem-domain. The "obscurity" and "artificiality" of which is largely irrelevant to me having to tackle it. If you are arguing a view-point outside of your own problem domain, then perhaps you should be upfront about holding a theoretical/academic view?
- soVeryTired 7y agoI assume you're back to garbage collection rather than dialectic. The key phrase I'd take away from your post is "to me".
- xondono 7y agoMaybe it’s just me, but it seems that all the problems cited in the article are too much people with only a hammer seeing only nails
- devnull255 7y agoThe statements the article object to look like informal fallacies: hasty generalization, straw man, availability bias.
- wccrawford 7y agoI think I'm a great programmer because I know the difference between 100% correct and 99% correct, and refuse to call something 100% correct when it's not. I think I'm a great senior developer because I know when to compromise. Notice that I can do both of those things at once without conflict. It's important to understand potential problems with a solution, as well as problems with alternative solutions, and pick one that seems the best at the time. Many people on the internet are unable to do one or the other, and also feel the need to weigh in on a conversation for their own needs. But not everyone weighing in is wrong. When someone says "You should always X", you will inevitably get someone saying that's false because it is false, and it's important to understand when to break the rules.
- jpm_sd 7y agoHence the classic joke: ---------- A man in a hot air balloon realized he was lost. He reduced altitude and spotted a woman below. He descended a bit more and shouted, “Excuse me, can you help me? I promised a friend I would meet him an hour ago, but I don’t know where I am.” The woman below replied, “You are in a hot air balloon hovering approximately 30 feet above the ground. You are between 40 and 41 degrees north latitude and between 59 and 60 degrees west longitude.” “You must be an engineer,” said the balloonist. “I am,” replied the woman, “How did you know?” “Well,” answered the balloonist, “everything you told me is technically correct, but I have no idea what to make of your information, and the fact is I am still lost. Frankly, you’ve not been much help so far.” The woman below responded, “You must be in Management.” “I am,” replied the balloonist, “but how did you know?” “Well,” said the woman, “you don’t know where you are or where you are going. You have risen to where you are due to a large quantity of hot air. You made a promise which you have no idea how to keep, and you expect people beneath you to solve your problems. The fact is you are in exactly the same position you were in before we met, but now, somehow, it’s my fault!”
- _opc6 7y agoThis comment will play extremely well on this website, which engineers frequent. And it's admittedly a great joke. But only tangentially relevant to the author's point. The author's point is closer to the old adage of not shooting yourself in the foot. That is, however true your statement is, if it denies further thought it becomes a useless point.
- koheripbal 7y ago
- ujjain 7y agoYes, this is the ego. It's not about the information or the knowledge, but about being right and your opinion. I'm sure we're all guilty of this sometimes, but it still makes comment sections a bit useless sometimes, because it's not discussing the subject itself. This is why I love upcoming new technologies that everybody hates, they still have to proof themselves by using rational logic and there isn't much arrogance/ego surround it yet. It's not good to think too much about yourself and how things reflect to groups of people and yourself, a lot of projection. Anyway, iPhone rules! Android sucks. Happy Easter. PS: I teach languages and a lot of people get stuck with looking bad. The ego is your enemy. Most good language learners just practice a lot and don't worry too much about looking bad.
- yellowstuff 7y agoI was somewhat disappointed to find a 2020 time stamp on this article. It could've been written pretty much word for word 20 years ago, and it still would've been reshashing mostly resolved arguments. To be clear, I think the problem is with the people still making the tired arguments, not this article.
- JoeAltmaier 7y agoMust be more than one kind of programmer. With a little discipline, the "100-1000" memory issues in 'every program' is a vast exaggeration. I write programs routinely with 0 memory issues. Just match every allocation with a deallocation, in the same module. Be responsible. As a habit, it pretty much cures the problem. In certain programming paradigms where its possible. So, the author and I inhabit different programming paradigms. I knew that already. Because they rely on a GC and don't mind its weighty issues, I could guess what space they are in.
- JoeAltmaier 7y agoYes I already know there exist folks who depend on GC utterly, never giving a thought to important issues of scalability or speed. They write all that laggy unperformant code requiring some huge programming paradigm so they can 'scale' to 100 nodes. Because their code only supports 10-20 clients per mighty processor. Instead of the 1000-10000 that straight code could eke out of a single machine. What does my son spend his time with, at the average silicon valley startup? (He's been at half a dozen). Chasing down issue in the hodge-podge pile of mismatched services that somebody threw at their solution, than actually understanding their problem.
- sagichmal 7y agoThese two comments are a great example of statements that are (probably) correct but miss the point entirely. Thanks!
- JoeAltmaier 7y agoMaybe the title? But not the point of the article, which was basically a rant against an imaginary 'fool' that the author tried pinioning with their mighty intellect and specious arguments. Which were largely the same arguments (pedantic, true, missing the point) being 'lampooned'.
- sagichmal 7y agoYour summary of the article is not consistent with its content.
- eutropia 7y agoWhen I see people do this, I just think of the scene from the big Lebowski: Walter Sobchak: Am I wrong? (Belligerently arguing a bowling rules infraction at league night) The Dude: No you're not wrong. Walter Sobchak: Am I wrong? The Dude: You're not wrong Walter. You're just an asshole. Walter Sobchak: All right then.
- finnthehuman 7y agoThis article could be titled "Will people less smart than me shut the fuck up already? Part N of Infinity" I haven't been a fan of previous ones and this is no different. People will always be wrong. And it's easy to say it's because they're not thinking about something clearly enough, because very often they aren't. I'm sure it's cathartic to complain about them on the internet, but it won't change anything. So either ignore them or help them. Having productive conversations rather than just satisfying the human urges around disagreement is a life skill. Understanding how to identify when conversation is destined to go nowhere and exit it effectively is a life skill. This article could have chosen how to build and exercise those skills in the face of this kind of wrongness. But it didn't and neither have most the comments. It chose to pontificate on a root cause. It doesn't do anyone a service by writing hypothetical stories about how and why every person wrong in a particular way came to be wrong. Yes, it's 100% correct that those assessments could be useful in finding a way to conversationally bride the gap, but in practice they're just used to make someone feel superior to the other person in addition to being right. It's a first step down the path that ends in political memes of the form "$OTHER_PARTY only believes in $BAD_IDEA because $INSULTING_BULLSHIT."
- vsskanth 7y agoThe problem is some of these debates have consequences that you would be forced to deal with (choice of language, framework, architecture etc.) and needless pedantry can be a huge blocker to adopting a better solution to the requirement at hand. At that point, either you can "exit" the debate and deal with the choices, or you can "exit" the situation in search of better co-workers. Both of them have real costs to you (which are not your doing). I don't know what kind of life skills would help there. If you have any thoughts, I am all ears.
- AnimalMuppet 7y agoThe kind of situation you describe happens... sometimes. Most of the time when you run into this kind of behavior, though, it's not in a situation with real consequences. It's somewhere like HN. (Have I seen this here? Yes. Have I done it here? Let's just let that question pass, shall we?) What do you do then? Call them on it, for the sake of the rest of the people in the discussion? Ignore it (don't feed the troll)? Call them on it once, then just walk away? What do you do when you are the one doing it, and someone calls you on it? Do you double down, or do you realize that you were being a pedantic jerk, and stop? Maybe even apologize? And how do you tell where the line is between "valid nuance" and "pedantic irrelevance"? There's plenty of room for life skills here. They may not help you in every instance of this kind of behavior, but they can help in many of them.
- modzu 7y agothe conclusion of the post get's at vervake's idea of relevance as the basis of cognition: https://ieeexplore.ieee.org/abstract/document/8132809/ https://ieeexplore.ieee.org/abstract/document/8132809/
- louwrentius 7y agoI really felt this article. Even when you take the time to outline the context, people still are eager to point out that extremely unlikely but possible situation where your statement may be false. And then 99% of the meeting is debating how their objection is irrelevant. So infuriating.
- mjburgess 7y agoI believe the difference here is between categorical and empirical thinking. In each case the person replying is saying, "the principle is violated by this counter-example, so the principle does not hold". The author of this article should be saying, "this isn't a principle, its a heuristic whose utility depends on context". Ironically the author of this article misunderstands the point these replies are making and straw-mans them as much as he believes he's straw-manned. They're not failing to capture relevance. They're taking a statement phrased categorically as a categorical principle, when it was an heuristic one. This comes down to how people reason -- more mathematically-inclined people are often categorical thinkers; trying to reason in terms of universal principles & iterating on those until they are universal. The goal of the person replying isn't (necessarily) to undermine the OP; but, to helpfully offer a counter-example to evolve the principle until it holds. It is a good strategy to arrive at general criteria for when, eg., GC is useful. In fact, this article is an exercise in that because it replies to these counter-examples.
- whytaka 7y agoThe author makes the point at the end that it's important to grasp the wider context. The wider context is that people aren't expected to care so much about the specificity of their phrasing all the time. The mathematically-minded would serve themselves better by ascertaining the category of the conversation and context at hand.
- deckar01 7y agoI recently received an email from my father with a link to a shady article about COVID-19. It was fairly long and contained lots of extremely technical medical facts. The article was difficult to immediately disprove, because it contained so much factual, yet irrelevant information. I was able to explain to my dad why it was logically flawed, but it was impossible to convince the author that their article should be retracted. When I identified the source of the author's factual medical information, it was clear they had simply omitted the opening statements from a research paper that established the hypothesis was likely not applicable to the problem at hand. When I found the researcher, they were in the awkward position of defending their research from people attacking the factual parts of the derived article.
- stephc_int13 7y agoWhat the author is saying sadly also applies to his own arguments. And this is even worse: "Dangling reference out of memory errors are rare (maybe 1 in 10 programs?) whereas regular memory bugs like use-after-free, double free, off by one errors, etc are very common (100-1000 in every program)." In my opinion, this is a weak statement, it does not match my experience at all, and I've been programming at a professional level for about twenty years.
- crazygringo 7y agoPlease tell me your comment is satire, yes? That you're making the author's point for them -- that you're responding not to the point of the article, that you're 100% technically correct, but "missing the entire point" of the article? :)
- axaq 7y agoWhat is the point of the article? To insert absolutist "truths" about a whole range of issues while disallowing anyone to disagree lest he is a pedant? Calling out outrageous statements is not pedantry.
- stephc_int13 7y agoI think the case would have been much stronger if the author didn't mix his argument with his opinions about GC, Python, etc.
- travisjungroth 7y agoWhen someone makes a pretty soft general statement, pointing out small details that are on the other side doesn’t disprove them and doesn’t help anything. I see it all the time online. Someone makes a statement, and then someone implicitly or explicitly disagrees and offers up a detail that doesn’t actually refute anything. When I get hit by these I ask “what did I say that you disagree with?” Take the first example. The main point is GCs save time. A bad refutation is pointing out the downsides that exist. Of course there are downsides. A good disagreement is something like “Garbage collected languages don’t end up saving time in the long run. They’re so widely used now that most projects start with them, even the ones that grow into huge applications. And since the developers aren’t used to handling memory directly, relatively rare bugs can spiral out of control and slow down a whole company.” That’s not an argument I would make, but it’s a decent one that refutes the actual point of the statement.
- jameslk 7y agoThis reminds me of times I've left thorough comments on HN, only to have a single point of it debated. As if picking at that single point defeats all others. Seems to happen a lot to others I've noticed. I wonder if this has a name...
- danielam 7y agoThere are two ways we can interpret these examples [0]. The first way is to interpret them as two propositions understood in the general context. I believe this is the interpretation that the author had intended. In this case, the objection is just crappy because it fallaciously attempts to refute "usually p" with "occasionally not-p". It is a failure to reason correctly. So what's the cause of the fallacious inference? Well, in this particular post, the author chooses to focus on the case where the objector fails to appreciate (either though inability or through malice) the general context in which the original statement is being made. If I were to offer a diagnosis for what the author is aiming at, it is a lack of prudence [1]. Prudence, of course, presupposes humility [2] which some of you have mentioned. [0] The second way is to understand that these examples in a specialized context that hasn't been articulated. Take the Python example. Let's say we've been given an excerpt from a conversation that had taken place at a company that specializes in embedded microcontrollers. A charitable reading would actually lend credence to the objection. [1] Prudence in the classical sense as cardinal virtue, not its modern corruption. [2] Humility also in the classical sense, not as some corruption of modesty or lowliness.
- lonelappde 7y agoCool blog post. Let's go build some stuff.
- fortran77 7y agoThis blog post is 100% wrong. It's not about GC vs non-GC in today's universe where we have Rust that solves all these problems and more!
- tracker1 7y agoTo the https one... If the NSA stealing your server is a legitimate business risk, I suggest launching your secured server into space, they'll have a hard time sneaking onto your satellite without anyone noticing.
- AnimalMuppet 7y agoThey'll have an easier time sneaking onto your satellite than you will sending out field service. ;-)
- colinrand 7y agoI find posts like this to miss the point of one of the most important aspects of coding - that of technical leadership. It is the role of whoever is providing technical leadership to drive to clarity among all the participants in the conversation. This is not easy as the logic put forth by both sides is often slightly misaligned - hence this and many other like it. If nobody takes responsibility for making sure this alignment is achieved, yeah, you'll get lots of 'missing the points.' Sometimes this is called 'management,' and if you get really good at it you can even make it to 'upper management...'
- neekburm 7y ago"You're not wrong, Walter, you're just an asshole."
- gonational 7y agoSomething on the periphery of this article’s theses on pedantry, that comes to mind, is the notion that everything anyone states has to cite some peer-reviewed paper that is published in a prestigious journal; otherwise it’s useless. “Source?” “Citation?” “Papers, please?” Nobody is allowed to think aloud, lest they risk spreading disinformation, despite the utter and complete failure of occidental peer review systems (80% non-reproducible rate, etc.). IMHO, this pedantic behavior also creates a Royal Society-esque gatekeeping environment that is hostile to individual a posteriori contributions, relegating them to “anecdata” status at best. That environment turns out to be also hostile to a priori knowledge creation in general.
- hinkley 7y agoThis reminds me of a Rate My Professor hall of fame nomination I read years back. I've forgotten the phrasing so the below is heavily editorialized except the punchline: > <Professor> could present everything there is to know about convection, thermal transfer through metals, phase changes in liquids, and at the end of the day you would still have absolutely no idea how to boil a pot of water.
- EdgarVerona 7y agoOn a related subject, I do feel like there's been real, tangible moral harm done to our society by reinforcing the idea of debate as a competition in children. When we reinforce certain behavior, we shouldn't be surprised when that reinforcement extends to the rest of their lives. When we turn debates into something that is "won" rather than something that is seeking a refinement of what we know as truth, we encourage people to use deceptive tactics: to appeal to straw men if they can get away with it, to distract from the issue if they can get away with it, to do whatever they can do to win. That's how you end up with blowhards like Ben Shapiro: people who are more interested in winning a debate by any means necessary and reinforcing their existing belief systems then discovering truth. You get a thrill out of "victory," but it is less than hollow when it's won by appealing to fallacious arguments: it actively works against our ability as a society to understand the concept of truth. And it is so easily abused by people with malicious intent.
- ChefboyOG 7y agoAs someone who grew up in different debate-club-esque environments, I agree wholeheartedly. I had to unlearn quite a few patterns of thinking and behavior—patterns that had been positively reinforced by most adults in my life—when I grew up. For me, the most damaging effect was the separation of debate and decision making. In real life, if I advocate for a position—be it where we eat dinner or where my child goes to school—and I'm convincing, things actually happen. We have to go to that restaurant and my kid has to attend that school. Debates happen to inform a decision all parties are trying to make together. As a kid, the opposite was true. Debate was about proving my intelligence in exchange for praise from my teachers, parents, and peers. It was an athletic competition in which our positions were our jerseys, in that we took them off after and went home. I was reflexively argumentative for a decent period of time as a young adult before I realized the damage it caused to my relationships and how unproductive and dishonest it was.
- MaxBarraclough 7y agoI think it's Richard Dawkins who uses the word discussion to contrast with the word debate (used in the combative sense). In a discussion, several parties with different perspectives work together to make progress toward truth, whatever that means in the given context. If one or more parties has their opinion changed, that's seen as productive. In a debate, several parties plenty a points-based game (perhaps even literally), and if someone is seen to be changing their mind, they lose.
- FabHK 7y agoThe Recurse Center (formerly Hacker School) has among their social rules one that discourages "Well-Actually's". Quite pleasant. > A well-actually happens when someone says something that's almost - but not entirely - correct, and you say, "well, actually…" and then give a minor correction. This is especially annoying when the correction has no bearing on the actual conversation. This doesn't mean the Recurse Center isn't about truth-seeking or that we don't care about being precise. Almost all well-actually's in our experience are about grandstanding, not truth-seeking. (Thanks to Miguel de Icaza for originally coining the term "well-actually.") https://www.recurse.com/manual https://www.recurse.com/manual
- TwoNineFive 7y agoAre there any synonyms or similar terminology for this type of behavior? I generally know it as "talking past each other". https://en.wikipedia.org/wiki/Talking_past_each_other https://en.wikipedia.org/wiki/Talking_past_each_other
- derangedHorse 7y agoThe thing with the “correct” example posts listed is that they’re not completely right. Stating an opinion, and then a fact right after only makes them partially factual and will always open room for more debate. “Python is trash, it can’t handle the processing of big files like other languages can” isn’t actually proving the opinion that Python is trash
- kazinator 7y agoPedantic point: a dangling reference is the same thing as a premature free. If we free(p) but then the pointer hangs around in the program and we use it, we have used a dangling pointer. What this seems to be talking about is "semantic memory leaks": objects that are not reclaimed because they are reachable, and this reachability is unintentional. For instance, suppose we process a stream of real time data which exhibits locality. Some items appear in it and are likely to appear again, but eventually disappear forever. We can put items into a cache to speed up processing. But if we don't expire the cache, it could grow without bound; the items that will never be seen persist in it, and new items keep being added. That's a bug in the algorithm, not in the memory management. Memory management has nothing to say here; it has no idea about the parameters that drive the cache size or replacement policy. Implementing cache expiry in this scenario has little or nothing to do with manual memory management. Manual memory management cannot just blow away any object it feels like based on it age or recency of access.
- Discombulator 7y agoThe article focuses on an issue that is very widespread on technical forums, and one that I find irritating. (It is a bit better here thanks to the good moderation, but you can still find examples among the comments for almost every article.) To be specific, I mean comments a) that point out a flaw in an argument, often on narrow technical grounds, b) where a charitable reading of the original argument indicates that the writer would very likely have been aware of this flaw, c) that do not provide a revised version that would be correct. To me, such comments come off as dismissive - even insulting -, and because of this they almost never result in a good discussion. Most often, such comments are also facile: It is easy to point out facts that hold in edge cases, but in software, as in every engineering discipline, any real world decision involves trade-offs. And as a practitioner, I find it very useful to learn how others have made trade offs on real world problems, exactly because edge cases are often not informative. Whoever comes forward to discuss their solution on such problems deserves praise, because they know that their decision is necessarily not perfect, and can be criticized. A good critique then amends the original statement to provide a better solution instead of dismissing it because it is not universally applicable. This is not about pedantism (which is itself a highly subjective insult that never does any good) - a good comment on a minor point can be enlightening with the right context, and when respecting the original context. I do not think this kind of destructive behavior is currently well covered by the HN guidelines, so here is a proposal of what I would add (@dang) "If you want to point out an incorrectness in a statement, do not assume whoever made the statement was not aware of it - this often comes off as dismissive. Instead, attempt to provide a synthesis of the original statement and your criticism that would be correct from your point of view." Using this guideline, here is how I would rephrase the examples from the article: - "Garbage collectors work in many cases, but I have spent many hours dealing with dangling memory reference issues, so in this and that case I recommend instead..." - "Note that TLS does not provide sufficient protection against nation state adversaries because... If you have to deal with this threat scenario, I recommend ..." - "In performance critical scenarios, you can avoid paying the cost of bounds checking as long as you..."