Skip to main content
View on YouTube to comment and like!

almost 2 years ago Syntax Podcast

Spooky Web Dev Horror Stories - PART 2

Wes Bos

Wes Bos Host

Scott Tolinski

Scott Tolinski Host

Topic 0 00:34

Send spooky stories to syntax.fm/spooky

Scott Tolinski

syntax. Sign up, and it's a perfect place to make sure that you are on top of any errors, bugs, or creepy crawlies in your code base. Last thing we want is a bunch of big old spiders running around in our code base. Hey, Wes.

Wes Bos

come on.

Wes Bos

and pop it in the box, and, we'll put it on the list for next year.

Wes Bos

where we were browsing the site on a projector.

Wes Bos

Seems like everybody who's young in their career has done that at some point where you just put something ridiculous that's back 3 g days,

Wes Bos

I never patched a bug faster. I believe this was also the first month or 2 of starting there.

Wes Bos

I helped him out.

Wes Bos

And it's just like, it was immediately noticed by leadership team during the team meeting

Wes Bos

Alright. So the first one here we have here is called monkey business.

Scott Tolinski

Yes. How's it going, Scott? Oh, yeah. I'm doing good, man. If your code is looking, if the spooky story contains the word 1,000,000 of dollars or 1,000,000 of dollars, it automatically gets but they don't allow you to enable this feature unless you turn on

Wes Bos

to make it show up on the page.

Scott Tolinski

gone bad if your code's gone bad yeah. There we go. If code's gone bad, head on over to century.i0forward/

Wes Bos

literally laughed so hard reading this for the 1st time because it's a 2 parter.

Wes Bos

Oh, alright. The first Node we have here, I

Topic 1 16:03

Accidentally shipped only pictures of goats to a customer website

Wes Bos

Black holes.

Scott Tolinski

Chrome might be a little too permissible. Yeah.

Scott Tolinski

Yes. This is a I I give this the alternate title of boot camp Crystal Lake, and I give this, I had somebody be like, there's some language in an SVG on your website. And I was just like, oh, yeah. It's a Wu Tang Ipsum. I didn't

Wes Bos

accidentally published whether it's like, even with the database schema. The other day, I I messaged Scott, and I was like, hey. Like, wouldn't this goof up our database schema if this were to happen? before it was sent out with my email sent out. It it takes, like, I don't know, 5, 10 minutes before they actually start getting going, but there was no way to stop it because it it had, like, hit the no return. So I, like, messaged someone from support, and they're like, we'll see what we can do. But, unfortunately, the broken link went out to that many people, and I don't have a no reply. I have my own email address as my reply,

Scott Tolinski

and we're almost at the airport when I get a call on my brick sized cell phone.

Scott Tolinski

to

Wes Bos

80,000,

Scott Tolinski

keep it gee, I learn I I

Wes Bos

Irascible major It just returned a null value. The sync function would then delete the local data

Scott Tolinski

let's say I have a button. Like, my Sanity tracker's toggling back and forth really quickly. Yeah. It made much more sense

Wes Bos

many, many people built for the time that they and it's probably just sitting as a draft in WordPress somewhere.

Wes Bos

Oh, I I know I think it was Abercrombie had this issue. I don't know if this is Abercrombie or not, but Abercrombie had a similar issue where there was some weird combo of coupons that you could use, When they when Firebase was announced, and for many, many years, Firebase's default I shouldn't be blamed for it. Probably reviewed by the tech lead. Yeah.

Wes Bos

the footer just takes up as much space as it needs.

Scott Tolinski

It's not because it's the little it's the same little nav you have in Instagram. It's just little icons down there.

Scott Tolinski

code review found this. Thank you, CJ.

Scott Tolinski

And she was like, you gotta watch the show. It's very, very funny. And sure enough, and start writing code right away.

Wes Bos

I called for my classmates and begged them to immediately download the update. Since this bug only happened when you tried to sync without cell service, it didn't affect everybody, but there were a handful of people, lost a good portion of the required school port paperwork, and I was mortified.

Wes Bos

Once upon a time, someone configured a promo code without any limits for $500.

Scott Tolinski

with the same credentials will indeed result in the page view being counted twice.

Wes Bos

some information back, and that will allow you to sometimes allow you to to find subdomains

Scott Tolinski

about things like that that you shouldn't be doing anyways. Like, Safari for me was also, like like, really

Wes Bos

Next one is called late night with Safari. Back in 2016, I was a sole front end developer. So many of these stories start with, I was the only developer

Scott Tolinski

much harsher

Wes Bos

I got

Wes Bos

because it's it's kind of scary Wes, oh, you have you have the wrong tab open and

Scott Tolinski

Moral of the story, never be afraid to reach out for help when you don't know what to do and accept the fact that everyone is going to make a mistake at one point or another. And Deno.

Scott Tolinski

oh, man. What is that word?

Wes Bos

that that always creeps me out. Those, or something like that. And I often wonder, was that on purpose? You know, was that an advertising campaign I'm not exactly sure, but this seems in a gray area of of being able to do this. So what you do is

Scott Tolinski

stating how successful the event in conference was. Breaking visitor attendance records was a huge success.

Scott Tolinski

On migration day, we just moved everything to a new VPC.

Wes Bos

Got you. Yeah. And then use version control to deploy. I think a lot of these stories are from before when version control was a thing, but certainly you can sometimes crash

Scott Tolinski

and I I wanted this feature enabled. So I said, alright. It's worth it to enable this, you know, 10 step process Node to make changes to our our schema if I can have access to this feature, which, of course, is a good thing we have access to this feature. Because I probably would have accidentally

Wes Bos

All the form data was stored locally in SQLite and synced to my MySQL database I hosted. So no matter what, there would be a backup of our paperwork either locally or on my server. Makes sense. You do it locally. You sync it to the remote server. Right? That's that's ideal.

Wes Bos

like, pretty technical.

Wes Bos

like, when somebody famous dies, a lot of these newspapers will already have the No.

Wes Bos

Next Node is console dot swear. I was working for a nonprofit in 2011, and we had a big boost to our mailing ESLint, and we are building a new campaign. I was working on the JS error handling for the position signing form and was struggling with a regex. Oh, I already know this is gonna be awful.

Wes Bos

a bottom footer nav? Maybe I'm wrong. You know what? It's background position fixed. It's Okay. For the longest time, you couldn't do position fixed on It was my 1st job. That's what he said. One day, I pushed an update to our filter experience. I say it was sized effort and things were looking good for a few few hours, but at some point, we got customer feedback that the web page would crash for some user.

Scott Tolinski

They sent out a newsletter, and it was very clearly, like, their test email that they meant to save for later in a draft. And it was, like, declaring that some contract had been signed when it hadn't. People were, like, really, like,

Wes Bos

So it wasn't like a bunch of people being like, who? What's going on? Please stop this.

Scott Tolinski

