A reason to use old computers that I don't see mentioned here has to do with accessibility. People in the US usually have current hardware such as the latest Mac laptop, but that is not the case in all other countries. Current hardware is a bit of a luxury that we don't fully appreciate. I have an open source project with global users, and one person in Mexico contacted me looking for help. He was trying to create 3D…
A couple of the web sites I maintain have a primary audience of poor, largely immigrant, people with a fifth-grade education and only rudimentary English. The server logs show most of the connections come from people using what people on HN would consider toy or throwaway convenience store phones. The high-end is people on Windows XP. (The sites are in the healthcare space, and if one of our clients is really so desp…
Why use old computers and operating systems?
111–120 of 146 posts
Re: Why use old computers and operating systems?
#112Not to mention Beautiful Doreena! Misses
Re: Why use old computers and operating systems?
#113Not to mention Beautiful Doreena! Misses Mac OS pre X.
Re: Why use old computers and operating systems?
#114Earlier quoted context omitted.
my personal rule of thumb is that my software must be useable at -O0 with address sanitizers on my desktop - so far that has meant that at -O3 it stays useable on raspberry pi-3 level hardware. A few months ago I tried to make a build which targetted ivybridge-level CPUs, it took no more than one day for a few users to report that it didn't work on their machines, turns out a lot of people still rock some old AMD Phe…
> my personal rule of thumb is that my software must be useable at -O0 with address sanitizers on my desktop The trouble with this criterion is that it fundamentally alters the language from the ground-up: it forces you to optimize the source code structure for this too, not just run-time performance. Specifically, one of the core strengths of C++ is that no matter how many (practical) levels of wrapping and forwardi…
I thought that it would but on my dev machine (a broadwell 6900k, still pretty good but definitely not top of the line) I actually have to push it a fair bit to have this be an issue (which is why it is important to do it ! because low-power computer are really low-power compared to that), so this question definitely does not come up during the design (which is in my case generally very template-y and subject to the issues you mention). For reference, the app in question is https://ossia.io
The cases where doing this led to changes in code were more in the lines of "welp, looks like this algorithm I implemented for rendering waveforms is damn inefficient", "gonna have to think if I can redraw this widget less", "I should really cache the results of this computation", etc.
Re: Why use old computers and operating systems?
#115Earlier quoted context omitted.
my personal rule of thumb is that my software must be useable at -O0 with address sanitizers on my desktop - so far that has meant that at -O3 it stays useable on raspberry pi-3 level hardware. A few months ago I tried to make a build which targetted ivybridge-level CPUs, it took no more than one day for a few users to report that it didn't work on their machines, turns out a lot of people still rock some old AMD Phe…
I've still got some SandyBridge-era computers running.
So it's quite a durable product and I'm proud of it.
Using Linux helps as it doesn't need 1 more gigabyte or RAM each time I upgrade it. And my emacs just consume the same amount of RAM as years ago. Very predictable.
Re: Why use old computers and operating systems?
#116Earlier quoted context omitted.
my personal rule of thumb is that my software must be useable at -O0 with address sanitizers on my desktop - so far that has meant that at -O3 it stays useable on raspberry pi-3 level hardware. A few months ago I tried to make a build which targetted ivybridge-level CPUs, it took no more than one day for a few users to report that it didn't work on their machines, turns out a lot of people still rock some old AMD Phe…
I've still got some SandyBridge-era computers running.
Re: Why use old computers and operating systems?
#117Earlier quoted context omitted.
I like how cushy we have it when 500Megs are considered 'only'. I appreciate nowadays even tetris runs on 6GB but if the software is written well, 500MB is a lot of memory to use.
Modern hardware has allowed us to ignore bad/inefficient coding. That aside from the need to compute larger data sets is the ONLY reason we keep needing more RAM and CPU with every coming year. If software companies would stop rebuilding everything from scratch as a product model and instead do it only when absolutely necessary and just work on improving the EXISTING software, most things could run on an OS with 2G o…
Re: Why use old computers and operating systems?
#118Re: Why use old computers and operating systems?
#119Earlier quoted context omitted.
A couple of the web sites I maintain have a primary audience of poor, largely immigrant, people with a fifth-grade education and only rudimentary English. The server logs show most of the connections come from people using what people on HN would consider toy or throwaway convenience store phones. The high-end is people on Windows XP. (The sites are in the healthcare space, and if one of our clients is really so desp…
I think tech people should get their funds together and uplift everyone on the planet. Today we have modern speedy hardware that is just as cheap... And it would add huge demand to software.
-people don't know how to use them (and I mean even all the people living in the EU know how to use a desktop/laptop - and I don't mean just the old)
-people that are not educated will start clicking left right and center, their computers will be infested/compromised in one day, good luck supporting them. If you don't support them, you just helped create an extra 1bn zombie network
-most areas don't have adequate infrastructure or even no infrastructure at all, in many locations in EU, you 'feel' it when kids begin online classes. Suddenly the countries' networks get flooded with 1-2-5 million streams. I am not saying to leave areas in the dark forever, but it is a slow progress to expand/include all geographies, it takes time, and the need creates the work. We cannot force-invest to bring fast internet in remote locations just for the sake of bringing it to them.
-tech people make and spend money. Preference is give to 'make'. Making an investment of $100bn with a potential revenue of $1tn sounds good. By why would (e.g.) Lenovo donate $50bn worth of laptops? How will they recover this amount when their software sales are negligible? Will they track (spy) everyone to generate revenue? Will (e.g.) Microsoft sponsor those laptops, that will then 'monetize' (spy) to recover the costs?
so many more points/questions.. I will stop here..
Re: Why use old computers and operating systems?
#120Earlier quoted context omitted.
> my personal rule of thumb is that my software must be useable at -O0 with address sanitizers on my desktop The trouble with this criterion is that it fundamentally alters the language from the ground-up: it forces you to optimize the source code structure for this too, not just run-time performance. Specifically, one of the core strengths of C++ is that no matter how many (practical) levels of wrapping and forwardi…
> : it forces you to optimize the source code structure for this too, I thought that it would but on my dev machine (a broadwell 6900k, still pretty good but definitely not top of the line) I actually have to push it a fair bit to have this be an issue (which is why it is important to do it ! because low-power computer are really low-power compared to that), so this question definitely does not come up during the des…
So I have an application in front of me right now that I've already optimized the heck out of (and it's as close to single-pass as can be), and turning off optimizations in release mode makes a basic 0.27-second task take 2.4 seconds... almost an order of magnitude difference.
And when I try to break into the code to see where it stops, it's almost always within traditionally-very-cheap operations like std::vector::emplace_back
1 std::vector::emplace_back
2 std::vector::_Emplace_back_with_unused_capacity
3 std::_Default_allocator_traits::construct
4 T::T
5 U::V::w
and std::lower_bound 1 std::lower_bound
2 std::lower_bound
3 std::_Seek_wrapped
4 std::_Vector_const_iterator::_Seek_to
which have suddenly become incredibly expensive due to lack of optimizations like inlining. And notice this is all in the standard library, not within my own (template-light) code.Going from 0.27 seconds (near-instantaneous for the user) to 2.4 seconds (a huge lag) is enough to make the program incredibly frustrating. Whether it's still "usable" at that point I guess is a matter of debate (some devs just put up with any amount of lag you throw at them!), but I feel pretty safe in saying the task I'm trying to accomplish simply would not be possible without optimizations.
So I'm guessing your performance targets & constraints are quite different, and that's probably why this isn't such a big deal in your case.