10 ms·
List of falsehoods programmers believe in
- Cyphase 10y agoI assume OP didn't mean to link to the #postal-addresses anchor?
- pavel_lishin 10y agoOne interesting question from http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx/ http://haacked.com/archive/2007/08/21/i-knew-how-to-validate...: is “Fred Bloggs”@example.com actually a valid email address, given that the plain ascii double-quotes seem to have been converted to "fancy" ones by the blogging software?
- jcranmer 10y agoIt is a legal email address per RFC 5321. In practice such email addresses are not possible in many server configurations, and it usually makes sense to reject such email addresses.
- dsr_ 10y ago...assuming that you are being asked to create it. If you want to deliver to another server, keep the left-hand-side exactly the way it is.
- Bartweiss 10y agoHow is it legal per RFC 5321? The quotation marks are notionally valid, yes, but as posted it had the ASCII double-quote (legal) converted to stylized left and right quotes (non-ASCII, illegal).
- jcranmer 10y agoI assumed that the question being asked was is the style with ASCII quotes legal. If the question involves the use of the non-ASCII quoting style, the answer is more muddled. RFC 6531 generally repeats the RFC 5321 mantra of "don't interpret the local-part", prohibiting only ASCII C0 control codes explicitly [1]. RFC 6530 suggests that C1 control codes should also be prohibited, and suggests that non-NFC is highly likely to cause problems. It further suggests that NFKC-normalized and excluding punctuation and whitespace is risky. In general, a lot of email address handling advice requires ignoring what the dictums of the RFCs state. You should treat email addresses as case-preserving (i.e., compare ignoring case but don't change the case), and it's inadvisable to have a case-sensitive email server. Similarly, quoted local parts and domain literals should be rejected by almost all software that's not in the guts of the email system. Extending similar rules to EAI is difficult because it's unclear how the system will work in practice, but my libraries start by force-converting the localpart to NFC. [1] The actual text is "ASCII graphics or control characters." This could be interpreted to mean "(ASCII graphics) or (control characters)" or "ASCII (graphics or control characters)." Given the text of RFC 6530, assuming that C1 is forbidden should generally be a safe assumption.
- Bartweiss 10y agoThanks, this is a good in-depth summary of some stuff I didn't know.
- pavel_lishin 10y ago> I assumed that the question being asked was is the style with ASCII quotes legal. My question was actually about the fancy quotes; I found it amusing that they got fanci-fied by the blog software.
- wyldfire 10y ago> In practice such email addresses are not possible in many server configurations, and it usually makes sense to reject such email addresses. I would put more weight on closing the loop than filtering on the front end. I'd wager that the vast majority of sites that gather an email address do not send a verification email that bars further progress on their site. It's especially critical if it becomes the underlying trust mechanism for your site. IMO you should only work on filtering fancy quotes out if you've already got a loop-closing verification email path. And yes, I recognize that it's really nice to catch these errors earlier. But the failure mode where people enter someone else's valid email address rather than their own is more common than you might assume.
- jwilk 10y agoPer RFC 5321 (Simple Mail Transfer Protocol), e-mail addresses are ASCII-only. Per RFC 6531 (SMTP Extension for Internationalized Email), this is not a valid address either.
- komali2 10y ago>Time passes at the same speed on top of a mountain and at the bottom of a valley Woah, what? Like, they're talking about effects of relativity because someone is traveling "faster" as the earth spins at the top of a mountain?
- nkrisc 10y agoYep. And it's measurable, it's just very, very small. It normally doesn't really matter for all but the most sensitive applications.
- AckSyn 10y agoTime dilation of everyday life is so small that it's not detectable to all but atomic clocks, over the course of your entire life. So the differences between 10 miles is so negligible it doesn't even exist as an issue.
- komali2 10y agoWhy would it be relevant, then, for a programmer to know that?
- Bartweiss 10y agoMostly it's not. Charitably, someone writing software for e.g. a particle physics experiment might actually need to account for altitude to produce accurate results. Of course, that's the sort of domain-specific demand that might not belong in a general-use list. People writing sound engineering software have to worry about all kinds of subtleties with sample rates and harmonics, but I wouldn't put that in a guide to basic data I/O - I might not even put it in a basic analog-to-digital guide.
- AckSyn 10y agoThe writer may have been exaggerating their point.
- manarth 10y agoA programmer working on something like the OPERA neutrino experiment would need to account for those factors [1]. GPS devices also have to account for relativity [2], so programmers working on those also have to factor that into the logic. [1] http://www.telegraph.co.uk/news/science/science-news/8905322/Speed-of-light-experiment-was-wrong-after-all.html http://www.telegraph.co.uk/news/science/science-news/8905322... [2] http://physics.stackexchange.com/questions/1061/why-does-gps-depend-on-relativity http://physics.stackexchange.com/questions/1061/why-does-gps...
- vorpalhex 10y agoThere's a danger in mixing technical spec information (a phone number can contain non-numeric characters) and non-technical spec information (women...). Some falsehoods are provably correct/incorrect, statements about people don't fit into that mold.
- zubat 10y agoAll the falsehoods texts discuss the same kind of issue: the domain doesn't match the model. And computer models are imperfect a priori for modelling empirical data(natural language, human identity, relationships, continuous functions, physics calculations). We can get those closer in approximate so that the error is negligible, by testing, collecting feedback about our error, and iterating on the model. All of these - even the genders and natural language - can be tested for error, we just can't ensure 100%, and our measurements for the human things necessarily rest on sampling opinion.
- Piskvorrr 10y agoWell, it is rather unfortunate that our data models need to deal with people. Without them, all those irregularities and impurities are eliminated. [lightbulb-animation-above-robot-head]
- andrewstuart2 10y agoIf we really aspire to be an information-driven culture who makes informed decisions about important topics, we really ought to curate lists like these down to actual informed discussions on the items in the list. Printing out a list of "falsehoods" littered with personal opinions and calling them "demonstrable" [1] without a shred of evidence is not going to contribute to general knowledge. There may be some utility in getting me thinking, but for the most part I just find it self-aggrandizing. For what it's worth, I do find this [2] format much more helpful. I'd very much rather see valid counterexamples proving a sweeping statement false than yet another sweeping statement that happens to cover a few sweeping statements. Of course, the above is my personal opinion and may not be shared by the rest of the community, but please can we do better than curating a list of lists we agree with? [1] https://chiselapp.com/user/ttmrichter/repository/gng/doc/trunk/output/falsehoods.html https://chiselapp.com/user/ttmrichter/repository/gng/doc/tru... [2] https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/ https://www.mjt.me.uk/posts/falsehoods-programmers-believe-a...
- spacehacker 10y agohttps://kevin.deldycke.com/2016/12/falsehoods-programmers-believe-about-falsehoods-lists/ https://kevin.deldycke.com/2016/12/falsehoods-programmers-be...
- Semiapies 10y agoAnd you illustrate the smug unhelpfulness of the falsehood lists at their worst.
- Bartweiss 10y agoSimilarly, the famous list of falsehoods about names: http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b... Even aside from the politicized content, I found it jarring that this bounced between clear and 'demonstrable' statements and entries like "you do not need a postal address", which was just a Twitter link to some letter delivered without one. It's not how I'd prefer to see this stuff curated, either.
- bshlgrs 10y agoThis list is an awkward mix of posts containing easily-verifiable but surprising claims about various technical specifications, and posts which just make a variety of contentious claims with no particular evidence provided (I think the economics one is possibly the worst).
- masterleep 10y agoThe ideological ones are really horrible.
- Falling3 10y agoWhich ones are ideological?
- cpburns2009 10y agoMost of the Human Identity section and the Society section.
- nostrebored 10y agoFalsehoods programmers believe about gender is a pretty great example.
- camus2 10y agoThere is some obvious "activism" behind such list, mixing valid technical specifications, politics, opinions and gender theory. But I guess it is a political correctness guide for people who believe in a specific political line, also a way to shame publicly those who do not by using that list as an argument of authority.
- SilasX 10y agoYou're downvoted, but I agree that the e.g. women-in-tech one -- while worthwhile to be aware of -- does not fit the general "falsehoods programmers believe" theme/meme. The meme refers to assumptions that lead to technically-inaccurate programs. IOW, there's a difference between "everyone has two names, so you can assume that schema for a database" vs "all women in tech are designers". The latter is false, but it's not a programming error. The stuff on this list [1] does not fit the pattern of programming errors. https://gist.github.com/Su-Shee/5d1a417fa9de19c15477 https://gist.github.com/Su-Shee/5d1a417fa9de19c15477
- MatekCopatek 10y agoYou seem to imply that there is a non-political, non-activistic way of doing it. How would that work? Because from where I'm standing, if you e.g. implement gender as binary, you're not being more objective, you're just supporting the opposite side of the people you perceive as activistic.
- nostrebored 10y agoWhich is exactly the point: it's not a falsehood it's a contention. Listing your political beliefs as truisms without explanation isn't just lazy, it's annoying.
- Drumlin 10y agoThey should at least put a warning when it's opinion and not fact. Programmers with a limited world view may end up following these instructions - putting themselves at risk for taking a stance on sensitive cultural and political issues.
- song 10y agoWas reading the post about names... My girlfriend has a family name with two letters. In Asia, it's common enough so it's not an issue but in Europe there are some systems that refuse my girlfriend's name because it's too short. It's kind of frustrating.
- autoreleasepool 10y agoInteresting. I'm curious, what's her usual workaround for this problem?
- song 10y agoHer first name has two parts, so she just combines the first part of her first name with her last name. It's incorrect but still matches more or less what she has on her password.
- fru2013 10y ago>password Typo? or Freudian slip :)
- CamelCaseName 10y agoHahaha, most likely passport!
- song 10y agoyep, was supposed to be passport :)
- cholantesh 10y agoI remember hearing from a classmate of mine in college that 'O' is a legitimate Korean surname. Blew my mind! And what about people without a surname? Mononyms are common in some parts of the world, like my native state in South India.
- patmcguire 10y ago"tax - A PHP 5.4+ tax management library" What?
- jefe_ 10y agowas trying to figure this one out as well, best i could come up with is that the library is a bit ambitious (reliably meeting tax requirements for many countries).
- kdeldycke 10y agoLibraries trying to solve these falsehoods are considered good candidates for inclusion in that list: https://github.com/kdeldycke/awesome-falsehood#libraries https://github.com/kdeldycke/awesome-falsehood#libraries
- koolba 10y agoUnder "Falsehoods Programmers Believe About "Women In Tech"": > We're only in tech to find a husband, boyfriend or generally to get laid. If you flip the genders around I'm pretty sure that would be true for quite a few men (at least the last part).
- nostoc 10y agoYou think men go in tech to get laid?
- koolba 10y agoOf course. You don't? Maybe not directly (i.e. literal rock star) but as a means to an end sure.
- deleted 10y ago[deleted]
- NullCharacter 10y agoYou can extend this logic indefinitely. From the Futurama episode I Dated A Robot: > All civilization was just an effort to impress the opposite sex.
- cortesoft 10y agoWhat about all the people in tech who are already married?
- clickbait 10y agoFlipping the genders around doesn't make it any less sexist.
- koolba 10y agoIt doesn't make it any more sexist either.
- 10y ago
- stinos 10y agoMost of these things are more about 'not knowing' ot 'forgetting to take into account' than 'not believing'? (not a native English speaker but surely those are not the same semantically right?)
- abraves10001 10y agoYea, as discussed in other parts the idea that programmers believe "People's names do not change" is demonstrably false. I am a programmer, I understand names change but you are right, there is a chance I don't account for it. Semantically believing something is false != I didn't take it into account.
- willis77 10y ago[deleted]
- dang 10y agoPlease stop posting unsubstantive comments to HN. We detached this comment from https://news.ycombinator.com/item?id=13637838 https://news.ycombinator.com/item?id=13637838 and marked it off-topic.
- laurentdc 10y ago> The shortest path between two points is a straight line uh?
- abraves10001 10y agoRight?! Even on maps it is true. It doesn't mean that there is a viable route on that line or that that line is the preferred one. That one is really bad, imo
- maxerickson 10y agoIt's only true on certain maps. https://courseware.e-education.psu.edu/projection/chapter9.html https://courseware.e-education.psu.edu/projection/chapter9.h... For regional maps it doesn't particularly matter, the map will be in a projection that has relatively minimal error, but a straight line in most projected coordinate systems will not be the shortest path between those points.
- jcranmer 10y agoDepends on the map projection. On the surface of a sphere, the shortest distance between two points is along a great circle route (which is the equivalent of a line in spherical geometry). Polar map projections preserve straight lines as great circle routes, but, e.g., Mercator projections do not. If you're looking at a 5 km × 5 km topo map, the difference isn't particularly significant. If you're looking at a map of Europe or the United States, it is (note that many airline routes seem to follow curved lines--it's because the shortest distance is that curved line).
- ska 10y agoEven on maps it is true. That really depends on your map. Or rather, your projection. Which is sort of the point.
- deleted 10y ago[deleted]
- deleted 10y ago[deleted]
- DashRattlesnake 10y agoWhen it comes to "curated" list like this, the who the curator is more important that what they curate. Who is Kevin Deldycke, and why should I value his judgement?
- pg_is_a_butt 10y agothe first falsehood on that list should be that programmers actually believe anything else on the list. you're all idiots.
- ZenoArrow 10y ago>"Falsehoods Programmers Believe - A brief list of common falsehoods. A great overview and quick introduction into the world of falsehoods." https://spaceninja.com/2015/12/08/falsehoods-programmers-believe/ https://spaceninja.com/2015/12/08/falsehoods-programmers-bel... >"Falsehoods programmers believe about names" >"People have names" Is this a joke?
- Verdex_2 10y agoNewborn baby, unidentified deceased person, person in police custody who refuse to give name, feral children.
- deleted 10y ago[deleted]
- elcapitan 10y agoOk, that list is awful, with all the ideological nonsense. But besides that, for stuff that is actually empirically testable and relevant it would be nice to put them into a unit-testing library to automatically check certain functionality you build (for example to check functions that deal with time or dates or names).
- AvenueIngres 10y agoThe sociological "falsehoods" of this list ought to be renamed: "Postulates I choose to consider as universal and objective truths as to silence any discussion or debate around them" or "List of opinions I have that are facts by virtue of being on this list" Of course, you're wrong for disagreeing with OP.
- Nomentatus 10y agoThe lists are cautionary tales, things to consider before you code. "May those who have never sinned ignore these posters, suggestions, and lists."
- elcapitan 10y agoOk, but I must be right about something? - "Nope, not if you disagree with me about the other thing"
- z3t4 10y agoIf we are to remember the truth, it's better to list the truth rather then the falsehoods. Example: Partner says "Don't buy the red one", then a few days later you go and buy the red one, while you should have bought the blue one. It would be better if your partner had said "Buy the blue one".
- Piskvorrr 10y agoThere's the rub: if trying to implement, e.g., the whole Names thing, you'll find that the requirements are impossible to satisfy - if you avoid the Scylla of one, the Charybdis of another will get you. The point is to be aware of the limitations, and know which ones you are accomodating, which you are avoiding, which you are breaking, and why. The other option is akin to "MEH EVERYTHING IS UPPERCASE ASCII CHARACTER OR A SPACE NOTHING ELSE MATTERS", which sounds a bit...backward...in 2017, and will come back to bite you.
- waynecolvin 10y agoWait a moment, they have a Falsehoods series on all sorts of subjects. The Fake News fact checkers are going to try globbing on to every niche they can...
- hakkk 10y agoSJW bullcrap.