That that's not how good the story is. These are all incredible. In fact, man, I I have no doubts that that that would suck. That would feel Yes. Scott that it's a will feel awful. It's a social problem as well. Social problem. Yeah. You feel it in the pit of your stomach type.

Scott Tolinski

Next one here is AWS cluster f. I love that. I wanted to update a production cluster for several 100 customers. This was a self hosted ranger on AWS I had built.

Scott Tolinski

the frozen

Wes Bos

yeah, it just a a dab will do you.

Wes Bos

at a at a job in charge of a Fintech b two b application.

Scott Tolinski

you see a trailer for this show and you think this is a rom Scott. This is not for me. Yeah. And so because of that, Courtney started watching it by Vercel.

Scott Tolinski

And I tested it. It worked fine. Yeah.

Scott Tolinski

It yeah. Which when we by the way, I wanna say, when I give these things spooky scores because a lot of these are like, oh, they're not as bad as whatever. Yeah. That's just how scared I would be if this happened to me.

Wes Bos

I removed it from the list. It must have been a dead domain.

Scott Tolinski

have a big vocabulary.

Wes Bos

I think, about

Scott Tolinski

like, who who who's really good at documenting things? I don't know if everybody is. Like, we tried to document things really well, but there's still a handful of things that Yarn, like, And then in their docs, it's like, oh, yeah. Before you deploy to production,

Wes Bos

Oh, poor guy. Yeah. When you when it Wes it affects other people's lives, Yeah. Yeah. I don't I don't wanna end up on this podcast. You know?

Scott Tolinski

I started watching it, and I was I was cackling at at many parts of the show. It is super funny.

Scott Tolinski

Yeah. But you just Bos it down there and put a padding.

Wes Bos

At the time, it seemed that Safari couldn't handle a transition for the font size property, maybe with other size properties too. So if a font size transitions,

Scott Tolinski

I think we all push stuff that could, you know, break. It's funny, Wes. We did a CJ was doing a live stream of the syntax production assistant, I feel like we must have because we we did that whole voucher site, which was like a whole thing on coupon codes. So I would imagine it was around that what we did. Scott complex coupon codes.

Scott Tolinski

Never heard it. Yes. Big very, very big vocabulary. I've never heard this word before in my entire life. It is Horrassable. Going on the list. Yeah. Man, I like that. Cool.

Wes Bos

We were able to narrow it down to this specific Safari. Oddly, the office was primarily Windows based machine except for 1 person, so I had to kidnap her Mac for the day. And what a day. I was able to reproduce a problem, which was good. I figured it must be something in JavaScript

Scott Tolinski

To make things worse, I was using exclusively Pokemon images for testing.

Wes Bos

Nobody ever used the app again. Some of those spooky dev stories involve companies losing 1,000,000 of dollars, but mine involved having to spend the next couple years sitting

Scott Tolinski

My first task was to add some new Google Analytics tracking events to a few form submissions.

Scott Tolinski

Why can't you do position fixed? Because it if they're selling at a loss with the coupon, you know, and the coupons are just there to drive. And then, oh, man, that could, like, really sink a business. Right? Oh, yeah. If you were selling at a loss, just trying to gain some hype as a promotion.

Scott Tolinski

user table set status equals bronze.

Scott Tolinski

Yeah. Man, that whole version control flow for any CMS based site is tough. I remember there Wes a Drupal plug in that simply just output your configuration because it's storing a lot of configuration in the database. It simply was just, like, backing that up to a file and then restoring it from a file. And so that Wes, like, had to be part of your version control Wes to whenever you made a change, you'd back up your configuration,

Scott Tolinski

Tested on everything in a staging environment. Was super proud of seamless upgrade there. Uses wrong token and password for upgrading.

Scott Tolinski

Now there's no users who can access anything.

Wes Bos

WordPress is weird where you upload a a photo. By default, it sticks it on the Vercel. Mhmm. So then that photo doesn't exist

Scott Tolinski

I have a large

Wes Bos

on every single domain name, and that will give you

Scott Tolinski

Not dev related, but funny anyways. A marketing person I know was creating and scheduling a post event email

Wes Bos

is

Scott Tolinski

on the local database local sync to do a soft delete on the local sync database specifically.

Scott Tolinski

ask for help. There's no harm in asking for help. Yeah. It should never be 1 person's

Wes Bos

lighter. The total loss added up to be about two point 8,000,000.

Wes Bos

Node do you get to tell people you're a part of a reply all email storm? Yeah. Yes. I love it.

Wes Bos

dotted lines toffee candies out of 7a half toffee candies.

Scott Tolinski

to new user status.

Scott Tolinski

If you don't have a good review process, which it seems like they they didn't,

Wes Bos

Yeah. Oh my god. I keep logging messages g rated and keep them to the console now. The founders and my boss were very chill about it, but we could have gotten a lot more spooky if not.

Scott Tolinski

and I had joined a small real estate company with 2 other developers along with a bunch of product marketing people and a bunch of realtors.

Scott Tolinski

which this should be a part of your process.

Wes Bos

but it's necessary work. Don't deploy this to production, but Yeah. People do. People do.

Scott Tolinski

80,000

Wes Bos

I I was thinking about that last night as well. Do you remember, cc'd, I think,

Scott Tolinski

Well, being fresh out of a boot camp and pretty unfamiliar with front end frameworks at all, especially custom built in house ones, I couldn't figure out how to do it. Rather than ask for help, I discovered that if I loaded the Google Analytics script in some file, I could access it in the files I needed

Wes Bos

so that they can go live as soon as they pass away,

Scott Tolinski

again and deployed containers back for data. We luckily used AWS EFS The client wasn't happy because I believed by law they had to honor it.

Wes Bos

and then inserting new rows into the database with the response from the server. Otherwise, I would have to rewrite all the complicated merging code I had already written on the server side. Right? Yeah. That that makes sense. You know? Delete it, send it off, and then and import it. I tested a 100 of times. It worked flawlessly. The problem happened when we were in the forest. That this is terrifying, though. This guy's just running around the forest as well.

Wes Bos

and insert null into the local database. This is just screaming for a a syncing engine,

Wes Bos

Alright. Let's move into some sick picks. I'm going to sick pick

Scott Tolinski

Yeah. Next one here is ask for help. Nobody you know, here here's the big thing is you will be judged, Building a coupon engine Node number 4

Wes Bos

the thing written

Wes Bos

I had made an app that let you fill out the paperwork when you're filling in the woods and then delete it. There were no backups.

Scott Tolinski

So ask questions. Ask for help.

Wes Bos

everything is wide open, and people don't realize that.

Scott Tolinski

Wes, you might not know this, but there's a feature of PlanetScale.

Wes Bos

