5 ms·
I once had a classified ad software hustle, and I needed customer data to debug things. But one of my customers was Canada's largest gay newspaper, and ts class
by a4isms 4y ago
I once had a classified ad software hustle, and I needed customer data to debug things. But one of my customers was Canada's largest gay newspaper, and ts classifieds were highly sensitive.
So I wrote a routine that obfuscated the database, changing all phone numbers to 555-xxxx, changing all names to random names of fruit (So a customer might become Banana Grapes, 416-555-1234), and a few other changes to hide other possibly identifiable information.
I had a menu item to do that to the database, it was under a "developer" menu that only appeared when I was personally signed in as the only superuser. I am embarrassed to say the menu item was called "mixed fruit."
One day, I was signed in at the client's office, and the manager came by and wanted to do something or other. I gave him the mouse and keyboard without logging out and asking him to log back in. He did his job, then noticed the developer menu. "What's this," he murmured, and selected "mixed fruit."
No confirmation dialog, no warning, it begin munging the live, production database as I watched in horror. I managed to get everything sorted and the production data restored, but I learned a few lessons that day about building super-features for myself that were extremely sharp and difficult to undo.
- rolenthedeep 4y agoI can't decide if replacing names from a gay newspaper with fruit is offensive or hilarious
- Mezzie 4y agoI'm gay (although lady gay) and I think it's hilarious.
- hgsgm 4y agoWhy on earth you create that in the first place, and put it in the menu? How often do you need to trash production (which should be never -- copying and scrabling is plenty bad enough) that you need a menu shortcut for it?!?
- a4isms 4y agoThese were the days before you could just ssh and/or vpn into a client's production system, so I would copy their db onto my Mac, run the mongler on it, and then I would take the database home with me, without worrying whether the theft of my Mac could lead to lives being ruined.
- avg_dev 4y agogood ethics, bad data handling practices. <?php if (! $isProd) { showMixedFruit(); } Also, the code should not be allowed to run on a prod instance, even if it is triggered there. But, I'm sure you've figured this all out by now.
- a4isms 4y agoIf you want to point out that I could have been even smarter thirty-plus years ago, the line forms to the left... Stretches down the block... Goes around the corner... &c. But while my memory is imperfect, I believe that I hardcoded that feature to only work when running on my personal Mac SE/30, and also changed the feature/name to have a tossed salad metaphor.
- btilly 4y agoSorry, that code is strictly worse. Because while the website on the laptop looks fine, there is a database on the laptop which has all the sensitive information. Anyone with access to the laptop just makes a backup of that database and the damage is done.
- stametseater 4y agoAren't newspaper classified ads written specifically to be publicly disseminated?
- TaylorAlexander 4y agoSomeone might give out their phone number and a fake name, but the back end the software might need to know their real name and address for billing purposes.
- a4isms 4y agoPersonal ads in those days did not usually have real names or addresses in them, regardless of sexual orientation. Some had personal phone numbers, but in those days you could also pay a few bucks more and rent a voicemail number just to put in the ad, or a "mailbox" for written correspondence. Classified ad software in those days had all kinds of features for supporting pseudo-anonymity and handling the pricing correctly. So yes of course the ads were public, you could pick up a free copy of the newspaper at any gay bar on Toronto's Church Street. But the details about the customers placing ads were extremely sensitive. ——— Oh man, the stories I heard... Many extremely sad to me, when I think about why people felt the need to be closeted and so on.