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).
A curated list of falsehoods programmers believe
121–128 of 128 posts
Re: A curated list of falsehoods programmers believe
#122Earlier 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 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
#123Earlier 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.
Re: A curated list of falsehoods programmers believe
#124Earlier 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…
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
#125Earlier 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.
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…
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.
https://en.wikipedia.org/wiki/E_(surname) https://en.wikipedia.org/wiki/Cai_E
Re: A curated list of falsehoods programmers believe
#128Earlier 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…