like, truffle I love truffle flavored hot sauces. And Yeah. The original, the black one JS really, really good. But now they have a a buffalo one, which is super good. They have a jalapeno lime, which I've not tried just yet. They've got some mayo. They haven't tried any of those yet. But if if you have someone in your life, you're, like, looking for a Christmas gift for them, and they, like, like Scott sauce or they like, like, nice And every now and then, My hair just fell off. Alright.

Wes Bos

What do you use position fix for? I haven't used that in backup, the Europe thing why am I forgetting the name for a Europe thing? GDPR.

Scott Tolinski

Yeah. I think it was Triumph by Wu Tang, which you if you've heard of that song before, you know what that song's about.

Scott Tolinski

then everybody you know, they're they're college kids. And I I'm not gonna lie. I got in on this. The reply. Replying to all and reside. Take me off this ESLint. And and everybody's

Wes Bos

Next one is a film school f up. Years ago, I was in film school. I made an app to help my classmates, and I automate some paperwork on set.

Scott Tolinski

everything. So what do you do in almost I use position fixed all the time. How do you do, like, Another coupon disaster. Oh, coupon disasters. These ones are good. I did tons of email campaigns and once accidentally sent an exclusive one time offer meant for 500 people

Wes Bos

that it went just absolutely viral? Oh, yeah. Or did somebody really goof up their, using my friend's BlackBerry things like, I don't know if there's any way to stop them.

Wes Bos

documents as deleted,

Scott Tolinski

is too many pat this is too many updates for 1 PR. And I'm in the chat being like, they're all fine. They're all patch. And sure enough, something was broken in there. CJ's in there. And I was like,

Scott Tolinski

They accidentally sent it to the entire database takes us seriously, I was a few weeks into my 1st developer job after completing a coding boot camp in 2016

Wes Bos

ISP contacted us.

Wes Bos

which is they have fine Sanity, but it's just that by default,

Scott Tolinski

I noticed my error and fixed the issue, but there was about 20 minutes where a person would have seen a friendly Pokemon instead of their diploma

Scott Tolinski

I then adjusted the process between myself recursively

Wes Bos

in tech even after doing this stuff for 15 years before as a hobby.

Scott Tolinski

commit that to version control on deployment. You would restore from version control. It was just like,

Wes Bos

applications Oh, it's you think you could be silly doing silly stuff, but when push comes to shove, things need to get done. You often let

Scott Tolinski

And you're scary stuff. This one, I I I would give 5 out of 5. That one's Oh, yeah. Yeah. Five pumpkins out of 5 pumpkins. Yeah. Yeah. Yeah. 5 pumpkins for sure. Alright. Next 1, severed trunk and missing backups. When I was an intern at a small marketing agency, I ran r m

Wes Bos

on top of Firebase and never introduced any sort of when it was usually ESLint. Very similar. That's that's the same thing with the GitHub one where it's like, something's a bit odd. I knew right then I was still connected to production.

Wes Bos

Go listen to all the past this is the 6th year in a row, so this makes 12 episodes of spooky stories. We have many, many maybe at one point, we need to do a best of spooky stories over the years because there's some some good ones.

Scott Tolinski

Right? Anything, whether it is like CloudFlare or any of the stuff Wes you commit, push up, everything just works. It makes things so much easier. You roll back. If something fails, you don't have to worry about having those files on hand or something like that. If you don't have a process in place for making sure that you Node, deploy quickly, roll back quickly, data and site, all those things, off-site backups, all that stuff, you need to make sure you have that implemented because you will end up on this Node. Or, you know, you might not, but,

Wes Bos

you who can read and write,

Scott Tolinski

A week

Wes Bos

green or red bar that says production or testing,

Scott Tolinski

Yeah. Okay. Cool.

Wes Bos

My teenage brain never fathom that a post request could possibly fail and never considered in that situation my It's like the opposite of the friends he made along the way. Fortunately, the school decided to give those people a pass since the paperwork losing the paperwork was out of their control.

Scott Tolinski

around

Wes Bos

Awful story. Awful story.

Scott Tolinski

Oh, yeah.

Wes Bos

You Node, block merges until no goats is confirmed.

Wes Bos

but background position fix is not not a thing. Okay. That Like, what about a footer navigation? Like, when you have, like, an app, the little Yeah. I would do, like, a layout, and then I would do, like, a grid layout and make the footer,

Scott Tolinski

The boss called and said, we have a group of users whose statuses are wrong. Can you update them before you head out?

Wes Bos

that Wes, like, that was, like, 10 years ago. You couldn't do that. Okay.

Wes Bos

authentication My first job as a nineteen year old and the only engineer on an entire product, I accidentally pushed some test code that added, oh my Node, I'm a monkey to the header of every single page.

Wes Bos

in the class next to all of the people that I had screwed over with my app.

Wes Bos

entire problem. You know? Someone else should have caught it and or at least have reviewed it and said looks good, and then it falls both on on both of you. But, like, what this guy's not fired because of how he handled the situation. You know? If some people would have done this and then reacted negatively or passed blame or simply just ignored it. You know? And if that's the case, then I think that's grounds for being fired.

Scott Tolinski

No access to it for a week.

Scott Tolinski

CJ pulls it up on stream, and people on stream in the comments were like, this on. Stoked to have made my 1st ever professional push to production.

Wes Bos

realized it and quickly fixed the bug, but it was too late. My class had been filming our films for weeks.

Wes Bos

tops 20 minutes. It became much harder to create a limitless promo Node after that. A hidden lesson is to not let your internal admin tools Scott as your business grows.

Scott Tolinski

We have, Oh my gosh. She just stepped up and held that tarantula all day. So you don't want any tarantulas in your Node. You don't wanna hold that thing. Make sure that you solve those bugs with Sentry.

Wes Bos

access control. And there there's tons of stories out there, so much to a point where Firebase got has a bit of a bad rap for security,

Scott Tolinski

Irshable, loud agnostic woman. And she's a, you'll get like this. She's a podcast host, and she hosts a podcast with her sister.

Wes Bos

And then you gotta figure out how to roll that back. Unfortunately, he didn't say how he fixed it. But Millions of edits. Thousands of user profiles,

Scott Tolinski

Jeez. I'm sure. You Node? To 80,000 people? Yeah.

Wes Bos

They thought we Yarn potentially

Scott Tolinski

database schema feature for PlanetScale.

Scott Tolinski

250,000 I was just 17 teaching myself to code with the help of Google and YouTube when our class

Wes Bos

on that same domain.

Wes Bos

And you can run them through various DNS providers, Google and Cloudflare being the the big ones.

Scott Tolinski

woof. Yeah. Because That sucks. Especially if, like like, I know systems where it's, like, webhook based. You sign up for something. That webhook comes back. You give the user the role. They get access. Right? So you possibly have all that information

Scott Tolinski

Sarah Vessels from GitHub give her professional Management improved the backup strategy. Thank Node.

Scott Tolinski

took place.

Scott Tolinski

