Planned obsolescence is one of the major engines that keep our current system of oligarchic hypercapitalism alive. Won’t anybody think of the poor oligarchs?!?
Stop making him cry, ask him some Rampart questions!
Resources are just way cheaper than developers.
It’s a lot cheaper to have double the ram than it is to pay for someone to optimize your code.
And if you’re working with code that requires that serious of resource optimization you’ll invariably end up with low level code libraries that are hard to maintain.
… But fuck the Always on internet connection and DRM for sure.
If you consider only the RAM on the developers’ PCs maybe. If you count in thousands of customer PCs then optimizing the code outperforms hardware upgrades pretty fast. If because of a new Windows feature millions have to buy new hardware that’s pretty desastrous from a sustainability point of view.
But that’s just more business!
Last time I checked - your personal computer wasn’t a company cost.
Until it is nothing changes - and to be totally frank the last thing I want is to be on a corporate machine at home.
When I was last looking for a fully remote job, a lot of companies gave you a “technology allowance” every few years where they give you money to buy a computer/laptop. You could buy whatever you wanted but you had that fixed allowance. The computer belonged to you and you connected to their virtual desktops for work.
Honestly, I see more companies going in this direction. My work laptop has an i7 and 16GB of RAM. All I do is use Chrome.
It’d be nice to have that - yeah. My company issued me a laptop that only had 16gb of RAM to try and build Android projects.
Idk if you know Gradle builds but a multi module project regularly consumes 20+GB of ram during a build. Despite the cost difference being paid for in productivity gains within a month it took 6 months and a lot of fighting to get a 32gb laptop.
My builds immediately went from 8-15 minutes down to 1-4.
I always felt that this is where cloud computing should be. If you’re not building all the time, then 32GB is overkill.
I know most editing and rendering of TV shows happen on someone’s computer and not in the cloud but wouldn’t it be more efficient to push the work to the cloud where you can create instances with a ton of RAM?
I have to believe this is a thing. If it isn’t, someone should take my idea and then give me a slice.
It’s how big orgs like Google do it, sure. Working there I had 192gb of ram on my cloudtop.
That’s not exactly reducing the total spend on dev ram though - quite the opposite. It’s getting more ram than you can fit in a device available to the devs.
But you can’t have it both ways: you can’t bitch and moan about “always on internet connections” and simultaneously push for an always on internet connected IDE to do your builds.
I want to be able to work offline whenever I need to. That’s not possible if my resource starved terminal requires an Internet connection to run.
Ram is dirt cheap and only getting cheaper.
“Use cloud if available”?
Alternatively they could just use Windows VDI and give you a card + card reader that allows Remote Desktop Connection to avoid this hardware cost, like what my company is doing. Sigh
If the job is fully remote, then the workers could be living on the other side of the country. Using remote desktop with 100ms of latency is not fun.
Or maybe you could actually read the comment you are replying to instead of being so confrontational? They are literally making the same point you are making, except somehow you sound dismissive, like we just need to take it.
In case you missed it they were literally saying that the fact that the real cost of running software (like the AI recall bullshit) is externalized to consumers makes companies don’t give a shit about fixing this. Like literally the same you are saying. And this means that we all, as a society, are just wasting a fuck ton of resources. But capitalism is so eficient hahaha.
But come on man, you really think that the only option is for us to run corporate machines in our homes? I don’t know if I should feel sorry about your lack of imagination, or if you are trying to strawman us here. I’m going to assume lack of imagination, don’t assume malice and all that.
For example, that’s what simple legislation could do. For example, lets say I buy an cellphone/computer, then buy an app/program for that device, and the device has the required specifications to run the software. The company that sold me that software should be obligated by law to give me a version of the software that runs in my machine forever. This is not a lot to ask for, this is literally how software worked before the internet.
But now, behind the cover of security and convenience, this is all out of the window. Each new windows/macos/ios/android/adobe/fucking anything update asks for more and more hardware and little to no meaningful new functionality. So we need to keep upgrading and upgrading, and spending and spending.
But this is not a given, we can do better with very little sacrifices.
As a developer, my default definition of “slow” is whether it’s slow on my machine. Not ideal, but chimp brain do chimp brain things. My eyes see my own screen all day, not yours.
You can also build a chair out of shitty plywood that falls apart when someone who weighs a bit more sits on it, instead of quality cut wood. I mean, fine if you want to make a bad product but then you’re making a bad product.
Resource optimization has nothing to do with product quality. Really good experiences can be done with shitty resource consumption. Really bad experiences can be blisteringly fast in optimization.
The reason programmers work in increasingly abstract languages is to do more with less effort at the cost of less efficient resource utilization.
Rollercoaster Tycoon was ASM. Slay the Spire was Java. They’re both excellent games.
Yeah, I don’t really have a problem with games except for the stuff added on purpose just to make the user experience worse like DRM. I was more thinking about trends like using Electron for desktop development.
I love the good old games on ASM.
It’s a lot cheaper to have double the ram
yeah a lot cheaper to force someone else to buy double the RAM. No thanks.
Companies don’t pay for your 2x RAM and it doesn’t slow down their user acquisition so they don’t care.
lol pay for someone. If it’s your code, you are that someone.
Companies own the code you write.
It’s not your code if you’re working for a corp - it’s theirs.
If someone else is paying you, you can write sloppy code. Got it.
Psychopath
Just because you don’t own something doesn’t mean you should trash it.
First you insist that companies don’t own the code then you say if you don’t own it you don’t have to care.
God I hope I never work with an idiot like you.
I don’t think I’m saying either of those things. I’m saying the opposite actually.
You seem to be suggesting that even though you are responsible for writing code, the company should hire someone else to optimize it for you.
Resources are just way cheaper than developers.
It’s a lot cheaper to have double the ram than it is to pay for someone to optimize your code.
I don’t see where you’re reading that idea.
It’s a lot cheaper to double the ram ergo you do not have to pay someone to optimize your code.
Where are you getting this bizarre inverse from?
My point is, developers should be writing optimized code in the first place.
Reminds me of a funny story I heard Tom Petty once tell. Apparently, he had a buddy with a POS car with a crappy stereo, and Tom insisted that all his records had to be mixed and mastered not so that they sound great on the studio’s million dollar equipment but in his friend’s car.
That’s how my professors instructed me to mix. To make it sound as good on shitty speakers as possible and also sound good on expensive systems.
Reminds me of the ass audio mixing in movies where it is only enjoyable in a 7.1 cinema or your rich friends home theater but not on your own setup
I had the same exact approach back in the late 90’s. My friends had several band projects and when they were mixing their demos, I insisted that if the mixes sound good in a standard car stereo, they’ll sound good anywhere.
This is still a perfectly sound method.
Getting the music you made in your own DAW to sound good on your home speakers is almost easy. getting it to not suck on shitty speakers? that’s an art.
Then again my 2016 stock yaris had the best sound I ever heard anywhere.
Most of the abstractions, frameworks, “bloats”, etc. are there to make development easier and therefore cheaper, but to run such software you need a more and more expensive hardware. In a way it is just pushing some of the development costs onto a consumer.
Most of the abstractions, frameworks, “bloats”, etc. are there to make development easier and therefore cheaper
That’s true to an extent. But I’ve been on the back side of this kind of development, and the frameworks can quickly become their own arcane esoteric beasts. One guy implements the “quick and easy” framework (with 16 gb of bloat) and then fucks off to do other things without letting anyone else know how to best use it. Then half-dozen coders that come in behind have no idea how to do anything and end up making these bizarre hacks and spaghetti code patches to do what the framework was already doing, but slower and worse.
The end result is a program that needs top of the line hardware to execute an oversized pile of javascripts.
But this does not neccesarily mean the consumer pays more. Buying a current mavhine and having access to affordable software seems like a good deal.
Capitalism makes it work only in one direction. Something became cheaper? Profits go up. Sometging became more expensive? Prices go up.
If the software is much more expensive to develop, most is it just won’t exist at all. You can get the same effect by just not using software you feel is bloated.
Reminds me of the UK’s Government Digital Services, who want to digitise government processes but also have a responsibility to keep that service as accessible and streamlined as possible, so that even a homeless person using a £10 phone on a 2G data service still has an acceptable experience.
An example. Here they painstakingly remove JQuery (most modern frameworks are way too big) from the site and shave 32Kb off the site size.
That’s the most professional comment section I’ve ever fucking seen.
Website is amazingly responsive as well, seems to be working.
Hasn’t been linked to reddit yet probably.
Getting away from reddit has shown me that there are unspoiled places in the digital world out there, communities of people who actually care about the topic and not performatism and internet attention.
a) don’t let in anyone who acts like petulant children b) give adults an outlet for occasional outbursts that would make them sound like petulant children
At a certain point it makes more sense to subsidize better low-end hardware than to make every web site usable on a 20 year old flip phone. I’d argue that if saving 32 kB is considered a big win, you’re well past that point. Get that homeless guy a £50 phone and quit wasting the time of a bunch of engineers who make more than that in an hour.
Get that homeless guy a home.
Also, if you are in a basement/mountains/middle of Siberia, waiting for 32 kB takes quite some time.
I’m all for ending homelessness, but that’s really a different problem than we were discussing. I’m pretty confident jQuery isn’t stopping anyone from being housed.
Anyway, there’s no way you’re gonna convince me 32 kB is a lot of data. It’s just not. Even the slowest 3G connections can download that much in half a second. Just the text of this thread is probably more than 32 kB. If you can’t download that much data, you only technically have Internet service at all.
Even the slowest 3G connections can download that much in half a second.
Even 3G is not always avaliable, even 3G sometimes slower than 2G.
32 KB here, 32 KB there and boom - you have bitbucket.
At least in the US, the reason 3G isn’t available is that it has been phased out, as has 2G. You may as well complain about how slow it is to send data with smoke signals, because 4G is table stakes for an internet-capable device now.
US? US is wild place. A lot of people still on ADSL, but 2G and 3G equipment is thrown away and say “lol, you problem, buy new phone”. I won’t be surprised that there are a lot of places where internet is less stable than in a train going through tunnel under the mountain in the middle of Siberia. Which means no internet.
I wonder what happens to internet connection in rural areas of USSA, since you suddenly started talking about it.
In Europe(or at least in my part of Europe) there are places where mobile internet is overloaded like subway system and city center and places where mobile internet is very unstable like my house in suburban area and, agan, trains.
And, as I mentioned, bitbucket. It struggles to load even on average PC.
Where I live even 4G isn’t all that reliable. Making a phone call is mostly impossible and a text message is hit or miss unless I’m in a town or along a major road, This is due to terrain and the general lack of towers. 4G is spotty at best and with many areas having no service at all. And I ain’t never going to live long enough to ever see 5G out here.
But, I would agree that while 32KB is pretty minor for an internet connection, things have a way of stacking. 32KB here, another extra 32KB there and pretty soon things can get ‘heavy’ to use.
Also, engieneers already had tech debt of updating to new jQuery version, which can result in a lot of wierd bugs, so it was achiveing two goals at once.
And probably 50£ phone IS their target device.
🙄
Wow, nice. Sexcellent.
You mean eggcellent?
This is TF2 meme.
This is T9 meme.
Contentious in the comments!
When you see what ONE coder was able to do in the 80s, with 64K of RAM, on a 4MHz CPU, and in assembly, it’s quite incredible. I miss my Amstrad CPC6128 and all its good games.
Still happens.
Animal Well was coded by one guy, and it was ~35mb on release (I think it’s above 100 at this point after a few updates, but still). The game is massive and pretty complex. And it’s the size of an SNES ROM.
Dwarf Fortress has to be one of the most complex simulations ever created, developed by two brothers and given out for free for several decades. The game, prior to adding actual graphics, DF was ~100mb and the Steam version is still remarkably compact.
I am consistently amazed by people’s ingenuity with this stuff.
SNES ROMs were actually around 4MB. People always spoke about them being 32 Meg or whatever, but they meant megabits.
I did like Animal Well, but gave up after looking at one of the bunny solutions and deciding I didn’t have the patience for that.
I think most of the size of games is just graphics and audio. I think the code for most games is pretty small, but for some godforsaken reason it’s really important that they include incredibly detailed doorknobs and 50 hours of high quality speech for a dozen languages in raw format.
I think most of the size of games is just graphics and audio. I think the code for most games is pretty small, but for some godforsaken reason it’s really important that they include incredibly detailed doorknobs and 50 hours of high quality speech for a dozen languages in raw format.
True. Even Xonotic - opensource game - has very small game engine, but game logic and assets(maps, textures, lightmaps) are 1 gig. And same with AltCraft - small engine, but minecraft assets are huge.
When you see what they did in the 60s and 70s, where they ran an entire country’s social security system in a mainframe with a whooping 16Kb of memory (I’m not sure if it was 4 or 16, but it doesn’t make that much difference).
Doesn’t really matter what your developers run on, you need your QA to be running on trash hardware.
We can even cut out the middleman and optimize unity and unreal to run on crap
Jokes on you, my corporate job has crippled the Mac they gave us so much that EVERYONE has trash hardware!
I can think of a few games franchises that wouldn’t have trashed their reputation if they’d have had an internal rule like “if it doesn’t play on 50% of the machines on Steam’s hardware survey, it’s not going out”
I think it’s given us a big wave of “Return to pixelated tradition” style games. When you see 16-bit sprites in the teaser, you can feel reasonably confident your computer will run it.
I don’t mind if indie devs try something experimental that melts your computer. Like beamNG needs a decent computer but the target audience kinda knows about that sort of stuff.
The problem is with games like cities skylines 2. Most people buying that game probably don’t even know how much RAM they have, it shouldn’t be unplayable on a mid range PC.
Im making a 3D game now, and the goal is to get it running on a gtx 660
And it plays at 5-15 fps like Rabi-Ribi.
Unless they use Unreal Engine and don’t know what they are doing. It can be pixely and run like ass.
Octopath Traveler was the last UE based game that really ran well that I can remember.
Was that game any good? The mobile version had a Gacha mechanic that scared me off, but it otherwise looked like a really smooth SNES style JRPG.
I liked it. It’s not particularly hard or deep but the mechanics are nice, battles and encounters don’t overstay their welcome. The interwoven story was done quite nicely. I played it on PC. It runs great on Proton and Windows 7.
I haven’t played the second one, but reviews consider it an improvement. Now that they removed Denuvo I might get it.
I knew someone that refused to upgrade the programmer’s workstation precisely because it would have been a big leap in performance compared to what their costumers used the software on. Needless to say the program was very fast even on weaker hardware.
That someone is me.
We need more shorter games, made by happier devs paid more to work fewer hours, with worse graphics.
I need a glass of whiskey.
Don’t we all, though I’m not opposed to any good liquor
The ideal is “plays fine at lowest graphics settings on old hardware” while having “high graphics settings” that look fantastic but requires too-of-the-line hardware to play reasonably.
Generally this is almost impossible to achieve.
But … where is the innovation (and also Alt text?)
Probably an innovative revelation of the concept of “bloat”.
Image description.
The image is a screenshot of a tumblr post by user elbiotipo.
My solution for bloatware is this: by law you should hire in every programming team someone who is Like, A Guy who has a crappy laptop with 4GB and an integrated graphics card, no scratch that, 2 GB of RAM, and a rural internet connection. And every time someone in your team proposes to add shit like NPCs with visible pores or ray tracing or all the bloatware that Windows, Adobe, etc. are doing now, they have to come back and try your project in the Guy’s laptop and answer to him. He is allowed to insult you and humilliate you if it doesn’t work in his laptop, and you should by law apologize and optimize it for him. If you try to put any kind of DRM or permanent internet connection, he is legally allowed to shoot you.
With about 5 or 10 years of that, we will fix the world.
Innovation is orthogonal to code size. None of the software most modern computers are running cannot be solved on 10 year old computers. It’s just the question whether the team creating your software is plugging together gigantic pieces of bloatware or whether they actually develop a solution to a real problem.
I think that every operating system needs to a have a “do what the fuck I told you to” mode, especially as it comes to networking. I’ve come close to going full luddite just trying to get smart home devices to connect to a non-internet connected network, (which of course you can only do through a dogshit app) and having my phone constantly try to drop that network since it has no Internet.
I get the desire to have everything be as hand-holdy as possible, but it’s really frustrating when the hand holding way doesn’t work and there is absolutely zero recourse, and even less ability to tell what went wrong.
Then there’s my day job, where I get do deal with crappy industrial software, flakey Internet connections and really annoying things like hyper-v occupying network ports when it’s not even open.
I try to not buy any Wi-Fi smart home devices anymore. I try to stick to zwave or zigbee, zwave I have better luck with generally. I even left my nest thermostat at my old house and installed a 10+ year old zwave thermostat at the new one. Way happier. I’m not relying on googles API to be stable anymore for home assistant interaction.
Just use Linux?
Tell that to his boss lol
Yeah, I’d love to, but first we have to tell that to Rockwell, Siemens, Bosch, ABB, etc, etc. All the proprietary software runs on Windows. Not to mention getting my company on board when we’re already heavily into the Microsoft ecosystem at the corporate level.
It kind of baffles me that people are still invested in Microsoft at a corporate level considering the costs associated with it.
The corpos don’t really care and want someone to blame if things go wrong, that’s why they often use proprietary alternatives.
You could make your own smart devices. You don’t even need to be smart in embedded systems these days either. Just use a cheap SBC.
If I can’t type the program into my TRS-80 from a computer magazine I don’t trust it.
I was going to laught at the hypocricy of you using lemmy, definitely not using your TRS-80 but I don’t trust my phone, the lemmy app or lemmy server either.
Trash 80 dialing in to a Linux shell account using one of the various cli lemmy clients should work
We just need to write a version of Lemmy that runs in basic on a TRS-80 and publish a magazine
I’m training to work in hardware currently. Its my hope that there at least, people still care about min-maxing power vs performance.
My understanding is that hardware companies usually alternate generations: one for performance, one for power. It seems like this is the balance that makes the market happy.
It’s really hard.
Wasn’t expecting it to be easy. Think it will be much more rewarding though. Already has been thus far.
Edit: wait, that was a pun, wasn’t it?
Any recommendations for a beginner or hobbiest? I’m going to assume it goes beyond writing more performant code
A lot of it is in the design stage tbf. If features/UI can be cut or simplified then it can make a big difference. Performant code is good and the tech stack you choose also matters.
I started with raspberry pi zero projects. Specifically projects that make use of various GPIO hats like cameras, displays, speakers, etc. At that level, things are still very abstract compared to bare-metal firmware, but you learn some of the basic principles of I/O. Next plan is to read up on circuit design, and start doing more projects with arduino-controlled breadboards.
No, it was a palindrome.