Live data from Hacker News

Did we lose our way in making efficient software?

rufatmammadli.medium.com

91–100 of 515 posts

Re: Did we lose our way in making efficient software?

#91

Earlier quoted context omitted.

> Now we measure things in GB units. 1000X bigger, but what was gained? Functionality and graphics. For instance 'dict.words' alone on Linux is 4.8MB. Arial Unicode is a 20MB-ish font. The icon for an application I work on is 400K. The Google Crashpad handler for handling crashes is somewhere around several MB. A 4K true color display is 138 times larger than 640x480x16 colors.

While plenty of software is overly fat, you hit the nail on the head. A Word document isn't just text and some formatting sigils. Editing isn't just appending bytes to the end of a file descriptor. It's a huge memory structure that has to hold an edit history so undo and track changes works, the spelling and grammar checker needs to live entirely in RAM since it runs in realtime as you edit, and the application itsel…

> the application itself has thousands of not millions of allocated objects for everything from UI elements to WordArt

There are ways to optimize those things, though, which developers might not be bothering with anymore. The Design Patterns book used a word processor as the example when explaining the flyweight pattern for efficiently representing lots of objects. OLE objects like WordArt support different states[0] and don't necessarily have to be active at all times.

[0] https://learn.microsoft.com/en-us/windows/win32/com/object-s...

Re: Did we lose our way in making efficient software?

#92
post #52

Earlier quoted context omitted.

Now imagine same but with AI killer bot swarms. Slaughterbots. Because we could ! As long as we have COMPETITION as the main principle for all tech development — between countries or corporations etc. — we will not be able to rein in global crises such as climate change, destruction of ecosystems, or killer AI. We need “collaboration” and “cooperation” at the highest levels as an organizing principle, instead. Compet…

What we really need is some way to force competition to be sportsmanlike. EG: cooperating to compete, just like well adjusted competitors in a friendly tournament who actually care about refining their own skills and facing a challenge from others who feel the same way instead of cutting corners and throats to get ahead. Cooperation with no competition subtracts all urgency because one must prioritize not rocking the…

I don’t see any urgency in depleting ecosystems or building AI quickly or any other innovations besides ones to safeguard the environment, including animals.

Human society has developed far slower throughout all history and prehistory, and that was OK. We’ve solved child mortality and we are doing just fine. But 1/3 of arable farmland is now desertified, insect populations are plummeting etc.

Urgency is needed the other way — in increasing cooperation. As we did ONE TIME with the Montreal Protocol and almost eliminated CFCs worldwide to repair the hole in the ozone layer

Re: Did we lose our way in making efficient software?

#93

Interesting fact that this article has been posted on Medium, resulting in a 7.32 Mb page.

I got 8.3MB on page load.

Then I got uBlock Origin to turn off JavaScript, remote fonts, and large media items.

Result: 116KB

So 98.61% of the page is extraneous...

Re: Did we lose our way in making efficient software?

#94

Earlier quoted context omitted.

The thing that makes me crazy is that the thing that we do on computers are basically the same each year, yet software are more and more heavy. For example just in 2010 a Linux distribution with a DE just started did consume 100Mb of RAM, an optimized version 60Mb of RAM. I remember it perfectly. I had 2Gb of RAM and did not have even a swap partition. Now just a decade later, a computer with less than 8Gb of RAM is…