Yeah. And, also, that it's, it's a even Meteor themselves, they had, like, by default to get up and running really easily. They just had you connect to an unsecured MongoDB

Wes Bos

oh my Node. It's a monkey ESLint through. In this case, you gotta have a checkbox.

Scott Tolinski

Yeah. I I I was technical enough to know what was going on, and I just thought it was fun. So honestly think I should've. Because, like, how And I I did not want to turn on the frozen database schema feature because it's a giant pain, which, of course, it's only because I'm being, you know, lazy.

Scott Tolinski

before the event Due to time zone differences, I went to sleep right after the announcement.

Wes Bos

a 4 chan But check it Scott on out, syntax.fm,

Scott Tolinski

And,

Scott Tolinski

yeah. We can give that we can give that, you know, 2 2 zombie goats out of 5. Yeah. Wow. Yeah. No goats.

Wes Bos

You can't. Get look it up.

Scott Tolinski

And I forget exactly which feature it is specifically,

Wes Bos

Yeah.

Wes Bos

Yeah. That's also like Safari doesn't even let you do position fix still. You know? And, it it went on for a while, but luckily, most of the people on there were,

Scott Tolinski

Yeah. A month or something. Or something like that. Yeah. Yeah. Totally. It that's not always a bad thing to have those soft deletes.

Wes Bos

Have a good Halloween.

Wes Bos

processes, in the code base.

Wes Bos

point. So the doctor was working on an amazing project.

Wes Bos

I I think, like, yeah, they're doing some SEO ranking. It seems slightly illegal.

Scott Tolinski

Not as extreme as the others. But when I was on the production support team for my current company that deals with practitioner and patient interactions, slowing down my app like crazy for a bad transition as well. And and you could rip on Safari for that, but to be honest, I think that I had dropped out of. Little did I know that this project would soon turn into a wild ride of lessons learned along the way.

Scott Tolinski

I learned this the hard way by using Wu Tang Ipsum in an SVG.

Wes Bos

on an iPhone, all gone. By the way, this was not a small community college. It was a very well known corporation with 4,000

Scott Tolinski

really great new deploy platforms.

Wes Bos

do I think we even did we do a whole show on coupon codes at some point?

Scott Tolinski

to wire up the event handlers of the form.

Wes Bos

I have a huge

Scott Tolinski

take on code reviews and how best to do them. Code reviews are are fantastic. They might slow you down just a hair, but they are important because Next one is code reviews,

Wes Bos

they think you're spamming. So I asked them, like, what happened? He said the ISP contacted us because they noticed unusual reverse DNS lookups being routed at a high rate Dude.

Scott Tolinski

fifty Node. Yep. That was the coupon. That was actually for our course sites. So that was not even the voucher one. We also did an episode on the the, giveaway voucher site site. Oh, yeah. Coupons. Those are both very good. The Syntax giveaway site episode 609, both are probably relevant in this scenario here. Yeah. Coupons agreed.

Wes Bos

and validate all steps for rate limit. So

Scott Tolinski

you know, have that feeling in the pit of your stomach. Like, oof, you goofed up. Yeah. For sure.

Scott Tolinski

maybe you should have that code if you don't.

Wes Bos

where you could you're modifying data,

Scott Tolinski

You most likely will not be fired for it. Yes. That is such good advice that I love that this one, it kinda ended with a little tail of, like, a morality tale. Like, hey.

Scott Tolinski

Oh my god.

Wes Bos

Because if you're doing too much DNS lookup,

Scott Tolinski

I was looking into a customer escalation and was reviewing their account details.

Wes Bos

I was filming my own short form when I noticed the bug. My data disappeared. When I got home, I spent hours trying to figure out what happened before I which is a Scott delete. It's not actually deleted. There's a whole regulation there too because what happens with with,

Scott Tolinski

We had a really super good episode on code reviews in episode number 830.

Scott Tolinski

Applications were scaling up and down happily, but no one could access.

Scott Tolinski

I stepped in to turn this disaster to a valuable learning experience.

Scott Tolinski

No goats. Yeah. Oh my gosh. Yeah. That's,

Wes Bos

query

Scott Tolinski

You can't position fixed?

Scott Tolinski

Oh, man. That that's so funny. It's like an audit. It's just doing its thing, but you just can't get into it. You're outside looking in. Yeah.

Scott Tolinski

Last 1 here, and this Node is,

Scott Tolinski

a week or 2 later, my boss comes to me and asked me to take a look at the Google Analytics dashboards with him. Overnight, it looked like our traffic had increased dramatically

Wes Bos

If I remember correctly,

Scott Tolinski

And if you don't know what those are, which let's face it, I I think every single one of us has been a new job or there's new processes and, So all of the websites went down for several days, and there was absolutely nothing we could do about it unless we had a recent local enough development copy. Man.

Wes Bos

Shameless plugs, check out syntax.fem.

Wes Bos

250,000

Scott Tolinski

A quick search shows me that all of the users who signed up for a specific date weren't being set to the proper status. They had access to way more than they should. No problem, I said, ESLint proceeded to run the following command,

Wes Bos

Stop. And it it it makes it even better. It's a nonprofit. It's probably like, would you like to save a starving puppy? So you can't even access your server Firebase? from the guy because I was building the form for people to submit spooky stories.

Scott Tolinski

yeah, it's it's it's very, very funny. It's a sweet show. It's it's cute in all these ways, but, artistically, it's really good. The music's really good. It's super funny.

Scott Tolinski

yes. Werewolves. I I do give this 1 250. That's 4 werewolves out of 5 for me. Oh, that's a lot of people.

Scott Tolinski

like extra work,

Wes Bos

Oh, that was that was a bad day. You just get flooded with emails for the next 8 hours.

Scott Tolinski

Yeah. And, actually, shout out to PlanetScale extra spooky because it's not dev related.

Scott Tolinski

G rated.

Wes Bos

has been tasked with writing the Elton John has passed away article The downside to that is just have it there. I think there's still quite a few WordPresses I I actually had to do this for 80,000 domain names for my burner email list. So I ran

Scott Tolinski

I'm gonna sick pick a show on Netflix, which JS a surprise to me. It's, when review when viewing their account settings.

Wes Bos

on the schema, and then that has to be approved and then merged. And I was like, okay. Good. Because I was just sitting there being like, that could possibly be an issue for us at some point. So having those processes in place so that you can't accidentally goof this type of thing up because we are all just human at the end of the day, and these things happen.

Scott Tolinski

waiting this contract to be signed. You know, all the fans are on edge about it. And they get an email saying so and so signed the contract.

Wes Bos

When we were in the forest. What a great sentence. When you're in the middle of nowhere without good cell service, the app would try sync with the server, and then a post request would fail. Unfortunately, the function that returned the response from the server wouldn't raise an exception.

Scott Tolinski

with, like, no creds. Right? It was just a completely open MongoDB, and it was local. And it was intended so that you could just install Meteor people.

