What's your spookiest coding story?

Ben Halpern on October 30, 2019

markdown guide

Terror … when you feel something behind you, you hear it, you feel it's breath against you, and you turn around, there's nothing there.
~ Stephen King

The worst terrors are those you know exist, and yet cannot see.

Like invisible characters that choke the life out of your YAML parser.


Real horror comes when the things are "realistic". So I'll go with this one from one of my previous jobs.


Many years ago my supervisor at the time was making major changes to dozens of business objects and, of course, tons of unit tests would fail. He solved the problem by commenting out all the unit tests. No time for unit tests because, "the clients don't want to pay for that."

That turned out to be a very costly mistake in the years that followed.


For me it was quite different.
My supervisor didn't want to have unit tests, and I wasn't able to change his mind.

So, I created them anyway (just to be sure that my code worked correctly) and I didn't include the project into the solution.

Of course, it turned out that they were useful, especially for a particular algorithm. But of course he didn't recognized the value of the tests, and that he was wrong.


For me, it was agreeing to maintain a PHP application, then discovering that the 200+ base files were almost exact copy-paste duplicates of each other with some minor differences, and "version control" was copying a file with a name like page1.php... or pageA.php, or page1X.php, or old_page1A_x2.php, or... 😱

Also, most of these files were just stacks of includes of other "versioned" files.


Sounds like you were hired in hell.... How long did you last there?


Thankfully it was a freelance gig, but I maintained it for 2 years. I was always filled with dread whenever I got a feature request for this app.


I was an ActionScript developer, does that count?


Me too. I even went to the MAX conference in Salt Lake City. I built an online game show in Flash/ActionScript back in 2001. At a certain point the AS runtime would garbage collect my class definitions and then nothing would work. We worked around it by forcing a browser refresh after the end of each game to give the user a fresh runtime.


Definitely counts.

My first gig was damage control from the last ActionScript developer and boy howdy, it gave me plenty of cautionary tales of what not to do.



ActionScript, where a vector is a fixed-size array, and an array is always a vector. Shudders


I spent a couple of years maintaining a VB6 application.


My current position involves maintaining a legacy vb6 application. Thankfully we're starting to switch over to VB.net, but it's a slow process...


I feel your pain. My current gig involves extending a 20 year old vb6 application. That’s of course when I’m not maintaining automation systems written in auto hot key...


Lucky for me, that era is long behind me. Working with .Net core now.


At a job I had long, long ago... they banned headphones.


I can't say much more without being unkind. But I can refer you to a very old tweet that contains a redacted version of the original memo. ;)



Yesterday's DEVDiscuss made me remember about this one and now I can't stop thinking about it. The frustration.. the uncertainty!


The company got this really important presentation and we only have a week to get ready.
My boss, as he's stressing out, explained to us that we're expected to give 150% of ourselves. Stay overtime, work our asses off, and even sleep in the office if need be.
Each of us got a certain part of the task we had to take care of and we all worked our asses off for the entire week.
Eventually, at the end of the week, we made it!
However, when comparing our work, we realized that we ended up with 4 identical versions of the exact same thing.


One dark and stormy night, I was installing a Linux update and during the install the power went out, the machine wouldn't boot, then the power went out during the reinstall....


And this is why a 100$ UPS is the best Christmas gift a girlfriend can buy for a techie.


I wanted to filter content from config file (XML) of a production service (the payment gateway of an online store). So I did:

$ grep <Service name="service"> server.xml

Terminal behaves odd and I wonder why... Then I realized I had overridden the content of server.xml because I didn't use quotes correctly. Of course, no backup. Fortunately, before grepping, I did cat so the backup was living in my current terminal session. That was my first official day as sysadmin


I had that project once upon a time. Everybody was sharing the same git user (for economical purpose), PHP were used to write some javascript (using string concatenation), thousand line of code per file, code duplication everywhere (with xxx_new.php / xxx_newnew.php)... And no tests... "of course"!

Cherry on the top: I never understood the purpose of the app.


Spent about two hours working on a complex new part of the system I was on. It worked first time without any issues.

I think the devil will come looking for me later in life...


During my last year of undergrad everyone is required to work on a "big project" and present it to the advisors. I was really interested in mobile apps (btw this was during the Symbian S60 days) so I decided to teach my self Java (J2ME) and worked on a very basic Mint-like "Money Log" app.

Being really new to Java (and software development in general, really) - I wrote all my source code in a single .java file. Yep, all the classes, business logic, configs, everything. No source control (who needs it anyways?) And on this one morning, the app failed to compile, and the error message is very cryptic. The file was so big I didn't even know where to start (it was over 3000 lines already), so I started going through the whole program line by line, while trying to spot anything fishy with my naked eye.

The deadline was approaching fast and I almost scratched my head bald - after 3 days I finally found it, a spooky missing ; in the middle of the file.


A recent one, Deleting Production branch without proper backup or CI/CD pipeline. A mini heart attack but got it back after realising it is deployed few hours back and getting commit ID from Jenkins logs.


Did a git pull out of habit on a project repo I'm the only contributor for and git pulled changes down from the remote repo 😳


Had a a manager that would walk up behind me grab me by the shoulders and gently squeeze them to get my attention.

I was burnt out at the time and a bit jumpy, and that habit of his was pretty uncomfortable.

Literally made me look over my shoulder while working. Does that count?