Not discounting your lament about memory use, this caught my eye: > I would throw my computer out of the window if it takes more than a minute to boot up, even Windows 98 was faster! Sure, Windows has grown a lot in size (as have other OSes). But startup is typically bounded by disk random access, not compute power or memory (granted, I don't use Windows, if 8GB is not enough to boot the OS then things are much worse…

But that is true. My laptop with windows, i7, nvme, 32gb ram now feels the same as my old laptop with i7, SSD and 16gb ram did 7 years ago.

Bloat ware everywhere, especially browsers.

Re: Did we lose our way in making efficient software?

#95

My opinion about this is that yes, we lost our way, and the reason is very simple, it is because we could. It was the path of least resistance, so we took it. Software has been freeriding on hardware improvements for a few decades, especially on web and desktop apps. Moore's law has been a blessing and a curse. The software you use today was written by people who learned their craft while this free-ride was still ful…

> It was the path of least resistance, so we took it.

Well said. I believe many of the "hard" issues in software were not "solved" but worked around. IMO containers are a perfect example. Polyglot application distribution was not solved, it was bypassed with container engines. There are tools to work AROUND this issue, I ship build scrips that install compilers and tools on user's machines if they want but that can't be tested well, so containers it is. Redbean and Cosmopolitan libc are the closest I have seen to "solving" this issue

It's also a matter of competition, if I want users to deploy my apps easily and reliably, container it is. Then boom there goes 100mb+ of disk space plus the container engine.

Re: Did we lose our way in making efficient software?

#96
post #89

Google Docs might be able to directly edit .docx files now, but that is pretty new feature, and it doesn't surprise me that it's slow. It's a proprietary format owned by Microsoft. The argument that software ought to be efficient is valid, but the example of editing a non-native format seems unfair. Any time you add emulation layers you should expect things to slow down. Did you consider trying Microsoft's own browse…

.docx (office open xml) is an open published ECMA standard[0], and lots of other apps include support[1], including google which added editing without conversion in 2019[2]

[0]: https://ecma-international.org/publications-and-standards/st... [1]: https://en.wikipedia.org/wiki/Office_Open_XML#Application_su... [2]: https://www.theverge.com/2019/4/10/18304978/google-docs-shee...

Re: Did we lose our way in making efficient software?

#98
post #87

Earlier quoted context omitted.

I work at a place that ships an app to both Apple and Microsoft Desktops (we could even do Linux is there was ever any demand for it). We use this old thing called Java which still seems to work. I don't develop it though so I guess I don't have to worry about too much of my resume getting caught up with unfashionable languages (let's face the facts about what most tech these days is trying to advance - promotions -…

OP is obviously talking about mobile apps.

Yeah, that Microsoft App Store on mobile is a b**h.

Re: Did we lose our way in making efficient software?

#99
post #6

I want to make native apps but Apple and Microsoft seem to be trying really hard to stop me. I have to buy developer accounts, buy certificates for signing binaries, share 30% of my revenue with them for barely any reason and so on. Not to mention the mess they've introduced in their APIs - especially Microsoft. So of course we choose the much simpler, much cheaper way of the web.

Ok Set up CC processing on the web: How much are you going to pay stripe? 2.9% + 30¢ ... that means you have to charge 10 bucks to get down to a 6% transaction fee. Quite the price floor and an interesting cap on your pricing model! What does managing chargebacks cost you? The moment your taking money your going to hire in customer service, or spend time dealing with CS. What happens when you get a chargeback, or do…

Even when using Stripe (which is a premium payment service that's more expensive than most options) you'd be better off than the 15% from Apple as long as you sell for more than $2.5. And that's not even counting the up from cost that come with Apple (subscription + the need to buy a Mac).

How is chargeback being managed on Apple? I doubt they are swallowing the cost on their side, so I don't really see the difference between what'd get with a bank: you're losing the money anyway.

Re: Did we lose our way in making efficient software?

#100
post #47
post #40

Earlier quoted context omitted.

You don’t have to do any of that for a native Mac app. Signing it is a good idea but not required and you can distribute it from your own website or even from GitHub/Lab where you can tell people it’s not notarized and they’ll need to command click and open it the first time.

The reason that Apple and Microsoft require all this is also that native apps have a lot more access to the system.

This doesn't matter. Notarization doesn't do anything against a dedicated attacker willing to commit illegal acts.

Notarization is supposed to deter malware by a combination of static/dynamic analysis and attaching some real-world legal entity to any signed binary so law enforcement can follow up on if malicious activity is happening.

Analysis is not bulletproof and can be worked around.

The legal entity requirement is also trivial to nullify. At least in the UK, the company registration authority charges a nominal fee (payable by credit card - stolen if necessary) and puts you on the company register. Dun & Bradstreet scrapes that and that's how you get the DUNS number necessary to register for an Apple dev account. All of this is trivial to get through if you don't mind breaking the law and making up a few fake documents and providing a stolen CC (and assuming you're already planning to break the law by distributing malware, this is not a problem).

Finally, even if the "legal entity" bit was bulletproof, law enforcement just doesn't give a shit about the vast majority of online crime anyway.

All of these requirements are just a way to lock down access to the walled garden and put as many roadblocks to laymen trying to make their own software (in favor of big corps) masquerading as security theatre.

Post reply on HN