Scott Tolinski

Yeah. DNS anything, man. Put just DNS on this. And, I mean, whether you're changing DNS, looking up, man, put it all on here.

Scott Tolinski

If you're logging anything, then you will be for asking a Wes, no one's gonna fault you for asking a question. If anything, they're gonna look at it as a positive. Like, this person you have to lock down your database. And it turns out just people don't read. So people were just deploying their to production with an unsecured open database.

Wes Bos

And

Scott Tolinski

script twice on every page

Wes Bos

We should do another one.

Scott Tolinski

man, it's kind of a pain. That's one of the reasons why I'm stoked that we have so many of these

Scott Tolinski

Remember to use those Wes clauses. Folks, man, this is the 3rd Wes clause.

Scott Tolinski

Locked us out of the cluster for good.

Wes Bos

and it got you, like, 98% Bos that is the live site, especially because, like, Luckily, our hosting provider had a utility where you could do a virtual login. But in the 15 minutes it took for another coworker to figure that out, I thought my career was over.

Scott Tolinski

Yes.

Wes Bos

crappy code would delete all of the data locally.

Wes Bos

like, a whole like, a day, a day and a half to actually run through the whole list.

Wes Bos

things that could potentially

Scott Tolinski

Ask for help. Especially in a situation where you have a custom built, you you you end up in these situations where you're like, I don't know. I'll figure it out.

Scott Tolinski

Every time my boss came into the little office where the dev sat, I felt my stomach drop. Oh. Convinced that it this was it. This was the day I was going to be fired.

Wes Bos

that is the problem. So I started commenting things out at the root of the cause. After hours of searching, rewriting, deploying, I discovered the problem. It was CSS.

Wes Bos

all subdomains

Scott Tolinski

by your teammates for shipping bad code or broken code or code that leads to something like this somebody from Meteor. I I forget. It was a while ago. It was like, my biggest regret with Meteor was shipping with an unsecured open database because Oh, man. That that was yeah. That absolutely.

Scott Tolinski

stop replying. Take me off this list. So then it really encourages you to reply, I'll take me off this list again. Those reply all Oh, Wes, you know what this reminds me of? I love truffle flavoring myself. So for me, this looks like a we're not you know, I love a good, like, truffle salt or something like that. Yeah.

Scott Tolinski

And there's nothing quite like being flooded with emails. You Node, Wes have one of those situations in college where everybody's on the email ESLint, and they make the email list, Yeah.

Scott Tolinski

I added the handlers, tested it out, looks good, l g t m, shipped to prod and moved

Wes Bos

We do not allow Alright. This next one just came in on Twitter, like, 10 minutes ago, and it's it's written in, like, Oh, I couldn't believe it. After I removed it, everything was fine, and I left the office at 9 Npm. And so kept my life in keeping motion limited had begun.

Scott Tolinski

I think if the, the word truffle is in the the description of it, it's probably you can count on it being somewhat more costly than the alternative.

Wes Bos

it but got it sorted out and ready for production. One of my habits at the time was throwing alert boxes up with increasingly aggressive messages for logging, and this is why something like a 1000 people saw an alert dialogue that says f this

Scott Tolinski

Yeah. I give that 1, 1 Gengar out of 5.

Scott Tolinski

There was, yeah. I have a behemoth a behemoth of a vocabulary.

Wes Bos

compromised.

Scott Tolinski

Yeah. I messed up our Google Analytics stats for a week or two, but in the grand scheme of things, not a huge deal and a big learning experience.

Wes Bos

yeah, the internal tooling, man. Just a process. Someone must approve a promo code. You know? It's not just simply like, check the database for this promo code, but

Scott Tolinski

Yeah.

Wes Bos

certainly grab them something

Scott Tolinski

At the same time, I was testing a bug

Wes Bos

coupon codes are So every single scroll, you have to repaint hammered. And then so I quickly sent a, sorry. The link was broken, but then everyone thought it was like, that was a tactic because that is a tactic to send multiple emails. Oops. Wrong link. You know?

Scott Tolinski

And, also, like, if you if the I woke up an hour later to dozens of messages asking me why the product is not working for anyone.

Wes Bos

like one of our local first episodes.

Wes Bos

these things get Like, in my own admin dashboard Wes I'm refunding money or deleting things or editing things, forward slash spooky. I've got a list of all of the past spooky stories as well.

Scott Tolinski

Yeah. Okay. I was gonna say, I am, like yeah. I I do that. I'm concerned.

Wes Bos

No. It was just them doing the the shady work, and they asked us not to use the their DNS as a backup. It was a fun week.

Scott Tolinski

Next Node, Pokemon problems.

Scott Tolinski

and prepared myself for the worst.

Wes Bos

and

Scott Tolinski

a 5 out of 5 for me. What what would be a good 5 out of 5? And

Wes Bos

Being self taught and never working professionally, I had to make my own syncing system, or at least throw an error on my SQL because you they're not expecting somebody to send the B movie script,

Scott Tolinski

At the time, the website was a rails app running on a custom front end framework I had to rebuild the whole infrastructure

Wes Bos

So, therefore,

Scott Tolinski

But chances are you don't have the code to just resync those statuses on hand, so then you're probably having to write a whole bit to resync statuses. Yeah. Maybe you do already have that code, but what JS it? And then deleted the overarching site folder, not the whole Vercel. Thank goodness. Oh, yes. Thank goodness. Which also contained the live site, the QA,

Wes Bos

or Of course, the deployment went bad, and I lost a connection. I was able to run back to my apartment and finish it from there, but I certainly almost got fired the next day. Dude.

Wes Bos

accidentally, It just goes and goes and goes. I was part of 1 with,

Scott Tolinski

Man, I've never seen that word before.

Scott Tolinski

It is not a show for kids. It's not a show you wanna watch with kids around. There JS adult themes and stuff. Follows the unexpected relationship between a rogue rabbi and they wanna make sure they do it right.

Scott Tolinski

I had accidentally caused Google to double count all of our page visits in my 1st week on the job. Well, at least, Wes, you can just slash those by half. Right? If you were like Yeah. By some magnitude of unknownness. Yeah. For a small business that was heavily relying on SEO and Google rankings to compete with larger real estate firms, this felt like a big deal. I was convinced I was going to be fired. I reverted the change, asked for help this time, and added the events the proper way I think they generated a buzz with that one, Wes.

Scott Tolinski

like, public or not, like, yeah. The c c? And I'm I'm in, like it's for an entire dorm. It's an entire dorm full of kids at at the University of Michigan, so it's a lot of people. And

Scott Tolinski

man, it was something very recently

Wes Bos

That's What? They don't let you do position fix? We can't position fix in in Safari.

Scott Tolinski

and an We were going to be gone 7 days. This was before the time of just packing a laptop for the trip. So once I was out of the door, I'm basically offline.

Scott Tolinski

