• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

How did software development become so hard (Windows)???

storing

Active Member
Forum Donor
Joined
Aug 27, 2021
Messages
226
Likes
220
Too many developers take this too far, expecting the teams who optimize platforms & compilers to make up for their own inability to optimize their code. Some system limitations are inherent, good programmers need to understand those limitations and find solutions that work around them.

Optimizing the compiler or system tends to give incremental gains; optimizing your solution to the problem space gives order of magnitude gains. Some examples of what I mean by this:

Good point yes (and nice examples), perhaps I was looking at this too much from a lower level point of view (as in looking at the disassembly to see what the compiler actually does and trying to figure out if there's room to make it use intrinsics or vectorisation, reducing cache miss penalties, ..) whereas the improvements you mention sound more like common sense to me though I realize that really depends on one's background/experience.
 

John B

Member
Joined
Sep 16, 2018
Messages
87
Likes
129
I work at a tech company that shall remain nameless and endure endless conversations about user experience and customer segmentation but almost nobody is genuinely interested in making sure things function smoothly because that requires real work. My sense is monopolies are less worried about churning customers so focus on the tinsel even if they have 10X the resources at their disposal to avoid problems like you describe. Windows 11 broke my Wifi card setup on my Dell computer. I had to use ethernet for a couple of days until I could find time to T shoot and update things into a functional state. Good thing the icons are rounder though and in different shape boxes....
 

EB1000

Senior Member
Joined
Jan 8, 2020
Messages
484
Likes
579
Location
Israel
I have most of the useless Windows 10 services disabled including windows updates and indexing, since I do not use Windows explorer. I use Directory Opus instead which has its own file search engine. I also do differential image backups using True Image software. I only upgrade Windows manually, and only after doing a backup. I can restore my system to any date at any time. Backups are stored on my unlimited Dropbox team account I got from my workplace
 

MRC01

Major Contributor
Joined
Feb 5, 2019
Messages
3,485
Likes
4,111
Location
Pacific Northwest
Good point yes (and nice examples), perhaps I was looking at this too much from a lower level point of view (as in looking at the disassembly to see what the compiler actually does and trying to figure out if there's room to make it use intrinsics or vectorisation, reducing cache miss penalties, ..) whereas the improvements you mention sound more like common sense to me though I realize that really depends on one's background/experience.
I agree it's common sense. All it requires is basic understanding what happens underneath the systems we use, how they work. Some software engineers are curious about that and understand it; others are not, and do not.
 

storing

Active Member
Forum Donor
Joined
Aug 27, 2021
Messages
226
Likes
220
I work at a tech company that shall remain nameless and endure endless conversations about user experience and customer segmentation but almost nobody is genuinely interested in making sure things function smoothly because that requires real work.
Yeah that's exactly what my earlier 'stupid management' (or something like that, you get the idea :D) comment was about. Worse is that because of that culture, there seems to be this trickle-down effect where instead of going against management developers just stop trying to do the right thing and go with the flow accepting something slow but good-looking is ok. I understand not everyone is in the position to refuse to implement such features, especially not in larger companies, but I personally would try everything possible before implementing something of which I know degrades functionality or is just bells&whistles.

Slightly related: just had to fire up a VM running Windows XP. Despite being a VM, the thing is super snappy.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,759
Likes
3,064
I've never seen a pointing device that needed drivers on Linux. Plug & play, it works. You can program the sensitivity, acceleration, buttons & features using standard Linux utilities like xinput, imwheel and xbindkeys.
I guess it depends on what you mean by 'needed drivers' - I suppose you mean that they didn't already have them included. This certainly wasn't true in the early days of linux when plug & play barely existed, and HID standards hadn't yet appeared - the era of the Kensington devices mentioned. The serial protocol for mice was heading towards being standard, but graphics tablets, spaceorbs etc. were distinctly proprietary. These days most devices at least follow one of the HID standards for core functionality, but may need something device or manufacturer specific for nonstandard bits. You'll see support being added in kernel changelogs, or have to patch the kernel yourself if you need it before it gets accepted. Sometimes it's as trivial as adding a new device identifier, as I had to for a few months to get tap-to-click and multi-finger events working with a new laptop a few years ago.
 

bravomail

Addicted to Fun and Learning
Joined
Oct 19, 2018
Messages
817
Likes
461
If you do this, ensure the system has more RAM then you ever actually use. Allocating an in-RAM disk leaves less RAM for system & apps, causing the system to page/swap earlier than it otherwise would have, which is a huge performance hit.

I find a more cost-effective performance boost is to use an SSD big enough for the boot, system, app installs, and temp files.
that's where u wrong. SSDs have finite number of writes. so using RAMDisk for temp files will extend ur SSD life.
RAM is very cheap these days, I got 32GB DDR4 for around $100. With that allocating 4GB for RAMDisk (overkill, u need 1GB) is no issue for me.
 

q3cpma

Major Contributor
Joined
May 22, 2019
Messages
3,060
Likes
4,418
Location
France
So where do you draw the line then?
That's different from pretending that the line doesn't exist. Personally, I use objective usefulness and knowing where to search when needed as "the line".
I mean you can comprehend everything which goes in a PIC1684 (just to name something), but how many people can say the same for a modern CPU? Or even a modern microcontroller? I can't, can you? How many people can truly say they don't treat at least a part of the device they program as a black box? I for sure am not going to waste time on even trying to know everything I touch inside out because that time would have close to zero return. I don't need to (though I do, roughly) know how my electric dill works to be able to put it to full use, just like I don't need to know the function of each and every register in a CPU to be able to get things done properly. tldr; sure some level of insight works, but we shouldn't lie to ourselves thinking black boxes are bad per se.
So we agree on the "usefulness" bit, it looks like.
Only to some small extent, for the rest I don't agree, from experience and because of what I mentioned previously: good luck trying to outsmart the optimizer writers. Might depend on the particular application though or maybe my code by itself was already spot on, not sure, but having spent in total many weeks of my career trying to optimize C++ code running audio and video processing: the cases where I could actually make things better were rare and even then it was a matter of a couple of percentages increase. Now of course that's starting from code which doesn't do stupid things like passing everything by value or so, caching a lot of allocations, but those are basics of the language, one doesn't need to know what the compiler does with that.
There's a misunderstanding, I'm not talking about "outsmarting the optimizer", but knowing how it works so that you can allow it to do its work. Major examples are knowing how the auto-vectorizer works, what is inside -ffast-math, how important compiler features like LTO and PGO work.
Honest question: do you have numbers to back up that 'vast majority'? At least when we're hiring we've never encountered this, makes me wonder where these people are.
Honestly, I don't, it's only my personal experience. volatile was usually known by name, but not what it does exactly, and I got blank stares when mentioning restrict and basic UBs like signed integer overflow, modifying a variable more than once between two sequence points or the whole type punning through union/memcpy situation.
 

MRC01

Major Contributor
Joined
Feb 5, 2019
Messages
3,485
Likes
4,111
Location
Pacific Northwest
that's where u wrong. SSDs have finite number of writes. so using RAMDisk for temp files will extend ur SSD life.
RAM is very cheap these days, I got 32GB DDR4 for around $100. With that allocating 4GB for RAMDisk (overkill, u need 1GB) is no issue for me.
"Wrong" seems a poor choice of words, as I have a couple of systems that have been using the same SSD for system & apps for the past 10 years.
Yes, SSDs have finite life that is shorter than conventional HDD, but they still last a long time. Long enough that you will probably replace the entire computer long before the SSD wears out.

If you're worried about it, most disk utilities can query the SSD and print its ongoing estimate of remaining usable life.
 
Last edited:

pseudoid

Master Contributor
Forum Donor
Joined
Mar 23, 2021
Messages
5,193
Likes
3,542
Location
33.6 -117.9
most disk utilities can query the SSD and print its ongoing estimate of remaining usable life
S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology)
..."However, this basic S.M.A.R.T. information can be misleading. You only know when your drive is near death, but you can start to experience problems even if the basic S.M.A.R.T. status is okay. For a closer look, I recommend downloading CrystalDiskInfo for Windows (free), ...which will offer up more detailed S.M.A.R.T. information than your computer provides on its own."
From <https://www.pcmag.com/how-to/check-your-hard-drives-health>
 

anmpr1

Major Contributor
Forum Donor
Joined
Oct 11, 2018
Messages
3,740
Likes
6,454
- it's like going backwards. Yahoo mail redesign provoked plenty of outrage but they're not listening. Seems like they want us to quit using this stuff.
Simple is always better. At least for a simple man like me. I used to use Outlook (part of a 'box' set of Office 2016 I got from work, for a few dollars--Microsoft's HUP program). It seemed like once a year Outlook would 'blow up' and I'd have to reconfigure the settings. In a corporate environment, stuff like mail merge, calendar sharing, delayed delivery, call to meetings and all the rest could be a helpful way for your boss to keep track of you. But for the single user? At home?

Back in the day I used Netscape mail client (I think that was what it was called). I was looking for something like that to replace Outlook... simple, easy on the eyes, and easy to use. Installed Thunderbird email gatherer and responder. Has a calendar. Simple interface, and so far it's been reliable. YMMV.

Sometimes I get a pop up add from MS (don't you love it when your OS is an add agency?) telling me that 'old' Office stand-alone is quaint, and that I'd be better served with an ongoing monthly subscription to the latest and greatest Office. Complete with an 'introductory' offer! I thought, "You know, when I used my Smith-Corona for typing letters and documents, and as long as it worked and as long as I could obtain a new ribbon for it, why would I ever buy their new model, just because it's new?"

I think the same way about Office. At this point in my life, I know where they've hidden the couple of features I use, so why would I want to pay for a 'new and improved' version that does the same thing, except that I'd have to re-find all the stuff I use now, but will be hidden ina different place?

Apart from their little calculator app, which has actually improved over time, MS has always been, at best, average software. Possibly below average. And over time they have not gotten any better. They are essentially a blight upon the software world. But they've got a pretty good gig going for them. That's for sure. So you have to give credit where credit is due.
 

storing

Active Member
Forum Donor
Joined
Aug 27, 2021
Messages
226
Likes
220
Simple interface, and so far it's been reliable. YMMV.
Been using it for a long time, and mileage does vary greatly. Not a week goes by in which some small issue makes me realise software development is just hard to get right. From the top of my head, past 2 weeks or so: not opening attachment upon doubleclicking, weird focus issue in message list leading to deleting emails accidentally, other focus issue making down arrow scroll message instead of folder, even though you tell it do display unread folders it does not update after marking all as read or deleting all, etc. That being said: yeah Outlook isn't exactly better. I think the only email client I really loved was the one in Opera. But I'm probably just romanticizing that now.

MS has always been, at best, average software
Dunno, YMMV indeed :) It's a bit hard to look at it as one entity given the insane amount of very different software the different teams produce. What I use from that overall does have a fairly high 'just works' factor. Compared to alternative software from other makers and/or on other OS'es, I'm not really inclined to say the gras is that much greener on the other side. With very clear outliers on all sides.

Since I'm sitting behind it now, an example: WSL + VSCode is really something they nailed for what I do with it. Couple of clicks and I'm debugging code which lives on the local Windows drive but in WSL and the thing even deployed the needed packages to WSL automatically. And it does not do that for just one language, no, it does so for multiple languages, and all via roughly the same workflow. And the VScode instance next to it behaves exactly the same but there I'm debugging the same code natively on Windows. Doesn't happen often I go 'wtf' because something is good in software. If I compare that with the alternative, all of that natively on a linux machine and what it takes to get that set up, it's fair to say at least some things did get better over time.

Or take Remote Desktop for instance: maybe I'm just lucky, but I don't recall ever having wasted time getting it to just work. The alternatives on the other hand, oh my. And even if they're finally running after tweaking x configuration files and endless googling the experience is still subpar. Copy-paste to host? Oh sorry, no, you first need xxx for that. Numeric keypad? Oh no, sorry, we don't support that. Just to name something. tldr; I'm not blind for the sh*tshow they produce, but it's not like there's so much software out there which just does what it should do with zero problems, MS is no different in that regard.
 
Last edited:

anmpr1

Major Contributor
Forum Donor
Joined
Oct 11, 2018
Messages
3,740
Likes
6,454
Software design, like anything else coming from a 'team', requires leadership to set parameters. To reward excellence, and discourage/punish garbage quality. People will do what is expected of them, for the most part. What we see from MS (and I don't want to single them out, but they are the topic) is a total lack of commitment to excellence. Anytime the 'new' product is worse than what it replaces, you know that there are horrible structural/organizational problems, going on, to the core of the operation.

I'm reminded of a story Bob Lutz told about a meeting he had with Ferdinand Piech. Piech was appalled at the fit and finish of the panels coming off his assembly line, and decided to do something about it...

I asked then-CEO Ferdinand Piëch how they did it: "I got all the production execs in a room and told them they had six weeks to achieve consistent 4mm gaps or they'd all be fired. It was easy!"
 

Chromatischism

Major Contributor
Forum Donor
Joined
Jun 5, 2020
Messages
4,807
Likes
3,749
Apart from their little calculator app, which has actually improved over time, MS has always been, at best, average software. Possibly below average. And over time they have not gotten any better. They are essentially a blight upon the software world.
You must not use MS 365.
 

anmpr1

Major Contributor
Forum Donor
Joined
Oct 11, 2018
Messages
3,740
Likes
6,454
Compared to alternative software from other makers and/or on other OS'es, I'm not really inclined to say the gras is that much greener on the other side. With very clear outliers on all sides.

Yeah. It's true. Some people say, if you don't like X, use something else. I get that. In fact, I was going to make a major change. I was going to configure emacs as my email client, running OpenSolaris in a CDE window. For advice, I contacted Stallman, but didn't quite get there...

Me: Can you give me a few pointers on this emacs thing? Configuration and all?

RS: You mean GNU emacs?

Me: Uh... yeah.

RS: No, man. I'm not dealing with anything connected to the old Sun, or the new Oracle. And you need to ditch that Sparc Station, if you want my help. I suggest a refurbished ThinkPad using LibreBoot, and Trisquel.

Me: OK. I guess I could try Linux on a Pentium II.

RS: You mean GNU Linux? I'd prefer you to use HURD, but if you're running Dynabolic, or Pure OS, I can help a little.

Me: Thanks. BTW, once we get this emacs thing sorted out... um...er... I mean GNU Emacs, can you help me with getting Doom Eternal running in a CDE window? Or is it GNU CDE?

RS: For now, just CDE. They went with the Lesser GPL. Better than the BSD license, for sure. But to answer your question, you shouldn't ever log in to the Bethesda server. Too proprietary, and you never know what that they are snooping around your HD. And forget the Nvidea thing, altogether.

Me: Well... what can I play? It's kind of limiting. What about Tux Racer?

RS: You mean GNU Tux Racer? Actually, with the Winter Olympics going on, I think that's a good idea. BTW, can you make a donation to the FSF? We've got some upcoming litigation, and... well, you know how expensive that is.

Me: After hanging up the phone... Now, what did I do with that Windows installer?
 

storing

Active Member
Forum Donor
Joined
Aug 27, 2021
Messages
226
Likes
220
Right, that bs :cool:

I'm all for correct and unambiguous naming in software and engineering and science and the likes, but in natural day-to-day language, for things like this: meh. If someone tells me the software runs on Linux I assume it has been tested on one or more major distributions currently available, and know it probably doesn't on x obscure things out there which do happen have 'linux' somehere in their name.
 

maverickronin

Major Contributor
Forum Donor
Joined
Jul 19, 2018
Messages
2,527
Likes
3,311
Location
Midwest, USA
I work at a small MSP.

If it wasn't for Hanlon's razor you could easily assume that MS's poor QC was a conspiracy to keep people like me employed.
 

pseudoid

Master Contributor
Forum Donor
Joined
Mar 23, 2021
Messages
5,193
Likes
3,542
Location
33.6 -117.9
Or take Remote Desktop
I will, thank you!
Windows and its siblings (illegitimate or home-brewed) maybe vilified as 'crap' but it still is the 'best horse in the glue factory'.
I have a server running Win10 and few NUCs running Win11. mstsc /console allows me to connect any one of these to any other, without a hitch. Sure, RemoteDesktop has its idiosyncracies (as does any/all software) but me thinx Windows is the only sh*tshow that respects legacy and backward compatibility. TeamViewer is an alternative for file exchange (etc.) but it ain't no poster-boy for remote connectivity w/o having to fork out for a $ub$cription.
I'm reminded of a story Bob Lutz told about a meeting he had with Ferdinand Piech. Piech was appalled at the fit and finish of the panels coming off his assembly line, and decided to do something about it...
At around this time, the Porsche FFGE (Fine Fookin' German Engineering) mindset was furious when the Toyota QA was hired to 'teach them' how to bake quality into the 911. Porsche FFGE had to bow down, while being skooled by Toyota QA; so that each 911 would not need fit-n-finish checks/fixes upon leaving the line. Results of the FFGE skooling has paid dividends since those time more than a decade (or two ago).
 
Top Bottom