To expand on shagie's answer, vi is a separate utility except when it's not (f.g. Linux vi is usually a minimal vim build running in vi-compatible mode). For a more pure taste of vi, install nvi or use vi on *BSD.
Note for mobile users: you can setup quassel server to connect to IRC and use the quassel client on your phone. The quassel server acts as an intermediary that keeps the IRC connection stable.
I thought of OpenBSD too since it includes Perl modules for OpenBSD::Pledge and OpenBSD::Unveil. Now I'm wondering if I can get something to work where these are used before importing CPAN modules to reduce the damage of potentially hostile modules.
To add to this, it's designed to work in conjunction with small programs. You don't write everything using bash (or whatever shell) built-ins. It will feel like a crappier Perl. If there is some part of your script where you're struggling to use an existing tool (f.g. built-ins, system utils), write your own small program to handle that part of the stream and add it in to your pipe. Since shell is a REPL, you get instant feedback and you'll know if it's working properly.
It's also important to learn your system's environment too. This is your "standard library", and it's why POSIX compatibility is important. You will feel shell is limited if you don't learn how to use the system utilities with shell (or if your target system has common utilities missing).
As an example of flexibility, you can use shell and system utilities in combination with CGI and a basic web server to send and receive text messages on an Android phone with termux. Similar to a KDE Connect or Apple's iMessage.
It works quite well. There is a lack of precision trying to drag the cursor around on Android, which is made worse on the <$100 quality devices. Using vim's keyboard commands, I can precisely edit text far easier than anything else I have used on a phone. I never used emacs because I'm not a fan of chords, and this is amplified on the phone. However, people who swipe text may like emacs chords over vim's commands and modes.
Neither would the 8 bit CPU you are salvaging. You don't even really need it anyways, you could get away with integer math. You would be running trading algos for bullets and cigarettes in a shanty bazaar.
I just want a 200LX with a bit more RAM, wifi, and a new-ish CPU. As far as I'm concerned, it could run on a Raspberry 0 W. I haven't seen anything new with that Palmtop style of keyboard. It needs both good keys and a decent layout, but everything new I've seen seems to compromise on both.
More support, better support training, and policies that don't handcuff their dispute resolution options (before lawyers get involved). Excellent support, and even taking it on the chin when appropriate, will do more for a business' image than any finely-tuned damage control press release.
You can easily stow a portable solar panel in a hiking bag that can charge your phone and the other accessories. A laptop would have a harder time getting charged, even if it was a Chromebook. Portable battery packs intended for phones would also be easy to stow. Not only do they fit more compactly, but they are light on your weight budget and not as fragile as lightweight laptops.
I've been thinking about something similar. A polyvalent UI with CLI, GUI, and AUI (audible user interface). The AUI could be implemented as a TUI/HTML page (to leverage existing work on screen readers) but designed to be read rather than seen.
I also like to look at the two and four star reviews. 5 are obviously bought, 1 could just as easily be an irrational customer, and 3 may just be people who feel lukewarm. Well written 2 and 4 star reviews seem to have the greatest number of people attempting to approach the review objectively.
Note to phone users, the formatting works better in landscape.
I don't remember when this was written, but it's an interesting read. It requires a bit different approach, but it is augmented well by 3GL programs. Commands that don't exist can be written in shell, Python, C, Rust, etc. I usually use a shell first approach, start the command as a shell script and rewrite it in something else if necessary. It is quite flexible and extensible if you work within it's data types (probably the wrong term, but f.g. files and text streams).
You don't get the market Nintendo is catering at all. I have bought 3 Switches because the games are fun and they have age appropriate content. I will probably buy another two more Switches by the end of the year, but not a single PS5 or Xbox One *.
That's why I bought and played Breath of the Wild. It sure beats an experience like GTA V's single player where I can't seem to go five minutes without some NPC talking. I dreaded everytime I opened a car door.
Or living in a rural area with crappy Internet. I've installed wireless Internet in places where the people are wealthy but could only get a crappy DSL line. An Internet connected app, web or native, was a pain in the butt to use.
Mobile users can have problems too. I still come across dead zones in network coverage that render some apps useless and I'm not even outside of town.