By the time you're 35, you should have successfully done following at least once:

1. rm -rf / on your unix or linux box
2. Reboot production server by mistake
3. Drop CPU/hard disk and damage it permanently
4. Changing firewall rule instantly blocked you out
5. No backup was made/verified ever...
6. Delete source code before actually committing to source control
7. Run a SQL update/delete with wrong where clause

@nixCraft

7. Always transactions when you can. Yikes.

@Kishi @nixCraft Sure, but you probably have to forget a WHERE a couple of times before you learn this.
@Kishi @nixCraft Back in the days of MySQL with MyISAM we did not even have transactions. 😅
@nixCraft 3. I did drop HDDs, but none died. One fell on concrete from a height of 1 meter.
4. Yes :)
@Acvaristul_Lenes @nixCraft 4 in my case was disabling the wrong network adapter on a server on the other side of the city, at 23:30.

@nixCraft I didn't get root privileges on a Unix (like) box until I was about 35, so it took me a little while to catch up.

There are a couple of those I've done (again) within just the few months.

@nixCraft

7, in production, about 25 years ago.

All the others were just Tuesdays for me.

@nixCraft all of them except 5... But I still have time. :D
@nixCraft ::pumps fist:: 4/7 woohoooooo
@nixCraft I think I'd done all of these before I was 21...
@nixCraft 1 (by curiosity), 4 and 6 (several times, but only for personal projects)

@nixCraft I did a

get /lib/libc.so

once, using ftp from an x86 system to an arm system. As root. Fond memories.

@thilo @nixCraft

I once attempted to replace libc from a tarball by running tar -zxvf otherlibc.tar.gz

Apparently most of libc doesn't like when an unspecified fraction of the code in its memory is from a different binary...

The sad thing is that I knew tar -zxvUf would work, I tested it before for this (*U*nlink first), and I knew I had to use it that way, just my fingers were faster.

