Domain: kalzumeus.com
Stories and comments across the archive that link to kalzumeus.com.
Comments · 29
-
Re:Whoopsie
What makes time extra difficult is that so many people assume that time is easy.
Exactly!And because people mistakenly assume it is easy, even very very smart people whom you would probably say are reasonably careful will get it wrong surprisingly often.
Yeah, somewhere is a web site with all the "misconceptions about time", they also have some other topics, like the misconceptions of "Names of Humans".Ah, found them:
https://www.kalzumeus.com/2010...
https://infiniteundo.com/post/... -
Re:The real reason is...
Indeed.
Falsehoods Programmers Believe About Names
People have exactly one canonical full name.
People have exactly one full name which they go by.
People have, at this point in time, exactly one canonical full name.
People have, at this point in time, one full name which they go by.
People have exactly N names, for any value of N.
People's names fit within a certain defined amount of space.
People's names do not change.
People's names change, but only at a certain enumerated set of events.
People's names are written in ASCII.
People's names are written in any single character set.
People's names are all mapped in Unicode code points.
People's names are case sensitive.
People's names are case insensitive.
People's names sometimes have prefixes or suffixes, but you can safely ignore those.
People's names do not contain numbers.
People's names are not written in ALL CAPS.
People's names are not written in all lower case letters.
People's names have an order to them. Picking any ordering scheme will automatically result in consistent ordering among all systems, as long as both use the same ordering scheme for the same name.
People's first names and last names are, by necessity, different.
People have last names, family names, or anything else which is shared by folks recognized as their relatives.
People's names are globally unique.
People's names are almost globally unique.
Alright alright but surely peopleâ(TM)s names are diverse enough such that no million people share the same name.
My system will never have to deal with names from China.
Or Japan.
Or Korea.
Or Ireland, the United Kingdom, the United States, Spain, Mexico, Brazil, Peru, Russia, Sweden, Botswana, South Africa, Trinidad, Haiti, France, or the Klingon Empire, all of which have âoeweirdâ naming schemes in common use.
That Klingon Empire thing was a joke, right?
Confound your cultural relativism! People in my society, at least, agree on one commonly accepted standard for names.
There exists an algorithm which transforms names and can be reversed losslessly. (Yes, yes, you can do it if your algorithm returns the input. You get a gold star.)
I can safely assume that this dictionary of bad words contains no peopleâ(TM)s names in it.
People's names are assigned at birth.
OK, maybe not at birth, but at least pretty close to birth.
Alright, alright, within a year or so of birth.
Five years?
You're kidding me, right?
Two different systems containing data about the same person will use the same name for that person.
Two different data entry operators, given a personâ(TM)s name, will by necessity enter bitwise equivalent strings on any single system, if the system is well-designed.
People whose names break my system are weird outliers. They should have had solid, acceptable names, like ç"äåéfZ.
People have names. -
Human names aren't even slightly unique
Starting a company? Getting your own email server?
firstname.lastname@companyname.tld
Doesn't work. Here at a company with less than 600 employees, we have two John E. Smiths, three Jason Johnsons (of whom two have the same middle name) and we have six people named "Dolores Rodriguez" of whom three have no middle name. I can't explain the Dolores factor, other than to say that statistically it had to happen to somebody.
This is known, you can't map non-unique human names directly to a namespace that requires uniqueness.
In the end, despite the corrupting influence of Microsoft Outlook and the scourge of "friendly names" obscuring real addresses some kind of human intelligence, namespace understanding and pattern awareness is required to use email effectively. Just knowing a human name is not enough, you'll have to learn people's email addresses.
Eric Allman said decades ago:
As a general rule, it is an extremely bad idea to using full names as e-mail addresses, since they are not in any sense unique. For example, the UNIX software-development community has at least two well-known Peter Deutsches, and at one time Bell Labs had two Stephen R. Bournes with offices along the same hallway. Which one will be forced to suffer the indignity of being Stephen_R_Bourne_2? The less famous of the two, or the one that was hired later?
-
You need to read this
-
Re: Erm
Maybe your parents should have stopped inbreeding first...
To fix your lack of education on names, please read this: http://www.kalzumeus.com/2010/...
It's even on-topic.
-
Time, Names, Murphy's Computer Laws
These should be required reading for programmers AND designers. I'm looking at you Mr. shitty designer/programmer that only lets me put 13 characters in for my (first) name.
* Falsehoods about Computers, aka, Murphy's Computers Laws
-
Re:Another Google AlternativeI see fine and well that it's just a curiosity. When I looked at my weblogs, I wondered which bots were from which search engines, and what they were looking for, but similarly it was only a passing concern. Interesting that you mention Chinese-specific crawlers too. Just a couple of days ago I was on the third read-through of a job advert which sounded very much up my street. No mention of pay rates (but who puts pay rates in job adverts) or work rotas, but the job was based in Schenzhen (I didn't get as far as checking where that is - SE China somewhere), all the description was in English, with few grammatical errors, the job spec required fluency in English, but didn't make nay other linguistic constraints.
Like I said, I got to the third read-through before I noticed the bit about being required to be a citizen of China at the time of application. It didn't surprise me, but it was very much buried in the fine print, not given any degree of priority.
So, the assumptions I was making about the language requirements were very much off-centre from the assumptions that the person writing the advert was making. Oops - "my bad" (as I believe the vernacular is this century). But it did remind me that I need to check my assumptions too.
A week or three ago I came across a page describing Falsehoods Programmers Believe About Names. (Actually, it looks as if it was Slashdotted a half-decade or so ago, but I don't recall it - I think I was in Canada. Or Korea.) That's got a depressingly long (non-exhaustive) list of things that the writer had encountered which people believed, but were wrong, concerning names. Delights like
Peopleâ(TM)s names are assigned at birth.
OK, maybe not at birth, but at least pretty close to birth.
Alright, alright, within a year or so of birth.
Five years?
Youâ(TM)re kidding me, right?I'm going to have to bookmark that, to remind me to check things.
The only time I've made money from programming, it was when trying to compare two sets of data from two different companies, describing the same set of events (each company blamed the failure of the other's tool for causing their tool to fail, costing the operation a million dollars or so ; one of the combatants asked me to see if I could do something with the data sets, for Monday, 07:00. This was Friday, 15:00.) Eventually I found each data set's internal clock - and of course they were in different formats. One was text strings, including the day name IIRC ; the other I eventually parsed as UNIX epoch seconds, but the operators hadn't corrected their clock for the fact that this was a leap year. Ever since then, I've been cautious about data formats. But it was a long weekend of learning how to write C++ (only tool I had) and accidentally overwriting my source code when I typed a compilation command incorrectly.
-
Re:Don't single out Facebook
People who take Ubers are not always sober, nor always fluent in English, but at least they know their own first name.
Assuming that they have a first name. Not all cultures do.
[Searches for link] Here it is : Falsehoods Programmers Believe About Names, from which several relate directly to your incorrect assumptions (note from the numbers how far down the list your assumptions are ; there are much more fundamental mistakes you can make, e.g. that people have names)
:18. Peopleâ(TM)s names have an order to them. Picking any ordering scheme will automatically result in consistent ordering among all systems, as long as both use the same ordering scheme for the same name.
19. Peopleâ(TM)s first names and last names are, by necessity, different.
20. People have last names, family names, or anything else which is shared by folks recognized as their relatives.
21. Peopleâ(TM)s names are globally unique.
22. Peopleâ(TM)s names are almost globally unique.Also, to predict one of your likely objections,
29. Confound your cultural relativism! People in my society, at least, agree on one commonly accepted standard for names.
-
Interesting read about names
http://www.kalzumeus.com/2010/...
Nothing to say, read it.
There is similar stuff about Dates, Time, Time Zones etc. on the internet. I should make a collection of it.
But I can't figure how to write into my
/. journal nor how to use the old /. bookmark feature. -
Re:So make sure they all get jailed for fraud
I'm sorry, but if you believe there is such a thing as "basic sanity checking" then you are not a software developer (or had some flaws in your education if you are). In a system of this size there will always be unexpected exceptions to any sanity checking that you can think off. By programming a "basic sanity checking" in the system you create a huge problem where several clients with perfectly "sane" inputs get rejected just because some of their information is uncommon.
That reminded me of an interesting blog post I read some time ago, about mistakes programmers make when creating "basic sanity checking" on a simple name field: http://www.kalzumeus.com/2010/...
-
Re:(URGENT REQUIREMENT IN DETROIT!!!!!, etc)
If you're on the market, try consulting. One guy is pulling in 5-figures per week. Don't believe me? Read the source.
-
Names and unicode
Anyone developing software needs a clue about names, and about unicode and text encodings.
http://www.kalzumeus.com/2010/...
http://www.joelonsoftware.com/...
(Then learn lots, lots more about text encodings).
Also, whether or not they use SQL directly, about metacharacter attacks and SQL injection:
-
Sigh.
Obviously, still not everyone has read this yet.
Espescially it seems like we're talking about #1, #9, #30 and #37 and #38, while we're at it.
-
The solution: Esperanto!
... or some other language where every word has one and only one meaning.
"Somehow I remain convinced that a unified, semantically-based solution, using a mix of folksonomy and taxonomy, is the Graal of tagging."
So basically you want everyone to agree on what to call everything. HA! Will never happen. Words mean different things in different contexts. A word that's overly-general in one context will be overly-specific in another. Also, fun fact: not everyone on the planet speaks the same language. Hell, even time changes words. 10 seconds ago, I learned that "Graal" was a word: "Holy Grail, or "Graal" in older forms" If you want a good tagging solution, start by not trying to be so cute and showing off how smart you are and use words that are used today -- call it "the grail" like everyone else in this century. People like you are what breaks tagging systems.
:-)We'll probably solve the problem of how to identify people before we come up with a unified way to name things.
-
Re:There is no One True Way
girlintraining is absolutely right. Heed her advice: know thyself. With that said, I'm going to give you what works for me and some gotchas I've found in the field.
Some people think they need just a specific answer so they learn by googling for everything and never learn outside of a narrow box. Personally, I find they often don't make good programmers or DBAs. I think a disciplined approach to learning a language or database is a must. The PostgreSQL documentation is excellent in that regard. It starts off with a brief history of the database, then gives you basics and then moves on to more advanced topics. Yes, yes... of course you have to use your google-fu for specific answers sometimes, but I think you need a rock-solid core to base your studies off of. Not everyone works this way, but I think we'd have better programmers if they had good material to base a foundation from. When I learn a new language, I hunt down a good, comprehensive core to work from and work my way though.
Next: Practice. Being a book worm won't get you anywhere in the real world. You have to be able to utilize that knowledge. I like to give myself a task or a goal and work towards completing it. I'm not talking about "make a table" then "add a row". I'm talking about working towards a complex goal. My favorite is the address book. It can be extremely simple or incredibly complex. Take something like names. You can just slap a common name into a field in a table, right? Are you sure? How many digits are in a phone number? I live in Germany and the number of digits vary greatly... sometimes within the same city. Who lives at what address? What if a person lives at multiple addresses? (North in the summer, south in the winter.) What if a person has more than one phone number? What if a phone is shared between people at home? Or a team of people in a work place? Another option is to form links between people: who got married? Divorced? Married again? When? Kids? From which spouse? Don't get me wrong... you can drop all this information into a single table or into thirty. It can as complex or simple as you want. You decide. The most important thing is to have something to practice against as you learn.
Good luck.
-
Re:GTFU
Yep. There are some great sites out there that discuss things like this. I end up pulling out this one on a regular basis and have a read through all the comments by people who write useless shit software where it doesn't matter if they have anything correct, raging at the guy for suggesting that they should work a little harder to make something better ("Think of how much money we'd have to spend! We've got no budget for changing char(10) to varchar()!!1! Rawwwwrr!")
There's another good one about time, but nobody rages about anything in it, except for people who insist on storing future events in GMT without the local timezone, and I think they all committed suicide when the government changed DST and they couldn't figure out when their times were anymore.
-
Re:How would an attack happen?
s/he should instead enumerate the much smaller set of things it should accept.
http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/
Good luck with your plan on whitelisting everything possible. I bet I can find the one about things you think wrong about dates & times, phone numbers, addresses, etc.
The real answer is to accept everything and deal with it on the output side, if it even has to be dealt with at all.
-
Re:I think what they should do isYour name is what you say it is.
Well, since the purpose of a name is to interact with other people, it is more accurate to say that your name is what other people call you. If 'Bud' is what everybody calls you every day in 'real life', then that is you real name.
Now is maybe a good time to post the link to the falsehoods that people[programmers] believe about names.
It's quite normal to have multiple names: one of my relatives was called by one name by half the family and another name by the other half. Was one of those names not her 'real' name?
If I am known by a nym in a community---a community that I interact with only using that name, then that is my name----in that community.
-
Go with usernames.
-
That would be fallacies #21 and #37
-
Re:Everyone should post as Anonymous
Touche. I should read this more often:
http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/
-
Tasteless joke in 3, 2, 1...
-
Re:Options and Advice
While I'm not the person you were responding to (nor am I hiring anyone or an expert in resumes), but if you are submitting a resume that is scaring potential employers off, you're doing it wrong.
You should have a resume that tailors your experience to exactly what the hiring company is looking to hire. I'm not saying to lie or anything like that, but if they are looking for someone with programming experience, hilight the programming aspect of your career (languages, libraries, savings in time or money), etc. Don't omit, but downplay the hardware side (unless the job would benefit from that aspect). There was a post the other day that lead to this blog article: http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/. There's some insight in there that could apply to you as well......mostly play up what you've done and not how you did it. Show the potential employer that you work as a team, are smart and capable, and that you've got the ability to learn whatever it is they need you to do. THAT'S how you get a job -- even if you aren't qualified for it.
-
Re:Why do they have to be everything to everyone?
The biggest issue isn't disallowing fake names, it's saying "Use the name your are commonly known by" when you actually sign up and then banning you for actually using the name you are commonly known by (see Skud, for instance). Or, take a look at the "Not evil, just racist" thread. They have banned several Hong Kong residents for using western given names and Chinese surnames. There have been bans for using hyphenated names, multi-word names, accented names (no single quotes! ').
Really, I think they just need to read and internalize this,
-
Re:Why not both?
Why not allow both and let the userbase sort out who they do and do not add on their professional (cathedral) and personal (bazaar) accounts?
google won't let us filter out the comment spammers. They'd have to add a flag for each user as "real" or "anonymous coward" and then add a filter flag so we don't have to see the AC/spammers.
You can control who sees your posts in the circles. You cannot, more or less, control who spams your comments, for better or worse.
Circles are unidirectional, not bidirectional like other services.
A typical failure mode would be I add wiedzmin to my circles, and whenever you post, I spamflood your post comments, and there's nothing you can do about it at this time. Needless to say, I'm not going to behave like that using my real name, so you need not worry. Allowing an infinite collection of ACs in would only make it worse.
cooooool . i like this post
:)))) i circle u if u tooThe spamflood has already started. The biggest mistake Google is making is assuming that the owner of the account is the spammer (or conversely that the spammer actually cares about the fate of the account). That hasn't been true of email spam for years now, and it's not true of Google+ accounts.
Arguments about what constitutes a real name aside, Google has completely missed the boat where the nature of online identity is concerned. They may want a cathedral, but human society is far too bazaar (sorry) for that.
Laugh however much you like about Liberal Arts majors, but this is a classic case of mistakenly believing that an engineering solution exists for every problem.
More likely accounts would mostly be used for post spam than pure harassment. Browse
/. and look at the score -5 to 0 posts for a good idea of what anonymous G+ would mostly look like.No need. G+ is already looking like that.
-
Re:Its really unworkable
-
Google thinks anonymity is a social disease
"People hold online anonymity up as a virtue and necessity. I say it is the root cause of a social disease, and should be greatly limited." — Matt Greenfield
This is probably the basis why Google wants only real names. But, they're only lying to themselves in their hubric white-towers: http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/
-
"Falsehoods Programmers Believe About Names"
Google staffers need to read this: Falsehoods Programmers Believe About Names
The assumptions Google+ makes about "real names" don't even apply for that many people in Mountain View, California, let alone the full range of people in the global Internet culture. Just for one example, it's common for Javanese people to have just one name, not a first and last name, as in the case of an important figure in modern Indonesian history, Sukarno. That's his entire name.
-
Re:How does this work for those under 13?
Requiring a "real" First and Last Name is stupid. Not all countries have that convention.
Requiring a name is not. Most people have at least one name, or they can come up with one.
I think this recent article is relevant:
http://developers.slashdot.org/story/10/06/17/2347257/Falsehoods-Programmers-Believe-About-Names?from=rss
http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/Despite that, that article isn't really that useful in practice (it's useful for perspective). Yes some people don't have names (or names someone can type in repeatably), but they are unlikely to be the sorts posting on web forums (e.g. they are unlikely to be your users in most cases).