upvote
If you want things to work every single time on a billion different devices this is how you do it.
reply
Yeah, and then 100 different apps can repackage the browser engine as an Electron app, each weigh 300+mb.

I saw this recently with Balena etcher. It's a firmware flashing app with about 10 buttons total. It's over 400mb because it's written in node and has an electron GUI.

Good jerb.

reply
When your flashing app starts getting bigger than the operating systems it's writing, you should start asking yourself some questions.

  ~$ du -h $(which dd)
  76K     /usr/bin/dd
Etcher truly is the clowniest Electron app of them all.
reply
Better and similar size:

    $ du -h $(which pv)
    116K     /usr/bin/pv
pv has a progress bar and nicer syntax. Next time you need to write an image, try:

    sudo pv -Yo /dev/blah /path/to/your/image.img
The -Y makes it sync after each write so that the progress bar represents actual progress instead of just how fast you can copy to kernel write buffers.

My life improved measurably after I contributed that '-o' flag to pv and it then made its way into all my systems through regular OS updates :)

reply
Nice pro-tip! Thanks stranger.
reply
Long live dd! Except every time I use it I am terrified I'll blow out the brains of the wrong device :/

Another example clown app: the MacOS downloads of TuxGuitar, a Java app, used to just ship as a zip with a big jar in it. Now it ships an entire Java Runtime environment specific to your processor architecture. It's 480MB. Derp.

reply
> the MacOS downloads of TuxGuitar, a Java app, used to just ship as a zip with a big jar in it. Now it ships an entire Java Runtime environment specific to your processor architecture. It's 480MB.

MacOS used to include Java out of the box, and then they stopped doing that. How else should an app reasonably behave to keep supporting new versions of the system?

reply
Requires: Java 22 [link]
reply
> It's a firmware flashing app with about 10 buttons total.

What you're saying is it's the ideal kind of application for not obsessing over its background resource consumption, given that it's only going to be running for 10 minutes once or twice a year.

reply
Indeed. The most goofy is their proprietary Print dialog. I think(?) they added it to gain a previewing pane, but Apple added that capability to the native print dialog about 10 years ago. Chrome still forces its old bespoke one though, and when you do the extra click to get the OS standard one, they apparently don't use the previewing API, so it's missing.
reply