I’ve heard an ex microsoft employee said in a blog once that the windows team has no seniors. Anyone who has worked there for one or two years has left for better employers. Nobody knows how to refactor or maintain old codebases, so instead, they just write new things on top of the old things. The windows kernel has hardly changed since XP.
This makes sense, most of that explanation in the screenshot reeks of novices working with something they don’t understand.
Copying and pasting a current example and changing the names… yep.
Instead of making it worse you could extract it to a new file. Make an interface. Write a unit test. Anything.
The guy wonders why the file is 15k lines long and then describes exactly why.
Right? Like my dude, bare minimum at least write down those steps in a text document so you can reference it the next time you have to add something. Bonus points for putting it on some shared internal wiki or whatever Microsoft uses.
I don’t think anybody gets paid enough to write that down. In fact, they might get punished for wasting company time. They could open source it and people would automatically fix these things. Who knows.
Or write a tool that can do all these steps for you, reliably!
This sounds 100% credible, based on the outcomes we can see
The windows kernel has hardly changed since XP.
Windows NNT when? Surely from a business/competition perspective they can’t let Linux get that many years ahead of them in terms of kernel optimisations?
thats what happens when short term profit is king I guess
I don’t think this is legit because even as I was reading it, I was expecting it to sound a lot worse than it ended up sounding. Like, it didn’t sound great or anything, but it didn’t sound nearly as fucked up as I would expect firsthand descriptions of piled-on legacy code to sound after almost 50 fucking years.
But did you read the last line? This isn’t classic control panel, this is the new control panel.
Sounds like classic junior engineer shit. “Let’s do a big rewrite!” Followed by everything going to shit because they don’t how to create good maintainable software architecture and for whatever reason there weren’t enough senior engineers around to show them the way.
Same shit trying to implement with systems on the backend older than a lot of people using them today I’d imagine
Yeah this is classic legacy code.
Complicated code is when 700 projects are all entangled and when you add a 3D bar for measuring purposes (it was just a bar like 100 nanometers long so you could get a feel for size in 3D scans, in the 3D viewer), the up (not the down) mouse scroll stopped working for sliders in all the 2D GUIs…
That is crappy code and I was there when we got that bug (Avizo software).
W H A T
Seriously, it doesn’t sound great, but it sounds about what you might expect wiring up a new UI widget in WPF or whatever the latest thing for native Windows is. Sounds like what would happen if you started developing a Windows app using the Microsoft scaffolding and never applied any kind of software architecture beyond that and it just grew and grew into a big ball of mud. Exactly what I would expect given the quality of so many of their frameworks, and I say that as a professional dotnet software engineer.
The complete lack of error reporting in the compiler is a surprise though.
True, that is surprising and makes everything worse. It’s probably controlled by a setting that none of those engineers knows how to change, based on the lack of knowledge described here.
My guess is that a stack trace is being generated, but something further down the chain is consuming it, realizes there’s an error, and just throws -1 instead of the stack trace itself.
Something like
try { compileThisDamnProgram() } catch Exception { return -1 }
And “the specific resource ID” is almost certainly for localization of the text
What cracked me up was all that copying blocks of code “because no one knows how anything works”.
That reeks of novices copying code without bothering to read it well, and since this work method is horrendous, no one stays enough to stablish a proper knowledge base.
It’s a bit sad, but not that surprising, that if this is true then Microsoft is clearly not tasking their most experienced engineers on the control panel (you know, that part of the OS who’s function is to allow you to tweak all the rest of the OS?).
Yea, this doesn’t sound horrible for what it is. Plenty of Linux systems are this bad.
Plenty of UI applications* are this bad
Which control panel? There’s like 20 of them and a new worse one gets added every other year.
So that’s why they shipped like every past systems’ control windows with every new version. Not for people’s convenience. Because of spaghett
Nobody toucha my spaghett
and people complain about wayland.
… This seems like standard GUI stuff. The interface component defined by some markup, with a hook to some programmatic behavior, and perhaps a corresponding resource ID
I have no way of verifying this is real, but I wholeheartedly believe it.
pretty much every windows GUI framework is trash or a pain in the ass to deal with except for Avalonia (my beloved), but it’s more cross platform.
I’m not sure if this is 100% real but it very well could be. although imo makes me think of skill issue (not because the system makes sense, but these problems don’t really seem like problems to me, just minor set backs)
I haven’t done much with UI in general, but the one time I thought of making some UI stuff in windows I gave up.
Even modifying an existing .net program someone else made for a feature I wanted was a nightmare.
Yep, I was shocked to see that there is no defacto 1st party framework and during my time searching online I found lots of “use x, use y, no y is dead and none uses it, no x is terrible” which is how I found Avalonia.
I still don’t think there’s a solid Windows gui framework, but I haven’t looked in years.
This is why everything is a goddamn web app now.
well, no. everything is a god damn web app because everything runs browsers.
so why write native (device) applications if the device can run a browser ? just write code for the browser, which also runs on desktop. now you have a cross platform app without needing 5 different teams
Thanks Ballmer for QA.
The “True Facts About Microsoft” and Zefrank reference got me :D
Then you have to go into a resource file and find a very specific resource ID for your control panel string, and create a new resource ID to me it to.
Ah yes the joys of working with Microsoft Foundation Classes (MFC), Back in the day I supported a VS6.0 application, you have room for 65535 UI elements in an application (Including DLL’s) I had to split the ID’s up in ranges to enable adding new elements in a sane way.
There is/was a new Windows 10 Control panel? I thought that was just the Settings app.
The settings app is the new control panel. There’s just also the legacy control panel that they’ve been trying to remove for years. It’s such a shit show that I’ve memorized the run string for the applets I have to use frequently, because it’s a fucking nightmare trying to remember where they moved this in which version of the os.
The thing with the Control panel (speaking as a former Windows user up until a year ago) was its consistency. Since the Aero era things have remained in more-or-less the same place. Sure, some things got added, some renamed and some deleted, but the basics I needed (mouse sensitivity, battery settings on the laptop, the Add/remove software page, search indexing, printers) has all stayed in more or less the same place.
Then 10 happened. And sure, Settings was great for a lot of stuff. But when Settings didn’t have the option (or I lost my nerves trying to find it), Control Panel was the way to go. I’d find what I needed pretty much instantly, since was always one of the same 20-odd things I need.
Even then, everything just seemed faster in Control panel. Was it more responsive? Were there less animations? Were more things crammed into one screen so less clicking and scrolling was involved? Is it just my imagination?
Honestly, I don’t know.
By the time I got used to the new Settings app, one of the big Windows 10 makeovers happened and jumbled up about 10% of Settings. Objectively not much, but just enough to irritate.
And now with 11, they not only made Settings unrecognizable, they also cranked the spyware up to, well, 11. And there’s no Control Panel to default on when in doubt (or fuming with rage).
All in all, while Control Panel wan’t what kept me on Windows, 11 losing it did ease the transition, since it meant having to learn a new way of doing things either way. Might as well make it a way that hopefully won’t change once a random design exec decides “this is ugly and it has to go”.
Honestly, KDE Plasma’s Settings are where it’s at. It’s right between the functional and informstional density of Control panel and the simplicity, visual appeal and saner structure of Settings. Shame it uses Qt, which from what I hear, is god-awful as far as UI toolchains go.
I have worked with Qt, it’s not that bad to be honest.
Kde settings impressed me. I had to fix my mouse and put the wheel on backwards. Took me a few hours messing around regedit to find it. In kde control panel its just a toggle.
Also funny thing is windows backup control panel has 3 options and advanced options. Advanced options lists the same 3 options.
Keep them memorized. The old tools just work, even if MICROS~1 tries to hide them and replace them with useless crap apps.
Man, the Device and Printers one is long as hell lol
shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}
Try
Control printers
Much easier
Huh, on Win 11 24H2 this opens the Modern Device and Printers instead of the control panel one.
Interesting. Guessing that probably means I need to find a new trick when I go to work on newer servers. Damned microsoft…
There’s both. It’s just the Windows 7 control panel, basically.
Is this real? It’s funny af, even if it’s not real, but does anyone know if it is?
OH MY F… GOD! I knew it is witchcraft but I didn’t knew that is is so awful!
At least control panel is better than “Settings” trying to find shit in that is hell.