This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-07-27
Channels
- # announcements (16)
- # architecture (19)
- # beginners (31)
- # calva (2)
- # cider (1)
- # clerk (4)
- # clj-yaml (58)
- # cljdoc (2)
- # cljs-dev (10)
- # clojure (77)
- # clojure-europe (108)
- # clojure-norway (26)
- # clojure-sanfrancisco (2)
- # conjure (1)
- # cursive (2)
- # datahike (5)
- # datomic (13)
- # emacs (7)
- # etaoin (3)
- # hyperfiddle (15)
- # introduce-yourself (3)
- # kaocha (1)
- # off-topic (21)
- # reagent (4)
- # releases (1)
- # shadow-cljs (41)
- # spacemacs (28)
- # specter (8)
- # squint (30)
- # yamlscript (2)
måning
Weird, it's not usually like this
Slack is having some issues - I noticed it on other workspaces too
Good morning!
I recently skimmed a blog post that somebody had made on famous software developers who suffered from RSI. All Emacs users. I saw an amazing presentation of Emmy by @sritchie09. He had a wrist protector thingie on during the presentation. His editor of choice was Emacs. I have my back problems, but fortunately, no wrist problems as of yet (knock on wood 😬) I try to mould my keyboard experience so that my fingers travel as little and non-contortedly as possible, and I do not use Emacs (though not for that particular reason), so I'm hoping to keep up my personal trend until retirement. Have even looked into voice control, foot pedals and other peripherals as preventative measures. Nothing implemented yet, but my recent exacerbated back problems are a reminder to do something about it. Take care of yourselves out there, regardless of your editor or other tools of choice! http://xahlee.info/emacs/emacs/emacs_hand_pain_celebrity.html https://www.youtube.com/watch?v=B9kqD8vBuwU&pp=ygUMY2xvanVyZSBlbW15
Ah! That was actually a cast for a thumb I broke practicing jiu jitsu - no one asked about it but it crossed my mind to make a joke about emacs (not that RSI is a joke at all). I’ve definitely suffered from some ulnar nerve issues that had my left pinky and ring finger sensitive and tingling and solved it with lots of neck stretching, finally committing to an ergonomic keyboard and really just spending shorter sessions at the keyboard
i've been using emacs since 1988 - and no sign of any RSI yet (and i have had other RSIs from running and rowing)... so i reckon p(RSI | emacs) < 1.0
emacs since ’85, only RSI I ever had was from over-using a trackball
I've never managed to get on with emacs, but have had RSI in my wrists. Mostly solved it with a keyboardio split keyboard, WorkmanP(-ish) layout and layers so my fingers never have to travel more than 1 key in any direction.
tbh, automating the monthly work task that required an ungodly amount of copy pasting probably did at least as much good though
Haha I am still smiling that I am the RSI poster child from my cast appearance
I had bad wrists in my first year of emacs (2011 ish), then I immediately set out to use a different system of keybindings the effect was pretty immediate, and haven't looked back since :)
what did you rebind @U45T93RA6? I've got <caps-lock> as <ctrl>, but i think that's it...
99% of my bindings are <single-modifier> + <single key>. I generally use one hand for each part of such a binding Part of the trick being, I use all three modifiers (cmd, ctrl, meta), which might require a little hackery And I need to aggressively remove any binding that is there by default / installed by packages
My experience has been, when you use both hands, moving them as a whole, you avoid finger/wrist contortions This goes in the opposite direction of the "fingers in home row" belief, YMMV
@sritchie09 happy to hear that it was just a temporary thing and that you're taking care of yourself ❤️ Thanks for the awesome presentation!
My current thinking is that more modes + a keyboard that has more accessible keys in general - but I'll take more accessible modifier keys for both hands - will be my keyboard nirvana. I'm not sure how to organize the "more modes" yet, or even how to implement it in a way that doesn't collide with apps...
As an example of how remapping things causes app collisions/confusion, I've rebound holding down tab
to option + shift
, and I've made a different keyboard layout where tab
(`option + shift`) and u or i outputs < or >, but IntelliJ interprets tab i
as option shift i
, not >, so it activates some shortcut, at least when I'm in a Clojure buffer. When hitting tab i
in the Repl, I get >.
lol @U0AQ3HP9U - i'm exhausted just thinking about the effort of all that remapping and remapping debugging!
@U0524B4UW it's really annoying. And the slow feedback loop (creating a new keyboard layout and actually having OSX accepting it is tedious) is not helping, either.
Ideally, I'd like to have my cake and eat it; do a very custom thing with modes and different keyboard layout, without having to change a bunch of stuff in random apps as well. I know you can program some keyboards directly with QMK or whatever it's called, I owned an Ergodox EZ that could do that. But I haven't found a keyboard I actually want - most of the market is mechanical keyboards, and, as it turns out, they're not for me. I love the Mac scissor switch or whatever it is. And even if it has the rightish switches, I'm picky about the layout.
i could probably do better without too much effort - <caps-lock> as <ctrl> is great, but i'm using <option> as <meta> and hitting it only with my left thumb, which is a bit weird
i also love the macbook scissors and dislike mechanical switches
How about tab, have you done anything with that?
no - one of my fave emacs formatting commands (`indent-rigidly`) is bound (by default in doom) to (C-x TAB)
, so i didn't want to mess with tab
i have repeatedly declared emacs config bankruptcy, so i'm sticking as close to stock as possible these days
Ahh too bad, I think caps lock is the most ergonomic modifier key for me on a standard qwerty keyboard, closely followed by tab.
Oh, and btw, just to be clear; I didn't intend to bash on Emacs, and I can't say whether there is connection in using typical Emacs bindings -> higher risk of RSI. I hope there isn't! The article hints at it, and I can see how it would make sense, but that's neither statistics nor scientific 😄 Those things I read and watched were just reminders to me, personally, to remain conscious of the danger of improper ergonomics in general. @U07SQTAEM @sritchie09 @U0524B4UW and other Emacs users 🙂 May you type effortlessly always ⌨️🤓
As someone who has spent 30 years behind a keyboard, without any serious health issues but thinking keyboards suck, I have finally started to rework my keyboard. I'm currently a month into full-time using a split 34-key, columnar stagger keyboard on a custom (non-qwerty layout), and it is just magic. Combining home-row mods and combos you can easily reproduce everything from a full size keyboard, while making it much more logical and drastically reducing movement across the board, pun intended. There are plenty of custom keyboard and alt layout communities, but beyond the physical layout of the keyboard and micro-optimizations around typing natural language text I have not found that much interesting stuff and there are so many possibilites for improvements. It boggles the mind that trillions of hours are spent by humans behind keyboards and yet this is the current state of affairs. It seems like the biggest innovation since the dawn of computing is the ability to remap capslock to another key, which is just silly. Expanding on the concept of home row mods for example, there's no reason to limit ourselves to four different modifiers when any key can act as modifier, combine it with chording (which we all do all the time anyway, for example holding ctrl and shift together) and you can probably have a thousand different single-key shortcuts available within one row of home row. Considering this, the debate of evil-mode vs vanilla emacs keybindings seems silly, they're both terrible. Sorry for the rant, but I guess my point is @U0AQ3HP9U come join the keyboard revolution 😂
@U055NT3124U I'm trying! 😅 Do you have your setup documented anywhere? Also; if your setup is highly customised and far away from standard qwerty, do you ever feel hampered when having to type/work on a machine other than your own? I did to some degree when I tried the Ergodox EZ out, and it's part of my desire to have an "in-between"ish layout, where I use a standard physical QWERTY, and the standard bindings are still (largely) available. I do realise that this is a major roadblock for full ergonomic bliss, so at times, I'm tempted to dive deep again.
There's definitely a lot to unpack on this subject and I'm tempted to document and maybe even create a framework for creating an efficient keyboard layout, a bit like Miryoku (google it) but taken to the next level. I'm still iterating and tweaking as I go but my experience so far is so encouraging that there is no way I'm ever going back to a standard keyboard/layout. The question of whether to try to retain proficiency on standard keyboards is interesting, if you regularly use both types of keyboards, my guess is you could be proficient in both. To me it's a non issue, I don't plan to do any serious computer work in an environment where I'm forced to use someone else's keyboard (I recognize not everyone has that option of course). One thing to keep in mind is that an Ergodox EZ is a monster of a keyboard compared to a 34-key split lowprofile, which is very portable. And more keys means more reaching, without much benefits if you ask me. As for qwerty vs alternative layouts; I think alternative layouts are much nicer. But given the choice of an alternative layout or all other benefits that come with programmable keyboards (layers, combos, tap/hold etc) I'd definitely go with the latter. If you do go for alternative layouts, don't bother with dvorak or colemak, there are better layouts nowadays. In general, I don't think there's a one size fits all with all this stuff. I've seen professional developers typing with 2.5 fingers, looking at the keyboard as much as the screen without a care in the world, while producing better output than I can hope to achieve with my fancy touch typing :rolling_on_the_floor_laughing:
Here's what I'm currently using, with this layout I can comfortably do everything I can do on a full-size keyboard. Blue stuff indicates combos that are available on all layers: enter, tab, esc, navigation, brackets etc. Everything is available within one key position of home row, and all modifiers and layer swithes are on home position for all fingers. So holding left thumb key for example gives access to all symbols.
I actually did the math on my statement above: "you can probably have a thousand different single-key shortcuts available within one row of home row"
And to clarify: by "single-key shortcut" I'm thinking of all shortcuts that can be formed by holding one modifier, then pressing one key, but where both modifier and key can be a combo. It turns out that it was a conservative estimate. If we limit the experiment to shortcuts that can be formed by producing the modifier with one hand and the key with the other, then there are 137 billion single-key shortcuts on a 36-key split keyboard:
user> (* 2 (math/expt 2 (* 18 2)))
;; => 137438953472
But considering few of us are infinitely dextrous 36-fingered beings, a more relevant example would be to limit this to combos involving at most 2 keys and only horizontally (12 per hand) or diagonally (16 per hand) adjacent keys, these are all easy to type.
user> (* 2 (math/expt (+ 18 12 16) 2))
;; => 4232
And we end up with 4232 different shortcuts. But this should still be enough even for the most hardcore emacs user to get rid of all prefix/leader stuff and have immediate access to everything instead.
@U055NT3124U having modifiers and layer switches on home row is kind of genius. I've thought about it myself, but not enough to go through with it. I guess it can work with my "in-between" qwerty layout, since it's additive.
I wish it were easier to get started. Just working with creating an alternative keyboard layout and actually getting MacOS to accept it is tedious, and Karabiner Elements is not exactly easy to work with, either. It's a different story with a programmable keyboard, of course.
Yep, it is a bit of a hassle unfortunately, ACAICT the only way to create the layout I describe above is using QMK, and even there it has only been possible for the last year or so, and only by using the old school configuration using C source code with weird macros and recompiling/flashing for every configuration change. Plus the limitations on keycodes and other things that QMK has inherited from the age of flash/ram restricted 8-bit controllers are annoying. But I haven't looked at many alternatives so I may be wrong. Though I did look at ZMK which has a lot of momentum and is more modern, but no luck there, you can't combine HRMs with combos: https://github.com/zmkfirmware/zmk/issues/544
You'd think it would be easier because conceptually there's really only two things going on: the ability to differentiate between tapping a key and holding a key, and the ability to identify pressing multiple keys at the same time as a separate event.
Of course this means there are possible timing issues involved and this was my biggest concern in all of this, because as you start to type faster the problem of differentiating individual keypresses from combos and holds from taps become more difficult. But so far so good, I'm only at about 40 WPM at the moment though.
@U055NT3124U this has also been of some slight annoyance to me; the computer misinterpreting keystrokes based on whatever the timeout is (or me "not using the computer correctly" by typing in a different tempo than I set my timeout to, really 😄 )
Well, that sucks. Funny that it's not easier to do these things considering, as you say, how much time is spent worldwide at a keyboard doing very repetitive things, and considering how well known of a problem RSI and its ilk are.
how much of a problem is RSI after the readily available mitigation strategies have been pursued though - given the massive effort required to make major changes to a decades long habit, the payoff would perhaps need to be very obvious and large to persuade anyone who is not completely disabled by RSI to switch?
You're right, @U0524B4UW 🙂 AFAIK there's very little science on keyboard layout effects on physical health, and there are other, proven mitigation strategies. I'd love to see more facts about the keyboard layouts vs health, and, in a utopian world, for a worldwide movement towards a more ergonomically healthy solution than standard QWERTY seems to be (again, by community consensus, not by science that I know of). But to begin with, personally, I'd settle for easier manipulation of my keyboard experience. Entitled as I am 😛 And perhaps, many individuals field testing alternative keyboard experiences will eventually affect the mainstream...
@U0AQ3HP9U in response to your earlier remarks about being proficient on qwerty and something that doesn't suck - I have had no problem with this. I work fulltime on a workmanp(-ish) layout on a split columnar keyboard with layers, palm switches etc. AND I can easily switch to a qwerty laptop keyboard when needed without confusion. I'm no worse at qwerty than I ever was despite using it lightly maybe once a month for a few years now. I think of it like learning a language - if you learn French you don't forget how to speak English. Human brains are amazing at context switching. Bi-lingual people can switch languages mid-sentence without confusing themselves.
@U0524B4UW learning a new layout is a faff, but I found learning a second, sane layout much easier than learning that first broken one. (and I do mean broken - there is SO much wrong with standard keyboards). It's hard to describe the experience of ease that one gets discovering that words can be easier to type than you thought, even while struggling to reach the same typing speed that you're accustomed to.
@U0FR9C8RZ on the language learning thing... i found that while learning norsk i was completely unable to speak french (which i was never fully fluent in) until after i was fluent in norsk - it seems there is only room in my head for one half-learnt language at a time!

