Web 2.0 or: “Instead of loading all code from the same URL the website now needs a dozen of different scripts from a dozen of different URLs, gives a shit about CSP and only shows a blank page when JS and/or cookies are disabled.”
Don’t worry, texteditor.com is also available as an app on Windows, macOS and Linux thanks to Electron.
It only needs 300 megabytes and you can style it with CSS.
It also only takes a single gigabyte of RAM per file being edited, Isn’t that fantastic?
Oh I love electron
Man it’s not lightweight, but damn, if CSS and JS isn’t a really easy way to build cross platform UIs than other options like Qt. There’s a reason why electron is so popular.
Shhhh, don’t tell anyone
Oh no, I love electron. That’s not a dig on it, it’s just very much a resource hog.
It doesn’t have to be.
One of my experiments, an overlay for a game using camera position API to draw a 3d scene over the game, rendering things as if they were in the game (with some limitations) uses electron and three.js
It’s pretty fast, uses about 100-150mb ram, and works pretty well. A similar overlay using same approach but written in C and opengl take ~200+ mb and a c# one 150-250 mb. The c# one has more features overall so it’s not a complete comparison, but then my overlay can do things the other can’t too.
So was all this bloat inevitable as hardware got better, or is there a way to go back? It feels like a ripoff that our computers are 1000x better but they’re maybe 10x faster once all the shitty software is taken into consideration.
Perhaps it’s kind of inevitable to have some bloat. For example apps these days handle most of the languages just fine including emoji, LTR/RTL and stuff. Some have pretty decent accessibility support. They can render pretty complicated interface at 8k screen reasonably fast. (often accelerated in some way) There is a ton of functionality baked in - your editor can render your html or markdown side by side with source code as you edit it. You have version control, terminal emulator, language servers, etc…
But then there’s Electron, which just takes engine capable of rendering anything and uses it to render UI, so as a result there’s not much optimization you can do. Button is actually a bunch of DOM elements wrapped in CSS… Etc… It’s just good enough for the “hardware is cheap” approach.
I think Emacs is a good example to look at. It has a ton of built in functionality and with many plugins (either custom configuration or something like Doom Emacs) you can have very capable editor very comparable to the likes of VS Code. Decades back Emacs had this reputation of being bloated, because it used Megabytes of RAM. These days it’s even more “bloated” due to all the stuff that was added since. But in absolute numbers it does not need as much resources as its Electron based peers. The difference can easily be order of magnitude or more depending on configuration.
I am working on an application using DevExpress XAF. It allows you to build a big enterprise application relatively quick by doing a lot of the dirty work you would otherwise do yourself for CRUD stuff. A lot of the application can be modified through mere clicks without touching a single line of code.
It is cool but kinda bloaty. When you simply launch an XAF application, it uses 300 megabytes of RAM. And that’s before you even loaded a single byte of business data. You have just reached the login screen.
At least i felt it was “kinda bloaty” until i first booted Void Linux on my gaming PC at home and took a look at htop. IT’S ONLY 400 MEGABYTES AND IT’S READY TO USE! MAYBE ADD 200 MEGABYTES FOR KDE!
ALL THIS BLOATING CANNOT CONTINUE! WE HAVE TO TAKE ACTION IMMEDIATELY OR WE WILL BE FOREVER DOOMED TO UPGRADE OUR RAM LEST WE DON’T WANT EVEN A FUNCTIONING TEXT EDITOR!
I have a few suggestions:
- Better education. Don’t scare people who’re learning programming away from the lower-level stuff, especially as people are even getting scared to use type declarations, not just the pointers (of which I was fearmongered with in college, as they told me Java is the future).
- Better portable APIs. Thanks to WebAssembly, one could easily have both something portable in a web browser and as a native desktop app, except instead we get browsers running said applications. I had some thinking about such a project, but then I remembered my iota project (a D-native replacement of SDL/SFML/GLFW, but without bloat by including standard library features), and then stopped thinking about it immediately, since a much smaller project already causes me too much headache. (Someone has a handy guide on win32 API? I have issues on getting certain messages produced, like input language change, and I don’t know if I glimpsed over some functions that enable them and just weren’t included in the documentation of the input language change event codes.)
You know, I haven’t worked on a super big project, but I feel like every time I’ve gotten a type error in a static language it’s pointed to something wrong with my underlying reasoning.
nope. The bloat is there mainly because it makes the job easier for the devs.
In the short run, yes. In the long run, this just makes a bunch of coders that are now afraid of type declarations, because they were scared away from it with the “what if you have to choose?” tagline, thus making turning back to the proper way of doing things harder.
Can you talk more about this? I’ve never heard that tagline and can’t figure out what it’s supposed to mean.
Just from context, I’m guessing it means that you might type things one way and then need to use them another way later, and dynamically typed languages are sold as not having that problem.
I was thinking about this a bit. Does that mean you can develop a piece of software much more cheaply now? I have a fear that companies writing software get a 10% discount from writing bloat, while clients wind up using 10,000% the resources and are just so used to it they don’t complain.
It’s not really inevitable, it’s just a consequence that develops can get away with being lazy because the hardware can cope with it.
Of course! And it definitely does not try to pry all info about the user that it can and definitely the company behind would not use that in any way.
And then youll only need a near 16gb of ram to text a text file.
I like that you can just install it straight from the Windows Store, no need to even bother opening Edge to download it.
…from the Windows Store
who dare speak of the runes?
SPEZ!!! I love spez! He’s so nice he did r/place again! Also, windows store?? I only know apt
Why is your profile picture the hyprland logo lmao
And the app is just a chromium browser without the ability of typing in your own URL.
That’s a very lightweight one. Stakeholders say it needs to be at least 600mb.
I’m not sure which is worse. I mean most desktop programs are just glorified web browsers anyway (i.e Electron)
What do you mean, “most?” Electron apps are the vast minority of desktop apps.
Electron apps are the vast minority of desktop apps.
“Not for long!” - Multiplatform programmers
They are probably referring to the amount of progressive web apps that are out now.
As long as you don’t check the task manager.
by market share (vscode)
I mean look at the most used applications these days, discord, Spotify, teams, steam, vscode, slack, etc
They might not all exactly be electron but theyre all secretly browsers.
But you can use more shortcuts!
I hate editors in browser. With Chrome at least
--kiosk
turns them in proper apps. In Firefox it’s impossible to turn off browser shortcuts and use them to work.What barbarian do they think I am, using a mouse to do stuff on my editor. I need long complex absurd keyboard shortcuts to function
Allow me to introduce: Firefox vim keybindings extensions. So many more shortcuts if you don’t need to worry about typing characters in normal mode.
which one do u use ?
I’m a Tridactyl person, myself
ah ok. i was using vim vixen
.exe? 🤮
Linux doesn’t have a standard file extension for executable files, and that wouldn’t have been good for this meme.
You can:
./texteditor
,./bin/texteditor
, “texteditor binary”, “(local) texteditor program”..elf is the closest thing we have.
I hate elves. If I see any elves in my computer I’m throwing it in the forge.
YES BROTHER KILL THE ELVES
Eh, .elf is more for really low level ELF files, so a program would just be named program, a kernel would be named kernel.elf
Removed by mod
deleted by creator
Award me a proprietary Ethereum-based crypto token for editing my text with your tool and I’m sold.
Textediting2earn
We use users’ text to train LLMs as well, right?
God it’s so easy
I’ve been wondering which crypto product i should work on. What do you think is the most promising project?
KateKash, Nanocoins, VimBucks, NotePetz++ (i heard cryptobros love ERC-20 based lifeforms), M$ WorDillars
🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮
Considering the tiny token size (1MB?), you might be able to squeeze an editor into an NFT. Heavens knows why you would, but you can.
Is web3.0 just https://texteditor.exe?
Kind of. First you have to buy a Texteditor token and then the license says you’re permitted to open the IPFS link in order to use Texteditor.
You missed the part where tokens are stolen.
Bruh, I actually prefer the “Web 2.0” solution. That way the god damn editor can’t just start accessing all the shit on my drive.
Lol but included in the source for www.texteditor.com is analytics, beacons, etc from Google, Microsoft, Facebook, Twitter, Cloudfare, and a bajillion different ad networks that send the content of your text file to AI models.
pihole and unbound dns babyyyyyy
My text editor doesn’t access shit on my drive (unless I ask it to) because it’s Free Software and my Linux distro package maintainers audit it to make sure it doesn’t contain malware like that.
You’re praising a pathological solution to a problem that shouldn’t exist to begin with.
Forever audits of free software are unsustainable in my opinion.
To truly audit every piece of software, you need an independent party to spend time (often more than the development) to look through the code, that person needs to be equally or more experienced than the developers of the software, and have specific knowledge for vulnerabilities and malicious techniques.
They then need to audit and monitor all of the channels of distribution for that software, including various websites and repositories. This needs to be done constantly.
You effectively need to double or more the total level of effort for all software.
Yes, high profile software (sometimes) gets audited regularly, but the assumption that anything you grab from your package manager has been truly audited leads to a false sense of security, additionally the assumption that an audit being performed means there are no issues with the code also leads to problems.
The reality is that most open source software doesn’t get audited because it is too much work.
Wait until you meet with Javascript and WebAssembly viruses!
WebAssembly is sandboxed and deterministic. Any impure code has to be triggered via message passing with the host language.
That’s why there is sandboxing on macOS and in Flatpacks
I shamelessly use calculator.net instead of installing a calculator on my system lmao
bc -l
I checked the manual to see what the -l switch does and it says you can choose the math library you want to use? in what cases should I use it?
without -l, default behavior is integer results. Probably not what you want in most calculations.
you can also just g**gle your calculations
Use google to mean “web search” in general!
Let them loose their trademark over the name google by generalization!
lose*
isnt that what we’ve been doing for years
gaggle?
goggle
gargle
Removed by mod
Are you aware how much more electricity your calculation is consuming
Looking at you IDX
I just stick a single line of HTML in the address bar and use that as a text editor. It’s just a giant test field taking up the page with a dark background and white text.
Useful if I just want to write text without any need to format it.
Harder to get a virus from a website
Given that JavaScript stands as one of the most prevalent vectors for infections, I am inclined to disagree.