the button I want most in my Typing English career: a "yes that's misspelled, correct it to the first suggestion" button.

having to switch to a mouse to click on the spellchecking for every minor word is so tedious

maybe if you hit it again after it applies a correction, it goes to the 2nd most likely suggestion
I'd have to pair this with a spellchecker that understands my personal english dialect of Later IRC English, though. Standard spellcheckers don't understand how I capitalize and think I misspelled words all the time, just because I didn't capitalize them.

one thing I'd really love to have is a better way to do text input, like have a single program I type into that interfaces with everywhere I type English*.

right now it's a bunch of website textboxes, chat apps, text boxes... a unified customizable & hackable frontend for typing would be perfect.

* as opposed to programming/shell/commandline stuff, not other Human languages. The only other language I know enough to ever type in is Latin, and that's fairly limited. I'm sure I can figure out "cinaedus sum" myself
a few replies mentioned IMEs: maybe I could implement this as an IME, which'd let me tie it into my operating system's keyboard support in a nice way?
my other option is just having it be an always running textbox app, that appears when I hit a hotkey. But crucially when it appears, it queries the running program and figures out where the cursor is, so when I finish typing into the floating textbox, it can paste it back into there.

having it as as a browser extension would also get me 90% of the way there since that's my main place I type, but the remaining 10% would be a pain.

and browser extensions are a pain, too

I have been programming in a lot of environments for a long time and I have long since learned to identify when you're developing for an environment that hates you personally and is always going to be an uphill nightmare of security, updates breaking things, and 3rd parties you have to wait on to approve anything
and those environments are never fun to code in. you should be getting paid to code for them, or they will rapidly burn you out.
(if you're getting paid, they'll slowly burn you out)
this is why I don't usually do mobile or minecraft development.
I've done both before, but those environments hate you too much, so I'll stick to programming where it can be fun and enjoyable

maybe I should compose an official list: Foone's Symptoms of A Programming Environment That Hates You

1. Factors completely outside your control break the code periodically. This is anything that's an add-on, usually. The browsers changed something, the sites changed something, the game changed something... It's a project that can never be finished, can never be put away. It will just break on some random day because some people in a different organization with different goals changed it