but yes, once learnt context switching is easy - bilingual kid, ex and i would all switch languages mid sentence multiple times no problemo
I think it's just a matter of time before alternative keyboards and layouts become more mainstream, they will not take over the market any time soon, maybe they never will, but just 1 percent would be plenty enough for those of us who have seen the light to smooth out all layout/tooling/software issues, within open source anyways. The Miryoku layout is an awesome example of this https://github.com/manna-harbour/miryoku/ it supports QMK, ZMK and several others and can generate firmware directly from a github action. Emacs fans may appreciate the engine behind it that generates all this stuff from tables in orgmode: https://github.com/manna-harbour/miryoku_babel I agree with @U0FR9C8RZ that learning a new layout takes some work but in the grand scheme of things it's trivial. A professional developer for example might work 2000 hours/year, much of it spent typing. Changing layout may take 40 hours of dedicated training before you are be productive, but that is a one time cost. And aside from letters, I have had very little trouble moving symbols and return/backspace/esc etc around. Kinda make sense because letters forming words is a very interconnected thing while pressing enter for example is an isolated thing. And I can also still type pretty much effortlessly on a normal keyboard, as long as I don't think about what I am doing. My fingers know where everything is but my brain has no idea, so whenever my brain interferes and starts to question what my fingers are doing, there is trouble 😂
In terms of mainstream keyboards becoming better, it ought to be possible to gradually improve them. Maybe unstaggering the keys as a first step - that shouldn't be controversial! I think part of the problem is that if the whole world (industry) was going to switch to something else, there would need to be a clear winner as to what that something else should be.
I think the Ergodox EZ has gained some substantial traction, bringing columnar, programmable keyboards to the masses. I'd say making these things possible is the first step, and this will pave way both for easy creation of personal layouts for those who like to tinker, and then to readymade solutions. I'm tempted to try and take a stab at defining keyboard shortcuts in a general way, which can then be used to generate configuration for different editors for example. A bit like miryoku but for the software side of things. Found https://github.com/corgi-emacs/corkey which provides similar functionality but within emacs.
But the end game maybe really is something like datahand or similar. But each step away from the qwerty status quo will pave the way for better stuff.
Tbh unstaggered keys did not feel like a revelation to my fingers. Maybe my trial period wasn't long enough; I certainly never fully fort back up to speed.
well here's an option i hadn't considered before: https://m.youtube.com/watch?v=WJwB4Zi4cYY
Awesome stuff, add modifiers on foot pedals and you're all set, and you get the sweet rhythms, and a workout, I'm sold 😄
@U0AQ3HP9U The way I look at it, column stagger is just the proper way to go about it. There's no reason I should also move my fingers laterally when hitting a key on another row. And the way that the bottom and top rows are offset differently makes extra little sense. I would much more often mistype characters on the bottom row and I suspect one reason is I subconsciously alternate which fingers type what character depending on the word. There's actually a case to be made for row stagger in that you can easily use different fingers for the same character depending on the situation but I think it's a net loss in most situations.
And, one real game changer for me is combos, these would be awful on row stagger. At least for me, row stagger just complicates things.
I'd like to try combos like yours. One day, maybe. Ideally, I'd also like to try stenography via Plover https://www.openstenoproject.org/plover/ , but as indicated earlier, my capacity for experimenting with stuff like this is not very large atm.
Also, I still don't know if something like Plover is good for programming, rather than writing natural language.
That would be my guess as well, not so useful for coding. Though your average programmer probably types more natural language than code with all documentation, emails and clojurians slack messaging and such 🙂
I imagine if you feel RSI symptoms, drastically changing stuff is doubly hard because the transition period may cause more strain, even if the end result is less strain.
By the way, there is now the option to skip sucky keyboards altogether because the DataHand has been brought back from the dead: https://svalboard.com/
That's beautiful, and with a price tag to match 😮 😮 😮
tbh, to imagine moving my fingers moving like that feels difficult. I generally love the idea of novel input types, but my fingers are conformists, it seems. I really would love to give differently staggered keyboards another go 🙂 Wish I could do it without spending any money.
You can get a used original DataHand off ebay instead, problem is though, it will set you back 4000-5000 USD, which I believe is about the same price they were selling for originally in the 90s 😄
So the Svalboard is a bargain 🙂 And it is also superior to the original I believe. But yeah, it is a difficult sell if you don't even know if it is right for you.
lol, all those sideways and antagonist finger motions make my fingers hurt in anticipation!
That's a general issue. All of these specialist things are expensive, and I've no clue whether one is right for me before I have it in my hands.
Yep, I believe you can get an ergo split QMK keyboard, fully assembled for 100-200 USD, still a lot more expensive than your average 10 dollar keyboard of course.
And there is actually a trial option for the svalboard, still expensive though, comparatively: https://svalboard.com/pages/trial-program
AI is spreading into every company like ... a virus https://www.youtube.com/watch?v=DM9-cYyeaDg
presumably a response to https://gizmodo.com/stack-overflow-traffic-drops-as-coders-opt-for-chatgpt-1850427794
I'd prefer correct answers or no answer to plausible answers that were wrong
I'm really glad that there are smaller networks like this one or mastodon where I'm more likely to get a response from an actual human being. I'm already swamped with content farms
In coding, with Co-Pilot (for Python) I'm on the fence. It has been very useful in cases where I'm typing the comment first what I want to do, 90% of the time suggests pretty decent things. It obviously can't suggest the complete program but while writing code it is shortening - lookup API -> find the right function -> try it out cycle.
ChatGPT on the other hand keeps hallucinating stuff - if I ask in other languages than the Internet English 😛
So far it didn't happen for me yet - that's why I'm on the fence. I'm waiting to hit that soon 🙂
/ me doesn't like hallucinate as that really misses how a LLM works with just producing plausible response texts. It doesn't have an idea about what is true or isn't
that's true
speaking of GPT - https://clojurians.slack.com/archives/C099W16KZ/p1690444832972879?thread_ts=1690444788.884639&cid=C099W16KZ
when I did AI (in the late 90s) at York, Neural Networks were out of fashion again and trying to induct symbolic reasoning from data using things like progol (no misspelling) was in
Damn. I was seriously hoping for another AI winter and it's gone completely the other way now that those investors realize that web3 is a hoax
i'm still 🙏 for the next AI winter... surely it can't take that long to realise it's not much good for anything but churning out stuff you don't care about very much, and ofc https://jollyrogertelephone.com/ ?
the investors knew web3 was a hoax and they know AI (at least as it stands) is a hoax too. But it currently enjoys sufficient plausible deniability to have it sold as useful and embedded all over the place.
I was interrupted in my checking out the jolly roger telephone link above by a scam call!
yeah, I do worry a little bit that an AI winter is going to take out a company like mine as collateral damage (as any kind of maths seems to be AI now)
I noticed I’ve been ignoring copilot for the past few weeks (mostly JS) so I uninstalled it. One time I thought it would be helpful to extrapolate some values but it got them slightly wrong. It feels faster initially and then slower to fix the issues it introduces. I may just be a luddite
@U0525KG62 I am assuming that AI is a T-Rex and that you're reading the news in a toilet. It didn't work out too well in Jurassic Park but not sure they will reach your cludgie.
I suppose we'll find out. Thankfully I'm not a lawyer. The computer guy got out of that ok didn't he?
I don’t think we’ll see an AI winter anytime soon. I think we’ll see vast improvements on several fronts. The huge load-once models are going to be improved. The smaller models, which can be topped up with data tailored at specific areas will be improved, possibly surpassing the large models in usability pretty soon. The compute demand for running a model will go down and we will see more and more solutions which you can run on your laptop or phone. It’s here to stay, I’m pretty sure.
@U0525KG62 Dennis Nedry? Ah ah ah, you didn't say the magic word 🎶
@U0ETXRFEW i fear you are right, and we are going to metaphorically drown in stuff that nobody cared about very much, while physically boiling alive because the critically important signals were invisible