1. 6

    I was surprised not to see any discussion about reviewing the description/commit message.

    This is a feature that I really miss in GitLab and GitHub as the merge request description is behind an issue number after merging occurs and those tools allow you to merge stacks of commits at a time which makes the problem even worse.

    Google’s Critique and Gerrit handle this fairly well. The description of the merge request is the description of the merge request so it is upfront and center. However there is still no way to explicitly review the commit message, just top-level comments that reference it with English.

    The only review system that I am aware of that handles this well is emailing patches where it is as simple to comment on the description as it is to comment on any file in the diff.

    1. 3

      That’s a great point – I updated the post with a few things in this vein.

      I also miss not having PR description match commit message in Github/GitLab. While I initially found it strange, I’ve become a fan of Gerrit’s handling of this – it allows the commit message itself to be reviewed (and commented/suggested upon), which is handy.

      1. 1

        If the PR only has one commit GitHub pre-fills the PR Title and Body with the commit message. It is a step in Gerrit’s direction at least.

      2.  

        I yearn for the ability to review commit messages in GitHub. I love that about Gerrit. It really enabled enforcement of the idea that a commit message should be meaningful and tell a story about the patch.

      1. 1

        If you’re ok with fewer / less precise measurements, you can also slap some cheap sensors onto the i2c pins on a raspberry pi. CCS811 does eCO2 and VOC and has cheap breakout boards for example. It’s fun if you’re up for just a little bit of soldering.

        1. 1

          CCS811 does eCO2 and VOC and has cheap breakout boards for example

          Neat! I hadn’t heard of that sensor before

          1. 1

            Just be patient with the setup. The initialisation is really temperamental and there are two “status” commands with similar output - you’d think both work in all modes, but no…

        1. 1

          Cloud service providers like AWS and Azure leverage verification software such as the TLA+ model checker to achieve the same goal, but whereas those solutions typically verify a high level system design, Stateright is able to verify the underlying system implementation in addition to the design (along with providing other unique benefits explained in the “Comparison with TLA+” chapter).

          This seems really promising, though I haven’t delved into the programming model yet. The TLA+ Comparison page looks interesting too

          1. 1

            This seems really promising, though I haven’t delved into the programming model yet. The TLA+ Comparison page looks interesting too

            I asked him about it over on the Orange Site, and he said it works by tying all of the actors to a test orchestrator. So they can run in production, but they can also run in a special “test” mode which (I think?) exposes all of the things they can do, and then the model checker can exhaustively explore the behavior space.

          1. 1

            Interesting post! Were all the bugs caught by MIT test suite?

            1. 1

              I guess it would be hard to know for sure if all bugs were caught, but IME the test suite was pretty rigorous. They’re more in the vein of “systems tests” or integration tests since they’re timing-dependent and opaque to the implementation.

              I wouldn’t consider my toy implementation to be production ready, but the provided test suite was rigorous enough to show me where I messed up

            1. 3

              Does the owner of this site notify blogs that they’re included and give them an option to opt-out?

              1. 4

                Why would they? If you make your blog public, for everyone to read, then other people can talk about it. And categorize it. And link to it. That is basically how the internet works.

                1. 3

                  They are selling their dataset, which might rub some folks the wrong way (without an opt-out) https://blogsurf.io/data

                  1. 4

                    That is actually quite a neat way to monitize a site like this. No problem with manually adding 30 feeds, or pay 5 to get the opml file… Clever

              1. 2

                I use a Kinesis Freestyle Pro, and a custom built mechanical keyboard. Both are split ergonomic keyboards

                1. 1

                  Out of interest do you have a preference for the othrolinear Kinesis or your staggered custom build?

                1. 17

                  Where do we go from here? What can a freedom-minded person do to avoid censorship by tech oligarchs?

                  Nearly stopped reading here, but I’ll happily post it again and again: It’s not censorship if one company chooses to not do business with you.

                  1. 14

                    That’s actually still censorship:

                    tr.v. cen·sored, cen·sor·ing, cen·sors To examine and expurgate.

                    There’s a subtler meaning in there around “but it isn’t the government doing it”, but given the size of Google, Cloudflare, Facebook, and others who have successfully walled-in the public square, it is pretty disingenuous to pretend like there isn’t at least something going on there.

                    For the folks going “hah, so what if it happens to people I don’t like?”–remember that time Tumblr’s ban hurt LGBTQ+ folks? Remember the various pro-BLM folks Twitter banned? Pepperidge Farm remembers.

                    It’s completely reasonable for people to be concerned and want to learn how to host their own services, and mocking them for attempted independence seems to me to be both short-sighted and a defection against the hacker spirit.

                    1. 2

                      a defection against the hacker spirit

                      Also on that topic, I’m reminded of the part in chapter 6 of Hackers by Steven Levy, where the MIT AI Lab hackers hated Multics in part because of its fine-grained usage accounting. Kind of like AWS and similar services, no?

                      (So yes, the fact that my current project is all-in on AWS causes me cognitive dissonance. Not sure how to resolve it though. Multi-AZ deployments with automated recovery from instance failures are certainly good for peace of mind.)

                      1. 2

                        Think about what infrastructure changes you would need to make in order not to be fully dependent on AWS, and then make them. Even if you don’t switch away from AWS immediately, being prepared to do so will make it easier on you if they do decide for whatever reason to deplatformed you, or if a competing cloud provider starts offering a better deal.

                    2. 9

                      maybe it is if the handful of companies that are powerful than most countries decide not to do business with you.

                      Regardless of that highly charged political question, I think fighting oligarchy is worthwhile in itself.

                      1. 7

                        What is it when all the infrastructure providers, payment processors, banks, and social media platforms all decide to stop doing business with you?

                        So glad my beliefs are currently in vogue with whatever you call that collective, whatever their non-censorship is, I’m glad I’m not being subjected to it.

                        1. 3

                          I followed this saga at the time, and my impression was that AWS bent over backwards to accommodate this service. It was only after those responsible failed to moderate the statements made by their users that violated the ToS they had willingly agreed to that service was suspended - not terminated.

                          The site is back online. The service is not, which really makes one wonder how much this is a genuine wish to offer a free-speech platform and how much it was an attempt to soak a well-healed backer for a lot of money.

                          1. 4

                            In what way did they bend over backwards? Was there even a court order telling them to take the site down?

                            1. 3

                              AWS gave them multiple chances to implement effective moderation.

                              There was no court order, the issue was a breach of contract (the ToS).

                              I can recommend Techdirt’s coverage of the issue, with this opinion piece as a good starting point https://www.techdirt.com/articles/20210115/00240746061/few-more-thoughts-total-deplatforming-parler-infrastructure-content-moderation.shtml.

                              https://www.techdirt.com/search-g.php?q=parler

                              1. 4

                                That writer seems to think any action is justified as long as it’s done by private companies in a competitive free market. Under that assumption, of course a breach of contract is more than enough reason to suspend service.

                                But if we care about who actually has power in society and how communication is shaped by different actors, this cold comfort. If AWS “bends over backwards” to offer a service they are being paid for, until the risk of a PR crisis makes it not worth it for them, they are still wielding unaccountable power to limit who gets to speak.

                                1. 2

                                  Masnick’s position is more nuanced than you summarize it, but the idea of private parties competing in a free market is one that has served the US economy well for a long time.

                                  As for AWS “wielding unaccountable power”, they’re far from a monopoly. Oracle is gunning aggressively for their business, as mentioned in other threads on this very page, and in the article I linked.

                                  And whose speech are we talking about? The users of the site are free to create accounts elsewhere, and many have surely done so. What’s left is the limited speech rights of the service to make money hosting these users. This right has to be weighed against AWS’ rights to make money providing cloud computing to many other customers, all of whom AWS is aware can change providers if AWS allows toxic actors on its service.

                                  If the service’s business model was to make money hosting speech that was banned elsewhere, it bordered on criminal negligence not to take the risk of being suspended into account, and making plans to shift hosting providers accordingly. Again, this points to this being a grift rather than a sound business idea.

                                  1. 2

                                    I think it is perverse to give any weight to a large company’s “right” to make money in a certain way, when weighed against issues that affect the mass of society. But I suspect you and I disagree fundamentally about this, so there’s probably no use trying to find agreement.

                                    Another thing we will probably disagree about: the potential for competition among a small group of companies does not amount to accountability. People have very little say over what these companies do.

                        2. 9

                          Agreed. i appreciate the meat of the article but I can definitely do without the edgy quote at the beginning.

                          1. 5

                            Ditto with the mentions to Parler (including in the title)

                          2. 7

                            haha agreed, this the second time I’ve seen someone cite the “First they came for” poem to defend groups of people actively “coming for” me and my loved ones.

                            1. 8

                              Always feel weird when this kind of content use proto-fascism and right-wing extremists as an example for why we need to fight oligarch censorship. Of all the victims of censorship, those are the one I could not care less.

                              1. 6

                                Of all the victims of censorship, those are the one I could not care less.

                                I think that’s rather the point of the poem, isn’t it?

                                1. 4

                                  No. Not when those being censored are the very same people that would want to be the “They” in the poem. The poem is that we shouldn’t stay idle while some group is trying to take advantage over other groups. I feel like what happened right now is that someone actually did speak up…

                                  1. 2

                                    Not when those being censored are the very same people that would want to be the “They” in the poem.

                                    Plenty of people in Weimar Germany felt that way about the communists.

                                  2. 2

                                    Not really, at least in my reading. It’s not about the dangers of a “couldn’t care less” mindset but rather one of cowardice.

                                  3. 2

                                    HUAC was first used to jail Nazi sympathizers

                                    1. 2

                                      And good for them, let them rot in jail for all I care. I don’t mean that we should stand idle while states and corporations consolidate their power. Let’s speak about how HUAC or oligarchs can use their power monopoly and use it against the rest of the population. Let’s discuss about how we can fight against these crackdown in the point of view of freedom and privacy, not about how a right-wing extremist community should have done better.

                                      1. 1

                                        Who is discussing how a right-wing extremist community “should have done better”? You lost me there.

                                        I guess you don’t value the legal and social norm of free speech as such, and take no issue if that norm is violated to target racist groups. You either don’t think that makes it easier to target non-racist groups, or you don’t care.

                                        1. 3

                                          Who is discussing how a right-wing extremist community “should have done better”?

                                          Taken as-is from the article:

                                          Parler’s epic fail: A crash course on running your own servers with a shoestring budget

                                          I argue that your chances of survival are much better this way, and Parler is foolish for not going this route. We can do better.

                                          Parler was cut off by their cloud hosting provider, Amazon. Where do we go from here? What can a freedom-minded person do to avoid censorship by tech oligarchs?

                                          1. 1

                                            ah

                                  4. 2

                                    whos coming for you

                                  5. 3

                                    Hosting your own content is exactly the method by which you work around private platform companies refusing to do business with you for political reasons.

                                  1. 4

                                    I have been using Obsidian to keep track of what I learn, and it has been working great for me so far. I love the fact that I can quickly link concepts together without too much hassle.

                                    1. 1

                                      +1 for Obsidian. I like that it’s all local, and in plain markdown. I setup a small script to automatically checkin changes to a git repo, for syncing.

                                    1. 23

                                      Nice post, thanks. A couple clarifications:

                                      • os.File is not an interface

                                      • ReadDir is optional so that ordinary files (full of bytes) don’t have to implement dummy ReadDir methods. It would be a bit odd to omit ReadDir on an actual directory, because then any traversal tools won’t work. For example the hypothetical key-value store without ReadDir will not work with fs.Walk (or fs.Glob).

                                      • Most code shouldn’t need to define things like readDirStatFS or even refer to the ReadDirFS and StatFS interfaces. It should instead use the helper functions fs.ReadDir and fs.Stat, which use those interfaces internally as appropriate. Code that instead requires, say, the readDirStatFS interface will not work with valid FS implementations that don’t provide a direct fs.Stat method (fs.Stat calls fs.Open+f.Stat+f.Close in that case).

                                      • fstest.TestFS does more than just assert that a few files exist. It walks the entire file tree in the file system you give it, checking that all the various methods it can find are well-behaved and diagnosing a bunch of common mistakes that file system implementers might make. For example it opens every file it can find and checks that Read+Seek and ReadAt give consistent results. And lots more. So if you write your own FS implementation, one good test you should write is a test that constructs an instance of the new FS and then passes it to fstest.TestFS for inspection.

                                        One of the most common mistakes you might make in an FS implementation would be to mess up ReadDir on Open(”.”) somehow so that it returns no files at all. If you did this, then TestFS’s walk of the entire file system would find nothing to test, so nothing would fail any tests, and the overall TestFS call would incorrectly pass. The list of files passed to TestFS removes this failure mode by saying “look, when you do the walk looking for things to test, make sure you at least see this list of files, or else ReadDir is broken”.

                                      Again, thanks for taking the time to write the post. It was fun to read.

                                      1. 3

                                        Thanks for the response! I updated the original post to include these clarifications.

                                      1. 4

                                        I’m refactoring my Among Us league website so that I can move it off glitch.me which has been unreliable lately. It’s an Express app so I think I can wrap it somehow and deploy the whole thing to Netlify and have it run with serverless. Basically this tutorial.

                                        I’m also learning more chess after ‘finishing’ my chess engine ♞

                                        1. 2

                                          I’ve enjoyed both posts you wrote recently on the Among Us league and chess engine!

                                          I’d appreciate a followup if you get your project working on Netlify – I also have a couple glitch projects I’d like to migrate

                                          1. 2

                                            I just finished refactoring the Express application from Glitch to Netlify. (On Glitch, I had some static files in public/ and a few API routes.)

                                            It took around two hours and I don’t have a super-clean diff to show but I can write some notes :)

                                            I used these resources:

                                            The steps I took:

                                            I created a netlify.toml file:

                                            [build]
                                              command = "npm install && npm run build"
                                              functions = "functions/"
                                              publish = "public/"
                                            

                                            I installed the following with npm: netlify-lambda, serverless-http, and encoding.

                                            I added a script to the package.json file: "build": "netlify-lambda build src"

                                            I moved my express app into src/app.js and changed the exports to:

                                            const serverless = require("serverless-http")
                                            module.exports = app
                                            module.exports.handler = serverless(app)
                                            

                                            Finally, I changed all the API calls from the static files so they start with: .netlify/functions/app/

                                            DM me on Twitter/Email if you get stuck!

                                            1. 1

                                              I’ve enjoyed both posts you wrote recently on the Among Us league and chess engine!

                                              Thanks! :)

                                              I’d appreciate a followup if you get your project working on Netlify – I also have a couple glitch projects I’d like to migrate

                                              Will do. I should at least be able to send you a before and after GitHub diff.

                                            2. 1

                                              Oh cool. Just wondering about how glitch has been unreliable, is it a downtime issue or other?

                                              1. 1

                                                They had a little downtime recently but the main motivations for swapping to Netlify are:

                                                • the app going to sleep
                                                • harder to setup CI/CD integration
                                                • no more strange bugs where it won’t come up for minutes

                                                I quite like glitch, especially as a learning platform but I’d like to have more control over the infrastructure

                                            1. 8

                                              It helps to read the intro here! :^) I skimmed to the questions without reading the intro first, and was thoroughly confused.

                                              1. 2

                                                I was thoroughly confused even after reading the intro. The whole article made little sense.

                                                1. 2

                                                  The best way to give a question rigor is to create it from a rigorous algorithm.

                                                  Yes, I skipped this line, so while reading I was wondering if I actually really suck at Python… I thought I knew what I was doing, until I was stumped by these questions.

                                                1. 1

                                                  Great post! I’ve been thinking of doing something similar – this seems like a neat approach.

                                                  As a meta question, does your site have an RSS (or similar) feed?

                                                  1. 2

                                                    Thanks! Yes, it’s buried in the HTML metadata: https://shazow.net/index.xml

                                                    I should turn off the reformatting by Netlify so that it’s more readable.

                                                    1. 2

                                                      Hm this paper is now 55 pages? The one from 2018 was 29 pages.

                                                      https://www.microsoft.com/en-us/research/uploads/prod/2018/03/build-systems.pdf

                                                      It’s kind of weird that they slightly modified the title and added more content, and the 3 authors are the same.

                                                      I’d be curious for a summary of the “diff” …

                                                      1. 4

                                                        There is a summary by the end of section 1:

                                                        This paper is an extended version of an earlier conference paper (Mokhovet al., 2018).The key changes compared to the earlier version are: (i) we added further clarifications and examples to §3, in particular, §3.8 is entirely new; (ii) §4 and §5 are based on the material from the conference paper but have been substantially expanded to include further details and examples, as well as completely new material such as §5.2.2; (iii) §7 is completely new; (iv) §8.1 and §§8.6-8.9 are almost entirely new, and §8.3 has been revised. The new material focuses on our experience and various important practical considerations, hence justifying the “and Practice” part of the paper title

                                                      1. 8

                                                        Awesome book about distributed systems by Martin Kleppmann - http://dataintensive.net/

                                                        Awesome Distributed Systems

                                                        Testing of distributed systems - collection of links to interesting resources about distributed systems testing.

                                                        An introduction to distributed systems is actually an outline of a paid course by Aphyr, but it can be useful too.

                                                        1. 3

                                                          +1 for Kleppmann’s Designing Data-Intensive Applications book. It’s really the best thing I’ve read on distributed systems: it has a good breadth of knowledge, and has enough depth that you can start searching out more detailed information for topics you’re interested in learning more about

                                                          1. 2

                                                            another big +1 for Kleppmann’s. One of the best books in my library. I keep getting back to it all the time.

                                                          1. 2

                                                            I use the older codemod tool regularly – didn’t know that a faster Rust version existed. Thanks!

                                                            1. 1

                                                              Is there a specific way to integrate rg with fastmod?

                                                              1. 3

                                                                I don’t think so, but fastmod uses the same regex engine as ripgrep, although it probably doesn’t have all the optimizations that ripgrep has. (Specifically, inner literal optimizations. Those can’t really be added to the regex engine, so they live a layer above it inside of ripgrep, well, the grep-regex crate.)

                                                            1. 12

                                                              I currently use MyFitnessPal for calorie-tracking and BigOven for recipe storage, and I cordially detest them both. They’re both buggy, slow, lacking a lot of features that I’d like to have, and “unmaintained” in that special SaaS way where vendors just stop fixing bugs or adding features once they have cash flow going. They also both cover like 80% of the same ground - BigOven has a way to calculate the nutrition numbers for a recipe but no daily calorie log, while MFP has no way to store recipes as anything more than a list of ingredients.

                                                              I want to replace the pair of them with a lightning-fast local-first app, but I just never seem to get around to it.

                                                              1. 2

                                                                We have Fitatu here and it seems to do both, but yeah, it’s local really.

                                                                1. 1

                                                                  I second detesting MFP, but I really haven’t found anything better. It’s one of the few services I use where the mobile app is really the only way to use it (they have a web app, which is completely unusable IMO). Also very frustrating that they don’t have a public API. I spent some time reverse engineering their mobile sync API, but gave up after a while…

                                                                  I did some research into making something similar, and found https://world.openfoodfacts.org/ as an interesting data source, but haven’t had the time/motivation to build anything yet.

                                                                  1. 1

                                                                    I’ve tried a whole bunch of MFP alternatives and I keep coming back to MFP (which I also do not like) because it just has more stuff in its database - I can scan almost anything I buy (in the UK) and MFP will know the nutritional details.

                                                                1. 2

                                                                  I try to do something once a week on my blog here: http://dpldocs.info/this-week-in-d/Blog.html

                                                                  Sometimes I don’t have time and do basically do nothing, but lately I’ve been trying to just showcase one of my old programs each week with a few paragraphs of explanation. I’ve gotta document my web framework stuff at some point too and hopefully will do that soon but idk.

                                                                  1. 2

                                                                    Thanks for sharing! I had no idea D could compile to Webassembly (http://dpldocs.info/this-week-in-d/Blog.Posted_2020_08_10.html)

                                                                    1. 2

                                                                      Oh yes, it actually got the capability over a year ago! That’s part of why I’m doing this little series lately. A lot of the things I do mindlessly are just not known to the broader audience, so even my old little things might be able to show people at least more things are possible than it may seem. But even that post took me quite a bit of time to write… a 5 minute read is still like a one hour write, so it is hard to keep up.

                                                                  1. 4

                                                                    I am writing a text about the way I do self-tracking. I log what I eat, how I feel, my sports routine and other aspects of my life. I am not sure if anybody else is doing this. There are many tools to do self-tracking in specific areas like nutrition, sport, sleep etc. But I have not seen context free tracking tools so far.

                                                                    So I want to write a bit about it and see if there is demand for such a tool. If so, I might evolve my own approach into a mobile app.

                                                                    If anyone here is aware of such “meta tracking”, let me know.

                                                                    1. 7

                                                                      If anyone here is aware of such “meta tracking”, let me know.

                                                                      https://julian.digital does a lot of self-tracking

                                                                      e.g. https://julian.digital/2020/04/27/quantified-quarantine-report/

                                                                      1. 2

                                                                        I started doing this since last Dec in markdown files with the intention to some day build an app to parse natural language and then build a selfhosted personal dashboard. Of the things I am tracking weight watching is an interesting thing given the Covid situation and how it relates to how depressed/disciplined I was that day.

                                                                        1. 1

                                                                          Do you have a blog or somewhere to subscribe to where we can read this once you’re done? Very interested in folk’s approach to this

                                                                          1. 1

                                                                            I will surely announce it on my Twitter account: https://www.twitter.com/marekgibney

                                                                        1. 2

                                                                          I was kinda surprised to see the Veritcal Mouse as a recommendation because that would SEEM to just transfer the strain of using one to your thumb, and at least in my case thumb strain can be a source of pain in and of itself.

                                                                          Avoiding the mouse entirely wherever possible feels like a good strategy. Finding software/operating system environments which enforce keyboard shortcuts for EVERYTHING can be a challenge.

                                                                          1. 3

                                                                            Personally, I’ve found vertical mice to be much more comfortable in the long-term. That being said, I also agree with the sentiment of avoiding mouse use as a first principle.

                                                                            1. 2

                                                                              I just ordered a Kensington Slimblade given @yorickpeterse recommendation among others.

                                                                              I’ve wanted a trackball for years.

                                                                              1. 1

                                                                                Good to know.

                                                                                I’ve definitely been thinking a change is in order. Got to decide between trying the vertical mouse and getting a trackball.

                                                                                I’m leaning towards trackball since like an idiot I started down the RSI path by really straining my thumb.

                                                                              2. 3

                                                                                Vertical mice are better than regular mice in every way, except for gaming (internal components of vertical mice usually aren’t as good as those found in gaming mice). But in my opinion that’s only the case because regular mice are about the worst you can do ergonomics wise. I used two vertical mice for a while: a cheap Anker mouse, and a Logitech MX Vertical.

                                                                                The Anker is cheap in every sense of the word, and I kept knocking it over when reaching for it (due to its fin-like shape). The only good thing about it is the price: between $20 and $30, depending on where you buy it. I recommend avoiding this mouse.

                                                                                The MX Vertical is better, but doesn’t really allow you to rest your hand on the mouse. As such, you have to fight gravity a bit more compared to a normal mouse.

                                                                                Vertical mice only solve one problem of regular mice: your wrist angle/position. They don’t solve the problem of straining your shoulder muscles by moving your mouse around. As such, I only recommend them if you don’t have any other options available.

                                                                                1. 1

                                                                                  I also use the Anker mouse.

                                                                                  I use one for right hand and one for left (because they are sculpted differently). I switch about once a month. It helps with RSI.

                                                                                  I am comfortable, for some reason, using both right and left hand for mouse. And mostly use left-handed, even though, I am generally right-handed.

                                                                                  I can also use them in one session, but I am Emacs shortcuts person – so I mostly use mouse when I am in the browser, or debugging with breakpoints, or accessing IDE menu.

                                                                                  My pain is usually in the elbow, or where shoulder meets the neck. If there is a flare, pretty bad pain can last for over a week (but it can be controlled with ibuprofen).

                                                                                2. 3

                                                                                  Yeah, I tried the Vertical Mouse and, for me, that was exactly what it did. I no longer use it. I have also tried a variety of trackballs which I no longer use. I don’t have a good mouse solution right now, everything is horrible.

                                                                                  This stuff is very individual though. I’m sure there are people who get benefit from the Vertical Mouse, and I’m glad they do.

                                                                                  1. 4

                                                                                    Mice in general and that whole class of human/computer interaction seems really unfortunate to me.

                                                                                    It’s one of the things I really value about Elementary Linux. You can do anything and EVERYTHING with the keyboard.

                                                                                    1. 3

                                                                                      Absolutely.

                                                                                    2. 1

                                                                                      Would using the keyboard mouse layer - my UHK has a mouse layer, be an answer?

                                                                                      I’ve only ever messed with it as fun feature, and not tried using it in anger, partly as I love using my Logitech trackball mouse, although my favourite keyboard mouse was the nipple buttons on Thinkpad keyboards. I’m waiting for a trackball module for my UHK, it will be interesting to find out if that is a good approach to minimal movement mice…

                                                                                      1. 2

                                                                                        It would probably be helpful if I were more impaired, yeah. My first choice is to find ways to do more without the mouse. I’ve switched back to Linux recently, which helped a lot with that.