DEV Community

Molly Struve (she/her)
Molly Struve (she/her)

Posted on

Share Your Best Typo Story!

I recently posted a tweet about fixing a bug that turned out to be a misspelled word. This has happened to me more times than I care to admit πŸ˜…

Anyways, all of the replies I can totally relate to, and now I want to hear more! What is your best typo story? Is there a word you can never get right? Did you spend hours debugging something that turned out to be a typo? Let's hear what ya got because we have all been there!

Top comments (17)

bytebodger profile image
Adam Nathaniel Davis • Edited

I started coding before there was any such thing as an "IDE" that would helpfully highlight when I referenced a variable that hasn't previously been defined. Not sure what kinda font I was using. Whatever it was, in this particular font, on my machine, there was literally no visual difference between an uppercase I and a lowercase l. So I had some kinda code like this:

$caller = $_POST['caller'];

But one of those lowercase L's was actually an uppercase I.

Even worse, this is way before I knew what "developing locally" meant. So I'd save my code, FTP it up to the live server, and then refresh the page on the site. And... the entire site was down.

I think it took me two days to figure that one out. I don't mean that, over the course of 48 hours of "life time" I eventually found the answer. I mean that, for two days, I probably troubleshot that sucker for 16+ hours each day until I finally realized what was happening.

jsn1nj4 profile image
Elliot Derhay • Edited

Uppercase I and lowercase l looking the same is one of my pet peeves with fonts. I really like being able to distinguish between characters easily.

But wow, that hurts (and sounds like something that could've happened with me lol).

darksmile92 profile image
Robin Kretzschmar • Edited

I once built a feature for affiliate links. It was very complicated with a lot of stuff (generate links, track actions with referral codes, sending out reminders and other funnels).

I was searching almost half a day for the reason why a new tracking record was not saved properly.
Turned out I misspelled "affiliate" in my update statement but because of the font I had configured in my editor at the time I didn't see the issue because I forgot an i and wrote "affilate" instead...
Luckily the customer didn't ask for the reason and was just happy I fixed it 😁

itsasine profile image
ItsASine (Kayla)

Heh, that's like how I "fixed" our Jenkins pipelines. I didn't even know they were broken at the time. I just got on Slack like "Hey guys, I added smoke tests to the Jenkins builds. And I updated the Build And Deploy job to use environment instead of enviroment."

Apparently our lead dev stared at the jobs for at least half a day trying to figure out what was misconfigured. And I accidentally fixed it. Whoops~

molly profile image
Molly Struve (she/her)

LOL Brilliant!

darksmile92 profile image
Robin Kretzschmar

Haha that's awesome! Just a small letter can make such a difference 😁

molly profile image
Molly Struve (she/her)

Brutal!!! You can barely see that second "i", that's the word's fault for sure

ben profile image
Ben Halpern

I have a feeling @bdougieyo could weigh in here.

felipperegazio profile image
Felippe Regazio • Edited

Once i built an app for a church, a "saint of the day" app, you could see the saint responsible for a given date or saints who were born on the same day as you, its history and bio etc. As they were not done with the database yet, i mocked the saints using superheros, so i had the batman's day, the spiderman's day, jean grey's day etc... I was responsible only for the front end, so i finished the app and said to the back end (a friend of mine): "dont forget to change the date when updating the homolog". I should have said "don't forget to change the database". I didnt checked his answer.

The next day i corrected the message and we updated the database. When we delivered the final version, the customer - who was also a priest - said (in a good mood) that he had seen the version with super heroes on a day that he couldn't sleep due to the anxiety of finishing this application and ended up laughing and fatally going to sleep in a better mood.

ashleyjsheridan profile image
Ashley Sheridan

At my current company we serve up our products and websites in 6 languages. One of the main sites is written in PHP and uses the gettext (and kin) methods. One feature of this is that if a given string is missing, it returns the key it was given instead, which is conventionally the English version of the string you want translated.

So many times we've all missed a punctuation character or letter somewhere (oh, did I mention it's case sensitive too?) and the staging website ends up with mixed localised content.

It happened so often I wrote a tool to check for this and it's now part of the CI pipeline for the website builds.

molly profile image
Molly Struve (she/her)

In case you didn't believe me that I do this all the time, less than 10 minutes ago

11:29:26 web.1       | NameError (undefined local variable or method `internal_secerts_path' for #<Internal::SecretsController:0x00007fd8f47b1b58>
11:29:26 web.1       | Did you mean?  internal_secrets_path


jrecas profile image

Parts of the system that are case-sensitve and other parts case-insensitive counts as typo? It's not exactly one, but if you don't see the duplicated folder by chance, can be really tricky.

donut87 profile image
Christian Baer

We built a small registration tool for customer appointments in store. Basically a list of appointments with customers.
End of last year the store employees started calling in saying 'The list is empty and no matter how many appointments I put in for today, I can't see the customer.'
We looked in the database and there they were. All appointments were there. So the bug hunt was on!
Good for us: Our Dev-Systems showed the same behaviour. So we chased the flow of the date from database to representation. When we found the problem half an hour later, we had a good laugh. Note that this was not a system critical function and the store employees are smart people, that figured out a way around this. The bug was that someone switched yyyyand YYYY. One is the week year and one is the actual year. Since last year the 30st of December was already in week 1 of year 2020, the date was completely wrong and the list filtered for dates newer than 30st of December 2020.
It was a mere coincidence, that the problem did not happen in the beginning of 2019.

habereder profile image
Raphael Habereder • Edited

I feel this so much, something similar happened to me a few days back.
When I tried to find out why our server grabbed and served old reports from our storage.

What I wanted: YearMonthDay-HourMinute, something like this: 200626-1030
Which I quickly slapped together via the linux's date tool

currDate=$(date +%y%m%d-%H%m)

After that innocent little line would be some sorting logic to determine the most recent report on our storage (s3 minio in this case), before it would be ultimately chosen and pumped into our report-serving container.

This one typo took me hours to find, I was so confused as to why it always grabbed the wrong reports. After a few hours my colleague noticed that the minutes were always the same. So after a quick look at the sorter, we saw that one incorrect lower case m

Wrong: currDate=$(date +%y%m%d-%H%m)
Right: currDate=$(date +%y%m%d-%H%M)

I screwed that one up, but was so happy someone else saw what I couldn't find.

przemuh profile image
Przemek Suchodolski

I've been there...2 days of debugging :) The full story here:

gayanhewa profile image
Gayan Hewa

This has happened so many times 😁😁😁

markhu profile image

The em-dash and trailing-spaces in HTML attributes makes XPATH even harder than it is.