13 ms·
My last name makes me invisible to Computers (2015)
- tyingq 9y agoI have seen apps that choke on much more common names. Like O'Brian. This post is a classic on various name issues: http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b...
- rev_null 9y agoThere was a notable incident where Facebook rejected Caterina Fake.
- charlieo88 9y agoIt's not always a computer problem. I have an O' name. There have been many college educated adults I've had to explain the difference between a quote ("), an apostrophe ('), and whatever the hell you call the character under the tilde (`). I kid, it's the grave.
- kijin 9y agoThe backtick and apostrophe are often used to emulate ``curly quotes,'' which makes the confusion even worse.
- jamescostian 9y agoI think this style might come from TeX, based on this comment: https://english.stackexchange.com/questions/17695/any-reference-on-the-usage-of-a-backtick-and-single-quotation-mark-like-this#comment30967_17696 https://english.stackexchange.com/questions/17695/any-refere... Manpages aren't written in TeX though (apparently they use something called "roff"), but they also contain things like `read' instead of 'read'... perhaps manpage writers tended to like TeX too?
- gpvos 9y agoProbably the other way round: roff/troff/nroff is older than TeX. I guess that on old computer typesetters, ` and ' turned into nicely balanced quotes.
- tankenmate 9y agoroff was the financial back reason that Unix moved from PDP-7 / assembler to PDP-11 / C. http://www.read.seas.harvard.edu/~kohler/class/aosref/ritchie84evolution.pdf http://www.read.seas.harvard.edu/~kohler/class/aosref/ritchi...
- teddyh 9y agoIn old fonts, ` often displayed as ‘ and ' displayed as ’. When they wrote ``foo'', that was meant to show up as ‘‘foo’’, which was a workaround for not having characters to properly spell “foo”.
- bmm6o 9y agoFor an extra challenge, you can explain what an 'okina is.
- deleted 9y ago[deleted]
- halfdgvfyjjuc 9y agoThat character is a backtick not a grave isn't it? Also some cultures use «» as quotes. It's a big world.
- 0xffff2 9y agoIs there a difference? I think those are both words for the same character.
- pc86 9y agoIt's a backtick when by itself, grave when it's an accent over another character.
- dsp1234 9y agohttps://en.wikipedia.org/wiki/Grave_accent https://en.wikipedia.org/wiki/Grave_accent "Programmers use the grave accent symbol as a separate character (i.e., not combined with any letter) for a number of tasks. In this role, it is known as a backquote or backtick."
- mark-r 9y agoASCII never really supported the idea of a combining character, so it's not surprising that the original intent was subverted.
- ygra 9y agoHeck, in some fonts ` even takes the form of ‛ or ‘. Which is probably where typing quotes like ``this'' comes from (which looks absolutely awful nowadays since it mixes an uncombined diacritic with a kludge of a punctuation character).
- kgwgk 9y agoASCII supported combining characters. That’s what backspace was for! https://news.ycombinator.com/item?id=11654682 https://news.ycombinator.com/item?id=11654682
- pjungwir 9y agoIf you really want some fun, try explaining to people the difference between modern Greek tonos (e.g. ή, Unicode 03ae) and ancient Greek oxia (e.g. ή, Unicode 1f75). Or in UTF-8: paul@tal:~$ od --format=x1z tmp/tonos-oxia 0000000 74 6f 6e 6f 73 3a 20 ce ae 0a 6f 78 69 61 3a 20 >tonos: ...oxia: < 0000020 20 e1 bd b5 0a > ....< It's super fun when you are the only tech person in a Classics grad program and everyone else is turning in papers that look like ransom notes, because every fourth vowel has a different x-height from all the other letters. :-) Here are the two Unicode ranges (PDF): modern Greek: http://unicode.org/charts/PDF/U0370.pdf http://unicode.org/charts/PDF/U0370.pdf ancient Greek: http://unicode.org/charts/PDF/U1F00.pdf http://unicode.org/charts/PDF/U1F00.pdf Then again, try explaining to tech people the difference between ή and ἠ and how you can get ἤ or ᾔ. :-)
- memco 9y agoMy kingdom for a good monospaced font and supporting editor to handle these and RTL languages. I've found Setups that work with one or the other, but none seems to do it all just yet.
- eadmund 9y agoThe combination of Adobe Source Code Pro & emacs works well for me.
- Grustaf 9y agoYou're not saying the classicists confuse the smooth breathing with the acute accent, right? Only they can't figure out how to typeset them? How do you enter them nowadays by the way? In the early days of the internet before unicode there were special fonts from SIL for example that first of all were using Latin characters (you'd type W and it would look like Ω) and secondly I think had the diacritics as separate characters, so the font would combine them. It was messy but at least you could type it on a normal keyboard. You could even read it in its ASCII form, most of the hacks were pretty reasonable.
- pjungwir 9y ago
- l0b0 9y agoEven more annoying is when you realise that those quotes are a hack because keyboards don't have separate left and right single and double quotation marks. The rabbit hole goes deeper…
- justinv 9y agoHyphens too. Source: have a hyphenated last name. "No special characters in this field".
- tyingq 9y agoI'll bet it was an airline. The underlying field type for names in a PNR in the TPF os only allows A-Z and space.
- nteou987noeu 9y agoI get that with periods in a street name. Like when I write "123 Main St.", and the web site checks against the USPS's database, it will either reject it outright for having "special" characters, or will say, "We didn't find that, but we found this similar address - '123 Main St', which should we use?" It's so fucking dumb.
- tyingq 9y agoI sympathize, but it is a hard problem to solve. On the seller side, many orders come in with addresses that are just wrong, or missing suite numbers, business names, etc. Ups and FedEx charge shippers ~$15 for each instance where they have to address correct. So, yeah, the period thing is dumb, but automated correction is hard. Even experts, like SmartyStreets get it wrong often.
- kalleboo 9y agoI had a fun issue signing up for a bank here in Japan. Japanese people can't have middle names (the citizen registry doesn't allow it), but foreigners can, so many systems will reject spaces in the name field. Meanwhile they're meticulous about making sure your name matches your ID exactly, leading to the situation I had. The bank's web signup form disallowed spaces in your name, so I wrote my name FIRSTMIDDLE. Then when they processed my application they sent me an email "Your name doesn't match your ID card! Please approve the change to 'FIRST MIDDLE'."
- Freak_NL 9y agoTangentially related (rule 9); my girlfriend's surname contains an 'é'. I have yet to see a year go by without receiving mail having 'é' on the address label where the é should be. Explanation: echo "é" | iconv -t utf8 -f iso8859-15 We're Dutch, and the é is part of our language, and even part of the legacy character encoding standard everyone used before Unicode's widespread adoption. This is just a matter of code that works perfect as long as all characters are part of the ASCII set, but fails on the characters that don't conveniently match between UTF-8 and ISO-8859-15. I doubt these issues will go away within even, say, twenty years.
- nteou987noeu 9y agoI feel your pain. My wife has a French first name with an acute accent over the "e" as well. Many forms will outright reject the accent, so I've taken to just not typing it most of the time. Being American, it doesn't really bother her, though. I know in some languages missing accents and other similar markings changes the pronunciation and meaning of words and can be very irritating to some.
- prance 9y ago> accents and other similar markings changes the pronunciation and meaning of words Yes. In some languages those are actually not "markings" but denote proper letters, like in German ä,ö,ü and ß. But even if not, like in French, it can alter the meaning of words. E.g la != là. Therefore, for most Europeans and speakers of other languages that depend on more letters than ASCII provides, it is very annoying when that is not supported properly. However, I have made the experience in a few cases that particularly Americans have a hard time understanding this. The remark about your wife not caring seems to be in this vein, too. Recently, I decided to convert our MySQL DB tables from latin1 to UTF8. (I wasn't even aware that we didn't have some form unicode, as our DB is only few years old, and I thought some unicode is the default nowadays everywhere. But then MySQL...) Anyway, my CEO (also an American incidentally) was trying to keep me from it because he thought it's not high priority. However, we're about to go live in a French-speaking region, but which also has other indigenous languages (and therefore names), with their own "special" characters (I put "special" in quotes because for those languages, they're not "special" at all -- but I guess you get my gist by now). Also, in previous jobs I have converted legacy systems to unicode and know what a pain it is down the road. Not to mention all the hard-to-find bugs if you don't do it, because some strings don't compare as they should, or people are just annoyed because their name is not shown correctly. So I went ahead with the conversion anyway. We may never know for sure, but I'm convinced that I saved us some major customer frustrations, days of bug hunting and weeks of converting everything later, when existing data would need to be migrated. So please everyone, just use UTF8 or some other unicode variant from the get-go. The few bits you might save otherwise are just not worth it.
- craigds 9y agoDutch names (two or three word surnames with spaces) confuse all sorts of systems/people.
- b3lvedere 9y agoMany years ago computer systems analyzed my last name, which are two seperate words, as me being married. I got quite some snail mail calling me Mrs. [2nd part of last name] for some weird reason.
- sobani 9y agoDutch first names confuse systems as well. Gmail doesn't understand the first name of my colleague is "Jan Willem" and not just "Jan", when showing the list of recipients.
- timcederman 9y agoAstonishingly, nest.com does not work for me at all if I use the hyphen in my last name.
- copperx 9y agoLast names can start with a lowercase too, like d'Auriol.
- backordr 9y agobrb...changing my surname to "null".
- isostatic 9y agoGood luck with that. If computers can't take it, how will you register it in the first place?
- rukenshia 9y agoprevious discussion: Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers - https://news.ycombinator.com/item?id=12426315 https://news.ycombinator.com/item?id=12426315
- stephenr 9y agowhat languages don't distinguish between literal null and a string with content "null". More importantly, who the fuck used such monstrosities?
- intopieces 9y agoOh, let me tell you about the saga of Mr Curl trying to update his billing information at a company I used to work for...
- stephenr 9y agoI don't understand. Are you agreeing with me or suggesting a string with the contents "curl" will somehow cause the server to execute the curl command?
- jessaustin 9y agoMaybe this was back in the days of CGI? It's perfectly feasible that the right combination of characters might break out of an ill-advised pipe to get to the shell.
- ams6110 9y agoYep, it might if it was ever passed to eval()
- intopieces 9y agoThis happened. I was working tech support for a company with a very old billing database. Customer was attempting to update his billing information with a new credit card and was immediately getting an error - Forbidden. Turned out it was his last name, Curl, that was causing the issue. The system was throwing an exception because it interpreted the customer's entry as attempting to execute the curl command. We ended up having him put "JR" at the end of his last name to prevent it.
- tyingq 9y agoI don't think it's a specific language. It's typically some protocol or library or developer inventing their own "nullable value" placeholder. Like this: https://issues.apache.org/jira/browse/FLEX-33644 https://issues.apache.org/jira/browse/FLEX-33644
- DavidWoof 9y agoI've been programming for over a quarter century, and I feel pretty confident that I've never written anything that could confuse 'null' with NULL. I can't even think of a language that would let you easily do this. If web forms aren't accepting NULL, then somebody probably specifically programmed the word 'null' into a filter of disallowed entries. Probably to stop clerks from entering the word 'null' to mean empty string. This has nothing to do with null being a reserved word in many languages, I'll bet the forms that aren't accepting 'null' aren't accepting 'none' or 'empty' either.
- zoul 9y agoString interpolation will often end up crossing the barrier between NULL as an empty pointer value and "null" as an ordinary string.
- tyingq 9y agoHere's an example where it creeps in: https://issues.apache.org/jira/browse/FLEX-33644 https://issues.apache.org/jira/browse/FLEX-33644
- DavidWoof 9y agoOK, that's a good one. Is this ActionScript that's doing the weird xml tag interpolation? I stand corrected, this is definitely possible. Still, I bet this person's real problems stem from explicit coding.
- jey 9y agoRelevant excerpt: var nullXML:XML = <root>null</root>; if (nullXML == null) { trace("Some XML is null"); } nullXML == null is true! That's... impressive.
- tyingq 9y agoBug is still unclosed too.
- jugg1es 9y ago
- tresp 9y agoobligatory xkcd https://www.xkcd.com/327/ https://www.xkcd.com/327/
- ebro 9y agoReminds me of running into this bug [1] at work that caused a few minutes of head scratching. Couldn't make any changes to a user's profile as their surname contained eval. [1] https://quickview.cloudapps.cisco.com/quickview/bug/CSCut08386 https://quickview.cloudapps.cisco.com/quickview/bug/CSCut083...
- gervase 9y agoTitle could use a (2015) tag.
- craptocurrency 9y agojust not to confuse there is a big difference between null and "null". The author being non programmer misses this.
- jmull 9y agoI don't get what's happening at the low-level for this to be a problem. It seems like you'd have to do something pretty stupid at the coding level to introduce a problem with "Null" by mistake. I'm sure it happens, but not more of an occasional issue. My best guess is that there are common old databases that did not have a first class null type where it was common practice to use the string "NULL" for that purpose. And that companies that have these old systems are proactively filtering user input to prevent causing these old system to choke... It sounds like the filter is case-insensitive, though, which would be too aggressive for the case I'm thinking of. Maybe they are (mis)using a bad word filter for this, which would tend to be aggressive.
- matthewbauer 9y agoI think JavaScript is the biggest offender here. So this check would fail: if (lastName.toLowerCase() != null)
- fenwick67 9y ago'null' != null in javascript, I'm pretty sure the only thing it weak equals is undefined.
- glic3rinu 9y agoI believe the problem might be more common when exporting data from one system to another. I've written code to migrate (and merge) large datasets from old legacy systems. I needed quite a lot of heuristics and "best-effort" transformations in order to deal with data inconsistencies... mostly string manipulations where it's not hard to imagine bugs like this happening.
- jmull 9y agoAh, so it's your fault. Got it! ;-)
- eighthnate 9y ago> My best guess is that there are common old databases that did not have a first class null type where it was common practice to use the string "NULL" for that purpose. It isn't a DB issue. It's more of a front-end or middle tier issue. In SQL standards - NULL is a "marker"/TYPE. NULL and "NULL" are two separate things. One is a null type and the other is a string type. Or more specifically, it is a "interface" problem between RDBMs and front-end since languages handle null differently. Many languages didn't have null types and null in certain languages mean different things that "lack of information". For example, if a database column was a nullable int column and you wanted to bring it out to the java or .net space you would have issues since "int" in java and .net are value types and not reference types. So you could assigned null to the values. Where as a string/text/varchar column you could since string in java and .net are reference types and can be null. In some languages, checking for null means you have to convert null into a string and then compare "null" == "null". It's a legacy of lack of Nullable types in many programming languages. With the introduction of Nullable types many of these problems went away.
- jlgaddis 9y agoOne of my LLCs is named "Null Ventures LLC". I sometimes get things via snail mail that are addressed in interesting ways. The most common is simply "<space>Ventures LLC". Unlike the author, I've never had issues (AFAIK, anyways) receiving e-mail to the domain.
- petraeus 9y agoTLDR; It doesn't make you invisible only there are some badly coded apps out there that typecast null to strings, wired article cliackbait
- jmcdiesel 9y agoMy old Manager's last name is Blank. The sad thing, given blank isnt a reserved word at all, is he has the same problem. I think its EventBright or Ticketmaster, i forget, but one of those sites wont accept "Blank" as his last name, literally with the message of "Last name can not be blank" ...
- joejerryronnie 9y agoReminds me of the time we ordered our high school football jerseys. We filled out a form listing the requested size and spelling of our last name to be printed on the back of our jersey. A couple of weeks later, all the jerseys were delivered and we excitedly opened up the packing boxes to hand them out. Imaging the surprise and ensuing hilarity when our good friend, Marshall Blank's jersey came out of the box with no name printed on it whatsoever.
- jumsk_sdiei 9y agoAnnabelle Creation full movie online free https://www.facebook.com/notes/alena-gomez/watch-annabelle-2-creation-2017-english-full-film-online/910496005771011/ https://www.facebook.com/notes/alena-gomez/watch-annabelle-2...
- mywittyname 9y agoDoes someone maintain a comprehensive list of names you should validate against?
- kalleboo 9y agoNot only names per-se, but for testing string handling in general I remember this was posted to HN a while back https://github.com/minimaxir/big-list-of-naughty-strings https://github.com/minimaxir/big-list-of-naughty-strings
- jpindar 9y agoWell, you all wanted weak and dynamic typing...
- amenghra 9y agoReminds me the "NO PLATE" license plate story: http://www.snopes.com/autos/law/noplate.asp http://www.snopes.com/autos/law/noplate.asp
- anomie31 9y agoWhy didn't they just null the field?
- SubiculumCode 9y agoNULL
- deleted 9y ago[deleted]
- cdevs 9y agoI'm trying to think how this would be a problem and it wouldn't directly be a issue created by company but could be a issue in companies we deal with passing around large databases of different types on people in America. It's common we have to deal with a pipe delimited set of large data and after loading it I'm sure my boss could see last name null in MySQL and go "let's delete all "null" names.