Yeah. You know what, Wes? I have found you know, people might rip on Safari for this, but I have found Safari to be way less permissible Security might seem

Wes Bos

rights directly to the production database schema. You have to commit a, like, a pull request

Wes Bos

you can run a DNS lookup command

Scott Tolinski

8 years later, I'm still happily employed as a developer.

Wes Bos

probably a 1000 people or something like that.

Wes Bos

When you're out in the forest, it can be incredibly annoying to have to handwrite camera reports and shooting summaries

Wes Bos

that are only living on the I think it was, like, $20,000,000

Scott Tolinski

when I got my browsers mixed up and accidentally uploaded the test image to the real user's account.

Wes Bos

a I looped through every single domain name,

Scott Tolinski

and then to assure it would never happen again. Additionally, I got them their highest opening rate on a campaign by accidentally sending out GitHub a subject. You wonder if that, like that only hurts. I mean, it hurts. But that hurts, like,

Scott Tolinski

Of course, I didn't get fired. Once we figured out the problem, I worked with 1 of the other much more senior devs to revert the change and add the events properly.

Wes Bos

like, people's livelihood. You know? This is their school mark. That sucks. Yeah.

Wes Bos

off. And

Wes Bos

update or delete clause to simply a select, or a lot of query languages will have, like, an explain or, like, an auto commit turned off. Mhmm. Basically, you want to run some sort of dry run, or you wanna be able to mark The response time wasn't too bad once we are aware of the issue,

Scott Tolinski

So that way, if the message came back in, it was just, like, toggling that that value. But yeah. Oh, yeah. Yeah.

Scott Tolinski

Done.

Wes Bos

Oh, Wes.

Wes Bos

you know, like, it's not just money, but it's also, like, people's, And Mhmm. I had I had been scaffolding out the database for it. And I was like, like, how big

Scott Tolinski

Yes.

Wes Bos

It was my job You can't you also can't do background position fixed.

Scott Tolinski

deployed a change to the database schema at some point. So shout out to PlanetScale for making us make good choices there. Yeah.

Scott Tolinski

And my wife absolutely she's watched it twice now. She's gone through the show twice in, like, a week. So, yeah, if you're a fan of, like, movies like, I don't know, The Wedding Singer, Forgetting Sarah Marshall, those types of movies, it it's in that same kind of vein. And it's it's a cute cute romantic show, but at the same time, super funny. Yeah. I'll have to check it out.

Scott Tolinski

In fact, I learned that soft deletes were kind of necessary for doing some local first stuff when you're dealing with patch messages.

Wes Bos

They sell this at my Costco. I always look at it and wonder if it's any good. So, I will have to pick this one up. Yeah. It's it's really good. I kinda wish it was in, like, a squeeze bottle, but it's in this, like, really high end glass bottle. It's kind of expensive, but,

Scott Tolinski

which has Scott put the person who had to sign the contract in a uncomfortable place. Right? Like, because then now they're like, I do I have to sign now? Like, do I Scott? Yeah. Like,

Wes Bos

and I did a DNS lookup to see if there were MX records sat on that domain name. And if there's no MX records, it can't receive email.

Scott Tolinski

and RDS.

Wes Bos

Those who responded at 3 AM were able to prevent any other $5,000,000 which is an odd job, you think, to have to write all these, like like, somebody

Scott Tolinski

Yes. I give this 1 5 out of 5, black holes. Woah. Alright. Next 1, ruined vacation. I well, terrible. No. No. Cove Bugs ruining a vacation. Your vacation is supposed to be your your chill time. My wife and I were leaving that morning for a trip to Hawaii.

Wes Bos

locally. Right? And if you don't have a backup process to to sync those down or to put them onto an external bucket, you're you're pooched.

Wes Bos

from evaporating.

Scott Tolinski

You know? But so The Europe thing. Yeah. There's a lot to that as well. Yeah. For sure. That soft delete thing, I think some people might see that as a negative, but you could have soft delete and then a process that deletes those soft deletes after

Wes Bos

goof up.

Wes Bos

truffle hot sauce. I've been I've been having this for a number of years because my sister had been give it gifting it to me for Christmas. She's from the States, but they now sell it in Canada, which I've been pretty excited about. So truff hot sauce

Scott Tolinski

2 Jasons out of 5.

Wes Bos

coding an app layout. Let's stop talking about it. So the timing I think that would be good. Yes. Yes. Okay. Next 1, boot camp bungle.

Scott Tolinski

2 days

Wes Bos

make the the the body part scrollable instead of the entire thing. Put a you put an overflow scroll instead of a position fixed. Interesting. I think.

Scott Tolinski

Last minute update.

Scott Tolinski

user diploma upload in a testing environment And, for a long time, I believe, Sasha no. Who who was it? Man, somebody from Yeah.

Wes Bos

You need

Wes Bos

it's too intensive because you have to recompute with position fixed. It's stuck on the viewport.

Wes Bos

Next 1 we have here, limitless coupon disaster. I was part of an incident review at one time. So this didn't happen to this guy directly. But when things happen, they often bring in engineers and people from management to sort of review what had happened and figure out how you can fix it.

Wes Bos

DNS names to identify do color it differently.

Wes Bos

read and write permissions were wide open. And that led to huge adoption of Firebase because you just had this object you could update,

Scott Tolinski

The taxi showed up,

Wes Bos

before they routed it to Google or Cloudflare.

Wes Bos

ran the campaign, and I forgot to pull out the error handling out. Folks, stop doing this.

Wes Bos

That's a good one. So funny. That's often when I'm doing, like, an admin dashboard, I'll often copies will fit into a medium text field, though. So if you if you do need that, that's there for you.

Wes Bos

And he's like, no.

Wes Bos

made by Truff.

Wes Bos

you delete the wrong thing.

Scott Tolinski

with the,

Wes Bos

Identify top 5,000,000 websites by rank, classify them, enumerate over 500,000

Scott Tolinski

plus users just got reset back

Scott Tolinski

Do things the right way.

Scott Tolinski

that had been built by the previous team, which had been completely laid off after the company had been sold. Yes. This is the classic you use their framework or you, make Node yourself that is not as good.

Wes Bos

and everything would be mirrored, and it'd all be real time, and everything works great.

Wes Bos

Oh. Maybe we should we'll do a YouTube video of

Scott Tolinski

because, Looked like it never happened except a small maintenance

Wes Bos

The next morning, we woke up $3,000,000 If you want us to read it next year, go to syntax.fmforward/spooky

Scott Tolinski

nobody wants this. And at at first,

Wes Bos

when we ran

Scott Tolinski

But they also knew that they were flooding me and jumping between 2, 3 campaigns at once. It was my 1st and only major screw up within 10 years of working with them, so they were forgiving.

Scott Tolinski

And then everybody's like, what they did? Let's celebrate. And then they had to immediately send an email. Like, by the way, this player did not actually sign the contract. We were just we Scott send it,

