2 ms·
The reverse question is what interests me. Modern computers are so much faster, yet we need an ever growing amount of them to solve "the same" problems. If you
by mrweasel 2y ago
The reverse question is what interests me. Modern computers are so much faster, yet we need an ever growing amount of them to solve "the same" problems.
If you could run a small bank or insurance company on a beefy mainframe back in the 80s, then why can't I do the same today with faster hardware? Sure there's more work for the computer to do, but it's also much much faster and as almost infinite more storage space.
How much hardware would you need to run something like HN, if you wrote the code with the same care and understanding of the underlying machine architecture as a 80s software developer? And HN is probably already a good example of how much you can do with very little software.
- tonymet 2y ago80s software was probably 10e5 times as efficient in terms of resources used per unit of functionality. Most of the resources used today are for encode/decode (aka marshall/unmarshall), remote procedure calls (e.g. REST APIs), remote storage (API to DB writes), type checking and inefficient data structures and algos. In short, devs are lazy and the toolkits are sloppy . 100s of MB of code, RPCs , huge DOM manipulations , 100MB of ram just to run a basic CRUD app. It's 85% of the modern software experience. similar crud app in the 80s/90s would take kBs of code & ram, 5ms UI latency, with deferred or no remote calls.
- mysteria 2y agoConsidering how most of the action on HN happens on the front page this site should be runnable on a little ARM SBC with good use of caching. If a site is mostly static with content in RAM a weak VM or SBC can handle a lot of traffic. I'm pretty sure HN already does this but each comment thread would basically be a pre-generated HTML file (served to all users) that is only updated by the server when people post or vote. If someone opens an old thread, then it would take longer to load since the system would have to query the DB, render the page, and put it in the cache.
- The_Colonel 2y agoIt's an organizational problem in its core - how to scale projects across people and teams is the most difficult problem in software engineering. HN is a project which one person can pull off and therefore could be nicely optimized. One talented person can achieve surprisingly much, but there is a limit somewhere. At that point you need to start adding people, but the more people you add to the project, the more diminishing results you'll see.
- fragmede 2y agoThe question is what're the traffic stats for HN. The Apple watch has 2GiB of ram and can do 5Tflops, which means TLs encryption is no big deal (though the number of integer operations per second it can do is more relevant, those numbers aren't given, but we can estimate in the 7 billion Instructions per second range, so it should be well equipped to host an unpopular dynamic site in RAM, but without knowing the traffic patterns for HN, we can't really say if that's enough computing to run the site. As far as running a bank, theres an IBM/360 emulator out there, I bet you probably could run a small bank' overnight batch job runs on a laptop if you had the code.