almost 3 years ago Syntax Podcast
Spooky Coding Horror Stories 2023 - Part 2
- 39:08 Load balancer served wrong sites
- 01:10 Podcast hosts discuss annual horror stories episode
- 01:40 Story about accidentally deploying a crypto copy paste bug
- 03:05 Discussion about misunderstanding GitHub comment acronym LGTM
- 04:10 Voting algorithm bug caused wrong Big Brother contestant to be eliminated
- 05:57 Only 6 laptops could fix NPM when it crashed
- 07:45 Autocompletion mistake deleted home directories
- 08:57 Payment form submitted before confirmation
- 11:25 Intern dropped analytics database
- 12:15 SQL injection attack dropped production database
- 13:00 Typo took down polyfill.io
- 14:32 Bitcoin mining exploit drained AWS budget
- 16:06 Command deleted dataset for AI training
- 17:48 Chat feature DDoSed own servers
- 19:08 Profanity generated in URL shortener
- 20:45 Office servers containing source code stolen
- 22:55 Wrong database connected, charged cards repeatedly
- 24:20 Turned on unfinished feature, customers got free items
- 25:32 Autocomplete mistake deleted directories
- 27:24 Shipped hardware with no remote access
- 28:30 Semicolon typo crashed production site
- 31:20 Charging and updating card balances together
- 33:05 First commit brought down site before flight
- 36:25 Regex bottleneck crashed site for days
- 37:35 Truncated production database accidentally
- 38:25 Wrong form sent medical equipment to customers
- 40:46 Leaked credentials indexed by search engines
- 43:01 Home directory deletion cautionary tale
Regex bottleneck crashed site for days
Wes Bos
to query it's hilarious because they have to try to decipher. Are you trying To sneak 1 by me and spell something out on your license plate that I don't know. So it's this, like, like, in
Wes Bos
detection, you know? And like, there's lots of tools out there that will I don't know if I believe that That's like Amazon. All this crap is just a bunch of lies, bro. Bunch of lies. I guess you probably have a story about that. I do. But They're super handy. And I also put them on my whiteboard in our kitchen and I hang my keys on it. And it's like the best little hook to hang keys on. You can move it around and Put them on the side of the and
Wes Bos
every single record into memory and loop over them. You know, rid. Not the early days, but in the mid days, the feeling of dread when I would occasionally misplace that computer in my apartment was true horror. So I asked him,
Wes Bos
like I'm not sure if the regex was in the query or if the regex was somewhere, but the production database one. We had a weird setup where we needed to connect the fraud because
Announcer
48 hours.
Announcer
I'm on fire.
Wes Bos
rid. You can't do that just in the DB. So it probably had My own.
Wes Bos
It probably was something weird where
Home directory deletion cautionary tale
Announcer
yeah, you're right about that. My my,
Wes Bos
So I got these 100 pound ones And it's 9 megs, and we have 600 episodes.
Announcer
I I think that is an important important thing that we all can learn from each other's mistakes. We can laugh at these things. It is a unifying
Announcer
celebrate those mistakes in a fun fun, laugh y way where we all get to cringe together. So, yeah, That's it for this year's horror stories.
Wes Bos
So I literally am holding up like a I don't know. It's probably a 15
Wes Bos
somebody else had another account on that computer as well, but that's rid. That's unlikely.
Announcer
2 2 different climbers who are doing several different alpine climbs as well as Himalayan climbs, but they're rid. Trying to break the records to see how fast they can do them. And some of these climbs like the
Announcer
And my biggest complaint is that the magnet on it's weak, so it doesn't you know, it's not you can't, like, trust it if you're using it as a pop Socket, which the PopSocket branded ones actually do have a stronger magnet. So,
Wes Bos
come on, make this like, I want to be able to pry this thing off. I want to be able to pinch my finger in between it.
Wes Bos
computer folder. Would be gone. All of your apps, all of your data, All of your set like, pretty much the entire computer unless
Announcer
And the amplifier
Wes Bos
Thank you, everybody, for submitting your spooky stories. If you Still have a spooky story. A lot of the ones we have here are from last year. People submitted them after listening to this thing. So send me an email, [email protected],
Announcer
are, like, historically And the announcement was made, I double checked my code and spotted a bug. Rid If if you had any brains,
Announcer
And, you know, with any of these things, you kinda have these wild kind of personalities. So the people involved in this documentary are super good. It's an hour 30, so it's a really nice nice watch. We put it on last night and had a great time watching it. So if you see this on Netflix, throw it on race to the summit. Alright. Thanks everybody for tuning in. Hopefully, you have a spooky
Announcer
But, like, hey.
Announcer
You know, what do they say? You know, people who know the History Channel, I wrote the algorithm
Wes Bos
pound bar. It says a £100.
Wes Bos
They get knocked off all the time. I hate One of my biggest pet peeves in life is a weak magnet where things don't stay on properly. You know,
Wes Bos
And I will put them in the queue for next year. We love doing this, so please send us your horror story.
Wes Bos
I have all these attachments that I need. I got handles, I got bars, I asked him if it was time consuming or expensive, and he said rid It's being used legitimately like, that's wild.
Announcer
This one is about speed climbers, Rid. Yeah. That is, served
Announcer
And or it could have been an urge for prevent riling. Either way, there was not an ounce of waterproofing done to these speakers, and it said they were 300 watts.
Announcer
don't repeat the History Channel. You know what I mean? So, rid
Announcer
rid He's, like, walking around. I mean, there's 2 different guys. They're both crazy. Walking around corners really fast, and you're just thinking, man, I couldn't even you couldn't even catch me rid Walking around a corner, like, 30 feet up that looks like this. And he's Wow. On the side of a mountain, and he's basically, like, running around it. You're just like, rid. This is absurd.
Wes Bos
Yeah. If anything, The world can learn from your mistakes, So So hits a day or something like that.
Wes Bos
The whole rack that I have is metal. So I bought these a 100 pound. They sell really cheap ones, like 25 pound ones.
Announcer
rid. It's not even close to the product that it says it is.
Announcer
really crappy kind of, I was a newbie navigating the tech jungle.
Announcer
documentary
Wes Bos
like, straight up lies, You know? And you can straight up lies. Yeah. Sometimes you see one with, like, like, like, the magnet hooks, and you'll see one for £105.
Wes Bos
And I'll say, I don't think those are good for they have 15 seconds of your compute running, and they can do
Announcer
Oh, A weekend later, our office got hit by real world thieves 6 people got absolutely They say not the pharmacy. For all you new folks, CVS is a, version control system that's not Git.
Announcer
It is the mountain climbing, mountaineering documentary. You know I love those.
Announcer
and It's about, like, But then we had to do some extra work to make sure the shortened URLs that didn't contain profanity.
Announcer
Amazon story is that I got a a waterproof speaker that was 300 watts on Amazon, was actually served
Announcer
Yeah. I know.
Announcer
rid. This one is really fascinating because it's
Announcer
I I googled the board. The amplifier was 40 watts. It was a 40 watt board. And And it's just like I went to Amazon. I was like, listen. This is just completely misleading. It's, like, it's not that it stopped working. I don't care about that. Yeah. I mean, I do. But, like, after updating the DNS, I immediately got on the train and had no signal.
Wes Bos
Rid. I've been using it for 2 things. So first, in the gym,
Announcer
Very scary climbs that, like, take people a long time, and these guys are doing it in, like, a couple of hours. And is he's like, this section has ropes, but, like, If I really wanna move Rid Do do push notifications cost money? I don't know if they do. I guess it that's a good question. I don't think they do. I think it's just SMS. I could be wrong because I I don't work that much in push notifications. Frankly, I find them to be awful. I think it depends if you have your own push notification
Announcer
aspect of being a software developer.
Announcer
rid. And it's exactly my type of documentary.
Wes Bos
else? Other like bands and things like that. And you need to be able to store them somewhere. Right. And if you break it That is crazy.
Wes Bos
So much of that Amazon stuff are just,
Wes Bos
Halloween.
Announcer
Or drop a review if you like this show.
Wes Bos
Rid Woof. Yeah. If you were to do that on a Mac, And For some reason, my boss was chill the entire time our podcast was a couple of hours late Customers had their credit cards in, Rid As I'm talking through how it works and what happens when a sale goes live. So I just kinda explain, alright, you turn this thing on and off, and this is what happens if a sale goes live. All of a sudden, I get a handful of push notifications So causing an error message containing the database credentials to be displayed on the website's home page. Rid Yikes. It can you imagine
Wes Bos
100 pound magnetic hooks.
Wes Bos
what and or
Wes Bos
fridge as well. So if you are looking for decent
Announcer
for a full archive of all of our shows.
Announcer
Rid.
Wes Bos
Yeah. Right.
Announcer
and, you can have a little chuckle. I think that's the key of this. This isn't just us laughing at other people's misfortune,
Announcer
wow.
Announcer
Spooky spooky stories, all that stuff. My bones are rattling. I'm ready to get out of here. West, do you have a sick pick for us today? I do. My sick pick is
Wes Bos
and they are awesome.
Announcer
Head on over to syntax.fm okay. Next one is It wasn't user data, though, But a dataset to train AI So the they just have a segment where they're reading rejected plates from various places. Butt of everything. That's such a good plate, chicken butt. There's so many worst ones in the out west. There are
Announcer
And don't forget to subscribe in your podcast player running up the mountain to the point where, like, there there's times where
Announcer
just like any of these other, like, really modern mountaineering documentaries, this is a 2003 one. It's called Race to the Summit. Just like any of these modern one, your jaw's just kind of on the floor the whole time.
Announcer
magnetic hooks, check these out. Yeah. At first, I laughed at your weak magnet thing, but then, like, as I was thinking about it, I bought, like, this, like, magnet based pop socket competitor.
Shipped hardware with no remote access
Wes Bos
thing. Like, it has to download the firmware, The next DB backup was at 12. Oh.
Announcer
whenever you you hear an alert of, like, iPhones are being bricked or this is being bricked, The first thing I do is think about all those poor devs. Whoever
Wes Bos
put it on itself, and then reboot itself. Like, what happens uncontactable? just because of how Bad. These are but they're cringey laughs. They're they're laughs that come from a deep place of Yeah. I also I spent all morning going through these, and I'm so stressed out right now just from, like, Oh. Oh. Oh. Oh.
Wes Bos
or some sort of hardware
Announcer
whoever pushed out the software that's bricking hardware.
Wes Bos
can you oh, that's sweaty moms doing that kind of stuff. Hardware is another level. Yeah. I know. Whenever it's like Rid. I charged credit cards and updated balances within the same database transaction, And I was putting sales
Transcript
Wes Bos
So it's a good lesson both for entertainment as well as
Announcer
my wife just texted me, is Dracula in your office? Good. I nailed it then. You were really loud. In fact, I had my headphones turned up, and you started that intro so loudly that I, like, and almost shot the earbuds out of my ear.
Wes Bos
This is our live That
Wes Bos
annual as he thought he had copied the address checking your credit card and but then also refunded.
Wes Bos
rid Coding horror stories. So every year, we ask people to submit their, on a Friday afternoon, like 15 bundles of toilet paper to somebody's And that causes the HTTPS how much bandwidth
Wes Bos
episode.
Announcer
You're listening to Syntax, the podcast with the tastiest web development treats out there. Strap yourself in and get ready. Here is Scott Talinski and Wes Bos.
Wes Bos
on customers websites with their tech, with their database. It's just awful stuff.
Wes Bos
rid Spooky coding horror stories
Wes Bos
So these are stories that make you want to put your head in the sand. Stories of
Semicolon typo crashed production site
Announcer
offered to resign, and he said no. Yeah. We've all been there. Rid. You know what? If you haven't taken down prod at some point in your career Next one. I accidentally
Announcer
Afterwards, I found out that I had missed a semicolon and crashed prod
Wes Bos
You know what I it was? I
Wes Bos
And it was doing
Wes Bos
I made the redirects. I was like, these aren't working. I was like, oh, it's because we're not you. I had Cloudflare plus 1. So you can imagine, like like, Netlify gray clouded because we weren't using any of the other Cloudflare features. We were going straight to Purcell. Okay. So I was like, oh, we need it on. So I flipped it on and I tested the website and immediately the website broke. And I was like, I know what this is. You got to like I lots of bed hooks. However, that wasn't my fault. Someone made the test
Wes Bos
Fm so that if we ever change podcast providers, they don't want anything ever accidentally happening where you possibly
Wes Bos
was using Cloudflare to do the syntax meetup URLs.
Wes Bos
And something happened there with the SSL,
Wes Bos
ticketing company.
Wes Bos
But I had That could fix npm when it fell over. So this one was submitted anonymously, thing,
Wes Bos
these companies do. Just rid Parsing RSS feeds must be unreal. Yeah. It's not like we're the only podcast with 600 episodes. Oh, there's a lot that are are much larger. All right. This next one again, I'm keeping them anonymous, but this guy works for a very large The client's tech wizard son who served as the project's reviewer and administrator just because Is this a misspelled bad word?
Wes Bos
Podcast feed doesn't get paginated. There's no spec for that. So you think about because
Wes Bos
Quickly
Wes Bos
Spotify wouldn't pick it up, but literally, like, 3 minutes later, it popped up in our feed on Spotify. So rid. I got, license plates.
Wes Bos
the redirect loop.
Wes Bos
from going out, I was worried that threw a Cloudflare rule on there that says if it's the feed, change the SSL, the flexible, literally shipped, like, Or and also is it like a new slang that I have not yet heard of? And It's hilarious. If you go on the Ontario website, you can look at the list of denied plates, You're like, yeah. Right. Rid
Wes Bos
the CloudFlare default is like flexible SSL,
Wes Bos
and Schmuck here, but Yeah. Slow rid At that point, you know? And, like, hopefully, there's a recovery mode, but then you got support telling people how to do recovery mode. But if they're rid. If you can't get into recovery mode or you need to do some weird, like, USB stick But one of our offerings was so called synthetic tests, basically a way to ensure all inside of a batch job with retry logic.
Wes Bos
and that it fixed it right away. But
Wes Bos
Spotify downloads our RSS feed and caused easily $20,000
Announcer
rid. Yeah. You did. With DNS or what?
Wes Bos
Probably every 5 minutes. Right.
Wes Bos
failed to remember that we also host we don't host it, but we proxy the RSS feed
Wes Bos
I took down Are you a real dub? Instant Tax podcast feed some sort of multiple
Wrong database connected, charged cards repeatedly
Wes Bos
So, like, even 10% of the country at at at a minimum.
Announcer
I I've never never used anything other than rid That is, Yeah. And the last thing you wanna do is have to get on The phone and do chargebacks for all that stuff are oh my gosh. Yeah. I swear I didn't order $10 worth of one thing over and over again.
Wes Bos
Double.
Wes Bos
it makes these even more like, oh,
Announcer
concurrent
Announcer
rid Versions Yeah. Totally. Oh.
Announcer
CVS, by the way, stands for
Wes Bos
Next one we have here is called Lorem Sale. Okay. So this one time back in the day, I was showing a new dev around a dev instance on a website we had built and managed For massive national airline. I love how people have to redact. And it's kind of funny because the people that emailed it to me, if you look at Where they've worked in the past, Oof. That those are the worst bugs where orders had been shipped to the customers,
Wes Bos
the site also ran Company's APIs. It was a Drupal monolith. The site is basically a sales funny funnel for the company's separate booking engine site. Rid There was a feature where you could put a sale entity live, and it would push a notification to all of the company's double digit percentage Of the national population.
Announcer
systems. Concurrent version system. Concurrent versions system.
Wes Bos
what does WordPress use? SVN? That's the big one. Subversion was the big one before Git. A lot of people still use that. And then I know, like, Google and Facebook have Rid. I I don't wanna be a a century,
Wes Bos
their own versions of it because it's much bigger than Git can even handle.
Bitcoin mining exploit drained AWS budget
Announcer
dollar sign out aggregation
Wes Bos
Then
Announcer
Did you know like, cotton ball material in there that they were probably just hoping would suck up some water. I have no idea.
Announcer
I didn't. Not the 1st time I used it. I cleared 80,000,000 records in one swift move with 0 backup. No. Stop.
Wes Bos
like, sit there for 3 seconds or 15 seconds.
Announcer
That Mongo's
Wes Bos
hit a URL User so we didn't have the problem anymore.
Wes Bos
anywhere. Even if you let somebody
Announcer
stage clears the collection you're saving too.
Wes Bos
in a specific way, but also it could be used nefariously. And it's always Bitcoin miners. If you let somebody run code
Wes Bos
Well, in the background of his website was a Bitcoin miner
Wes Bos
on 1 weekend and quickly had to add some detection
Announcer
Nefarious things with that compute. Yeah. Bitcoin miners are like, it's like life. They will find a way. Right?
Wes Bos
due to this exploit
Announcer
That's That's a good start. What a good hook, this person. This is a person who's, like, writing a story.
Announcer
I didn't I accidentally implemented an infinite redirect loop that sent a 110,000
Announcer
Oh, please. 80,000,000 records With no backup, if you got 8,000,000 records,
Announcer
that took me months to build and recover.
Wes Bos
rid To fix the exploits as well as we could simply not turn off the feature altogether.
Discussion about misunderstanding GitHub comment acronym LGTM
Wes Bos
rid so you think every time someone, like, sends a PR and they say LGTM, they said, let's get this money, like like, that's slang for deploy the sucker? rid A piece of JavaScript somewhere that people load up a chat, and every 5 seconds,
Wes Bos
I'm very embarrassed to admit that, and I feel really dumb. So rid Alright. This next one, I think, might be the best one. I'm gonna let you read it, but, like Oh, yeah. Buckle up. Maybe if you're driving, pull over. This is a big one.
Announcer
I read it as let's get this money, which mistake. Is that is that a 1000000 dollar company? We've had a lot of expensive mistakes on these spooky stories. Dollar mistake. But that one is
Announcer
Big Brother bug. In my early career, mid 2000, my 1st week on the job as a software dev Was for a local big brother production.
Announcer
And I honestly I'm having that moment too. Extremely red in the face right now. I wish y'all could see because,
Announcer
This money.
Announcer
Yeah. Like, what? This is this is our product. It's going live. I I've I'm, like, I'm having a moment of, like, I'm so stupid right now. So this is my spooky story.
Announcer
So every single time I've read LGTM, the button,
Announcer
It makes so much more sense as looks good to me. That is hilarious. So when I first saw this in this context, I was like, oh, that's so that's even, For a whole hour, losing 1,000 of euros.
First commit brought down site before flight
Announcer
Every winner receives a small prize. All of the data was already randomly generated in an XML So whenever the computer crashes
Announcer
Things down, you have no idea why. Then I found a single line regex was bottlenecking and was pretty happy about it. However, come Sunday, However many times you you really think you have everything dialed in, Everybody makes mistakes, and it's important to really
Announcer
All queries.
Announcer
prizes all day
Wes Bos
It's like the one, like, nostalgic thing I have about Tim Hortons. But,
Wes Bos
you you do, like, a fake role. During COVID, they nixed it. Now they have an app so they can track you and rid. Oh, stuff is awful.
Announcer
or they take a break or they reload the app, the index will be reset to 0, And all the previously won prizes will appear again. So the customer is handing there's something like Valuable stories to be learned here. Yeah. These stories will make you wish that you had some brains. Right?
Wes Bos
expression in a condition
Announcer
didn't.
Wes Bos
rid. You know, And they have rid. Stupidly moved it to some app based that
Wes Bos
was goofed up, And literally So, yeah, that happened. We changed all the rights of the database
Announcer
for a customer to use in public places such as malls.
Wes Bos
like, for every one of these stories, people will tell me there's probably 10 more that people will never they're tight lipped about.
Wes Bos
the parentheses in the wrong spot
Announcer
3 years ago, I did a major release, pushed hundreds of commits from Staging to production after extensive testing.
Wes Bos
hour. I borked a logical rid Both. Yeah. Yeah. Oh. Next one, web chat DDoS. I'm a front end At a company that does software for customer service many years ago is working on a prototyping web chat feature. Once it seems rid. Once it seems stable enough, we would let our customers put chat on their websites. That's when we realized our code was now loaded onto a lot more computers than our main app, And it was making way too many calls to our server. Basically, we were DDoSing ourselves with our new web chat product. We took it down as soon as we could, but it was already loaded on a bunch of pages that were still hammering us. So like, I imagine
Announcer
The site went down for 3 days. Oh. I had no idea what went wrong Like a needle in the haystack. I mean, that's the worst feeling. Right? and, it stopped working. And when I opened it up, obviously, the thing's full of water. There there's no waterproofing in it. In fact, the only waterproofing
Wes Bos
Probably Like, how much do you win at Big Brother? Isn't it like $1,000,000 You may have heard actually the Hasty before this, but this is the tasty full of No, people. Man.
Wes Bos
rid. For some credit card processing Next one.
Wes Bos
and, they had to, like, claw them back because they were accidentally,
Wes Bos
Rid. If you're not if you're not following along, an if statement Next one, a $20,000 As
Announcer
Oh,
Announcer
everything. It would be very interesting for somebody to tell tally up the amount of dollars lost over every one of these stories.
Announcer
And, turns out I pushed to prod, and then I went to get into a submarine to visit the Titanic.
Wes Bos
ready.
Story about accidentally deploying a crypto copy paste bug
Wes Bos
he, quotes, fixed it. And I threw a a classic LGTM, Welcome to Syntax.
Wes Bos
All of these stories we are keeping anonymous whether the person has asked or not
Wes Bos
On Twitter about how he made a mistake and sent $60,000 At one point, all these people were winning. I think, like, I think it was a car or something significant, you know, like rid. 1,000 of dollars of prize at TV, to the wrong wallet How how many times You are pushing an update to ecobee rid. Have we heard this where someone says, I did something $1,000. No. Not $40,000.
Announcer
Also, I thought LGTM
Wes Bos
I don't want them to see the light of day, but we don't want to put anyone's name on these because if you tweeted it, you can delete the tweet. But if it's on this podcast, you can't delete the podcast. So rid we own the URL.
Wes Bos
always test your code.
Announcer
let's
Wes Bos
looks good to me, and it was deployed.
Wes Bos
A few hours later, 1 angry customer made a huge thread
Wes Bos
some of the best ones are anonymous because they're total redirect loop.
Wes Bos
Rid Oh, we patched the fix, and the company paid him after all the buzz. TLDR it turns out, the ops guy had refreshed in air quotes,
Wes Bos
Where it didn't alert the user that the copied value was actually copied,
Announcer
stood for
Wes Bos
thank you everybody for submitting. The first one is a crypto copy paste horror story. I worked for a crypto company in 2020. And while building the React Native app, one of my colleagues made a PR to solve a small
Announcer
LGTM.
Wes Bos
rid To the right place. The UI showed that it has copied successfully, but it wasn't for some specific Android phones.
Wes Bos
copy to clipboard issue
Office servers containing source code stolen
Wes Bos
It would look pretty cool. Be cool. Like on brand. What's his name on Twitter? I forgot his name right now. He has no
Announcer
Yeah. Really, really Honey, we have, like, new black and white license plates that are really slick in Colorado because the other ones are, like, green with mountains on them.
Wes Bos
And I was like, that I've never found one that's $300 funny. You know? Like, it's gotta be
Announcer
When it came to making my 1st change to my code base, my boss mentioned I needed to commit my changes to CVS.
Announcer
drowning in too soon, and the data was gone. And, you you know, people Keep all sorts of stuff in their, home directories.
Wes Bos
with shouting, and we had to write an apology email to all 20,000 users.
Announcer
who swiped our servers. Oh, no.
Wes Bos
users with the wrong username and password. Basically, Excel I don't know. I I don't wanna be, if I cut somebody off. I'm a pretty good driver, I I think, but Every now and then, you make the wrong You don't want to do that easily. Yeah. You identify the wrong person mad. You know? Maybe I would guess something funny, but every time I look at it, it's, like, $300.
Wes Bos
import rid had a 1 row shift. The client was not happy. We had a terrible meeting How come there's only 6 laptops in the world that could fix NPM if it fell over? And he said there was So you just flip it to full strict SSL and it fixes everything.
Announcer
off-site backups. Man, off-site backups are a thing.
Wes Bos
JS. That's a custom Iowa plate.
Wes Bos
and didn't say anything to me. Everybody on Twitter replied to that, like veteran.
Announcer
Oh my gosh.
Wes Bos
You know? He's seen it all. Next one, dodged it.
Announcer
CVS confusion. I had a light bulb moment.
Announcer
I'll forever be the code savior who spared our code from literally being robbed.
Announcer
But I I thought of, like, a black and white one that says syntax. It's the perfect amount of characters. Our license plates are 6 characters.
Announcer
Instead of the most popular house guest was leaving.
Typo took down polyfill.io
Wes Bos
break. That's like AWS going down without, you know, being a hosting thing. I wrote a large application performance management software similar to Century.
Wes Bos
configured lots of synthetic tests to hit his website
Wes Bos
came back to find lots of the AWS alerts on high cost. Rid. Turns out a trial customer
Wes Bos
that are not available in some browsers.
Wes Bos
Their website works when accessed all over the world. A customer can configure a URL and optionally some JavaScript to click a few buttons. And if not nothing breaks, it test rid. Passes. We would then periodically run these tests on all our machines all over the globe, which we had hosted on AWS. If The test would fail. The customer would get an alert. Everything was fine until 1 weekend when a team DB query
Announcer
So I was unaware that people were trying to contact me about it being offline. Now this is a service folks, if you don't know about polyfill dye, this is a service that people are regularly hitting. So It being just straight up down for 2 hours.
Wes Bos
and stay there for some seconds.
Announcer
As
Wes Bos
30,000,000 I think, like, Next underscore Rid. In 2007, the author, who was 15 at the time, worked as a freelancer,
Chat feature DDoSed own servers
Announcer
Someone from the marketing team was going to demo this and Slacked us About our prank, And
Announcer
I know you can't read it on air, but you get the idea.
Announcer
k, capital m,
Announcer
So he sent us a screenshot a while later, we made a is this the same person? I gotta ask. Yeah. Because they say a while later. Submitted too. I chopped it in. No. That's great. This is a double dose then.
Announcer
Capital f, capital u, lowercase c, capital That one's actually good for the user for a change. All of these ones, like, They they cause havoc to the user, but this one, hey. Free prizes. I'm pretty sure in in Canada, we had
Announcer
none of us knew what he meant.
Announcer
Yeah. I think that's Gotta be a concern with any random generated word. You think about, like, the name generator on Heroku, Timing, they say, is everything.
Announcer
of the URL even being done like, there's no there's not even a gasket or a seal around the plastic, which, You know, you can't tell from just looking at it. So when I opened it up, I was like, alright. There's not even a gasket here. And the only bit of waterproofing was, like, quota was, like, a It was like a, you can't put that one back in the bag. There's no one due for that. Undo a 100 and like, yeah. What do you do? You're just gonna have to swipe them away or whatever rid Oh, man. Even I I was curious. I looked it up. A 110,000 Long. Yeah. A lot of big winners that day. Hey.
Announcer
Oh my gosh. And I'm I'm I'm seeing the next one right now, and I'm already in tears looking at part of the next one. So okay. Rid. The this one is a a URL shortener.
Announcer
Fortunately, this only happened to someone at our company and not to a customer during a demo.
Announcer
Good for this person. A while later, we made a URL shortening service to our URL.
Announcer
that the app had generated for him. The URL was and then there was a URL shortener forward slash, This wasn't a prank. It was actually randomly generated.
Announcer
I'm gonna let you, spell that out yourself, but it is beep me.
Announcer
A while later
Turned on unfinished feature, customers got free items
Wes Bos
push notifications
Wes Bos
from the company's sales app 1,000,000
Wes Bos
A few points of policy were developed.
Wes Bos
cost?
Wes Bos
Put it off live then on again.
Wes Bos
push notifications.
Wes Bos
Anyways, showing the dev around, I put a sale live. Keep talking.
Wes Bos
push notifications
Wes Bos
with the dummy data in production.
Wes Bos
Oh, yeah. How much is sending a 1,000,000
Wes Bos
rid. Dev with prod without changing the DB connection script back to the dev DB. So the dev site was connected to the production database,
Wes Bos
Call incoming.
Profanity generated in URL shortener
Announcer
there's a podcast I listen to. It's like an Australian comedy podcast, Bunta Vista, and, This is great. Okay.
Wes Bos
game of trying to figure out,
Announcer
dynamically generated Just I you know, imagine, like, the amount of Stress you're under in that amount of time. I've I've I've had some sleepless nights where I'm up coding trying to fix a bug myself. Yeah. And there's really not a whole lot. Like, You know, your your partner can be like, hey. You doing okay? Is everything okay? No. It's not okay. I'm Could be
Wes Bos
Ontario puts out a list of I got a support email saying they couldn't access the site anymore. Rid. Turns out our dev DB was named
Announcer
Got to put a profanity filter on that.
Announcer
Oh, yes. And get
Announcer
That is, like, a segment of 1 of theirs is reading rejected plates.
Wes Bos
rejected personalized roll up The Rim, which is Tim Hortons. You roll the rim up and you see if you win, like, a doughnut or a car or something like that.
Announcer
they get so rough, and it is very funny. Have you ever considered getting a personalized license plate? I have
Announcer
Dinos, or anytime you have, like, I became an office hero, sans cape. I'll never Rid Little did I know our CVS server held our entire code base.
Payment form submitted before confirmation
Announcer
US. Pounds. You're right. Oh my gosh. I I, like, I recoil reading these. This is This is simultaneously
Announcer
I think, like, 100 orders got through. Our traffic wasn't super high.
Announcer
I dropped the analytics database for the past 6 months.
Wes Bos
Oh, that's wrong. Next one. So I accidentally turned on a feature before it was ready. Nobody noticed for 4 days. By the time we did, forty rid.
Announcer
There were there was a big meeting with the business people to be made aware about it, and the higher ups were basically like, well,
Wes Bos
That's that might be the 1st $1,000,000
Announcer
let's just see how it Hands out and see if these people contact us. Oh, no. That's not right. That's not the right thing. I think all but 4 of those orders activated, And it was our highest conversion month. I like to brag that my bugs are run of you revenue generators. Oh my gosh.
Announcer
you know that, did you watch that TV show on Netflix, The $1,000,000 menu.
Wes Bos
It took another week to notice that nothing we can do about it. 40,000 people just got a whole bunch of free stuff. A few days later, I was fine. The total cost of the company was £700,000.
Announcer
The thing is the right thing to do is to refund everybody without them having to contact you. That's
Announcer
my favorite episode of the year because I feel like it's the most laughs per second,
Wes Bos
£13,000. That's a $1,000,000
Announcer
That that's right there. Holy cow. $700,000.
Wes Bos
40,000
Announcer
I have so much tension in my body reading these. Alright. On the on the 1st week of my internship,
Wrong form sent medical equipment to customers
Wes Bos
Unfortunately, this error was indexed by search engines during a maintenance window, exposing sensitive credentials in search results.
Wes Bos
removed exception handling rid Handling.
Wes Bos
is off by 1. Is off by 1, so I get, like, diapers.net.
Wes Bos
We had that one with toilet paper a couple of years ago. Somebody
Wes Bos
Netlify had has a load balancer, and every single request They get in for westboss.com emails depending on, like, what they're sending. But if you're a medium sized company,
Announcer
Rid Oh, This podcast is presented by Century. So thanks. Let's get into these spooky stories. Wes, you wanna hit that first one? Yes. This one is wild. So, by the way, we should say It's like oh, there's a $1,000,000 man million pound menu.
Wes Bos
inadvertently choking
Announcer
So yeah. Broke everything, and people thought Every site had been hacked or discontinued for a day or so. I was ex was extremely confusing as it wasn't a simple index lookup. Yeah. No kidding. Yeah. And, also, you know, you give people somebody else's anything,
Announcer
You know? Yeah. Oh, yeah. Diapers.net.
Announcer
sites index for food.com Data phase.
Announcer
the wrong traffic domain
Wes Bos
it just started showing up. When product actually arrives at random people's houses, that is just that's hilarious to me. It's unfortunately hilarious, especially if it's large amounts of things like toilet paper.
Announcer
and, like, that that that hurts customer trust pretty badly. Right? Yeah. No kidding.
Wes Bos
is a platform as a service. I don't this probably wasn't Netlify. I don't know I don't know who submitted it, but imagine RSS would be so scary to me. Like, imagine rid. Push notifications
Wes Bos
removed
Wes Bos
random house, and for a company that running. So basically, he used our AWS machines to mine bit
Announcer
Next one. I once made an off by 1 error writing a high efficiency load balancer for a platform as a service
Wes Bos
and developed a web store for a local music company.
Announcer
yeah. There was a I I know this isn't the same thing, but there was, like, a thing with, like, Steam, the gaming platform, Where they have, like, a similar issue that was serving up the wrong cache to the wrong user, and it was a similar bug, I believe.
Announcer
Food.com Broke out in a cold sweat, on Netflix, After correcting it and running the code again, the results
Charging and updating card balances together
Wes Bos
rid to your phone or text messages. That's a mess. That's
Wes Bos
Next 1, 1st commit at a new company brought down the entire site, to customers saying Lauren Sale is now live.
Wes Bos
retry logic that kept retrying.
Wes Bos
seeing that is in someone's
Announcer
emails to a group of about So all domains I have a sick pick that is a with the exact time when people can win. And I was saving the index to the last 1 item into a shared object, which is like local storage or cookies these days. But the problem is is that you need to call Flash for the data to persist on the hard drive, which I obviously Let's move our code base to GitHub.
Wes Bos
under all of that. You also can't That one like dropping a database. Yeah, we've heard it. But like we're customers.
Wes Bos
Rid. Oh, man.
Wes Bos
charged dozens of times until they eventually hit their credit limit. Created a terrible mess, But a few critical learnings to
Wes Bos
Buried under a mountain of email. Oh, man. That is and if they host their own, Still one of my worst mistakes.
Wes Bos
It was $100 and just sending emails.
Wes Bos
$10 worth of charges run up. Yeah. No. Thank you.
Wes Bos
rid. And I had just boarded a plane for a cross country flight.
Announcer
rid 6 users causing their IT department to think they were under attack.
Only 6 laptops could fix NPM when it crashed
Announcer
For a voting platform before for a breakdance competition,
Announcer
where judges' votes were tallied and then put through a thing, and it would reveal the winner. And the 1st time they used it was in, like, a,
Wes Bos
Luckily, it was fine. So, yeah. So many of these stories, the stakes are so high and they have to do with
Announcer
A battle in South Korea. And I remember, like, thinking to myself,
Wes Bos
People's lives or a significant amount of money.
Wes Bos
the bug was, you know, when you're trying to, like, find a percentage or something and
Wes Bos
So next one. For 2 years, I had one of the 6 laptops Rid. We, I actually strongly opposed Happened at 11:57.
Announcer
it is easy to have that flip flop happen. I wonder everyone must have been outraged with the that I I wrote myself. I wrote That's crazy.
Wes Bos
rid. SSH keys on those computers that were not backed up anywhere anything that you would be.
Wes Bos
for security purposes.
Wes Bos
but from somebody who was a major player at npm in the
Announcer
I am so pooched if this messes up. Rid.
Wes Bos
you have to, like, take 1 minus that percentage, I bet rid. I bet that was the bug. That bug. Yes. Because when you're working with percentages, This happened about 10 years ago, Rid. They they must another weird thing, like, talking about RSS for a second, is that
Leaked credentials indexed by search engines
Wes Bos
remix, Next. Js, Gatsby, all these frameworks, For you to explicitly someone rejects a piece of text and that text was not
Announcer
keys. Could be
Announcer
I mean, some people put, like, sites and stuff. The entire computer is in tilde.
Announcer
Your secrets to GitHub. I mean, this is like I mean, GitHub's permanent. You can just, like, GitHub, change your seat, but to have it indexed by search engines. That's why it is so hard to My 1st web dev gig set in the heart of downtown Vancouver.
Wes Bos
complied with this demand. Subsequently, the author never had any further contact with the client. Oh, that sucks. Bro. Oh, that's not even funny. That's sad. That's sad. You know what sucks about that is, like I mean, you think about the horror of committing
Wes Bos
you have to explicitly put them in To make say, yes. I want this to be on the client side. Yeah. It's the same concept as behind it's pinging an endpoint to rid. Say, hey. Are there new messages? Are the new messages? Are the new messages? So even if you take it down, that JavaScript is still running 1,000,000
Announcer
r m hyphen r f till date forward slash. Till date forward slash for those of you who don't know, it's the home directory.
Wes Bos
Demanding a refund equivalent to the amount paid for the freelance work. Regrettably,
Announcer
dangerously set inner HTML or whatever. It's like, We're putting these words here or putting this extra step in here so that you think about it. Just so you you think about it. Rid. Alright. Next one here. I just put a note here. I've heard this story You'd be using [email protected]
Wes Bos
Despite The Sun's responsibility
Announcer
Rid. That's the root of the hard drive. Oh, the So No. Till day till day isn't the root of the hard drive. Forward slash is the root. Sorry. It's the root of the user. Rid. Yeah. You're a user home. Yeah. And especially if you have, like, a droplet or something, I never put anything in my user directory. But I know what I'm saying is I know some people put a lot of stuff in their user rid. And on a, like, a Mac computer, there's a lot of stuff on your user directory, including system files. But yeah.
Announcer
The temp directory
Wes Bos
leak,
Announcer
but before it did, rid. But before it did, I pressed enter
Wes Bos
especially with these, like, full stack. You're not sure if your back end or front end, into your template, you have to prefix it with
Announcer
was supposed to autocomplete, to leave the house was announced.
Wes Bos
due to their youth fear and lack of knowledge of their rights, the author rid
Wes Bos
put an environmental variable
Wes Bos
for the issue, the client unfairly held the author accountable,
Announcer
a several times over the years, and this is This is a cautionary tale. I wasn't sure if this was an author's note or a West Boss note. So this is a West Boss note. That's a West Boss note. Yeah. This is a cautionary tale. A few years back, I SSH'd into a prod server. And when trying to delete a temp directory, I accidentally executed
SQL injection attack dropped production database
Announcer
coupon voucher site because they have, like, an interface for swapping them, and I accidentally rid Swapped them myself. I fixed it, and I put it back to where it was. Oh, yeah? But that is easier than you might expect, so I feel for you. This is from a past guest. You'll know who this is because of of the website, but past guest on the show. Yeah. Oh, from the website.
Announcer
I wanna say, I I also feel like, Did not sleep for 48 hours straight trying to look for the issue. It was a different time and place. Rid Man. Man. Yeah.
Announcer
polyfill dot I o. There's your hand. I got 1 digit incorrect and took it completely offline for 2 hours.
Announcer
accidentally having
Announcer
Yes. Okay. When updating the DNS for, Next one here. Back in the day, I created an augmented reality game in Flash AS 3, that's ActionScript 3,
Announcer
That dev to production thing, I accidentally did that with PlanetScale
Announcer
when we did our rid Sites index for anything.
Voting algorithm bug caused wrong Big Brother contestant to be eliminated
Announcer
You know what? You know, we've given some of these scores in the past. Rid. Now I'm going to be giving this, like, the golden the golden spider award for their being the the spookiest story I've ever seen. Oh. Oh my gosh. Brutal. You know what? I guarantee
Announcer
I won't say what country. Big brother is in the, the TV show. Right? So is a TV show where people are in house, and it's a competition reality show in case you haven't heard of Big Brother.
Announcer
if you win? Oh, so this is glad that this one is anonymous because
Announcer
The contestant
Announcer
I was Tasked with writing an algorithm for that week's house vote.
Announcer
and the auditor checked the results, But instead, they put their payment info in, then got redirected to the final rid Confirmation stage without them manually confirming.
Announcer
as the votes were tallied
Announcer
I kept this to myself for years.
Announcer
And the person announced as the loser was actually the winner.
Announcer
The previous week's winner had a percentage, and Big Brother, the production team, had their own percentage.
Announcer
The logic was intricate. Something like The public had a percentage of the vote determined by,
Announcer
and then walked on stage to hand the envelope to the presenter.
Announcer
That is
Announcer
I still think about the butterfly effect it would have caused
Announcer
Essentially, lowercase e.
Announcer
I had night sweats for months.
Announcer
I can only laugh about it now. Oh. Oh, man. Oh. Like like that's My boss gave the knob. He was planning to make this move for years now but did not have the experience himself.
Announcer
He wrote down the name of the loser
Announcer
flipped, get myself. So, shout out to all of you folks who have had to deal with non Git version control. Whether it's Mercurial And
Announcer
As it was the number one show in quite a number of countries.
Announcer
a very rough situation.
Announcer
text message count. The house contestants had a percentage.
Autocompletion mistake deleted home directories
Announcer
before they click the buy now CTA.
Announcer
that's that's spooky.
Announcer
the very first thing that should be done on that action to submit the payment should be to disable
Announcer
It was a full purchase flow. And near the end, they put their payment info in, but there were some other steps for them to manually Click a button where they would actually make the purchase.
Announcer
Oh, the dread. The feeling of dread. Both both losing it, but also somebody getting their hands on that. You know? Yeah. You'd have to know what you had, but still, Re Buckle up, strap yourself in, and get ready.
Announcer
Yeah. That is, fast, I, you know, I I don't wanna use the ropes. I wanna do this entirely without ropes. So not only is he doing the scariest climb of all time, he's doing it Without ropes entirely and basically
Announcer
Alright. Next one. I once implemented a useEffect
Announcer
especially if you're you're working in some sort of click, but I guess this might have been outside of that. So, rid Okay. I once implement implemented a useEffect wrong and was auto submitting user payments before they clicked the buy now CTA.
Announcer
Rid. Dear gosh. Auto submitting payments. Here's another case. When when, just just for those of you out there, if you're working rid. Ever with a payment system, and before I read the rest of this, and you do have an action to submit a payment,
Announcer
wrong and was auto submitting users' payments before they could submit
Truncated production database accidentally
Wes Bos
rid a query and what the query is that is slow.
Wes Bos
test form point to live.
Wes Bos
debugging was near impossible.
Wes Bos
Brutal. And then somebody followed up, said, didn't you have a bunch of medical equipment delivered to a customer At one point, and he says, yes,
Wes Bos
But, yeah, you certainly should have some tooling around telling you when rid. I've got and there's so many good ones on there. Speaking of that,
Wes Bos
Next one. Accidentally truncated your entire at feed syntax.
Command deleted dataset for AI training
Wes Bos
In somebody's browser and pinging them. So it goes on to say, I'm sure there were people it was smooth.
Announcer
We we see kind of the same
Announcer
drop the database. Accidentally charge a 1000000000 people. It's, like, so funny how the these same patterns in in I mean, in software.
Wes Bos
they have Rid I sent an email to 20,000 Crazy.
Announcer
Dear gosh.
Announcer
stories over and over again in a in a different way. Right? Accidental DDoS, rid I'm gonna return it because it stinks.
Announcer
he gotta make a backup somewhere.
Wes Bos
out there with a bunch tabs open in Chrome, not realizing it was making a bunch of people sweat in a conference room somewhere.
Autocomplete mistake deleted directories
Wes Bos
6,000 notifications
Wes Bos
and software in the US
Wes Bos
without any remote control solution, Caution stories of people totally dropping the ball
Wes Bos
boss had to ask a cousin living there to travel
Wes Bos
myself to that, shipped hundreds of kiosk hardware We lost $50,000 rid. It not being available means people's entire applications
Wes Bos
5,000,
Wes Bos
From France Like a good chunk of the Internet. It's like things polyfill.
Wes Bos
rid. Like, 6:6 hours or so, and it was just constant. My phone battery was dead. Oh, okay. Yeah.
Wes Bos
service or not. Of problems. Like, if Clari is doing I mean, something this large has their own infrastructure.
Announcer
Hokey. Yeah. Yeah. Hokey is right. If you get a Hokey out of West, That's one hokey. Oak. That's that's pretty important. Yeah. Hokey. There might even be a couple hokey doodles in here. Yeah. We get into hokey doodle territory. You know you know it's serious biz.
Wes Bos
that's wild. Like yeah. What what does that do? When I sold my stickers, like, rid. Mail servers, like, they're probably many times.
Announcer
to find out. So another
Wes Bos
and check rid For a crash computers and to manually reboot it.
Announcer
Rid I wrote a bug that sent an SMS to a customer of my client And we took 3 hours to track your errors and exceptions. Because when these types of spooky situations pop up, You wanna make sure that you have a, well, a non spooky pal to help you out solving those issues. So head on over to century. Io.
Announcer
2,000 plus times in the loop, Okay. Next one. While at a booking engine company, I made a change on prod with no staging or Git back then just as the boss walked in for a meeting.
Announcer
massive amount of notifications. Although, As we just mentioned, I think SMS, this one's gonna be quite a bit more expensive. Holy cow. Imagine getting 2,000
Intern dropped analytics database
Wes Bos
dev_ indicating a sale went live. Ugh. Client of damages in a few hours by making everything free.
Wes Bos
dev. Dev was actually production.
Wes Bos
Rid. Example. So SQL injection is like Oh. That is it for today.
Wes Bos
2nd week on the job was testing SQL injection attacks on our dev site.
Wes Bos
and and you're like, what's your name? And you say my name is drop DB dev. So he typed in, like, semicolon t equals t drop d v dev.
Wes Bos
you have like an input and then I became totally Io to polyfill APIs
Announcer
I was trying to build a view with just the data I needed, And I dropped the source data instead of the view. Honestly, I blame them for giving the intern full access to the database. Yeah. Right. You are. Yeah. Don't give the intern The ability to drop it. Yeah.