Live data from Hacker News

Why use old computers and operating systems?

john.ankarstrom.se

111–120 of 146 posts

Re: Why use old computers and operating systems?

#111
post #13

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…

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.

Re: Why use old computers and operating systems?

#113
> Quite literally, the only way to use HyperCard is to get a hold of an old Mac – or emulate it, but emulation always falls short of the real deal. That’s why HyperCard alone is a pretty clear reason to use Mac OS 9

Not to mention Beautiful Doreena! Misses Mac OS pre X.

Re: Why use old computers and operating systems?

#114

Earlier 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…

> : 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 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?

#115

Earlier 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.

My PC is a dualcore intel thing with 8 gigabytes of RAM. It's 12 years old. It was 2 gigabytes of RAM when I bought it and I have added an SSD some years ago and upgraded the Gfx card. It is still perfectly usable for my job (writing code, word processing, web dev). When I have bigger task, I design them on it and move them to online CPU/GPU if needed.

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?

#116

Earlier 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.

Yeah, SFF PC of that era can be had for sometimes RPi-level prices. My grandma has one and it's still more powerful than most low-end laptops people use. I've also got one as a home server, it's plenty powerful for that too. I'd recommend them to anyone who "just wants a pc".

Re: Why use old computers and operating systems?

#117

Earlier 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…

This would drive down developer costs though wouldn't it?

Re: Why use old computers and operating systems?

#118
post #32

Earlier quoted context omitted.

My first computer was a Timex 2068. With 500 MB the world is boundless. If you want to experiment with constraints get a ESP32.

Why would anyone need more than one 5.25" floppy disk? It's got 160KB!

Well, compared with 3" microdrive it is a lot! :)

Re: Why use old computers and operating systems?

#119

Earlier 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.

Even if we give everyone a $1000 laptop, we will create the following pitfalls:

-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?

#120

Earlier 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…

Interesting, I guess it depends on your application. :-) You made me go back and double-check this on an actual program I had; here's what it is as a comparison point:

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.

Post reply on HN