Live data from Hacker News

A curated list of falsehoods programmers believe

github.com

121–128 of 128 posts

Re: A curated list of falsehoods programmers believe

#121
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…

There's the UPU S1 standard for that (also covering postal addressing data).

Fun fact, this comment is the first result and only result containing all terms when Googling "UPU S1 standard". The closest relevant looking result I was able to find was the "UPU S10 standard", which doesn't seem relevant.

Re: A curated list of falsehoods programmers believe

#122

Earlier quoted context omitted.

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…

The only mandatory part, from UI point of view, was the username in "users" table. On 2nd table (think was "userExt" called) everything was user generated and not required. From law point of view the data you entered in there was your responsibility to comply with both embassy requirements and your country issued ID's (personal identity card, passport, driver license, marriage license, etc).

The document was also user generated from their defined fields and was user customizable. My implementation was to allow users move fields on the form however they liked and also had an option to be saved as template to be used further by same user or others.

Sorting and filtering was the biggest issue. Since we talk about Kuweit, Unicode complaint was paramount, including Mongolian alphabet (not to mention classic pitfalls of Chinese, Japanese, Arabic). Initially I went with UTF-16. That was a big mistake and I've refactored that part of the code a year later to be UTF-8. Since this was also manually picked by Admin, it had a points system. For example if more then 10 different users would add a new field (let's say "tribe name") then Admin would get a notification about it and could be added as option, for future users, to pick when entering their data. Once defined in Admin part, it could be used for sorting/filtering like any other already defined field. As for exact sorting, I've simply let Unicode standard and the library used at the time to figure it out, I haven't done any special code on it. Best to let others smarter then you on that issue to do it, you just use their defined interfaces.

Display for Admin would show all the user defined fields, one after another. Admin also had the possibility to view them in the user saved templates. In case of using a template from another user to current user, the form would simply show a red outline and empty space there if data was missing, and if the same user had other fields not used by current view they would be enumerated at the end of current form. Forms could be on as many pages as the user wanted. Remember, this was used by embassy and everything entered online would also be manually compared with the hard copy of them by the officer in charge of your application. I don't think pranking the embassy officer with a shitty form would be nice for you since he would simply reject your application and you had to pay (the least amount was on thousand of dollars) to begin the process. Only a bored billionaire would do something like that, usual folks took great care to actually be 100% accurate.

Re: A curated list of falsehoods programmers believe

#123

Earlier quoted context omitted.

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…

That's fascinating. If you were to write a longer form article on this project I'd love to read it.

Not my style. You could read my past comments here on HN and see for yourself my different stories on different subjects, both good or bad (I can't please everyone, not that I try anyway).

Re: A curated list of falsehoods programmers believe

#124

Earlier quoted context omitted.

You just inspired an idea from me regarding HN comments. I think Slashdot still has one of the most elegant commenting systems around, even if the quality of the comments (due to the site's ownership) is worse. I would love to tag HN comments with certain attributes and be able to filter them out. For example, this comment and the parent could be tagged "meta-discussion". Then those who want to discuss the content of…

I have been thinking about this for a while with Reddit. If users could mark why they think something is worth upvoting then everyone else could just filter to find the insightful or informative comments and get rid of the funny ones, or vice verses depending on what they were looking for at the time. Distilling down the comments to stuff you are much more likely to be interested in could improve the site quite a bit…

>The problem is only more complicated models can improve it and the moment you do that you potentially lose customers, but at the same time you potentially don't want those customers either.

Therein lies the key paradox. Statistically, content quality usually has the shape of the the lognormal distribution, with community size on the horizontal axis and quality on the vertical. Content below a certain margin of popularity is usually unpopular for a reason--the ideas of the community are not very good! When content quality is high, the popularity of a community rises because the ideas are good! After a critical threshold though quality goes down. Once you've reached that threshold, number of users is inversely proportional to quality. I really like HN vetting process for voting: you have to have spent enough time on the site, and commented in a way that gained sufficient approval from the existing community in order to get the right to vote in that community. Keeping barriers to entry high is critical to this, but marketing people can only see $/user.

Reddit has become increasingly intolerable for me except for a few niche subreddits.

Re: A curated list of falsehoods programmers believe

#125

Earlier quoted context omitted.

There's the UPU S1 standard for that (also covering postal addressing data).

Fun fact, this comment is the first result and only result containing all terms when Googling "UPU S1 standard". The closest relevant looking result I was able to find was the "UPU S10 standard", which doesn't seem relevant.

Oops, it's called S42-1.

Re: A curated list of falsehoods programmers believe

#126

> My system will never have to deal with names from China I work in a small French town where Chinese people were quite rare until a few years ago. Their passports have a translation of their names in Latin alphabet, same for Russians. However one day one of my user told me "hey I can't find some customers in your app, but I'm 100% sure I recorded them previously. Funnily they're all Chinese". It turns out that to av…

A former UN Secretary General U Thant was actually named just Thant, with "U" being a honorific (King od like "Mr"). And the first Burmese prime minister was actually named Nu (formally U Nu). https://en.wikipedia.org/wiki/U_Nu

Re: A curated list of falsehoods programmers believe

#127

> My system will never have to deal with names from China I work in a small French town where Chinese people were quite rare until a few years ago. Their passports have a translation of their names in Latin alphabet, same for Russians. However one day one of my user told me "hey I can't find some customers in your app, but I'm 100% sure I recorded them previously. Funnily they're all Chinese". It turns out that to av…

I used to know of someone who’s middle name (not just initial) was “E”. One letter.

"E" can also be a surname or given name in Chinese. It's pronounced like "uh" in English.

https://en.wikipedia.org/wiki/E_(surname) https://en.wikipedia.org/wiki/Cai_E

Re: A curated list of falsehoods programmers believe

#128

Earlier quoted context omitted.

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 y…

Fair point, I never thought of that. Thanks for expanding on this!
Post reply on HN