this doesn't include the time my website broke because a subcontractor unexpected renamed columns in the database on a saturday. that's just a massive fuck-up
but any environment where shit changes periodically and have to change your code to fix it? easy burn out. you're not feeling like dealing with that app you wrote 3-20 years ago, but that doesn't matter, it suddenly needs attention or it will just stop working
2. third-party authorization before code can run.
The more steps there are between you writing code and that code actually running where it needs to be ran, the less enjoyable it can be for my specific style of fast-iteration-loop ADHD-fueled programming, sure, but the worst is delays where you need to wait on other people, people outside your organization.
nothing kills my motivation to fix problems and add features like knowing that even if I spend all day hacking on this, no one can see my changes until Wednesday (if I'm lucky. it might be Friday...)
this is why my personal projects are all on platforms like the web (where I run my own hosting, or use very simple free hosting) or scripts/binaries I can just throw up on github or my own site, and people can download and run them on their own machines.

3. Environments where you can't do it "the simple way". This is usually a security thing, but it can be other problems (licensing, approved software lists, etc).

Basically any scenario where there's a simple and easy way to solve your problem, but that can't be done, and a much more complicated solution must be done.

"security" itself isn't a bad thing, but sometimes the way it interacts with programming is terrible, and results in there being two ways to do something:
1. the obvious simple way
2. the much more complicated, but secure way
and some environments enforce you doing #2, even if this is only a test that you're doing on a local machine
@foone
But #2 is often the much more complicated, and looks like it might be secure, but isn't, way

@foone This reminds me of `open()` vs `openat()` and the suite of related syscalls, `open` is simple and ergonomic but it's _too_ simple for handling extreme corner cases with hostile local users futzing the filesystem underneath the application, so you end up needing the more complex API when dealing with a more complex and hostile world.

Imma keep reading but I don't know if there is a good answer to this mismatch.

@foone the horrifying thing is just how much of software development has _inescapably become_ this kind of thing by way of more or less every dominant technical trend of recent decades.
@foone 0. the people who write and maintain it don't use it themselves

@foone @jpm
Also any platform or language that introduces breaking changes every 6 months because fuck that.

Kubernetes
NodeJS, in fact, almost anything JavaScript-based

@foone I was going to say but you beat me to it. It really rots the soul to work with platforms that hate you. Some customers will do the same.
@tekhedd oh yeah. customers that hate you are also a bad one. even if the work itself is fine, having the response to every change you make being "I HATE THIS AND YOU SHOULD CHANGE IT BACK AND THEN DIE" can burn you out just as fast

@foone The most grateful *and* ungrateful were free software users IME.

And then there's big corps. "We are writing an internal app to replace you that steals all your ideas. Also we forgot to send the check."

It's enough to make you cynical, but the good customers are pretty awesome. :)

@foone thats so fucking real, all the time. thats why i can only stomach one clepto bounty per quarter, in spite of the usually-eye-watering fiduciary upside. somehow these environments are always so hostile to all life
@foone Personally I use ghosttext (https://ghosttext.fregante.com/) to connect librewolf to nvim in the way described earlier in this thread, although it supports other browsers and editors as well. Uses a websocket json thingy under the hood, with an editor-side extension being responsible for running the server, and the protocol looks to be well-ish documented (but I’ve never done websockets, so I don’t know how much of a pain they are).
👻 GhostText — Use your text editor in the browser

@babiak oh neat, I may have to play with that. Thanks!

@foone yes please!
The GUI tool for git that we use at work doesn't have a spell checker and I'm sure there are many embarrassing (and completely avoidable) typos in my commit messages…

And there are some other textboxes that don't support spellchecking for more than one language, but I need that
(and it is possible to do that in a way that works for me, since there already are textboxes where that is the case. I would like to have that for every textbox on my pc)

@foone petition to just remove capital letters altogether since they are superfluous anyway.
@foone ...now I wonder if you could just literally apply a Japanese IME to English

tbh I'm pretty sure that's kinda how Mac autocorrect works now (I always disable it though)
@foone like IME for Japanese but in English? Would be nice. The Japanese keyboards often have extra buttons for that, even (to the left and to the right of the space, for different types of autocorrect)

@nina_kali_nina @foone Isn't the IME more for auto*complete* than 'correct'? (Although I suppose you could probably repurpose them for autocorrect in English mode with no problems, assuming you can figure out how to implement that...)

Also, isn't that one of the purposes of the menu key still being a thing on almost every US keyboard? to allow opening the context menu to select a correction without needing to use the mouse? (With the exception of ones that were "we're totally not a monopoly" pressured by microsoft to add a non-reprogrammable bullshit-machine button instead...)

@becomethewaifu @foone depends on how you set it up, I suppose. Google IME offers autocorrect out of the box in some but not all languages. English Handwriting is one of those.
@nina_kali_nina @foone Yeah, it's not at all surprising that some IMEs integrate autocorrect with the autocomplete, especially on phones, but my desktop IME (mozc) usually gives nonsense when I mis-type something by one character...
@becomethewaifu not too surprising, yeah. Though Google Input works on desktops, including Windows.

@foone I'm not sure what you're using for typing but for example libreoffices' auto capitalization can be reverted with ctrl+z (ms office too it seems)
I feel like some programs I've used reverted their auto-smarts on backspace after space, but I can't find which that was <.<

EDIT: I totally read the reverse intention of your wish T_T

@foone A touchscreen is also useful for that. I can just point at the right word.
@foone I have that in EMACS (C-;, via the flyspell mode) and yes it's a great feature
@foone This isn't a suggestion (or even a solution) but at some point I figured out how to make neovim jump to the next misspelling, show the default correction, and with one keystroke correct-and-jump to the next misspelling.
I loved it, but as with so many neovim features, haven't needed it enough to remember how it works.
@foone This is part of the reason I do all my writing on my phone. The autocorrect is actually automatic.
@foone the ever helpful context keyboard key?
@foone the one that nobody uses but always complains that you can't just get a context menu on a keyboard...
@halva @foone Came here to suggest that. Depending on the software I can highlight a red-underlined word and hit context key then enter and it'll change it to the first suggestion (or arrow down to the one I want first). But it isn't universal. Firefox seems to only suggest spelling if you right click, not when you hit that button.
@foone, seems to me that, other than it looking suspiciously like stream-of-consciousness stuff, this thread should be a blog posting… 👍