r/ShittySysadmin • u/ITRabbit • Dec 11 '25
r/ShittySysadmin • u/Character_Log_2657 • Mar 29 '25
I left IT for the skilled trades. Here’s why
For context, i’m in aviation maintenance.
Reason #1: We don’t have to talk to people. This is the coolest part of our jobs, perhaps cooler than the actual aircraft. We work either in hangars or on runways isolated from people. We hate people.
Reason #2: More flexibility. I work the second shift and it feels like a breath of fresh air after having 8am phone jobs my whole life. You cant work the 2nd or 3rd shift in IT except for some very rare niche companies. Most, if not all tech jobs begin at 8am-9am. Aviation maintenance has 1st, 2nd, and 3rd shift options.
Reason #3: I hate phone jobs. I wasn’t made to sit behind a phone all day making and receiving phone calls all day. The work i do now is 1000x more fulfilling and interesting. I need adventure and spontaneity which is hard for me to find in a white collar job.
Reason #4: We don’t have to play pretend in order to make our money. We can be ourselves. We don’t have to fake laugh at other people’s bad jokes for our own benefit.
Reason #5: We don’t have to be on-call. Am i gonna let a corporation dictate when i can shower and sleep? Absolutely not.
I have no regrets.
r/ShittySysadmin • u/recoveringasshole0 • Sep 03 '26
SysAdmins who switched to Apple - Why?
This post is primarily mobile focused, but I'll entertain the desktop / laptop OS conversation as well. This is regarding personal devices, not what your enterprise uses.
Suffice it to say, I'm tired.
I'm tired of having choices.
I'm tired of Android asking me which browser I want to use, letting me install software from places Google hasn't personally blessed, exposing a filesystem like some sort of 1980s UNIX workstation, and generally behaving as though purchasing the device somehow gives me opinions about how it should operate.
Windows is even worse. Apparently I'm expected to know what a "driver" is. Sometimes I can even replace hardware myself. It's exhausting.
So naturally, I've been looking at Apple.
And honestly, I think I finally understand the appeal.
They. Just. Work.
And when they don't, I can rest comfortably knowing there probably wasn't anything I could have done about it anyway.
No more agonizing over which hardware to install. Apple already selected it.
No more worrying about upgrading the RAM later. Apple thoughtfully asks me to make that decision at purchase, when I'm least qualified to know how much RAM I'll need four years from now.
No more sketchy software from the open internet. On iPhone, Apple has heroically protected Americans from the terrifying European innovation known as "installing an application from somewhere else." Alternative app distribution exists now, of course, provided you live in one of the regions where regulators made Apple discover it was technically possible.
And the privacy story is genuinely refreshing.
Unlike Google, Apple doesn't need to sell my personal information to third parties. Why involve a middleman?
Apple can use information such as my account details, purchases, subscriptions, downloads, and App Store activity to put me into advertising segments and serve me personalized ads itself. That's not tracking. That's vertical integration.
Even iCloud gives me choices.
By default, Apple retains the encryption keys for a number of categories of my cloud data so they can help me recover it. If I'd prefer Apple not have those keys for most of my data, I can enable Advanced Data Protection.
I really appreciate privacy being available as an advanced configuration option.
Repairability has improved too. Apple now has a Self Service Repair program, so experienced users can obtain official manuals, genuine parts, and professional-grade tools to repair supported devices themselves.
Which is wonderful.
I've always felt replacing a phone screen lacked sufficient paperwork.
The ecosystem is probably the biggest selling point, though.
Once I buy the phone, the watch makes more sense.
Once I have the watch, the Mac makes more sense.
Once I have the Mac, AirPods make more sense.
Once I have all of those, leaving Apple makes considerably less sense.
It's less of an ecosystem and more of a very tasteful lobster trap.
And that's really what I want after 30 years in IT.
I don't want control anymore.
I don't want options.
I don't want to troubleshoot.
I want to spend $1,200 on a device, be told "no," and experience the profound serenity that comes from knowing the decision has already been made for me by someone in Cupertino with a degree in industrial design.
Is that the bargain you all made?
Did you finally realize that freedom is just another thing you have to administer?
Because I'm starting to think the ultimate sysadmin luxury isn't a device that lets you do whatever you want.
It's a device that looks you directly in the face and says:
"You don't need to do that."
And charges you $200 for another 256GB of storage.
r/ShittySysadmin • u/[deleted] • Oct 20 '22
“Why we're leaving the cloud.” -Basecamp
r/ShittySysadmin • u/PleaseDontEatMyVRAM • Jan 28 '25
Shitty Crosspost Just learned the \\hostname\c$ command and it blew my mind
reddit.comr/ShittySysadmin • u/TechSupportIgit • Apr 25 '26
Cheesy Pickup Lines / Dirty Talk from a Sysadmin finding Love on this f***** up Orb we call a planet Spoiler
I'd let you be my systems administrator
When I'm done with you you won't even know you can turn on again.
I'll let you use my domain admin. You're mine anyways.
I can't wait to give physical access to my black hat after my heart.
I just recently went into a long distance relationship and I quit my hellish junior OT / sysadmin position and felt the need to post this.
Have a great Friday everyone, know you'll find someone someday.
Crossposting from sysadmin cause apparently this is against the rules.
r/ShittySysadmin • u/wolf2482 • Jun 27 '24
I was told how to easily take out the internet in five major schools all at once. I shouldn't know how to do this.
A new friend of mine told me how to take out the internet in five schools all at once. Granted these schools are hundreds of miles away from where I live. All it requires is physical access to stuff students normally have access to. Crazy thing is it is just one setting change needed to fix it, it has been reported but they haven't fixed it, and it has accidentally happened before.
I though maybe report it and threaten to disclose it in a matter of months, but then I realized that is a horrible idea, and my friend probably will be blamed so I won't. But yeah, I should not know this.
r/ShittySysadmin • u/saintpetejackboy • Feb 02 '25
Stardock took down Bitvise which caused me to fall into a rabbit hole
The most recent Windows 11 update broke a lot of stuff with Start 11 and Windows Blinds - making my main device almost unusable. During the weird GUI issues I was having, something broke Bitvise. This was unfortunate, as all of my logins to get CLI and terminal access across many servers were conveniently remembered for me there. Suddenly, all the saved credentials were inaccessible, while I was not in proximity of other authenticated devices.
I uninstalled everything: Bitvise, Start 11 and Windows Blinds. New year, right? Why was I even using Bitvise? I had used Bitvise for many years, so long I couldn't even remember why it started being my go-to. Certainly some cool new software has come out, right?
I first installed Termius, which I later learned I should have installed Tabby. Tabby looks great, and was right along what I was thinking in my mind. For quick CLI access to a lot of machines, the profiles and tabbed nature were excellent.
Unfortunately, Tabby is clunky in how it runs SFTP. They put a lot of work into it, and I'll still use it for CLI, but I didn't like how the files opened, and I wanted to see them in a more Windows-like environment, conducive for copy+paste, renaming, searching, organizing, etc.; - I even installed some plugins but it just didn't get up to snuff.
During this process, I learned that I didn't remember all of my login credentials across various servers. One of the host's control panel was coincidentally down during the same period, leaving me a window of ~20 minutes where, God forbid I had to, there was no actual way I could SSH into that particular server (other authenticated devices were not physically near me). Not a great feeling, surely. I took a lesson and furnished break glass accounts across all of the servers currently in my rotation that didn't already have them.
I primarily like to develop on this Windows laptop, which also has WSL2 and whatnot. I also use VSCode, but have several servers where VSCode doesn't have the RAM and swap I need for projects (with no real workaround), and where the server performance taking a hit so I can use a fancy editor just isn't in the cards - it is also cumbersome to be manning a dozen servers from VSCode at once, regardless, and is somewhat outside of the use-case. Because of this I also use Notepad++ (my favorite), especially when I am hacking production or casually programming.
Here is where the rabbit hole starts. I think "well, I can just mount the remote directories I need on various servers right to Windows."
This was a bad idea. The end result is awesome, but the hoops that I had to jump through ate up entirely too much of my life and my time.
There is a command in Windows called "net use" that you can use with SSHSF-Win and WinSFP - two installs and a command later, and my drive was mapped!
Except, that is not what happend, at all. First I had to create users with proper permissions to the required directories on each server (no big deal, just did all those break glass accounts, so, easy peezy). The access was somewhat tricky (to ensure I didn't break other things, like cron jobs, by changing permissions in a N00b-way, like I use to).
Here is where it gets terrible: the types of errors you get when you are unable to successfully mount the drives are not very informative. My idea was to have a batch file that connecte all of the drives in one swoop that I needed. I was perfectly content to hardcode some passwords during testing, but learned that some of the passwords had characters, and characters in particular positions, that make that process a non-starter.
At that point, I should have changed all the passwords to be compliant and just hard coded them. I should have stopped there. That is the junction where things went wrong.
What I tried to do was use cmdkey without really understanding it. My entire intention was "well, I make the passwords a variable anyway so it will take care of all those special characters" (Narrator would take this opportunity to inform you that, it did not actually resolve the issue).
Initially, it seemed like I was on the right track. I put the cmdkey in a prompt, mounted a drive in another, it worked - so I made a script to unmount and mount all the drives. Except the new script didn't work. Only sometimes it would work, and only during the times it was prompting me for a password - which defeated the purpose of having an automated script mount all those drives if I still had to sit there and enter a dozen different passwords.
There was also a curve as several of the servers ssh configurations did not allow for re-prompting of passwords. I'm leaving out several other headaches I encountered along the way, but at some point I decided to change all the user names and passwords to be "super compliant" with no oddities in them.
I was still having issues, and actually used a windows GUI (control /name Microsoft.CredentialManager) during this to add some Windows credentials in manually.
Eventually, I got all the servers and my batch file to work coherently and the drives all mounted. Call it a day!
Nope. Soon as I reboot, all the cmdkey were gone. Authentication errors everywhere, prompting me for passwords. Upon reboot, my credentials always stopped working.
I deleted all the manually added credentials along with all the others and started over from the beginning and got the .bat file working. At this point, also, I should have and could have stopped. Saved my sanity.
But I just couldn't. I needed a quick shortcut link to this .bat file. I also noticed, I couldn't double-click to open the .bat file. Every time I did, Windows would suggest I edit the file in Notepad ++, and running it via cmd was not presented as an alternative option. Further, telling it to manually open it using cmd produced an error and was not able to toggle to "Always".
Good Lord, I was playing in RegEdit trying to figure out what to do and how to solve this issue. Shortcut or not, I couldn't even double-click and open the .bat file I just spent all this time creating. I asked AI, and crawled through the depths of the internet. I seen many people with similar problems - but none of their solutions helped me.
Eventually, there were some commands I ran in terminal (Remove-Item )HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\UserChoice -ErrorAction SilentlyContinue ... and ... assoc .bat=batfile) which cleared up the issue. This was hours long, this particular issue. The amount of other registry entries I edited and tricks I tried to overcome this silly Windows problem is hard to communicate without opening that same wound again.
At the end of the day: I can now use Tabby to quickly open all my CLI for the night, and I have a shortcut to instantly connect all my remote servers up for files like it they were on my machine locally. It should have taken roughly 15 minutes for a competent person to set this all up, yet it took me the better part of a day. Hence, shittysysadmin.
P.S. - I want to add that Stardock (creators of Star 11 and Windows Blinds) rapidly rememedied that issue (you can see them on Reddit posts and comments I made after I uninstalled, where they also responded). I like their software and it looks nice, but it feels a bit too buggy on Windows 11 and like Microsoft is actively trying to break whatever they are doing. Personally, I don't plan to reinstall those Stardock softwares for some period on my primary device (maybe once Microsoft starts to focus more on their next OS it will be "safer" for a daily driver). I may still utilize their software on other devices with less priority in my life because I like the aesthetics and wanted to make sure that anybody reading this knows I'm not making this post to bash Stardock or discourage anybody from using their software - or to promote Tabby, Termius, SSHSF-Win or WinSFP). Tabby is very beautiful, however, and I don't mind pseudo-shilling their awesome product a bit here. :) To further defend Bitvise as well, Bitvise did nothing wrong and is still a one-shop-stop for SFTP and SSH terminals. In all the years I used it, this was the first time I ever even considered using something else (that wasn't 'use VSCode on everything', anyway).
Also - I am open to other software suggestions if somebody knows something with the feel of Tabby but the more fully featured SFTP functionality of Bitvise... that might just allow me to delete that .bat file :) - or if you are aware of some kind of Tabby plugin/extension that perhaps I missed that brings more of that functionality. Tabby has more configuration options for skinning/themeing than damn near any software I ever used, so it feels bad their OS-level file interaction is so lacking out of the box.
r/ShittySysadmin • u/HoobaDooba420 • Jan 19 '25
Centos 9 has not updated repos
This is pissing me off I’m trying to install Grafana and there id no repo mirror for it. Why is centos 9 so ass when it comes to downloading essential apps.
r/ShittySysadmin • u/Complete_Repair7703 • Jun 09 '26
How to corrupt windows on purpose
*for testing purposes
yesterday I wrote about BSOD but I want Windows to be corrupted on purpose., but I want windows to stay corrupted.
r/ShittySysadmin • u/Jojo959 • 11d ago
**Title:** Five pages of spec, four screens, Samurai burgers, and a 1998 OCX: how my very first C# program forced a multinational's elevator system to take orders—and stay alive
Translated/assisted by AI from real developer logs
TL;DR: A multinational elevator giant gave me a five-page appendix describing how my software should talk to their destination-dispatch elevators. For months, I had to guess everything—even having to spray random UDP packets across the building because they refused to give me a protocol simulator, driving up the tower's power bill. When everything failed, every delay was blamed on me. On the final deadline day, I hauled four computers and a monitor from home, set them up right next to the lobby turnstiles, and used local TeamViewer so their Singapore head engineer could watch my PC and their three PCs simultaneously. He realized his config was wrong, disappeared into the machine room for one minute, and came back—my untouched code worked instantly. He gave me one "thank you," and they all went to celebrate without me while the local team wouldn't even look me in the eye. The next day the system started dying every 3–5 minutes. That dragged on for three more months in a small room packed with 12 engineers from 3 countries, until the building owner threatened to rip all the elevators out. I finally decompiled their receiver at 11:30 p.m., proved the bug was a 1998 MSWINSCK.OCX, and forced them to wake up their programmer in Singapore past midnight to install VB6 SP6. Years later, the prime contractor silently upgraded the rock-solid Windows 7 box to Windows 10, breaking socket.send() daily—until I hit them with a 200% maintenance fee ultimatum.
Part 1: The five-page "spec" and my very first C# program
The building: a major high-rise office tower in Bangkok, close to 50 storeys, with eighteen lifts in total (A through Q, plus a dedicated service lift controlled 24/7 by security guards). Only two specific lifts go all the way up to the owner's penthouse on the top two floors, which is exactly the kind of rule an access-control integration has to respect.
The job: the building's access-control system (running on SQL Server) knows which floors each cardholder may visit. The elevator vendor's destination dispatch system needs to know too, so a passenger can tap a card at the turnstile and have a lift assigned automatically. My program sits in the middle: it polls the database for card events and speaks UDP to the vendor's system.
Here is the kicker: this was the very first C# program of my life. (Which wasn't new for me—back in 2008, I wrote my very first VB6 program for another luxury tower under similar trial-by-fire conditions.) My contract for this integration was 1,000,000 THB (roughly US$30,000). Spoiler: I earned every single satang of that million baht in blood, sweat, and fast-food cholesterol.
What the elevator vendor gave me was an appendix titled Card Reader Operation, five pages long. It told me:
A 12-byte packet: header
0xD7, reader ID, a "user info" flags byte, eight bytes of floor bitmask (64 floors, one bit each), and a checksum (sum of bytes 0–10,& 0x7F).The vendor's panel answers every packet with a one-byte ACK (
0xC4), or NACK (0xD5) on a checksum error.The controller (that's me) must cycle through all readers, up to 192 of them, about 10 ms apart, even when nobody is tapping anything. When a card is tapped, that reader's packet carries the "on" data and keeps being sent for 1 second, then an "off" packet. ("The signal holding time should be adjustable.")
If no ACK comes back, resend after 300 ms, maximum three times.
A flowchart that simply says "call is registered automatically."
What the five pages did not tell me: any UDP port numbers, where the ACK is supposed to be sent, or what the receiving side does when something looks wrong.
In fact, the only reason I even knew which ports to talk to early on was because on May 24, 2015—one day after I started coding—I took their receiving binary (let's call it ReaderChannelRouter.exe) and ran it through VB Decompiler Pro. (And no, I never signed any NDA with them; when a vendor gives you zero documentation and refuses to help, you do whatever it takes to solve the problem so you can finally get paid.) Inside Form_Load, I found it reading a local text file for its port mappings:
10.0.0.36,4000,Own Address from Reader
10.0.0.36,4001,Controller Address
10.0.0.36,4100,Own Address to Translator
10.0.0.36,4101,Translator 1
10.0.0.36,4102,Translator 2Of course, before I could write a single line of logic to talk to their system, I had to fire up Wireshark and play digital detective. Since the spec sheet didn't mention ports, handshakes, or response behaviors, I had to capture raw UDP traffic on the wire and reverse-engineer their protocol by watching what bounced back. When documentation fails, Wireshark is the only source of truth.
Everything else, I had to discover by experiment.
Part 2: Guessing in the dark (enter the Vulcan)
My oldest saved snapshot is dated 2015-05-23. It sends a packet to 127.0.0.1 and listens for the answer on the same machine. The comment in my code says it all:
// receive, not error for now
// don't have real or emulator T_TTo make this work, I had to physically wrestle the C# runtime into a high-performance, real-time industrial machine. The spec demanded that I cycle through up to 192 readers every 10 milliseconds, handle dynamic ON/OFF packet states for a full second upon a card tap, and maintain tight ACK-loop checks without letting the garbage collector or CPU spike. For a first-time C# project, forcing a high-level language to behave like a precision C++ hardware driver—pumping relentless UDP traffic down the wire with zero breathing room—was a baptism by fire.
I had no elevator and no simulator, so my "test environment" was myself. I asked the my client (THES, which has to ask from Lift manufacturer) for a protocol simulator nearly ten times, but it never arrived. That forced me to blindly spray random UDP packets across the building for months, making elevators move up and down all over the tower. When someone complained about the power consumption, I simply told them: "Go ask elevator manufacturer for the protocol simulator as I'm not losing sleep over it; I'm not the one paying the electric bill."
I kept a zip of the source after each meaningful change. The snapshot names are my diary:
2015-06-17 good until close socket2015-06-27 GetCard + MultiTest combined - still crashed2015-07-15 still deadlock2015-08-20 Night - all LZ floors tested ok using packet simulation - problem was because of wrong ReaderID2015-08-28 Off-packet millisecond OK2015-11-13 CommOK run without problem for 2 days2015-12-22 CommOK without stacktrace upon 015 ERR2 DB DeadLock
Since this was my first C# project, some early bugs were genuinely mine. My first ACK-wait code opened a new asynchronous receive on every loop, and I left myself a warning:
// WAIT FOR ACKNOWLEDGEMENT UDP PACKET FROM ROUTER
// If turned on, app will crash in a while when run in production computerWhenever I hit a wall with C# quirks or systems-level weirdness, my saving grace was a senior friend I'll call P'Tum. Somebody once joked that P'Tum is a Vulcan—calm, hyper-logical, and completely immune to panic—and he stepped in to guide me through every roadblock. Meanwhile, the local elevator team was led by a bald local manager whose permanent scowl, refusal to ever admit fault, and hostility toward outside vendors earned him my private nickname: Darth Vader.
With P'Tum's help, my fixes stuck: send and receive on a single socket, replace fixed Sleep() waits with tight loops that exit the instant an ACK arrives, and wrap the database poller in "catch, log, sleep, restart" whenever SQL Server picked my query as a deadlock victim:
Log(" 015 ERR2 DB.Deadlock, restart process...");By December I had stopped printing the stack trace for that one.
Part 3: Step 1 — Four screens at the turnstile, one minute in the machine room, and total ingratitude
For every bug I fixed, there was something on the elevator vendor's side that didn't work. And at every meeting, Darth Vader and his local team sang the same song: the third-party program is wrong.
On the final day before the lifts were scheduled to start accepting commands—with roughly 90 million baht (~US$2.5M) in late penalties looming over the project—nothing was working.
I had had enough of verbal finger-packing. I packed up my own hardware from home—my notebook, an All-In-One PC, an Intel NUC, a spare monitor, and a Samsung tablet—carried all of it into the building lobby, and set up four screens side by side right next to the turnstile barrier gates.
One screen ran my C# program. The other three ran local TeamViewer sessions connected to the elevator vendor's three PCs. Standing right there was the Head Engineer from the vendor's Singapore regional office. For the first time in months, he could watch all four screens simultaneously: the exact millisecond my UDP packet left my software, and what his three machines actually did with it.
He stared at the four screens. It didn't take long for him to realize that their configuration was wrong.
Without a word, he walked off and disappeared up into the elevator machine room for about one minute. Then he walked back down.
I ran my program again—without changing a single character of my code—and tapped a card. The elevator was called immediately.
The Singapore Head Engineer gave me a single "Thank you." Then he and the entire elevator team packed up and went out to celebrate. Without me.
Worse: not a single person from the local elevator team—Darth Vader included—even looked me in the eye. In Thai culture, when one guy hauls a desk's worth of computers from his own house to save your entire corporation from a 90-million-baht penalty, refusing to offer even a smile, a nod, or a thank-you is the absolute pinnacle of trashy behavior. I packed up my monitors and went home alone.
Part 4: Step 2 — Three months of Samurai burgers, a threat to rip out the lifts, and a 1998 OCX
The very next day, I got called back to the site.
A new nightmare had begun: the system would work for 3 to 5 minutes, and then completely die. Tap a card: nothing.
If you restarted Windows on their receiving PC (the machine running their channel router executable, which took my UDP packets and routed them to their translators), it would work for another 3 to 5 minutes, and then die again.
You would think "restarting the elevator vendor's PC fixes it for 3 minutes" would be a giant neon sign pointing at the elevator vendor's PC. Nope. Darth Vader and the local team spent the next three full months blaming everything and everyone else—my code, the network, the access control system.
We were crammed into a tiny room—4 Japanese engineers, 4 Singaporean engineers, and 4 local Thai team members (including myself)—all pointing fingers while the project burned. Every time I was dragged to the site for another pointless round of finger-pointing, the only quick meal nearby was a McDonald's Samurai Pork Burger and a Coke. Over those three months of late nights, I gained 3 to 4 kilograms just from stress-eating Samurai burgers.
Finally, the building owner lost patience and dropped a nuclear ultimatum on the elevator vendor: Fix this immediately, or we will rip your elevators out of all 18 shafts and replace them with another brand.
At 11:30 p.m. in Bangkok, with tensions boiling over, I lost my patience too. I opened up the decompiled code of their receiving executable (a VB6 Native Code app whose form title bar actually had a typo in the window caption, and which was launched at boot via a batch file using ping 1.1.1.1 -n 1 -w 5000 > nul as a makeshift 5-second sleep).
I pointed at their DataArrival event handler right in front of the Singapore engineer. All it did was:
Start with
On Error Resume Next.Verify the 12-byte length, header
0xD7, and0x7Fchecksum.Dump the hex bytes into UI TextBoxes (
txtRcvData), flash a green status shape (BackColor = 65280), and forward the packet out viaudp1.SendData(for readers 1–112) orudp2.SendData(for readers 113–192).
"Look at your own code," I told the Singapore engineer. "There is nothing in this logic that can crash or deadlock after three minutes. Your code isn't dying—something underneath it on your machine is."
So I went hunting in C:\Windows\System32 (and SysWOW64) on their PC and checked the file timestamp of MSWINSCK.OCX—the Visual Basic 6 Winsock ActiveX control.
The file on their machine was dated 1998.
If you lived through the VB6 era, you know that the original 1998 MSWINSCK.OCX is notorious for memory/handle leaks and silently wedging itself under sustained UDP traffic on modern Windows. Microsoft fixed it years later in VB6 Service Pack 6 (which updates MSWINSCK.OCX to the March 2004 build) and the cumulative runtime update.
It was 11:30 p.m. in Bangkok—12:30 a.m. in Singapore. I looked at the Singapore engineer and said:
"I know it's past midnight in Singapore. Don't care. Call your programmer right now, wake him up, tell him to download the VB6 SP6 cumulative update from Microsoft, install it, rebuild the setup package, and email it here immediately—so all of us can finally go home after three months of blaming each other."
He made the call. Twelve minutes later, the new installer arrived in his inbox. We installed it (replacing the 1998 OCX with the SP6 build).
The problem vanished instantly. The machine never froze again.
And this time? I didn't even get the one "thank you." Just a room full of people silently packing their bags in a corporate silence so complete it was almost an art form.
Part 5: Epilogue — The second tower, and the 200% Windows 10 Tax
Once the SP6 runtime was in place, that Windows 7 machine ran in complete, blissful silence for the next two to three years. Zero maintenance.
Because I now knew every undocumented secret of their protocol, the next major project—integrating the same vendor's elevators at another iconic multi-wing office complex in Bangkok—was much easier. Though true to form, the elevator vendor still managed to spice things up by quietly updating the firmware inside their Door Operating Panels, changing the timing behavior and forcing me to write a new workaround in my code to catch it.
Back at the first tower, after two to three years of zero-maintenance perfection on Windows 7, Windows 10 was officially released.
One day, the prime contractor decided to upgrade the integration PC from Windows 7 to Windows 10.
They did not ask me.
They did not tell me.
There was zero technical reason to touch an isolated industrial machine that had been running flawlessly for years—especially when I had explicitly specified from day one that it must run on Windows 7.
Overnight, a zero-maintenance system turned into a daily corpse.
Under Windows 10, even a basic socket.send() in the tight 10 ms UDP loop would randomly choke and die. What was I supposed to fix in my code when a standard socket.send() was failing at the OS level? For a full month, I had to TeamViewer in every single day to check on it and restart the process.
Finally, I gave the prime contractor a simple business choice:
Keep Windows 10, and I am increasing my annual Maintenance Agreement (MA) fee by 200%.
Roll the machine back to Windows 7—as I had originally specified—and the MA price stays the same.
Miraculously, rolling back to Windows 7 became very easy. They put Windows 7 back on the box, and the daily crashes stopped immediately.
What I took from it
Five pages is not a specification, it's an invitation to guess. Keep logs (and zip snapshots) of every guess—you will need them.
When both sides swear they are right, put both sides on one table. Hauling four screens to the turnstile ended months of gaslighting in sixty seconds.
"Proprietary" doesn't mean "unreadable." When a vendor's black box dies every 3 minutes and the building owner is threatening to rip out 18 elevators, decompile the black box.
When the logic is clean, check the file dates. No amount of code review will save you from a 1998
MSWINSCK.OCXrunning on a modern OS.Tax unnecessary changes. When someone breaks years of zero-maintenance stability just to chase a Windows version number, don't argue—just price the pain at 200%.
Edit: Yes, I still have all 36 zip snapshots and the VB Decompiler output from May 24, 2015. No, I never lost the 4 kg from the Samurai burgers.
r/ShittySysadmin • u/SuccessfulLime2641 • Jan 22 '26
Best Towns To Hack In
I had this as my ChatGPT sidebar chat title and my supervisor walked by. Laughs were had but am I in trouble boyos?
r/ShittySysadmin • u/CaptainFluffyTail • Sep 20 '24
IS IT A GEN Z THING TO ALWAYS WEAR HEADPHONES?
Workplace: Bank
IS IT A GEN Z THING!
I am going to be VERY honest as i can with my observations and based on them you tell me as a HR, IT or any manager, Psychologist(jokingly - if necessary) if you would recommend her for work, recommend counseling or remove from the job?
How would you deal with her?
Additionally, could you work with this person, make a complaint or just remain silent?
She is 24 years old, a sys admin but doing Programming/software development (she kinda good at her job from what I observe, so she has use and the manager heavily relies on her)
Always has headphones in her ears, hardly says morning to anyone, walks past people. When you say morning to her, you have to touch her shoulder or hand to gain acknowledgement.
Some weeks ago, she told her IT co-worker(Systems Engineer/Server Admin- male) that other people in the company are saying that the co-worker does not know the work so well etc and making other personal comments about the co-worker's personality, about being too soft and quiet.(I wonder if these were true statements or she is just trying to discourage her co-worker because of his personality). Also bare in mind, the job that the Server Admin is 70% financial stuff about the bank and 30% IT. Additionally, he has done TREMEMNDOUS work in IT documentation, help-desk, virtualization, cybersecurity and redefining the backup infrastructure. He is not financially savvy. There is not financial handbook or standard operating procedures at the bank so he depends on her an the IT manager.
Just last week i overheard her asking same co-worker "did you grow up with your aunts and mom only, did you grow up with any men, why i ask is because u give a feminine vibe and u r too soft and quiet"
A day this week the Server Admin/co-worker asked her on the instructions of the IT Boss to run a test restore of a backup in new application . The coworker asked if she knew what to do and is ok how to perform the restoration procedure, her response was with attitude "I know what to do, i took notes". On that same day, while the co-worker was about to step out to lunch, she aked him "which backup is it again?" that is after she clicked on the WRONG BACKUP jobs to restore, then she clicked on a next incorrect backup job thus causing 2 concurrent jobs. The same co-worker had to correct it for her.
Today is the day now and she has not yet started any restoration procedures, she is doing her own thing.
In the IT office, this coworker is the only guy she does not talk to LOL, but has fun while talking to others, laughing and all lol. If he tries to talk to her or get some info she will share based on work policy, but does it with reluctance.
Regularly the IT Boss has to be calling her many times to get attention before she answers. He needs her on some major projects, i can see the disdain in his eyes, but he just works with it.
Yesterday, a staff had a simple network printing issue and she totally ignored the person asking for help. I just stepped in and heard the question being asked. I had to go and apologize to the staff member on behalf of the IT Unit and resolve the issue
She been here 3 years, the co-worker 1 year.
SHE LOVES TO WEAR HER BTooth HEADPHONES during work.
She goes on vacation leave next week.
original link: https://www.reddit.com/r/sysadmin/comments/1fleus4/rules_of_the_it_office_and_teamwork/
Copied as opposed to linked in case Healthy_Literature19 decides they were wrong after all.
r/ShittySysadmin • u/teluscustomer12345 • Dec 25 '25
Computer with X.X.271.X IP cannot connect to Brother printer.
Halp meh
r/ShittySysadmin • u/[deleted] • Jul 18 '24
Keyboard Shortcuts
Anyway I have been working at this place that is a bunch of fucking olds. Its like some real AARP shit. There is motherfuckers who started right out of college and have been working here since 2008 which is like older than Sidney Sweeney its really fucking old. So anyway I did a screen share with this guy and he didn't even use the keyboard shortcut that is how I knew he was just a bad person. I started screaming into the phone "what year is it old Tom why are you using the GUI what do you think this is myspace?".
Guy didn't even use a fucking keyboard shortcut, he didn't even know what it was. Like can you imagine that in 2024. You can tell they don't like this cloud stuff and things too they say its too expensive but how can that be when its not them paying for it, its the company they can just reconcile up some more money. Anyway I just can't with these limp dick ancient ass Millenials that are just trying to wind down the clock til they hit 40. Prolly trying to fuck some old bitches like Selena Gomez too, grab up them titties with those crippled cant use a shortcut hands. Those Millenials had too many bud lights and now their hand is just like an arthritis claw wrapped around a mouse that has to use the GUI, can't even get it up for Azure. These olds need to just retire let Gen-z have it. They just can't handle IT anymore like we young bloods can.
r/ShittySysadmin • u/Consistent_Chip_3281 • Aug 28 '24
I dismed and it did some th’n
I think:)
Finally
r/ShittySysadmin • u/mister_gone • Jan 04 '24
Shitty Crosspost is Tape drive as a Backup, is this still a thing at this age?
self.sysadminr/ShittySysadmin • u/recoveringasshole0 • Jan 26 '26
Best hacker laptop or tablet?
I'm totally super serious. I want a laptop that LOOKS like a badass hacker would own it. The more lights and sharp edges the better. I don't care about the specs or what OS it can run. What is the coolest looking laptop to impress my coworkers (and yours)?
r/ShittySysadmin • u/Anonymous_Bozo • Aug 19 '24
Enough with the scatological and sexist comments.
Being a shitty admin has nothing to do with Excrement!
r/ShittySysadmin • u/ro-friday • May 28 '26
Shitty Crosspost Newer IT Admin Trying to Turn On BitLocker for 300+ computers
reddit.comr/ShittySysadmin • u/Character_Log_2657 • Dec 13 '24
The trades are way more fulfilling than desk work
Ive done construction and millwork projects and till this day i still feel a sense of accomplishment even from projects that are years old. New projects make me feel alive too. My brother is an airplane mechanic and feels the same way, even if all he did was tighten a bolt, it feels like real work.
I neeeever get that when im trying to understand a computer program or an IT issue. Like ever. IT feels artificial. I’ve been debating on switching careers cause i’m just super unfulfilled. I also hate on-call rotations.