Wes Bos

I once emailed, should a story be? Because you have to choose the in MySQL, to choose the type of column where it will go and how much text it can possibly hold.

Wes Bos

as well as prevent them from getting wet. I've been coding since I was a kid, but at that point, I had never worked professionally as a programmer. I didn't even use Git. I hacked together an Android app that could handle it all and the different paperwork our school required.

Wes Bos

Wes should try. Always reaching for a position fixed for that. I I guess, you know, that that works. The Yeah. But it's because that with position fixed, then you you give up the flow of the document, and then you gotta account for the height of the nav. With with grid, you And I never big vocabulary?

Scott Tolinski

and I YOLO'd, like, just 5 or 6 package updates. And they were, like, all small patch Vercel.

Wes Bos

Beautiful. Alright. Peace.

Wes Bos

between the phone and my server. I handled this on the server side. Whenever the app synced, I got banned very quickly. Mhmm. So I had to I had to really cut it back and do do rate limiting. I think it ended up taking, Safari would crash.

Scott Tolinski

Pittsburgh Penguins.

Topic 2 02:31

Deployed bad code from a bar using a BlackBerry; lost connection during deploy

Wes Bos

was being used to tether? You know? Like, that

Wes Bos

how long ago was this that your BlackBerry food condiments, like, they're a condiment enthusiast, it would turn all the paperwork data into JSON and send it to the server. The server would then combine the query, merge it with the local data, and finally respond with the new data. The app would then overwrite its local data with the new merged data from the server. You may have noticed that overwrite was in quotes. Somehow, I figured the easiest day way to do this would be by deleting the app's local data

Wes Bos

probably.

Wes Bos

as a network connection.

Wes Bos

Never do that, especially for ESLint facing stuff. So that was the first one. And then and then he goes on to say, at the same company, I decided to do a late night planned deploy a in a while. I guess, like, if you want, like, a tab to over overlay the entire website.

Wes Bos

don't deploy at a bar with a blackberry.

Wes Bos

I was like, I don't know. Yeah. How much padding do you do, folks? How much padding? What happens if they variable. Piece of size? What happens if it's a German word and it's multiple lines?

Scott Tolinski

Yeah. I give this one about 3 rotten bananas. Oh. Next Node is the spooky integration bug.

Wes Bos

from a bar

Wes Bos

Of course, the deploy went bad, and I lost connection.

Topic 3 06:42

Accidentally deleted all data for a customer service department CMS

Wes Bos

frontline support agents

Scott Tolinski

That night, Every single one of these spooky stories episodes is hilarious. They're they're my favorite. They're the funniest ones of the year, so, check them out. You may find some good stuff if you like this one. That's all I got.

Scott Tolinski

and production databases, I didn't remember that if it's text in an SVG, then it would be listed as text Turns out when I was working on the integration, I was accessing certain properties of the account object that would only be available if the integration was enabled.

Scott Tolinski

sanitization.

Scott Tolinski

Node directory too high while deleting that agency's staging site on the web server so I could reupload it, which is a pretty routine operation, believe it or not. Oh, come on. This is why we use, this is why we have our processes like that we do now, folks. You wonder why it's so complicated. We used to, what, SSH in. You'd remove things. You'd upload things. You drag and drop.

Wes Bos

And a MySQL text column can hold 60,000 spooky stories. These are stories of web development gone bad, Didn't say a thing. You know? It happens.

Scott Tolinski

my dorm room turned into a battleground as my classmates started dumping movie TypeScript left and right, testing the limits of the app. I was in over my head, but luckily, our instructor seasoned giant Vercel hornet coming to sting you.

Wes Bos

Next one's called brute force too brutal. 10 years ago, I was working at a Silicon Valley Scott up, and I'd only been there about a month ago or so.

Scott Tolinski

and the real kicker. All of that site's backups. Oh, no. They kept their backups.

Wes Bos

Many gigs. You know? Wes, 30 gigs, so I was using Beamovie to test. So Beamovie will not fit having or showing the a tendency to be easily angered. I have never in my life heard that word before.

Scott Tolinski

That that probably hurts you specifically, Wes, because I know you have a thing about making sure off-site backups and backups Yarn away and stuff like that. Yes. Yes. I had a local development copy of the agency site, but the database was several months old and numerous copy tweaks have been made by the partners that were not recoverable.

Scott Tolinski

Yeah. Yeah. This, this Node in particular, man, that

Scott Tolinski

a shared housing app for us dorm dwellers on California Street.

Scott Tolinski

Oh, man. Which is, starting on the day that my first deployment.

Wes Bos

at the data center because their entire trunk was severed.

Wes Bos

I I actually got that story, They kept their back They kept their backups on the same server you're screwed.

Scott Tolinski

backup directory on the same server. No. They didn't fix it. That's not fixing it.

Wes Bos

tape drive. Like, this is like, not a CD, not a floppy, like, tape.

Scott Tolinski

perfect for an opportunity like this.

Wes Bos

who would be working in a few hours. The site got millions of hits per hour. I woke up the database admin, and he spent 3 hours restoring from a tape

Scott Tolinski

a couple years later, the sole trunk line into the data center housing our server was severed.

Scott Tolinski

Things were going well until 1 fateful night when someone decided to upload the entire b movie script in into a text input field.

Scott Tolinski

industry veterans Seems simple enough. Right?

Wes Bos

And if the only place where your website is is on the live server Dry run queries, soft deletes.

Scott Tolinski

I was determined to create something cool, What could have been a humiliating experience became a testament to the resilience and camaraderie of our tight knit group.

Wes Bos

Instantly, the entire site was gone. 20,000

Wes Bos

So without thinking it through, I decided to disable the public network adapter to kill the attacker's connection. Yeah. If you can't there's no security issue if you can't access it. Right? That's when my mouse stopped moving and my heart sank.

Wes Bos

Our cloud hosted Microsoft SQL Server was acting up, so I remote desktop into it and discovered someone was trying to brute force log into it.

Wes Bos

Yeah. Yes. Toffee candies.

Wes Bos

today, especially Amazon Glacier JS tape, and that was about a day old. I did not sleep that night, and nobody but me and my new DB admin friend ever fell out. What a cool

Wes Bos

We usually used Unsplash to have some images to work with while developing. This accidentally ended up on production for a customer. It was a fashion brand, and we had only been using pictures of goats.

Scott Tolinski

This one's spooky, but I think it's somewhat lower stakes. I'll give this 3 skeleton hands coming out of the ground. Yeah. That's fair.

Wes Bos

Oh, I'm gonna give that a 7 and a half,

Wes Bos

into a, MySQL text field.

Wes Bos

like, input type and name, or you can just remove with dev tools the max length on it. And,

Scott Tolinski

Looking back at that fateful night in the dorm room taught me more than any textbook ever could. It was a baptism by fire, went down.

