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
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
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.
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
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
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.
so you set up a simple local webserver (python has a oneliner from the command line for it! python -m http.server, or python -m SimpleHTTPServer if you're on 2.x), but then it turns out you can't use some specific feature because chrome decided to arbitrarily limit it to HTTPS to help push the web towards encrypted pages, and canvas fingerprinting means you can't download a PNG off the page...
and now you need a more "real" local server, with valid TLS certificates...
and the thing about that friction is that you remember it? you internalize how annoying it is to do development on this thing.
so the next time you might have some motivation to work on it, that gets lessened by the reminder that you gotta make sure your node-based HTTP mini-server is correctly installed (you updated Node for another project, maybe that broke it?) or if the certs expired or your new browser didn't accept them
a big part of what helps keep projects going after a long time is minimal friction to getting back into them, you can just pick them up and start coding.
The more that feels like a slog, the less likely you are to keep up working on it
@foone Fortunately, the last time I needed to do this, I already had a domain, ACME, DHCP/DNS, and a webserver reverse-proxy-to-a-local-server config to copy, so it "only" took all day!
The general idea is to issue wildcard certs to each host so I can go to https:// projectname.hostname.mydomain.example, which seems like it should be simple enough if you have a domain, but actually setting it up is mildly annoying.
(Edited to remove superfluous detail.)
To be fair a lot of developers can't either...
@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 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. :)