11 ms·
An employee, whose last name is Null, kills our employee lookup app
- deleted 15y ago[deleted]
- deleted 15y ago[deleted]
- marcieoum 15y agoAhaha that's amazing!
- mthreat 15y agoIn other news, employee with last name NaN gets a huge paycheck due to software glitch...
- btown 15y agoNan is actually a legitimate name (http://en.wikipedia.org/wiki/Nan http://en.wikipedia.org/wiki/Nan) so if you're putting everything into upper case and not sanitizing, you're gonna have a bad time.
- qq66 15y agoNull is also a legitimate name. When names are Anglicized from foreign languages there are often dozens of alternate spellings.
- srean 15y agoAnd dev is a common first name in India. Its a valid surname too, but that spoils the pun.
- Splines 15y agoSomewhere in the world exists a poor soul named Dev Null.
- mthreat 15y agoPatio11's article "Falsehoods Programmers Believe About Names" http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b...
- famousactress 15y agoThis post reminded me of that also. I find myself sending someone that post every quarter or so :)
- Roboprog 15y agoThat's a good list. I felt a bit less smug when I got to number 40.
- kens 15y agoI actually got a credit card receipt for $NaN once from a Pitney Bowes postage kiosk. I wondered if I'd need to send my bank a check for $0/0. Picture at http://www.arcfn.com/2008/05/importance-of-software-testing.html http://www.arcfn.com/2008/05/importance-of-software-testing....
- NelsonMinar 15y agoThis is funny, but it's also a real world example of the kind of encoding nightmare that made SOAP RPC encoding really awkward. Various SOAP toolkits used to serialize a missing value as the empty string, or a literal value like "null" or 0, or all sorts of awfulness. I think the correct thing for the spec is to set xsi:nil="true" as an attribute on the XML tag in question, but IIRC about half the toolkits didn't understand that. (I speak in the past tense of SOAP because I am an optimist.)
- narrator 15y agoThey must have got the absolutely brilliant idea of conflating null with the empty string from Oracle.
- joelhaasnoot 15y agoRan into this with a REST XML API recently where someone was trying to do some reflection-type serialization of XML. The API had longitude and latitude of all train stations, and some genious decided to call the tags 'lat' and 'long'. 'long' conflicted with the datatype Long and it wasn't fun. Version 2 of the API has fixed this issue luckily.
- nicholaides 15y ago"Lat" and "Long" seem like great tag names for this purpose. It sounds like the problem wasn't this guy, but the "reflection-type serialization of XML".
- joelhaasnoot 15y agoSure, it's partly both, but 'lat' and 'lon' are used almost universally across Geo-related APIs. See Google Maps for instance.
- kodablah 15y agoI think the absence of the element/attribute is the best way to define null assuming your XSD is set up properly. Many XML marshalling libraries work well with this approach. (note, I too have long since abandoned SOAP)
- joejohnson 15y agoI think this is a joke, possibly inspired by the XKCD comic (link posted in the stackoverflow comments). The string "Null" would not cause this behavior.
- tlrobinson 15y ago'The string "Null" should not cause this behavior.' FTFY. It's certainly possible there's a bug in the library.
- Yarnage 15y agoThe OP claims it's real. After dealing with some SOAP systems I would entirely believe this is possible.
- pohl 15y agoI have personally encountered "Null" as a surname in system used by job applicants world-wide. The system's session layer encodes absent values as the string "null" at some point. The Null clan is the only problematic case, and they are numerous enough that the maintainers are aware of the problem but not so numerous to fix the session layer. I wish I could listen in on a dinner conversation at Null house. They must have an interesting perspective about computers.
- Bobby_Tables 15y agoIt could very easily be real. I was in a Fantasy Football league on Yahoo a few years ago, and there was a player named Keith Null who played briefly after another player was injured. His name just showed up as Keith.
- unfletch 15y agoI know someone named Null who's had similar problems as a user of web apps. In fact I mentioned it here a while back: http://news.ycombinator.com/item?id=1440890 http://news.ycombinator.com/item?id=1440890
- theorique 15y agoBut is his first name Bobby?
- billybob 15y agoI have joked that I might change my name to Sample User, develop a piece of land in the country, and name my road Example Avenue, taking address 123. This would make me impervious to datamining, because my results would always be thrown out. But a last name of 'Null' may be even better. :)
- aqme28 15y agoOn the contrary, you'd probably receive a lot of "test" mail that leaked through.
- endersshadow 15y agoI've done data-mining on customers, and truth be told, they'll send that mail without human intervention. You wouldn't be impervious to ye olde mail merge!
- waterlesscloud 15y agoGiven how I fill out a lot of webforms, I feel sorry for whoever lives at 123 Fake St.
- protomyth 15y agowell, Google Maps says this guy is not happy with you http://maps.google.com/maps?q=123+Fake+Street,+Chuxiong,+Yunnan,+China&hl=en&sll=37.0625,-95.677068&sspn=60.028724,93.251953&oq=%22123+Fake+St.%22&t=h&hnear=Fa+Ke+Jie,+Mou+Ding+Xian,+Chuxiong,+Yunnan,+China&z=17 http://maps.google.com/maps?q=123+Fake+Street,+Chuxiong,+Yun...
- brc 15y agoI've always had my mail forwarded to 1 Long St, Testville. I hope that guy has a big mailbox.
- jakejake 15y agoHehe, the person at 123 street ave will be similarly pissed because of me.
- jaxn 15y agoThe post is from December 2010 with no follow-up. It was likely a joke. HN got trolled.
- Yarnage 15y agoThere is a follow-up...
- ChrisClark 15y agoThere is a followup explaining how he solved the problem. Right there on the page.
- gabrtv 15y agohttp://stopsoap.com/ http://stopsoap.com/
- wunderland 15y agoIs this real? I don't really understand what language they're discussing here, but wouldn't the string "Null" be distinct from the protected Null?
- function_seven 15y agoNot when naive serialization turns both of those into the same string "Null", which the other end deserializes into the keyword.
- cafard 15y agoSort of weirdly classical, like Odysseus identifying himself to the Cyclops as "Noman".
- MrJagil 15y agoOr the schizophrenic in Hitchcocks "Psycho" called Norman.
- why-el 15y agoThis is hilarious. Seriously, the question votes were being incremented live. :)
- aidos 15y agoIronic considering that the language behind (coldfusion) doesn't even have a concept of null (it just uses empty string).
- ShabbyDoo 15y agoI once worked for a medical records software company. We received a bug report that a particular patient's record could not be viewed. Our support engineer remoted into the client's site and asked the secretary for the patient's name. It was Bobby Null. You can imagine what sort of underlying assumption about String serialization led to this issue. [A preemptive aside: We had proper confidentiality agreements in place. No HIPAA rules were violated.]
- jsprinkles 15y agoDoesn't telling us the patient's name violate HIPAA in itself?
- eblume 15y agoIn this case, probably yes. Might want to remove the post, it's a fairly major violation. Often, names alone wouldn't necessarily constitute a violation as names are generally not sufficient to count as personally identifiable information... but a name like 'Bobby Null' is, I think, quite unique. When I was being trained on HIPAA compliance I was told that sole first names are generally perfectly fine, and sole last names can often be fine but should be avoided for very common names. But I should also say that I am not an expert on HIPAA compliance.
- YuriNiyazov 15y agoFor very _common_ or very _uncommon_ ?
- AgentConundrum 15y agoI don't know the ins and outs of HIPAA, largely because I don't have to deal with them at all, but I don't see how this should be a violation. That's not to say that it's not, but rather that it seems like an odd rule. All the post tells us is that a person named "Bobby Null" exists and has medical records, as do most people. It doesn't say anything about this persons medical issues/history at all. I could learn more about someone by sitting a touch too close to the reception area at a doctor's office.
- ShabbyDoo 15y agoI once worked for a medical records software company. We received a bug report that a particular patient's record could not be viewed. Our support engineer remoted into the client's site and asked the secretary for the patient's name. It was Bobby Null. You can imagine what sort of underlying assumption about String serialization led to this issue. [A preemptive aside: We had proper confidentiality agreements in place. No HIPAA rules were violated.]
- ahlemk 15y agoIt's actually one of my friends database challenge. Indeed it is a funny fact
- ScottBurson 15y agoThis is probably a direct consequence of the fact that XML (unlike S-expressions, or JSON) fails to be self-describing. See [PDF]: http://homepages.inf.ed.ac.uk/wadler/papers/xml-essence/xml-essence.pdf http://homepages.inf.ed.ac.uk/wadler/papers/xml-essence/xml-...
- Nitramp 15y agoXML is self-describing, it just so happens that XML's data model is not identical (and actually not even close) to SOAP's data model, or the typical programming language's data model. XML itself only describes a text encoding, XML infoset describes node labeled trees, possibly graphs through xml:id and idref. Unlike JSON it doesn't have a concept of null, it only has absence of a node. The authors of SOAP just invented a truly terrible way of mapping XML into a programming language's constructs (which are typically edge labeled trees with typed nodes). XML is actually a decent data format for markup. Using it for other purposes (RPC format, configuration files, ...) usually doesn't end well.
- epochwolf 15y agoWith xml, I thought <tag/> was null and <tag></tag> was an empty string.
- ScottBurson 15y agoNo, those two forms are equivalent: both indicate an empty string.
- rdtsc 15y agoMr Null, the uncle of famous Bobby Tables. http://xkcd.com/327/ http://xkcd.com/327/
- MichaelApproved 15y agoHave a look at the response headers from any reddit page http://www.reddit.com/ http://www.reddit.com/ and you'll see: Server '; DROP TABLE servertypes; -- I thought it was some sort of bug or attack and reported it to them. Here's the response I got: "It's a nod to http://xkcd.com/327/ http://xkcd.com/327/ Hope you parameterized your queries ;)" I love when companies do fun things like this.
- codergirl 15y agoI wish I could upvote this twice.
- ColinDabritz 15y agoWe should add these to the list! http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b... * No one has a name that is a reserved system keyword (Null, Nan, Unknown...)
- read_wharf 15y agoI have received mail from SSA addressed to <myname> Unknown, because of confusion over my name.
- piinbinary 15y agoIt's probably a good time to bring up "Falsehoods Programmers Believe About Names": http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b...
- gouranga 15y agoThis is exactly why you should never mix data and code/markup. When the semantic barrier is broken, all shit breaks loose. I've always wondered if SICP style scheme would cause these sort of problems.
- ars 15y agoIt's more an issue of in-band or out-of-band signaling. It's hard to do in-band signaling properly, but often time you only have a single data channel and then you have no choice.
- deleted 15y ago[deleted]
- ufo 15y agoDear god, so many deleted answers from people trying to be funny instead of informative! (I am counting 4 from the last hour and 3 more from the previous years)
- wpietri 15y agoMy favorite along these lines: http://caterina.net/archive/001011.html http://caterina.net/archive/001011.html Flickr cofounder Caterina Fake couldn't fly on Northwest Airlines because their system silently deleted her tickets.
- vitomd 15y agoWell my last name have a ñ . So for example my credit card have a weird character like "&" . Others just change to n. My last name crash a educational site when I registered
- TazeTSchnitzel 15y agoCould you not replace it with 'ny' or something similar?
- kragen 15y agoUsing a name other than your official legal name is frowned upon in many contexts. In some countries, although not the US, it's actually illegal under many circumstances.
- zbowling 15y agoMy license plate when I live in Texas was "NULL". I never got a ticket when running the toll booth and the camera OCR'd my license plate.
- joeyh 15y agoSomething that worries me about perl to no end is tests like: if ($lastname) { ... } This fails when $lastname="0". But I am constantly seeing perl code that does it.
- kgtm 15y agoActually, what worries you is not Perl per se, but people that write Perl code and don't know what they want to test for. The code shown interrogates $lastname for values that represent truth in Perl, while it ought to be checking for definedness: if(defined $lastname) { ... } The two are totally different cases. I would also argue that the problem lies elsewhere if you have values for a 'lastname' field in your data set that consist of a single letter.
- caf 15y agoConsidering that there a plenty of people with no last name at all, I don't find it at all hard to imagine that there might also be people with a real last name consisting of only one letter. There is a town famously called simply "Y" in France.
- fffggg 15y agoOne letter strings evaluate as true. This would only be false for a last name comprised of the single digit '0'
- toyg 15y agoIt's not Perl. I recently had a conversation with a friend who didn't like me using "if myvar == 0:" or "if myvar is 0:" in python code rather than "if myvar:". Call me paranoid, but i like to be as explicit as possible in my checks, you never know when magic conversion tricks (which are often platform- or implementation-dependant) will end up biting you in the ass.
- maxerickson 15y agoUsing "if myvar is 0" exposes you to more implementation dependent behavior than "if myvar".
- septerr 15y ago19k in parking tickets for XXXXXXX license plate - http://blog.al.com/spotnews/2009/10/the_price_of_vanity_plates_xxx.html http://blog.al.com/spotnews/2009/10/the_price_of_vanity_plat... I heard of similar story of a student in Birmingham whose license plate was 'null'.
- deleted 15y ago[deleted]
- hughw 15y agoThis fellow Adam https://twitter.com/#!/undefined https://twitter.com/#!/undefined signed up for twitter as "undefined", scaring up twitter bugs like this one: "While visiting websites like Twitter & ESPN, the webpage will suddenly switch to the twitter page of the username 'undefined', who is not one of my twitter friends or followers"... https://getsatisfaction.com/twitter/topics/when_i_visit_twitter_the_webpage_inexplicably_changes_to_a_user_named_undefined_adam_croot https://getsatisfaction.com/twitter/topics/when_i_visit_twit....
- philwelch 15y agoIt once took me more time than I would like to admit to realize that the string "false" is still true.
- lifeisstillgood 15y agoI believe that these errors are so common they represent a Cognitive bias on the part of programmers. At some point every developer wants to execute a one line command and have the system "do something". If they cannot get that one line, then they have two options. - Wrap up more abstraction code, until one line executes (the SOAP solution), or think deeply about what you are trying to do and take things away until one line is clear and obvious (The REST solution)
- funkeemonk 15y ago17 years ago, when I got my second Internet account with my ISP, I filled in these 3 names for my choice of email address on their paper signup form. root@ , nobody@ and daemon@ They gave me "daemon". I've terminated that account long ago, but last I checked (6 years ago?), I could still retrieve emails and dial in using a modem using that account.
- robwgibbons 15y agoThis is what bounties are for.
- Madintelligence 15y agoI have problems using a data analysis software where the stock ticker data from a company is "NAN"
- charlieok 15y agoNaturally the very first thing I did when opening this discussion thread was search the page for “bobby tables” and “xkcd”. Of course, there were already three separate mentions of that comic in the thread.
- connor 15y agoMe too. Bobby tables is classic. http://xkcd.com/327/ http://xkcd.com/327/
- gbog 15y agoAt least your employee has a last name. I had an Indonesian hacker in my team, he had no last name... It is all about assumptions. OP assumed nobody would be called Null. MusicBrainz index assumes no band chose to name themselves "Various Artists" or "[unknown]". These are advisable but how to not assume that people have last names?
- ChemicalHarm 15y agoI wonder if the "employee" is a doctor. Something similar showed up on TheDailyWTF back in 2007: http://thedailywtf.com/Articles/Paging_Dr_0x2e__Null.aspx http://thedailywtf.com/Articles/Paging_Dr_0x2e__Null.aspx
- appleaintbad 15y agoAnd this is why it is a bad idea to look for null or nil as a value representation in place of text or number. Instead, use a different representation, like an empty or non-existent element/attribute, etc.
- based2 15y agotype or untype?
- drudru11 15y agoFunny, just watched monsters inc last night and saw a guy named Jonathan Null in the credits. Also, Tom Duff was there too.