Wes Bos

support articles, all gone.

Scott Tolinski

was tasked with building projects daily.

Wes Bos

characters. And I was like, what's bigger than 60,000 characters? And and the the joke in the industry is the b movie script. Wes. So if you ever find an input, what was it, Microsoft MVP. They accidentally This was 25 years ago. Although, like, tape still is is used Oh,

Wes Bos

the only heads up at a like, like, 4000 people's jobs are on the you know Wes you get, like, you get a call or you're trying to get some customer service, and they're like, I'm sorry. The system is not working right now. Yeah. It's probably something like that.

Wes Bos

The this next one is the most hilarious. I not the most hilarious, but just I was laughing really hard at it. The title here is no goats. At my previous company, we added a no goats chat box to the definition of done checklist of pull requests.

Wes Bos

and having to restore from that could take a while. Yeah.

Scott Tolinski

into opportunities for learning and growth. Yes. This one is low stakes. Obviously, I'm gonna give it I it you know, it it's funny. I'll give it, oh, you know, Node

Wes Bos

their server

Scott Tolinski

Next Node is a dorm room b movie. It all started with a simple housing management app I was building as part of a program

Wes Bos

I had just completely cut us off from accessing the database server that powered our store and had all the customer records in it.

Wes Bos

especially on smaller pnpm, people with a broken link. And the problem is that I noticed it

Wes Bos

and you can't get to it,

Scott Tolinski

Suddenly, my carefully crafted app was overrun with lines of dialogue from the classic comedy film. I scrambled to figure out how to address this issue, realizing the hard way the importance of pnpm,

Scott Tolinski

Yeah. This, man, this help desk is gonna need a help desk. That is

Scott Tolinski

However, they fixed the backup strategy by backing up to a dedicated We were at the, Man. Werewolves. The The the butterfly pavilion in Colorado, and my daughter who's 5 was like, I really wanna hold the tarantula.

Scott Tolinski

Yeah. Yeah. Back restoring a backup from tape, I'm sure, is something that

Scott Tolinski

hyphen r, which is recursive. So it's removing

Wes Bos

and the query was taking a few seconds, swears or, It was immediately

Scott Tolinski

a reminder that in a world of software engineering, you never know what challenges may arise. But with the right mindset and support, you can turn even the most chaotic situations somewhere.

Wes Bos

database admin guy. He just just So JS this temp banned for 15 Node.

Scott Tolinski

Through their guidance, I not only learned how to properly secure my application, but also the power of collaboration and problem solving.

Wes Bos

It will fit into a I had 203 Don't worth of toilet paper to the wrong people and just awful stories of web development gone awry.

Wes Bos

as And, thankfully, we can laugh at them and also learn a thing or 2 of them. We would love to hear your spooky story.

Scott Tolinski

most people who back up to tape would say they would never want want to have to do that. It's just there for situations like this. Yeah. Even, like, backing up, if you have the backups, they can take a long time. Like, the databases can be tape.

Scott Tolinski

Thank their lucky stars that this happened to their website and not a client's.

Topic 4 03:25

Locked self out of a production cluster while trying to upgrade it

Scott Tolinski

Yeah. I give this one about, you know, I I don't know if this is a total 5 out of 5, but I do think this is yeah. Definitely 4 4 out of 5 in terms of, what what can we assign this 1? Bugs? Creepy crawlies? 4 to 5 creepy crawlies? Yeah. I think so. I'm sorry. I'm getting choked out by my popcorn here. It's

Wes Bos

One time around midnight, I was emptying the tables of my local environment before syncing with production, If you are doing a major

Scott Tolinski

casted the entire Redux store as any, Yeah.

Wes Bos

Yeah. Yeah. So someone else has gotta be able to oh my gosh.

Scott Tolinski

impersonate, masquerade as a user and stuff like that to Wes. Or you had different classes of users. So or you you ran Wes as different types of users to check those access levels, maybe ESLint integration tests. Alright. And the 2nd part of this is I I did investigate why TypeScript didn't catch that. And it turns out someone

Wes Bos

killing me. I'm, like, so hot right now.

Wes Bos

where, oh, if they are this, then then add this thing to the navigation. You know? And if they have this feature and as you get more and more flags in your your application, it gets very complex. We had to,

Scott Tolinski

again, you gotta have these thing Wes you're when you're starting something like this. You gotta have that 4th forethought to just be like Those, like, edge cases. I often think about that where people have very complex navigations

Scott Tolinski

Oh, yeah. The fix took 15 seconds and all I did was add a question mark, but finding it took a while.

Wes Bos

to at least try it. You know?

Scott Tolinski

I later heard back that I was almost fired for that, but my manager argued that since my code was removed by the tech lead, What are you talking about? No.

Scott Tolinski

Yeah. I get that, though. I mean, if you have all the accounts everybody's working on, everybody has that role, everybody has their access, and then you push up and you just man. But,

Scott Tolinski

This never came up in testing because of all of our test accounts had that integration enabled.

Wes Bos

Next one's called worst case wake up. My 1st big web success was designing a CMS for a customer service department of my company. It was the only source of information for our customer service agents, and without it, they could not process orders or answer many questions.

Scott Tolinski

This might be the the the episode I laugh at the most that we record all year.

Scott Tolinski

put in, like, in a lot of, like, what Wes you just take a guess. And, it's always important to ask questions. And you're good about that, Wes. Whenever you have any major concerns, you ask me in Slack right away.

Scott Tolinski

yeah. TypeScript not even doing anything. That is Oh. That's wild.

Wes Bos

Yeah. As any just but as any Anytime, though, like, even the autocomplete stops working, that raises a red flag in my head being like, oh, something's not typed properly here. Let's let's chase it back.

Scott Tolinski

My story is from the time I was working at a big Scott up. We were preparing to launch an integration with some third party software. This was a big deal. It was announced during a live stream with the CEO demonstrating everything.

Scott Tolinski

which meant nothing was typed. I kept telling myself that it wasn't my fault because of that. Man, if you type everything JS any I'm sure you can all guess what happened, but, yes, loading the Google Analytics Wes I Sanity imagine being fired for this personally, but you never know.

Topic 5 00:00

Transcript

Wes Bos

dropping a table,

Wes Bos

Woo hoo.

Wes Bos

This is the 2nd part of our 2024

Wes Bos

letting something sneak into production, totally their website. So if the website Right next to away, so does their backups.

Wes Bos

shipping. We had 1 a couple Yarn ago, shipping, like, it is often worth switching your when they shouldn't have, and then it just ripples through the entire thing, and and everybody starts freaking out. I just I would feel so bad if I did that. And, honestly, that's maybe we should move on to the next section, which is, like, what did we learn? Like, you need What did we learn? Processes for

Wes Bos

$80,000

Wes Bos

Welcome to syntax.

Share

Empowering developers for over 286201301805 milliseconds!