Hacker News new | ask | show | jobs
by tempodox 854 days ago
Came here to say the same. I was fully expecting the irony of seing the world's smallest (and standard) text editor re-implemented in the most infamous bloat monster. Also, every software ever written is being rewritten in Webshit these days anyway.
2 comments

I tried compiling it as suggested by the GitHub page.

The build folder weighs in at 618MB and it took 5 minutes and 139 packages to compile on a decent 2019 machine. The final executable is 84M (debug, 11MB after stripping)

It then takes something like 10MB of RAM for opening an empty file, of which 1MB is on the heap.

It is not Electron, but for an "ed" remake, it is definitely a bloat monster. Overall, it is 100 to 1000 times heavier than "ed".

EDIT: speaking of bloat, I remember when EMACS was nicknamed "Eight Megabytes And Constantly Swapping" as a joke on how bloated it was. Times have changed...

Most of the initial data on the heap is all of the embedded pre-formatted syntax definitions, which I decided was a small price to pay for a quicker startup (and since `cargo install` is unable to include any bundled syntax definitions).

Aside from that I guess I have included some pretty big libraries, which due to static linking basically add directly to the binary size. I'm open to replacing most of them for smaller versions, but I won't do it myself.

When I checked the memory usage I saw that bash is using 11 MB and hired 9.2MB, so I'm pretty satisfied with that. If you want some memory usage horror though, note that due to having unlimited undo/redo hired will constantly increase its memory usage for every change you make until you close it. (It is at least diff-based, so it doesn't blow up on larger files unless you change every line.)

Yep, decidedly a different time. Very different expectations about what functionality should be expected in a tool, and when it is meaningful to try to reduce memory usage.

It isn't too late yet, you can be the one to bring The Standard Editor to the Webshit masses!

The backing library https://github.com/sidju/add-ed could either be run through https://neon-bindings.com/ , or compiled into web assembly for that matter. Should just be a weekend project to create an electron `ed`, and if that isn't sufficiently bloated you can `node install everything`.

I was going to say that I expected the Webshit version to use different NPM packages for cursor-blink-on, cursor-blink-off, and cursor-blink-toggle (not to mention telemetry and the requirement to create a cloud user account), but it seemed out of context :)