7 ms·
Opposite anecdote, in the 2000s, I worked at a company that had dozens of computers running jobs, built out a server room with raised floors and built out a SAN
by scarface_74 2y ago
Opposite anecdote, in the 2000s, I worked at a company that had dozens of computers running jobs, built out a server room with raised floors and built out a SAN to store a whopping 3 TB of data and we had a home grown VB6 job scheduler that orchestrated jobs across the computers running Object Rexx scripts.
We had our own internal load balancer, web servers, mail servers, ftp servers to receive and send files, and home grown software.
Now I could reproduce the entire setup within a week at the most with some yaml files and hosted cloud services. All of the server architected is “abstracted”. One of the things he complains about.
As far as backwards compatibility, worshipping at the thrown of backwards compatibility is one reason that Windows is the shit show it is. Even back in the mid 2000s there was over a dozen ways to represent a string when programming and you had to convert back and forth between them.
Apple has been able to migrate between 5 processors during its existence by breaking backwards compatibility and even remove entire processing subsystems from ARM chips by removing 32 bit code compatibility.
- worik 2y ago> As far as backwards compatibility, worshipping at the thrown of backwards compatibility is one reason that Windows is the shit show it is. Not entirely, there are other reasons too But we should respect semantic versioning. Python is a dreadful sinner in that respect.
- foobiekr 2y agoSemantic versioning is an illusion. It's a human-managed attempt to convey things about the surfaces and behaviors of software systems. Best case, it isn't completely misleading and a waster of everyone's time. There is no perfection here, but the correct way to reason about this is to have schema-based systems where the surfaces and state machines are in high level representations and changes can be analyzed automatically without some human bumping the numbers.
- worik 2y ago> Best case, it isn't completely misleading and a waster of everyone's time You mean best case it is useful
- mihaaly 2y agoAbout compatibility. Windows is a shitshow beacuse the leadership is chaotic, dragged all around all the time, never finishing nothing well. They only survived because of backward compatibility! Building on the unlikely success in the 90s. Also, why do I have to install new software in every couple of months to access my bank account, secure chat, flight booking system, etc., etc., without any noticable difference in operation and functionality. A lot of things unreasonably becoming incompatible with 'old' (we are talking about months for f's sake!!) versions. That's a nuisance and erosion of trust.
- scarface_74 2y agoApples leadership hasn’t always been a light on a shining hill, especially during the 90s and they still managed the 68K to PPC transition.
- chikere232 2y ago> Also, why do I have to install new software in every couple of months to access my bank account, secure chat, flight booking system, etc., etc., without any noticable difference in operation and functionality. A lot of things unreasonably becoming incompatible with 'old' (we are talking about months for f's sake!!) versions. That's a nuisance and erosion of trust. Are you talking about security updates?
- scarface_74 2y agoAnd my other question, is why are constant updates a concern? It’s not like you have to get a stack of floppies and upgrade your software or even do anything manually. Everything auto updates. At least with iOS, iOS 18 supports devices introduced since 2018 and iOS 16 just got a security update late last year and that supports phones back to 2017.
- eviks 2y agoThe obvious answer is because update can break your workflow or waste your time in other ways
- Arelius 2y ago> worshipping at the thrown of backwards compatibility is one reason that Windows is the shit show it is You say Windows is a shit show, but as someone who has developed a lot on both Windows and Linux, Linux is just as much a shit show just in different ways. And it's really nice being able to trust that binaries I built a decade ago just run on Windows.
- scarface_74 2y agoLinux is a shit show because there is no driver standard among other reasons
- smitty1e 2y agoThis gets at the heart of The Famous Article: my pet project vs. corporate-grade stuff. The individual vs. the group. Where I agree with the author is the need to keep individual tinkering possible. However, generalizing anyone's idiosyncratic tastes is impossible.
- scarface_74 2y agoIs that a real article? Do you have a reference for it?
- smitty1e 2y agoTFA is the linked article that was posted to HN.
- AnthonyMouse 2y agoIt has no driver standard on purpose with the intention of getting drivers into the mainline kernel tree. If drivers are "standard" then low quality drivers full of bugs and security vulnerabilities proliferate and only the OEM can fix them because they're closed source, but they don't care to as long as the driver meets a minimum threshold of not losing them too many sales, and they don't care about legacy hardware at all or by then have ceased to exist, even if people are still using the hardware. If there is no driver standard then maintaining a driver outside the kernel tree is a pain and more companies get their drivers into the kernel tree so the kernel maintainers will deal with updating them when the driver interface changes, which in turn provides other people with access to fix their heinous bugs.
- deleted 2y ago[deleted]
- dpkonofa 2y ago>Apple has been able to migrate between 5 processors during its existence by breaking backwards compatibility and even remove entire processing subsystems from ARM chips by removing 32 bit code compatibility. I would consider myself an Apple evangelist, for the most part, and even I can recognize what's been lost by Apple breaking backwards compatibility every time they need to shift direction. While the philosophy is great for making sure that things are modern and maintained, there is definitely a non-insignificant amount of value that is lost, even just historically but also in general, by the paradigm of constantly moving forward without regard for maintaining compatibility with the past.
- scarface_74 2y agoWhat was the alternative? Sticking with 65x02, 68K, or PPC? They could have stuck with x86 I guess. But was moving to ARM really a bad idea? They were able to remove entire sections of the processor by getting rid of 32 bit code and saving memory and storage by not having 32 bit and 64 bit code running at the same time. When 32 bit code ran it had to load 32 bit version of the shared linked library and 64 bit code had to have its own versions.
- dpkonofa 2y ago>What was the alternative? Sticking with 65x02, 68K, or PPC? No, including an interpreter like they did (Rosetta) was an alternative. The "alternative" really depends on what the goals were. For Apple, their goal is modern software and hardware that works together. That's antithetical to backwards compatibility. >They could have stuck with x86 I guess. But was moving to ARM really a bad idea? I don't think I ever suggested that it was or that they couldn't have... >They were able to remove entire sections of the processor by getting rid of 32 bit code and saving memory and storage by not having 32 bit and 64 bit code running at the same time. Yes, and, in doing so, they killed any software that wasn't created for a 64-bit system. Again, for even a purely historical perspective, the amount of software that didn't survive each of the instanced transitions is non-negligible. Steam now has an entire library of old Mac games that can't run on modern systems anymore because of the abandonment of 32-bit without any consideration for backwards compatibility. Yes, there are emulators and apps like Wine and CrossOver than can somewhat get these things working again but there's also a whole subsection of software that just doesn't work anymore. Again, that's just a byproduct of Apple's focus on modern codebases that are currently maintained but it's still a general detriment that so much useable software was simply lost immediately because of these changes when there could have been some focus on maintaining compatibility.
- 3ple_alpha 2y agoYou can also reproduce it within a week without hosted cloud services. What matters is that you don't have to develop custom software and instead spend that week writing config files and orchestration scripts, be it cloud stuff, docker containers or whatever.
- scarface_74 2y agoI can reproduce it without cloud services sure. But then I have to maintain it. Make it fault tolerant. Make sure it stays patched and backed up, buy enough hardware to make sure I can maintain peak capacity instead of having the elasticity, etc. I have done all of this myself with on prem servers that I could walk to. I know exactly what’s involved and it would be silly to do that these days
- forrestthewoods 2y agoWindows is such a shit show that the number one Linux gaming platform works because it turns out the best API for Linux is… Win32. Linux is a far bigger shit show. At least at the platform level. Windows is a lesser shitshow at the presentation layer
- scarface_74 2y agoOn second thought, as a user, Windows itself is…fine. Even as a developer with VSCode + WSL, it’s…fine It’s more about x86. Using an x86 laptop feels archaic in 2025. Compared to my M2 MacBook Air or my work M3 MacBook Pro. The only thing that makes MacOS much better for me is the ecosystem integration
- forrestthewoods 2y agoWindows laptops are genuinely atrocious. I don’t think that’s really an x86 vs ARM things. That’s a red herring.
- scarface_74 2y agox86 laptops can’t be as hood as ARM processors as far as performance per watt. Mac laptops using x86 processors the same atrocious battery life, heat issues and fan noises as x86 Windows laptops.
- forrestthewoods 2y agoAgain, I don’t think that’s a fundamental x86 vs ARM issue. That’s more of a “Intel mobile chipsets from 2019 were terrible” issue. There’s like 3 big factors at play. 1. x86 vs ARM 2. Apple Silicon Engineers vs others 3. Apple’s TSMC node advantage I think the x86 vs ARM issue is a relatively small one. At least fundamentally.
- lelanthran 2y ago> It’s more about x86. Using an x86 laptop feels archaic in 2025. Compared to my M2 MacBook Air or my work M3 MacBook Pro. From the user PoV, isn't that one of those things that are irrelevant? The users, even the very technical ones, neither know nor care that the computer they are using is x86 or ARM or ... You might say that the battery life is part of UX, so, sure, I get that, but while, in practice, battery life on the M1/M2/M3/M4 is superior, as a trade-off the user gets a limited set of software that they can run, which is also part of the UX. So the user gets to choose which UX trade-off they want to make.
- eviks 2y agoSo what was the great benefit of removing 32 bits brought? Are you are to use a single string type without conversions with Swift or has that part never disappeared in those 5 migrations?
- scarface_74 2y agoApple was able to physically remove hardware support for 32 bit code and shrink the processor/use the die space for other purposes. Also, when you have 32 bit and 64 bit code, you have to have 32 bit and 64 bit versions of the framework both in memory and on the disk. This is especially problematic with iOS devices that don’t have swap.
- eviks 2y agoI replied to a comment about desktop and software, yours is about mobile lacking swap and hardware?! (and Apple shipped a gig of high-def screenshot and other garbage it cares so much about having frameworks on disk)
- scarface_74 2y agoYou know that their desktop processors are minor variants of their mobile processors as are their operating systems? In fact, they ship the same processors in their iPads and Macs. And it’s not just about disks it’s about memory.
- aqueueaqueue 2y agoIf it was 3TB then you should to be fair compare it to 3PB now.
- sgarland 2y ago> All of the server architected is “abstracted”. One of the things he complains about. This is my personal bugbear, so I’ll admit I’m biased. Infrastructure abstractions are both great and terrible. The great part is you can often produce your desired end product much more quickly. The terrible part is you’re no longer required to have the faintest idea of how it all works. Hardware isn’t fun if it’s not working, I get that. One of my home servers hard-locked yesterday to the point that IPMI power commands didn’t work, and also somehow, the CPUs were overheating (fans stopped spinning is all I can assume). System logs following a hard reset via power cables yielded zero information, and it seems fine now. This is not enjoyable; I much rather would’ve spent that hour of my life finishing the game of Wingspan. But at the same time, I know a fair amount about hardware and Linux administration, and that knowledge has been borne of breaking things (or having them break on me), then fixing them; of wondering, “can I automate X?”; etc. I’m not saying that everyone needs to run their own servers, but at the very least, I think it’s an extremely valuable skill to know how to manage a service on a Linux server. Perhaps then, the meaning of abstractions like CPU requests vs. Limits will become clear, and disk full messages will cause one to not spam logs with everything under the sun.