@nixCraft Also 8. Wearing a thick polyester (? - well, not cotton anyway) long sleeve, I came close to a physically open but running computer we were putting together at the office ... did not touch ... a long spark. The system stopped.
@nixCraft Not bad! I scored 5/7
@nixCraft I can add "/etc/init.d/network stop && seep 10 && /etc/init.d/network start" on a server without out-of-band management. Maybe 20 years ago but I still remember well 😜
Does `rm -rf /usr/bin` count? Did that in the first week of my first real job as I was trying to clean up a machine for a demo and delete /usr/local/bin but I was unclear on where I was (it was really `rm -rf *` in /usr/bin
@nixCraft

@scottcain @nixCraft
One of my best ever was doing something like 'mv /usr/bin /somewhere/else' on the office web server for reasons memory has mercifully erased, but probably something to do with it being Friday night about 2:00. Suddenly the system stopped responding to my keystrokes. It took me a bit to figure out, WTF have I done?

Luckily it was an Apple Xserve and I could boot from an install disk and fix the problem in just a few minutes. But for a while there I thought my life was F-ed.

@nixCraft The only one I didn't do was 6 😩
@nixCraft
I installed openVPN on my Pi running PiHole, completely blocking it. And that's why I don't mix homelab and homeprod anymore :D
@nixCraft I guess I'm a late bloomer, then. Is 40 too late?

@nixCraft All except 3 and 5.
I actually make backups from important data.

4 was the proxy server of the main office. Only took down all inter office communication for like 2 minutes *grin*
1 not really but I did dd to the wrong disk, does that count?

@nixCraft 7. ALL THE F*IN TIME. Meanwhile I do BEGIN subconsciously first.

@nixCraft

Mhmh.. strangely I never did the rm -rf / thing.
But I'm good at damaging systems by mistake.
I say I'm doing manual chaos engineering, so we can test our recovery plans.

@nixCraft the only one I’m not sure I’ve done before is 3 and I know I’ve dropped disks just can’t remember if they were damaged. Everything else? It’s a day with ‘y’ in it. Probably why I’m no longer doing much sysadmin work any more🤣

@nixCraft

I can tick all those except 3 and 7. Dam, I'm a failure—must try harder 😔

@nixCraft
My favorite “uh oh” was sudo chmod -R a-rwx /*
@nixCraft Let's check it.
1. Similar: rm -rf "a very important directory (of backups)"
2. Similar: rebooot production, although intentionally
3....I could say so
5. I could say so
...

@nixCraft

1. sudo rm -rf --no-preserve-root
2. kubectl delete namespace (not me, a junior)
3. Refused to reboot firewall servers for updates for years "because it would reset uptime" (my senior when I was much younger)
4. UPDATE across all rows without a transaction to roll back, and the incorrect SET, basically nulling out all data
5. Thought I was in a subdirectory, and ran "rm * -rf" (luckily, the .git directory persisted, so a "git reset --hard" fixed things)

@nixCraft Fun fact: I had to add a script to unban my intranet from Fail2Ban whenever a script accidentally makes my main computer look too suspicious

@nixCraft

It was a really nice morning so far, thanks for the war flashbacks 😅

✅ 2. Reboot production server by mistake
✅ 5. No backup was made/verified ever...
✅ 6. Delete source code before actually committing to source control
✅ 7. Run a SQL update/delete with wrong where clause

@nixCraft Fuck, I am 40+.

And I am still missing the first three...

@nixCraft at 54
1 fail
2 check
3 fail
4 check
5 check
6 check - but intentionally: code was crap
7 check
@nixCraft
1. no! I should try it someday
2. kinda: I shut down a machine at home running experiments from two countries away. those had to wait
3. kinda: dropped a cpu and bent a pin but I never intended to use it again
4. yes, fortunately on my homeserver
5. maybe? not in a while, but also I am probably this cautious because it happened once. couldn't have been important tho as I don't even remember what it was about
6. no! but I am also not using much SQL. removed a dir tho by messing up the order of `ln` arguments
@nixCraft didn't do no 3 and 4 yet

@nixCraft done or witnessed all of them.

Best one was trying to explain how FTP worked to a minion at a multinational shipping and postage company. They screwed up their firewall on the call and locked everyone out of their production system in the middle of the working day. Half an hour later the VP called me back to apologise and say all was well again. We never had a problem again with them after that...

You live and learn...

@nixCraft I'm over 35 and scored 7/7. These days #1 is a lot harder on Linux unless you routinely type --no-preserve-root.
@nixCraft 4, 6 and 7 are the ones I remember
@nixCraft I *think* I've done #2, but I'm not really sure. All else I've not done, yet, and I've already passed the milestone.
@nixCraft isn't 6 what we do every 6 months?
@nixCraft All of them! But some of them were only by accident 😋

@nixCraft * without a Where clause

Does this count ?

@nixCraft
Never did 3, and can't remember if I ever did 5 or 7.

And 1 was intentional.

4 was fun .. telling a non techie in a very remote office what to type - symbol for symbol - into a local terminal to repair the problem afterwards.

@nixCraft
And I know someone with more experience than I have who really still does 5 (to my annoyance).

@nixCraft ah, that 7. one got me hard once

didn't even notice that I deleted like 1/10th of the production DB

went on vacation

when I came back the backup was overwritten already

but it was only about some stupid real estate trading thing… something-something a billion euro per year in trades.

nothing to worry about!

@nixCraft 7. Still brings a chill to my spine. I never pretended to be a sql person, and I revere those that know the dark magic.
@nixCraft I didn't do 3 exactly, at least not with permanent damage. However I once caught my foot in a long external SCSI cable and damaged the socket on the server. No more tape library, so no more backups until we found another SCSI controller.

This was in a small research facility operating on public funding, money was tight enough that it was a problem.
@nixCraft I think I did all of these, with apologies to @pavi for #3 😅
@nixCraft I'm 47, and I still miss number 3.

@nixCraft @enobacon *old man shakes fist at clouds* kids these days have it so easy! There aren’t enough hardware mistakes in this list!

And if you only rm -rf / on one machine, you’re not doing *real* #DevOps

@lkanies @nixCraft @enobacon yeah .. you need to do it on the /usr NFS mount :)

@krisbuytaert @nixCraft @enobacon it’s like you’ve never even heard of ssh and a for loop Kris, geez.

And bonus points if you background each ssh process and thus can’t kill it fast enough when you realize you made a horrible mistake.