When a Database Bug Becomes Your Official Surname
Description
A close-up photograph of a blue Bank of Ireland credit card. A caption above the image reads, 'As I do not have a surname, bank decided to give me one'. The name embossed on the card is 'VIBHOOTHI NULL'. The humor is a classic example of a system's backend logic leaking into the real world. In databases and programming, 'NULL' is a special value used to signify the absence of data. The bank's system, upon finding a blank surname field, appears to have defaulted to printing the string representation of this null value directly onto the physical card, effectively and hilariously giving the cardholder the surname 'Null'. This is a deeply relatable bug for any developer who has dealt with data validation, sanitization, and edge cases in user-provided information
Comments
23Comment deleted
SELECT COALESCE(surname, 'NULL') FROM users. Apparently, the developer took that a bit too literally
Nothing says “seamless banking integration” like a COBOL batch writing NULL to a VARCHAR, a Java microservice treating it as a literal, and the card printer promoting you to Mr. Null
After 20 years in tech, I've learned that 'NULL' appearing on a production credit card is just the banking industry's way of implementing Bobby Tables' lesser-known cousin - where instead of SQL injection, we get SQL ejection straight onto physical media. At least they're consistent with their data types across all layers of the stack!
When your banking system's schema enforces NOT NULL constraints on the surname column but the business logic just does a .toString() on missing values instead of proper validation. Classic case of 'undefined' behavior becoming very much defined - literally printing 'NULL' on production credit cards. This is what happens when your ORM's default serialization meets legacy mainframe integration: someone's edge case becomes everyone's meme. At least they didn't use 'undefined' or throw a NullPointerException at the card printer
Turns out concat_ws(' ', first_name, COALESCE(last_name,'NULL')) is a great way to found the NULL dynasty
Fintech's take on COALESCE(surname, 'END NULL'): production-ready defaults that even the strictest schema validator can't fault
Bank made my surname “NULL” - classic IS NULL vs '= NULL' mix-up; now every JOIN and CSV will quietly pretend I don’t exist
Mom always told me I'm a null in this life Comment deleted
at least you're null, I'm undefined. Comment deleted
At least you're not a ReferenceError Comment deleted
At least you're not a Segmentation Fault Comment deleted
At least you're not a NotImplementedError Comment deleted
Please no one said NaN Comment deleted
That's actually a real last name. I know a programmer with that last name and he is sick of null pointer jokes Comment deleted
In this case it was not his surname, since his name looks indian, I would say that he belongs to the Singh culture, where they don't have surnames. Comment deleted
Yea i get that. He is in fact indian but vibhoothi isn't a sikh/singh name. Its a hindoo name. I was an Indian too . No longer so thank God Comment deleted
No longer? Did you finally reincarnate? Comment deleted
Lol good one. No i emigrated to a civilized country Comment deleted
this is what I found when I searched up hindoo. I don't think you meant that lol. Comment deleted
At first I was surprised that some banks in Ireland still print text on cards in metal color (rather than transparent). But then noticed the exp year that looks like "15". Comment deleted
Vibhoothi is a south indian hindoo name Comment deleted
Hindu hindoo whatever. I would have said donkey not horse Comment deleted
yo i wanna be with no family Comment deleted