17 ms·
We have an employee whose last name is Null. He kills our employee lookup (2012)
- kogir 13y agoI find it sad that the correct answer talking about the nil=true attribute is last.
- solox3 13y agoNumerous bugs on github were attributed to the guy with user name 0. He evaluates to false in many PHP applications, too.
- gtaylor 13y agoDitto for Python (int 0 at least).
- dorfsmay 13y agoWeird, because makes a distinction between int and string.
- masklinn 13y agoPython makes a distinction between types, but it has a concept of falsyness (as do many languages, though it is often more restricted e.g. in Ruby only false and nil are falsy IIRC). Falsyness is used in boolean-ish contexts (if, while and explicit boolean conversion), by default all of None (null), False, 0, 0.0, "" (the empty string, unicode or binary) and empty collections ([], (), {}, set()) are falsy and although UDTs are "truthy" it can be overridden. This has nothing to do with making the distinction between ints and strings. You could actually implement the same thing in e.g. Haskell (by creating a "Booleanish" typeclass and implementing it on all the types you care for). edit: please note that — in Python — 0 (the integer) is falsy but "0" (the string containing a single character 0x30) is truthy. I expect gtaylor talks about bugs in handling of IDs or sequence numbers and the like, not usernames. I know I've hit them when not being very attentive.
- Dewie 13y agoGForth uses 0 for 'false' but -1 for 'true'... that confuses me a lot.
- IanCal 13y agoI suppose it's because then it can just compare the first bit.
- deleted 13y ago[deleted]
- dlitz 13y agoBASIC does that, too.
- kybernetikos 13y agoI expect that it's because in twos complement representation -1 is represented as all bits set.
- alwaysdoit 13y agoYeah, but "0" is True. Why would you store a name as an int?
- recursive 13y agoIn python 0 is falsy. "0" is not.
- kabdib 13y agoI had an aunt named Nan, I wonder what her disbursement checks were like :-)
- tomasien 13y agoI have a friend named Nan, and I posted every "NaN" error I got in my code on her Facebook wall for about a year. She hated it.
- Oculus 13y agoMade me choke on my water :)
- jjindev 13y agoplot twist, my friend's anglicized name is Nan, but in Vietnamese I think it is a number. (nth birth)
- thanhquanky 13y agonăm is number 5 in Vietnamese, not Nan
- thanhquanky 13y agonăm is number 5 in Vietnamese, not Nan
- thanhquanky 13y agonăm is number 5 in Vietnamese, not Nan
- kens 13y agoMy credit card was charged for $NaN once, due to a bug in a PitneyBowes postage kiosk. I was afraid I'd need to write them a check for 0/0 :-) I have a photo of the receipt at http://www.righto.com/2008/05/importance-of-software-testing.html http://www.righto.com/2008/05/importance-of-software-testing...
- glimcat 13y agoAs long as we're playing the "Falsehoods Programmers Believe About Names" game again, here's the relevant patio11 article: http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b... If you try to validate names, or if you don't safely escape names along with your other user-input strings, you're gonna have a bad time.
- speeder 13y agoMy name fail to register surprisingly often, even here in Brazil. It is Hélder Maurício Gomes Ferreira Filho Common reasons for failure is being too long and having non ASCII characters, but sometimes it fails for other reasons, for example do not allow me to register without a middle name ( I don't haven't one actually... ), me confused and not knowing how to register Filho ( it is not a family name, neither a surname or a last name, but it is still part of my name. It means Son, my father has the same name as me, without the Filho part), or breaking when it cross check with somewhere ( for several reasons I ended registering my name in several different ways, usually omitting Hélder, that I did not even knew was on my name until I got to school and got forced to use because of stupid rules that assume your first name is your typical name )
- pmelendez 13y ago> "having non ASCII characters" Accented vowels are ASCII characters but in the extended set which people sometimes don't take account.
- speeder 13y agoOr they account wrongly ;) (ie: from the wrong set) I love how sometimes even on the same company, each place account ASCII differently. I remember registering for a IM, and in one info screen my name was Maur&cio and in the site info screen Maur€cio and in the search screen was Maur£cio and so on...
- tracker1 13y ago
- jjindev 13y agoReminds me of a story a police reservist told me. Guy got a license plate caled "none," and instantly had thousands of outstanding warrants. (The cop thought "none" was trying a fast one, and so deserved it.)
- andrewflnr 13y agoWhat do you know, there's an xkcd for that too: http://xkcd.com/1105/ http://xkcd.com/1105/
- bandy 13y agoThere's a relevant XKCD for every situation.
- thelukester 13y agoIf I could change one thing about human history, I'd remake the 0 and O's (# and letter) and the I, l, and 1 (letter i, letter L, and #) so you could never confuse them in hard to read CAPATCHs.
- sehrope 13y agoIf it's the same one I remember the plate was "NO TAGS"[1]. [1]: http://www.huffingtonpost.com/2012/02/16/no-tags-meet-sauced_n_1282486.html http://www.huffingtonpost.com/2012/02/16/no-tags-meet-sauced...
- herge 13y agoSecond only to Mr Prawo Jazdy: http://news.bbc.co.uk/2/hi/7899171.stm http://news.bbc.co.uk/2/hi/7899171.stm
- 1qaz2wsx3edc 13y agoAh, we call him little bobby tables. http://xkcd.com/327/ http://xkcd.com/327/
- ChikkaChiChi 13y agoBeat me to the obligatory Bobby Tables joke.
- niuzeta 13y agodamn, i was so late!
- deleted 13y ago[deleted]
- deleted 13y ago[deleted]
- dorfsmay 13y agoIf my last name were Null, I'd totally call my son Dave!
- ratsbane 13y agoOr Devon. Dev for short.
- message 13y agowww.linkedin.com/pub/devon-null/73/ab3/a46
- inthewind 13y agoWhat a bucket head!
- scholia 13y agoI do actually know a man called Dave Null. I thought that must be very rare, but in fact, LinkedIn finds 116 hits if you search for him: http://www.linkedin.com/pub/dir/Dave/Null http://www.linkedin.com/pub/dir/Dave/Null
- saraid216 13y agohttp://names.whitepages.com/last/Null http://names.whitepages.com/last/Null
- pertinhower 13y agoNot even reading the article. Just upvoting for the title alone.
- adrianlmm 13y agoCOALESCE(LASTNAME, ''), how hard is that?
- ja27 13y agoVaguely related but we had a customer using some feature that split text blobs using a record separator. One time someone wanted to not split at all and set separator="none" without bothering to look up how to actually turn off record splitting. It worked well enough in quick tests, but by the time we'd gotten the support call, they'd corrupted a massive database where every product with a description containing the string "none" was now corrupted.
- bougiefever 13y agoAre his initial M. T.?
- shmerl 13y agoWhy would null be confused with "null"? It shouldn't be a problem.
- kabdib 13y agoWelcome to the world of (a) standards (b) poorly implemented standards (c) poorly implemented programmers :-)
- mrleinad 13y agoI blame c. Those mothers should learn how to implement their programmers.
- Dewie 13y agoHumanity needs an update, bad. I'm expecting one within 100 and 1,000 years from now, but the chances of introducing regressions is very high.
- Piskvorrr 13y agoI'd rather wish for a good update...we've had too many bad updates so far ;)
- JonnieCache 13y agoIt's a SOAP request going from a flash client to a coldfusion server. Yeah.
- joshbaptiste 13y agohttps://news.ycombinator.com/item?id=3900224 https://news.ycombinator.com/item?id=3900224
- xxpor 13y ago"WSDL (SOAP) from AS3 to ColdFusion web service" I know it probably wasn't this guy's choice, but whooo boy.
- bdcravens 13y agoWhat's the issue? CF makes writing web services stupid easy. Just add access="remote" to a CFC's function. Instantly introspected and performs all SOAP conversion for you. Now, I'll admit, SOAP anything is crazy, but based on the age of the application, may have been the best option at the time.
- sdoowpilihp 13y agoFor all that is wrong with flash as a platform, I have always found Actionscript 3 to be a far better structured and easy to work with language, compared to something like javascript, which has a very 'organic' structure. I can't speak much to ColdFusion or WSDL though.
- tracker1 13y agoI think in this case, and the comments seem to confirm, that it's an issue with the SOAP/XML encoder's handling of null values. That aside, AS3 doesn't bug me too much, my biggest issue with Flash/Flex was how it handled programmatic audio elements so differently from video/clip elements, that is/was annoying. Of course since Adobe has all but abandoned the platform, it probably won't be much of an issue in the future... Kind of a shame, as Flex was actually pretty nice. If adobe was more open with the flash client as a platform, and focused on the tooling (where they make their money), it could have been integrated into browsers, and had a much better chance of sticking around.
- sdoowpilihp 13y agoThere was a point where Adobe had a chance to evolve flash into a platform for creating HTML sites and applications (much like coffeescript, LESS, or any other intermediate might be). It certainly would have involved open sourcing large components of the platform, which they seemed to be against. It's a real shame, since the closed source aspect of Flash really led to a brain drain within the community. Flash for many years was the superior platform for making complex web applications, but sadly, it did not have the community and brain trust that more open standards did, like HTML and javascript did. In the long run, this led to serious stagnation with the platform.
- wmil 13y agoThere was a DailyWTF article years ago about a "Robert Null" who would be shown whenever you searched for employees with a blank input. http://thedailywtf.com/Articles/Paging_Dr_0x2e__Null.aspx http://thedailywtf.com/Articles/Paging_Dr_0x2e__Null.aspx
- hasOwnProperty 13y agoMr Null is my cousin. He breaks the backend, I break the frontend.
- knodi 13y agoLittle Bobby DROP_TABLE
- chiph 13y agoWe had a customer with the last name "Echo" who couldn't make a credit card payment. Turns out that the card processor was looking for strings which were common Unix commands and not allowing them.
- 83457 13y agoSecurity procedures for vendors hosting websites for Members of Congress apparently require them to look for sql injection attacks and redirect to 404 if they think one was found. The result appears to be that many just keep a list of keywords and characters and fail if found. Is your first name "Walter"? Oh, you tried to run the "alter" command in your message to your Congressman... we will take you to a 404 page. Oh you used semi-colons and single quotes in your message? ...hacker alert! off to blank page with you. Completely inconsistent between vendors/forms of course.
- mrweasel 13y agoThe system that prints our shipment labels stripped "var" from customer and street names. Sorry Halvar, you're now known as Hal. Customer names wheren't so bad, the mail service got the right people anyway, but reducing streetnames like "Vardegade" to "degade" is a bit more troublesome. They never told me what the bug was, only that they fixed it. I have some idea though.
- munificent 13y agoGod, what a terrible idea. That would exclude Man Ray, Sir Thomas More, Murray Head, Tex Avery, Kimiko Date, Rollie Fingers, James Last, and even Steve Jobs!
- NelsonMinar 13y agoSOAP: the gift that keeps on giving. I built two SOAP APIs for Google (Search and AdWords) and spent way, way too much time on this kind of data interop nonsense. I wrote up a quick summary of why SOAP sucks, it's still my most popular blog post. http://www.somebits.com/weblog/tech/bad/whySoapSucks.html http://www.somebits.com/weblog/tech/bad/whySoapSucks.html XML is a terrible encoding for data. Fortunately JSON does pretty well and has mostly replaced it for new stuff.
- galenward 13y agoWe have an engineer whose name is "john; drop table users." Man does he wreak havoc.
- MiguelHudnandez 13y agoWithout the apostrophe to escape the string, it just doesn't have the same magic.
- patio11 13y agoA Japanese company once made the decision that they needed "virtual" employees in a particular system, for example to support e.g. adding a job to the org chart before that position had been filled (and another dozen use cases), so they had the clever idea "Hey, if we need to do this, we'll just input their 'name in Japanese' as one of a dozen status flags, like XX_JOB_REQUEST or XX_INCOMING_TRANSFER." One developer at this company, who was annoyed with having to tweak a particular system every time they added a new possible status flag, wrote code which was, essentially: if (InternalStringUtils.isAllLatinCharacters(employee.getJapaneseName()) { /* no need to pay this 'employee' so remove them from batch before we retrieve bank details for salary transfers */ ... } Do I have to explain why I'm aware of this curious implementation choice?
- swanson 13y agoTook me a minute... InternalStringUtils.isAllLatinCharacters("Patrick McKenzie") == true
- tracker1 13y agoI worked in a security software development department where the primary security request application had to allow a request from anyone, for anyone (Approval was more stringent). I personally found several bugs in the system in my first few months, because I, personally, conflicted with the various "uniqueness" constraints in the system... like lastname + ssn-last-four, or dob + firstname, etc. The org had 380K active entries, so it was definitely interesting being a dev on such a project, with a relatively common name, and conflicting dob and last 4-5 of my ssn.
- jasonkolb 13y agoYour DOB and last 4-5 of your SSN matched someone else? The reason I ask is because rules like this are often used to de-duplicate records. It's not perfect but it is useful, especially when trying to integrate data from more than one system. It's also used quite a bit in fraud detection etc. to find connections in the data.
- 13y ago
- D9u 13y agoI've got a friend whose last name is Null, and he used to have all kinds of issues with the phone company... Obviously if your lookup app is having a problem with using "Null" as a string then you have data type issues. It's not rocket science.
- IvyMike 13y agoOffer him a substantial bonus to change his name. You could Kickstarter the money with donations from database admins around the world.
- nicholassmith 13y agoThen he might end up stuck when he tries to change his name and discovers the government office that do it also don't escape names properly.
- WalterSear 13y agoI have now decided to change my name to Null Undefined.
- neutronicus 13y agoOooo. Maybe we'll have a postmodern Ellis Island type situation.
- azurelogic 13y agoI always wondered if this ever happened. Fantastic.
- manojlds 13y agoA website I was building, which depended on a ColdFusion service, started breaking for Norway users. Why? Norway's country code was "NO" - http://stacktoheap.com/blog/2012/12/19/why-a-feature-of-our-website-stopped-working-for-norway/ http://stacktoheap.com/blog/2012/12/19/why-a-feature-of-our-...
- benjamincburns 13y agoJust took a few minutes to look into it. Found a gnarly bug in the AS 3.5 XMLEncoder class[1]. Type coercion strikes again! 1: http://stackoverflow.com/a/18000768/203705 http://stackoverflow.com/a/18000768/203705
- benjamincburns 13y agoJust a quick update: it wasn't a coercion bug. Instead, XML.appendChild seems to do nothing if passed the string "null".
- soheil 13y agoI bet his first name is dev.
- dakimov 13y agonull
- visarga 13y agoJust use an alternate UTF8 character for one of the letters of the name.
- United857 13y agoOn a similar note: our company's name ( [a•mo•bee] ) has non-ASCII characters. It has exposed bugs in more than one website...
- levosmetalo 13y agoI remember having "funny" situations with with AS3 SOAP marshaling and unmarshaling. For example, in same cases it would just fail silently, providing half populated objects without without any errors. In the end, the workaround was to just invoke SOAP methods directly using HTTP and just manually parse XML response. Good old days.
- FrankenPC 13y agoWhatever you do, don't move him to the DEV group.
- skrebbel 13y agoThis problem isn't about funny employee names. It's about thick, untransparent software stacks that make simple problems difficult. SOAP is maybe the most popular example and this is really why it's lost popularity against REST. However, similar "It works with values W, X, Y, but not Z" situations are found in any stack or standard that has too much magic going on. Rails certainly comes to mind. This is the biggest argument in favour of using many small, isolated components rather than one big all-encompasing framework, in my opinion. If every piece of third party functionality you import into your project can be easily understood, problems like these shrink in size, because there's a limit to how deep the magic can go. I'm very fond of the Node.js ecosystem for particularly this aspect (even though I dislike the language). There's a big bucketload of tiny components there, rather than 90% of the community relying on a single humongous framework, like is common for e.g. Ruby or C#.
- macspoofing 13y ago>It's about thick, untransparent software stacks that make simple problems difficult. In this case, the flex framework is handling the marshaling/unmarshaling process incorrectly, but these are not simple problems. Handling things like names, or dates is deceptively difficult. >There's a big bucketload of tiny components there... Are you sure that's a good thing? First, anything works when you have a small code-base, and a significant portion of JavaScript ecosystem involves building fairly small self-contained applications. I have a strong feeling micro-frameworks fail hard when the line count gets over a certain threshold.
- rumcajz 13y agoHaving observed corporate culture for quite a while, the most likely solution seems to be to fire the employee.
- hcarvalhoalves 13y agoThis is better than fiction.
- dgbsco 13y agoJerry Droptable.
- lee_cardona 13y agoIs it just me, or is this possibly the best HN post title ever?!... freakin awesome.
- Zedronar 13y agoJust fire the guy.
- jordhy 13y agoJust change his name to Null and move on with your life.
- superflit 13y agoWell Imagine a person has two 'first names' plus his surname of his mother and by last the surname of his father. Something as XXXX XXXX YYYY ZZZZ The Visa papers does not support 'large' names.. So he has to abbreviate.. Imagine this guy has the same last name and first name of FBI wanted list. Now, after sep - 11 everytime he has to go to the 'vip' room at border and there is large confusion as visa papers do not 'support' longer names... This is US... Not complaining but can the Prism people flag work it out ;)
- eshvk 13y agoMy last name has a space in it. The three years that I have filed paper taxes, IRS has split up my last name into two words and put one of them as my middle name. This despite the fact that I clearly label the middle name box as "n/a". I was told by the IRS representative that I should change my name.
- zwischenzug 13y agoThere's a town in China called Nan...
- pixelcort 13y agoI recently moved to Japan. My name, as it appears on my passport, is 26 characters long and consists of a-z letters and spaces. This means I run into three problems: First, many computer systems here can't fit names that long, leading to truncation, or in some cases, denial of account creation (some places have rules that whatever's on the account must match exactly what's on the passport; one was nice enough to add a new column to their database for the rest of my name). Second, many systems don't support a-z, so we throw the name in as katakana or double-byte romaji, depending on what works. Sometimes neither will work, and we just have to give up and go somewhere else. Finally, many computer systems can only link accounts if the names match exactly, for example inter-bank transfers and bill payments. Since my name is truncated differently in different places, and is formatted differently in different systems, in many cases it's just impossible. For example, right now I'm charged a fee for transferring money between two bank accounts, since the free transfers only apply if the names match exactly. I just withdraw cash from one and deposit it into the other as a workaround. Another example is my cell phone bill. To pay it by CC my name must match exactly, but all my cards have slightly different spellings. Don't even get me started on my wife, who is ethnically Japanese but came with me as a foreigner and hence has a name written using a-z letters. It literally has set of fraud detection systems.