I was hired as a Jr Dev to a team of 5ish that did not believe in any sort of version control. There was a network drive with the code projects in it, everyone just made a local copy, made their changes then copy/pasted their files onto the network.

What a nightmare that was.


Updating UAT database that was being used by testers... with the wrong update script....... breaking the database............ I did not back up .......................................................... I... love... my... job...?

(in the end it was ok but half a day spent updating very old back up and data was lost)


Trying to make a web crawler, but having to deal with so many different problems:

  • Locale issues
  • Emojis
  • Invalid HTML
  • Invalid links
    • This does include links such as relative, like URLs that start with #, /, and custom protocols like (patreon://something - I honestly have no idea why this exists anyways haha)

Not real coding, but one of my previous bosses did not trust routing algorithms. Then he forced use to implement only static routing in the whole ISP network.
Guess what is happened when a link go down


"Did not trust routing algorithms" - That genuinely made me laugh! :P

  • He also refuse to setup Active Directory for the enterprise network (30 PC with a remote site). Everyone a new employer was hired it was a nightmare: configure printers, network shares, install softwares, etc. It takes days.

  • We have an email server (an old Zimbra server, unable to upgrade) in-house, connected with a simple ADSL. The original reason was that we send lot of internal emails, the real reason was that he want to secretyl read and control all the employeers email.

Haha, how very authoritarian of him! I hope you are still not working at this place. :P


One day I was working on a project with an overdue deadline and something really simple wouldn’t work. I was trying it in all different versions I can think off - no luck. At late night I couldn’t stay awake anymore and the frustration made me sleep with a glas of wine - a very deep sleep.

The next morning, still not sure what was happening, I tried again and it suddenly worked like a charm. But I did not do anything!

What was different? Was there someone in my house fixing my code while I was sleeping next to it?

It must have been this strange thing that hunts us from time to time ... called Cache.


What about "endemic" stack traces in production logs?

A password that when entered with any of the e-mail addresses lets you impersonate that user..

A 10+ years old codebase with no test coverage at all..

APIs with no authentication and only the thin protection of a VPN..

Millions of personal records stored and processed without the user consent..


I was hired to build a replacement for an a system that was a mixture of VB6 and stored procedures. All the business logic was in those stored procedures. There were magic numbers and hard coded dates logic all over the place. Replacing the system was de prioritized shortly after I was hired. I wound up maintaining it for 3 years. I left the company over 5 years ago, but I believe it is still in production. If you drive by the building late at night, you can hear the groans of the current maintainers.


I'm working with a 3-way iterative proportional fitting process. The total of the seeds and marginals should be around 500,000.

A sorting problem in my code (in R) caused it to grow the seed value to 43.6 tretrigintillion. That's 43 with 102 numbers after it.


I had to work on a project where all static HTTP requests had to be GETS and all API calls had to be PUTS and we were forced to use hard tab 4 spaces.


Designing and launching a Halloween Sale on Halloween morning. Bad planning on my part but I think it turned out pretty well. 😂


The blinking eyes were done with CSS Animation. The SCSS Snippet:

 .eyes {
      animation: blink 10s infinite;
      animation-fill-mode: backwards;
      width: 25px;
      position: absolute;

      filter: drop-shadow(0 1px 2px lighten($orange, 5));

      $eyes: 16;

      @for $i from 1 through $eyes {
        &:nth-of-type(#{$i}n) {
          top: random(100) * 1%;
          left: random(100) * 1%;

          animation-delay: ($i / $eyes) * (random(30) - 15) * 1s;
          transform: rotate((random(50) - 25) + deg);

The time I was given a DB with dozens and dozens of tables with no referential integrity (they used other tables as a lookup), a PHP app (with no prior PHP experience) and told: "well, can you rewrite it in Django?" :D










“Wow, the beginning Front End Developers course barely started then?”



The time I had a job working with a deprecated Java version, svn instead of git, we were forced to use windows and the environment could not be reproduced locally and we had to code-compile-deploy-test-repeat.


Reading a Pure PHP API where the routing was validated only with if's and the route you need to go was in the url query like this:



Struggling with impostor syndrome and being anxious about programming since i started doing it.


If you'd knew half of the things I know..

..I'd knew twice.


Easy, I've worked for almost two years in an CMS platform written in classic ASP, it still haunts me.


I inherited a project to write VBScript for ASP Classic sites. For a large public corporation. In 2014.


In case this helps you, according to stack-overflow Vb script is the least loved programming language.


Easy...hours before a product launch someone thought it would be a nice idea το rename all tables and columns in the database...and not tell anyone about it



Gets me every time I read it... Such a simple error to avoid, yet languages have such a wide surface area for failure...


I once met a CIO that believed security practices were just a scare tactic by people trying to sell you something.


Trust, it's way too spooky/creepy/weird for y'all to handle


Spending entire days trying to get anything done in Java when I could have done it in JS or Laravel in 10 minutes


Horror: Spending entire days trying to get anything done in Java when I could have done it in JS or Laravel in 10 minutes


Remove backup files with:

rm -rf /etc/*~

Unfortunately you have to press space after entering the ~ character, without you see the box dying quite quickly ... 😳


I nearly tested something in prod. That was a bad time.


The biggest company's project of the year was given to me 150 commits behind the master and had me solving nice 890 conflicts. this counts?


git push -f origin :production
oh, wait ...

(never did it, but spooks me anyway)


My goroutines got crashed due to runtime error on prod environment, where everything is transactional 😶 🙄

golang #daemon

code of conduct - report abuse