TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: What was your worst “oops” moment?

12 pointsby kenroseover 8 years ago
Given the recent GitLab data incident, I think many of us likely have scar tissue from a time we did something regrettable in production.<p>- Accidentally nuked the production database? - Deployed a not easily reversible change? - Decommissioned irrecoverable infrastructure?<p>In the interest of empathy and #HugOps, what are your horror stories? Share them here.

8 comments

bsvalleyover 8 years ago
I isolated myself for 5 months (unpaid) to build an app based on a simple idea I had. I went OCD on it until it was done and live. Passion took over and I really wanted to see it live. I realized a few week later that no one actually needs it. I was so convinced by the quality of the app, that people would want to use it... I bypassed the most important thing - does it really bring any value? Not really. I was totally blind coding for 5 months... Do your market validation first and do not necessarily fall in love with your own product. This is not something I could have built in a month, I knew it was a big investment up front. Oops!
评论 #13547921 未加载
评论 #13547102 未加载
mattbgatesover 8 years ago
Worked on a project for almost a year with PHP 5.6 (I started the project knowing PHP 7.0 was already out there for anyone to use). This might have been fine to leave for a little project, but since it is a SaaS and likely will require updates in the future, figured I&#x27;d switch it over to PHP 7.0 (better security, speeds, etc.). Upon the switch, there was nothing but errors. Turned out that some database code I was using wasn&#x27;t compatible with PHP 7.0. Had to go through every file that touched the database and update it with new code. Luckily the project is still in development and hadn&#x27;t yet reached public use, so &quot;oops&quot; for using outdated code, but &quot;awesome&quot; because updating the code from PHP 5.6 to PHP 7.0 took about a week... and now I have more peace of mind. It&#x27;ll be years before PHP 8.0 comes out, right? Hehe.
AznHisokaover 8 years ago
Not really tech-related, but a few years ago, I took an Uber to another city for a concert, and accidentally used my company&#x27;s credit card to pay for the trip.<p>What made it worse was I told my boss I was sick that day, and couldn&#x27;t get out of bed to go to work.
评论 #13548349 未加载
codegeekover 8 years ago
Not necessarily a &quot;tech&quot; oops moment, but many years ago, I accidentally boarded a wrong flight and realized after fighting for the same seat with another passenger for few mins. Luckily, I was able to get out on time and run to my real flight. This is how the conversation went:<p>Me: Sir, this is my seat.<p>Person: Are you sure ? I think this seat is mine.<p>Me (annoyed but confident): Please check your boarding pass<p>Person: Ok let me check<p>...In the meantime, someone yells from another seat &quot;You guys both going to austin&#x2F;texas right?&quot;<p>That was my oops moment. I was not going to texas of course. That seat was half way through the plane and people were still getting in. :)
评论 #13544923 未加载
nvr219over 8 years ago
Accidentally cut over to a new production db before making sure the old db was fully synced. Noticed 2 DAYS later.
beatover 8 years ago
Long long ago in a previous century, I worked on a project with a &quot;seasonal&quot; production cycle (develop for six months, run it for six months, etc). I spent a dev cycle on a project to pull scanned image storage out of Sybase BLOBs and into the filesystem, for a massive performance boost. This meant restructuring our disk and db sizing, since the vast majority of our db storage was tied up in those BLOBs. After months of dev and careful testing, it was ready to go.<p>It was my crowning achievement on my first big programming job, a massive mark on the system. And it was intended to be my last - I had taken an offer in another city. The first day of &quot;production season&quot; was my last day on the job I&#x27;d worked for four and a half years.<p>So when production started on Friday morning, the DBA noticed something bad - the databases were filling <i>far</i> faster than expected. Like, &quot;We are going to run out of space in four hours&quot; kind of faster. The space was supposed to be enough to last for three months, with room to spare! Oops.<p>So instead of spending my last day saying goodbye to all my friends and colleagues, I spend it in a blind panic, trying to figure out <i>what the hell is happening</i>? I&#x27;d tested so thoroughly!<p>But my tests were tiny in scale compared to the scope of the system in production. One scanner running for an hour or so is nothing, compared to twenty of them running 24&#x2F;7. I couldn&#x27;t even begin to dent the db size, even with the apparent bug. I missed something.<p>After a few hours of panic, I found the bug. It was a latent bug dating to the very beginning of the system, caused by the difference between NULL and 0 in a C pointer. You say there&#x27;s no difference? Well, allow me to retort! The Sybase db library would, given a BLOB column in a table, automatically allocate 8k of space for it if you passed in a 0 pointer for content, but would not allocate if you passed in NULL. Right there in one of the thirty-odd <i>excellent</i> Sybase paper manuals (they really were excellent), if you read it. It never showed before then, because those 8k allocations were swamped by the size of the real images being inserted in most rows.<p>That was a remarkable day.<p>And in the end, I feel vindicated, too. I had argued strenuously to remove the BLOB column completely, but the DBA (a cautious fellow) resisted, because he wasn&#x27;t sure what other impact that might cause in other code. Lava Flow antipattern, right there. If we&#x27;d removed the column completely, as I suggested, the bug would never have occurred.
bbcbasicover 8 years ago
Went to a client meeting one day early. Not my fault entirely as the organiser didn&#x27;t bother to give me the change of date.
cr0shover 8 years ago
I was 18 years old, and working at my first software development job. These were the waning days of dumb terminals, leased lines, and modems. We had no &quot;test environment&quot; - test was dev, test was production.<p>The system was an RS6000 minicomputer (actually, it was like an overgrown PC) running AIX, and I was remotely logged into it over a 9600 baud leased line, direct to the client. It was their production system for Arizona&#x27;s indigent healthcare system - AHCCCS. My employer was a mom-n-pop shop that developed the system, in PICK (we used UniVerse on AIX).<p>All I recall today was that I was testing some kind of data conversion routine (or something of that nature) on the database for the transaction data; that is, the claims transactions. These were input via hand-entry and&#x2F;or scanned document (usually a combination). My testing consisted of running the routine (which read from live data, but wrote to &quot;test&quot; database records), checking the output, clearing the test records, tweaking the code, then re-running the routine again - until it was right. You can see where this is going...<p>So there I was, doing a repetitious task, getting into a mindless rhythm - when disaster struck: I cleared the production tables. Oops.<p>I held my head, and let out a loud moan. People looked up from their desks. Before they could ask me what was wrong, all of the phones in the office lit up. Every single phone was ringing - because of me.<p>My supervisor and I were called into the owner&#x27;s office, and asked what had happened. My head was hung, I explained the issue, he asked my supervisor why - I thought heads were about to roll, me being a kid, my super (thinking back to then) not being that much older (late 20s). The owner asked my supervisor what could be done; he thought quickly, realized that tape backups from the night before had been made, and that the table I blew away could be -mostly- reconstructed from two other tables I hadn&#x27;t touched. A bit of fast coding, a restore from backup, and most of the data could be restored by morning, leaving their data entry people to re-enter a few hours worth from paper records.<p>Amazingly, we weren&#x27;t fired on the spot, but told to get to work, and make it quick. We pair coded at that point, built and tested the conversion routines meticulously on our development box, then moved them to production to run. We backed up the remaining data, and ran the conversion on a test batch, then combed thru the output to make sure it looked right. We ended up staying thru the night to the next morning, but it got done, and our company continued on with the client. They were one of the bigger insurance companies in the state at the time; I have no idea how much money was lost due to my slip - but it wasn&#x27;t insignificant, I&#x27;m certain.<p>I learned valuable lessons from that experience - the importance of backups (extremely recent ones!), the need for a testing area, and to never use production for testing, making sure to check twice before pressing the return key on a &quot;delete everything&quot; command, plus how to be fair and calm in the face of disaster, toward a very junior member of a team (that one from the owner).<p>Let&#x27;s just say I haven&#x27;t repeated that mistake in the 20+ years since; looking back on it now as an older and more experienced developer, it was definitely one of those &quot;why would we fire you now? You&#x27;ve just been taught a very important lesson for a lot of money, which you&#x27;ll never repeat again!&quot; kind of moments.<p>That was my first software development job; the first that launched my career only 6 months out of high school with no degree. It was a great place to be to learn many lessons which have remained with me since.