Live data from Hacker News

A curated list of falsehoods programmers believe

github.com

111–120 of 128 posts

Re: A curated list of falsehoods programmers believe

#111

Earlier quoted context omitted.

I wouldn’t say it’s irrelevant. If you are speaking to someone over a phone, over a counter, or through the mail, they interpret your communication through the same lens of assumptions, before it even reaches your application.

That's why I said rather ;) Human assumptions are one thing, but if you're directly speaking to a person, you can explain your unusual name situation. There is no discussing with the input validation on a web form, though. That's why I think it's far more important for programmers rather than, for example, counter staff.

> if you're directly speaking to a person, you can explain your unusual name situation.

Sort of. I'm more thinking about situations where the person makes interpretive assumptions on their own without opportunity for discussion. You don't normally see what people are actually filling out in the application when you're talking to a customer service representative. Nor would 90%+ of western CS reps have any clue what you're even talking about if you brought up even a very common exception.

Example:

Form: [first name] and [last name]

CS Rep: what's your name?

Customer: "Kim Jong Un"

Resulting record: {firstname: 'Kim', lastname:'Un'}

And even if your developer was smart and made those fields "given name" and "surname", your CS rep might still jam the values in the wrong fields because they're a kid in Nebraska making $12/hr who barely understands the difference between Korea and China.

Re: A curated list of falsehoods programmers believe

#112

Earlier quoted context omitted.

> I have encountered too many web forms in which a gendered honorific is required input, and you must select from a drop-down list. We have 3 gender options, mandated by law, in a dropdown which makes sense for our company. But we don't mandate honoriffics, nor do we use a gendered form where possible. And all input goes through an employee. (We are a worker leasing company, ONLY active in Austria) > Right behind the…

What is the obstensible purpose of this law that requires you to collect and store information about peoples' gender? I can't fathom why a legislature would ever think that necessary. It just doesn't seem like useful information in most contexts, almost like asking for astrological signs and blood type. I've seen those on forms before and they seem to serve no real purpose.

The law is that we need to have 3 option, male, female, diverse.

Also: We employ people to work at a different company through us.

Re: A curated list of falsehoods programmers believe

#113

Earlier quoted context omitted.

Just like Harry S Truman "Since the S did not stand for a name, Harry didn't use a period after it for most of his life." https://www.trumanlittlewhitehouse.com/key-west/president-tr...

Similarly Oppenheimer, of the Manhattan project He thought assuming that leading J made him seem more posh and WASPy

Interesting story, but, unfortunately, it's not true. Wiki gives his full name as "Julius Robert Oppenheimer." Julius was apparently his father's name as well.

https://en.wikipedia.org/wiki/J._Robert_Oppenheimer

Re: A curated list of falsehoods programmers believe

#115
post #6
post #3

There are things more important than working software.

A fair few of the these lists (which are fascinating, by the way - just pick one at random) are ultimately about respecting people and culture. Being bothered to correctly handle calendars or naming conventions (and lots of other things) that may be unfamiliar is helping to include people who might otherwise be excluded, or treated as second class.

Naming conventions might be important, but more important than working software?

Re: A curated list of falsehoods programmers believe

#116
post #6

Earlier quoted context omitted.

A fair few of the these lists (which are fascinating, by the way - just pick one at random) are ultimately about respecting people and culture. Being bothered to correctly handle calendars or naming conventions (and lots of other things) that may be unfamiliar is helping to include people who might otherwise be excluded, or treated as second class.

I think this can be compared to the standard trade off of doing things the right way or the quick way, which is not necessarily wrong but can blow up spectacularly. Unfortunately, sometimes the work to do things the right way is an infinite pit of edge cases and domain knowledge. You can use libraries to paper over this trade off but then you have other trade offs like needing to worry about bugs you have no control…

Do your users care if it's done the "right" way so long as it works the way they want?

Cannot tooling and methodology make up for poor documentation or "code quality"?

Re: A curated list of falsehoods programmers believe

#117
post #13

Earlier quoted context omitted.

> what would you recommend as a universal way to store users's names? It's unsolvable problem. Names are locale and context dependent and there is no way to translate any given name from it's canonical form (which is nonexistent) to any context you would need (except identity function obv). So you store in-context representation(s) of name and don't transform ever. In practice that means you have one or two fields wi…

Let's just rename everyone a GUID and be done with it.

I think the Borg nailed it: Seven of Nine, Tertiary Adjunct of Unimatrix Zero One.

Re: A curated list of falsehoods programmers believe

#118

Earlier quoted context omitted.

There are also cases of transliterating names. Belarus insists on their internal schemes, so Евгений becomes Yauheni (to match Belorussian version of the name, Яўген) when it should become at least Eugene.

The old trick of having your name mentioned in any public document issued in other country in whatever spelling you want doesn't apply in Belarus? Had to do that, because my name looks more like a barcode when transliterated from original Ukrainian spelling.

AFAIK Belarus is very rule-oriented when it comes to transliterating names. I heard it's become better in the last few years, but there are definitely plenty of Yauhenis :D

It also often boils down to the specific clerk in charge.

I personally am a Russian-speaker from Moldova, and I had four more classmates with the name Дмитрий. When we were getting our first passports, I said that I want "Dmitrii" as the name/transliteration. The woman at the counter just asked "Are you sure?", shrugged and accepted my application. All my friends suggested their own spellings at their respective passport offices, all got rejected because "the proper spelling of the name in Moldova is Dumitru" (which is the Romanian version of the name).

Re: A curated list of falsehoods programmers believe

#119
post #4

After reading the Falsehoods Programmers Believe About Names, I wonder, what would you recommend as a universal way to store users's names? There seems to be two main options: Store the name in a single field, be correct but lose the option to sort the names reliably. Store the name in two fields, have the users bend over our western form standards but be able to search and sort easily. Do you have any real life expe…

I've dealt with that on a project for Kuwait embassy. The solution was to create a 2 fields (columns) in a separate table that was linked by ID to main "users" table and the UI would ask the user to add whatever wanted and name the field. Then when searching the algorithm would categorize the most used ones and present them from time to time to Admin that would manually add as options for general search UI. As times…

I too would love to read more about this. It sounds like a great general purpose solution.

Are there any mandatory parts? Assuming not, how does sorting work? Was it a matter of sort orders being pre-programmed for more common fields (e.g. sort by last name first, then by first name) and an assumption that any name that didn't include any of the pre-programmed parts was just stuck at the end? Was it even an issue? (i.e. how many people even had a name consisting entirely of "uncommon" fields?)

Edit: Another question. You said just two fields in the secondary table (perhaps you where simplifying though...). How does display work? Presumably the user expects their grandfather's middle initial to be printed in a particular location relative to all of the other parts of their name.

Re: A curated list of falsehoods programmers believe

#120
post #28

Earlier quoted context omitted.

And pronounce it in NATO alphabet.

I hereforth shall be known as: Four Five Nine Alpha Six Five Bravo Foxtrot -Bravo Alpha Alpha Eight -Four Delta Five Eight -Nine Nine Five Five -Two Six Delta Echo Seven Five Charlie Five Four Zero Five Seven

Don't forget to enunciate properly on the phone:

Four Fife Niner Alfa Six Fife Bravo Foxtrot Bravo Alfa Alfa Eight Four Delta Fife Niner Niner Fife Fife Two Six Delta Echo Seven Fife Charlie Fife Four Fife Seven

Post reply on HN