179 karma · joined August 27, 2013
Location: Durham, NC
Remote: Yes
Willing to relocate: No
Technologies: Python, OCaml, Elixir, Postgres, Elasticsearch, LLVM, ML, PyTorch, scikit-learn, Django, JavaScript, TypeScript, and many others
Résumé/CV: https://www.linkedin.com/in/erikrose/
Email: grinch@grinchcentral.com
Wrote the ML-optimized data-flow language that powers Firefox autofill. Designed the secure self-update mechanism for Let’s Encrypt, the world's largest certificate authority. Added hash-based reproducibility to Python’s standard packaging tool, pip. Wrote 5 Python packages in the top 1% downloaded.>20 years of experience, across web, Mac desktop, and language stuff. Drop me a line! I’d love to make beautiful things with you!
Hold keys and click to move a window: https://mmazzarolo.com/blog/2022-04-16-drag-window-by-clicki.... I love it. Bind it to a mouse button with USB Overdrive for extra convenience.
In the terminal, use emacs-style bindings like ctrl-A and ctrl-E to move to the beginning and end of lines. On the Mac, Home and End are for beginning and ends of documents.
Use USB Overdrive or Steermouse to bind mouse buttons to whatever you want, including Paste. Select-to-copy might be impossible, though you could certainly do select-and-click-to-copy.
Cheers!
I can't overstate how important it is to have a keyboard that groups function keys into "islands" of (generally) 4 so you can touch-type them. An ergonomics consultant once observed that the source of my neck pain was that I looked at the keyboard while typing. As a touch-typist, I found this puzzling—until we realized it was just the function keys. :-)
Btw, LaunchBar (https://obdev.at/products/launchbar/index.html) makes an excellent 2nd-level util for things not common enough to merit a single keychord.
Here are the best uses I've put extra mouse buttons to:
1. Double-click. Great for selecting word-at-a-time and really relieves the RSI. If you double-click the double-click button, it turns into triple-click, which selects paragraph-at-a-time.
2. Close window. I live the "window closing lifestyle". If I'm not slamming a browser tab, I'm closing an editor or Finder window—which I often opened by mousing to a link, icon, or existing window a split second before. In fact, I can get quite a furious window-closing hurricane going, targeting window after window, focusing each with a click and then hitting the close-window mouse button. It's a great way to clean up after finishing a task.
3. Option-click. I use this almost exclusively for clicking on a different application and hiding the previous one, a standard Mac behavior that becomes smoother by being one-handed. It also activates rectangular text selection in BBEdit, as a bonus.
4. Exposé/Mission Control. Hold a button, have all your windows flatten out, then mouse to one to bring it to the fore. I have several quicker ways of unearthing windows, but this is a nice fallback when all else fails.
Those are the big 4. I have extra buttons I've been auditioning for some other bindings like Open In New Window and Back, but what I really wish for are...
5. Grab-scroll. I had this with the old ADB Kensington Thinking Mouse driver. Hold down a mouse button, yank on some scrollable content, and the content would follow your mouse pointer, just like today's 2-finger trackpad gesture. If anybody knows how to set this up today, I'd be grateful to hear it!
6. Drag window. It seems like we're all looking for faster ways to arrange windows these days: tiling managers, grid snapping, hotkeys bound to specific positions. In my perfect world, I could drag a window anywhere I pleased but without the expensive targeting of the small draggable region first. If I could place my pointer just vaguely over a window, hold a certain mouse button, and drag the window thereby, I'd be thrilled. I've never managed to set this one up but would love to hear ideas.
Funny enough—and maybe this is just an artifact of Mac software design—I've never found so-called "right click" profitable enough to actually earn it a button. :-)
They way they're implemented in browsers, width media queries are a UI antipattern. They violate the principle of least astonishment because their boundaries are invisible, causing the user to be surprised every time.
option-= ≠
option-< ≤
option-> ≥
option-/ ÷
option-o ø
option-w ∑
I don't know why other OSes haven't adopted something similar. The first couple of these were even idiomatic in HyperCard's scripting language.And can subscriptions be canceled in practice? If you cancel your Photoshop subscription, your documents suddenly become unopenable. In this way, software subscriptions—at least for software you create with—are like protection money: "Nice documents there. It'd be a shame it anything were to happen to them."
https://github.com/mozilla/popup-urls
Thank you for contributing!
In general, I highlight recommend Things. It does all the typical GTD stuff, in a mostly Maclike way, and has a great iOS client.
[Edit: In fact, you can actually drag a mail right into a Things window as well, just as you propose. I never knew that!]
(Actually, using something like Blink and mosh seems like a better idea. See some of the comments below.)
And then, when you want to plug them into an (even Apple) laptop, you detach the adaptor and forget to bring it with you.
Plugging in a cable is often a lot simpler, and it works every time.
That's because we've been making a dedicated effort to find and stamp out sources of UI lag! It's called Quantum Flow; see https://wiki.mozilla.org/Quantum/Flow for more.