1. 8

    Pre-production Keyboardio Atreus (Speed Copper switches), with some custom hacked firmware I got from Jessie at some point, and Colemak.

    I’ve been meaning to switch firmwares to something which allows me to define my layout in plain text in my dotfiles, but at the same time it just works at the moment, and there are other yaks to shave.

    1. 24

      I’m the original designer of the Atreus; happy to answer any questions.

      1. 1

        Why do you choose a fixed Split keyboard, instead of an adjustable split keyboard?

        I can’t find the reason in your blog post neither in Atreus repository.

        Notes:

        • Fixed split, I mean such Atreus.
        • Adjustable split, I mean such ErgoDox.
        1. 1

          Found. https://technomancy.us/172 Thanks for a very thorough history, reasoning, and decision.

          I work from local coffee shops frequently, and the Advantage is just too clunky to toss in a bag and tote around.

          Update: I’ve designed by own keyboard, which is meant to be a smaller, more travel-friendly complement to the Ergodox that shares a lot of its characteristics.

        2. 1

          Do you find it difficult to switch back and forth between the Atreus and a standard keyboard? I would be concerned that, given time, that it would be problematic given how many keys on the Atreus require using a layer. Would switch between keyboard types cause me to focus too much on the typing and not what I am typing.

          1. 4

            I’ve found that the weirder the weird keyboard is, the easier it is to switch between the weird one and a normal one. I used to use a standard qwerty 60% keyboard at work, with lots special bindings/layers, and a normal laptop at home. This was constantly problematic because I’d try to use my special arrow key bindings and they obviously didn’t work anywhere.

            I’ve since switched to a kinesis for “work” (now my desk) and I no longer have any problems typing on my laptop because it’s so much different in every way. I also got an atreus and played around with it for a bit and I feel like it is likely in the “weird enough to be okay” territory due to the non-staggered key layout (forgot the technical term for this)

            The only exception to this rule is that I can hardly use a computer if caps-lock isn’t bound to control, but that’s a different problem.

            1. 1

              I actually do this. Surprisingly enough, switching is mostly painless. I use Colemak on all keyboards, and muscle memory works itself out somehow, at least 95%.

              1. 1

                My experience as a laptop user is that even though I greatly prefer the Atreus, having to plug it into my laptop means that I don’t use it 100% of the time; sometimes I’ll open my laptop for something really quick and won’t get the external keyboard plugged in. This is infrequent, but for me it has been enough for me to maintain my ability to type on a conventional keyboard.

                However, if you only very rarely use a laptop, this might not apply; can’t speak to that.

              2. 1

                How easy is it to use a three-finger chord key? I have a keyboardio model 1 and find that three-finger chords - in particular the alt-shift-arrows that I use all the time in Eclipse - become an effectively impossible to type four-finger chord (since arrow keys need a modifier).

                1. 1

                  Depends on which three fingers! I’ve been using ctrl-alt-letter chords since long before building the Atreus, because I’m an Emacs user. I don’t use any programs which require you to hold down shift while moving the cursor, so I can’t really say authoritatively, but alt-shift-arrows sounds like a key chord I would like to rebind to something less awkward even on a conventional keyboard.

                  If that was a combo I had to use a lot and could not fix in software for some reason, I would probably remap my keyboard so that the alt key was adjacent to the shift key so that a single thumb could hit both.

                2. 1

                  Got mine one month ago and I’m experimenting different layouts. I’m quite happy with just the main layer and a symbols+numbers+f-keys layer, and I still have a bunch of unused keys in the second layer.

                  The software is nice, but I wish it allowed sending macros (for typing accented characters using a non-international US keymap, for instance). I might try menelaus at some point if you think it can handle that.

                  The article mentions it was designed with a resting position for the pinkies at Z and ‘/’ in mind. Is that correct? I might experiment with that configuration using them also as shift modifiers when pressed.

                  1. 1

                    The software is nice, but I wish it allowed sending macros (for typing accented characters using a non-international US keymap, for instance).

                    I’m like … 99% sure that this limitation is part of the GUI frontend, not the underlying firmware implementation itself. So the path of least resistance would be to build Kaleidoscope.

                    I might try menelaus at some point if you think it can handle that.

                    It definitely can’t handle that out of the box, but depending on your relative familiarity with C++ toolchains vs Scheme, it could conceivably be easier to implement that functionality to Menelaus vs configuring that as existing functionality in Kaleidoscope. Only one way to find out!

                    1. 1

                      What about the last bit? Do you rest the pinkies at Z and /?

                      1. 1

                        Oh, no I keep them on A and semicolon normally, but I hit the outermost top keys with my ring finger instead of the pinky. The pinky only hits A/Z and semicolon/slash (well, the dvorak equivalents of where those are on qwerty) and occasionally enter/esc; tho I usually use Ctrl-m instead of the enter key since it sends the ASCII equivalent of enter.

                1. 2

                  Hm, I have now completely switched to nix search instead of nix-env -q; do you see any disadvantages in it?

                  edit: A huge question I’m having regarding nix-darwin, which makes me afraid to try it since long ago, is: what changes will it make in the OS config on the first run? I know it’ll be easy to rollback to old configs after nix already works; but how do I know it won’t break something for me in OSX when I “darwin-rebuild switch” first time, that I then won’t have idea how to undo? If you could possibly help me understand the answer to this, I’d be super grateful! Though obviously, you’re not in any way required to :) Given that concern, I’m currently only using home-manager…

                  edit 2: Re: “The Lisp Curse”: my personal interpretation of the configs problem in nixpkgs is that of “The Lava Layers Anti-pattern”; though I may be wrong and/or they may be correlated. I.e. my take is, that it’s because Nix/Nixpkgs is exploring a new problem space, so new solutions are discovered and evolve over old ones, and are in fact educated by (the pitfalls of) the old ones - while the old ones tend to naturally ossify in the meantime, becoming (socially and technically) costly to change to the new, better approach.

                  1. 3

                    I was actually not aware of nix search. Another case of bad discoverability I guess.

                    I’m not aware of any destructive changes nix-darwin performs on the first run, and I’ve had a pretty customised system before I installed it.

                    I like the Lava Layers comparison, very apt.

                    1. 2

                      Yep, I totally think the same about discoverability. That said, I’m recently growing in optimism, as from what I observe, there seem to be various undercurrents towards improving the situation - even if things are moving slowly. Notably, the nix command (a.k.a. “nix 2.0”) is one of such efforts - towards improving the UX (and I believe nix search succeeds in being miles ahead in friendliness and speed over nix-env -q). The other quiet breakthrough I’m cautiously optimistic towards, is that a proposal was recently accepted to migrate the docs from XML to Markdown - which might make it easier for people to contribute to them and thus improve them. Also, as mentioned in other comments around, flakes also are aimed (among other features) at improving discoverability. I recommend watching Eelco’s keynote from the last NixConf if you’re interested in seeing what are the issues they’re aware of, and how they’re actively exploring ways to facilitate solving them.

                      1. 1

                        In my very limited experience, Nix has one of the worst interfaces for discoverability and general use. It’s almost like the interface is actively hostile.

                        1. 2

                          This is getting better. Flakes define a standard interface for package/library/module repos. This also makes things easier for tooling.

                          There was also a proposal by Eelco Dolstra at the last NixCon for improving the module system, with improved discoverability as a goal.

                          1. 1

                            What pieces are needed? I’m just getting into nix and would like to know!

                      1. 7

                        I’m using Colemak, but also on an Atreus, which is programmed to have arrow keys under the left hand (esdf). I still have some muscle memory left of just using the awkward placements before I got the Atreus, but at this point I don’t see a good reason to not just use the better positioned and more widely supported arrow keys.

                        1. 3

                          I’m a happy owner of an Atreus keyboard. Although I use a model 01 when inside the house. Mainly because the model 01 is split. Are there any plans to support a split atreus keyboard?

                          The only thing that doesn’t work for me is the bottom row. Especially the keys in the middle like super. How do you press them. I’ve been tucking my thumb bbut that makes pressing super t hard. nevermind pressing multiple modifiers at once.

                          1. 1

                            The middle modifiers I hit with my middle/ring finger by just going down two rows, that works pretty well once you’ve got the muscle memory. That being said, I reorganised my modifiers to still avoid those positions as much as possible.

                          1. 1

                            The review says: “Even with relatively quiet switches, the open construction means that the sound of the keys getting released is audible in most environments.” Which makes me wonder, are there mechanical keyboards that are particularly quiet (for a given switch) because of their chassis?

                            1. 3

                              The classic 42-key Atreus is a bit quieter, but this has more to do with using Matias Quiet Click switches (with a built-in rubber bumper) than the chassis construction, though I expect using wood for the chassis helps some.

                              You can open up the Kailh switches in the Keyboardio Atreus and add rubber bumpers to each switch, but it’s a somewhat involved process. You might be able to buy MX-compatible switches with the bumpers preinstalled nowadays; I haven’t looked into it. The keys are hot-swappable though.

                              1. 1

                                There are the Cherry MX silent red that have built in rubber on the bottom of their stems so they dampen the impact when bottoming out the key. They’re linear. I used them for while; they are very quiet and a joy to type on.

                              2. 2

                                In some cases, adding a neoprene mat (like a full-desk mousepad or something similar) underneath a mechanical keyboard can make it quieter, assuming that the bulk of the noise comes from the chassis transmitting vibrations to the desk. A solidly-constructed metal backplate should help as well.

                                1. 1

                                  From personal experience I know that different material and build-style cases, different material/thickness keycaps and different mounting styles all affect the sound, see for example this video.

                                1. 1

                                  Like many others, I write a lot of notes about what I’m doing, basically all the time. They all live in my work org-mode file. This has the nice benefit of being able to catch up quickly on Mondays by reading back what I was up to.

                                  A more physical habit I’ve picked up from Marie Kondo’s new book (which otherwise isn’t very good imho), is cleaning my desk on Monday mornings. I completely empty it, wipe down everything and put it back together. Only takes 2-3 minutes, but my desk is nice and tidy, and I feel in a good place to get some stuff done.

                                  1. 1

                                    Looks great. Much like M-x calc itself, it looks like one of those really powerful Emacs things that I’d love to take for a spin, but I really can’t think of any use cases. Curious to hear from the author what itch this scratches.

                                    1. 2

                                      The original inspiration came from Tydlig, which does similar things, but can’t save. I wanted something simple that could do live-updating calulations with intermediate values, and that also saves to a file. The result is this. If you don’t need tables/graphs, this is an okay spreadsheet alternative that is also plaintext.

                                      I’m planning to add better export (/import?) in the future to make it easier to just dump out results once you’re done calculating, at which point you literally just have a text file with all the data you need.

                                      1. 1

                                        What I love about calc is that you both have an RPN calculator and a “paper trail” like in old physical calculators with paper rolls.

                                        I also believe it’s arbitrary precision… I just randomly calculated 24^24 and got 1333735776850284124449081472843776 really fast on a cheap VPS…

                                        1. 1

                                          Can you not think of any use-cases for calc or this package?

                                        1. 1

                                          Clojure does as well, as probably most lisps.

                                          1. 2

                                            Yup, Scheme allows it too

                                            1. 1

                                              I’m curious about this now. I had thought from my research that Scheme would not allow this in the presence of modules. If I have a Scheme module that defines a and exports b which calls a and c which calls a and b, can I overwrite a from outside the module so that b’s behaviour changes? Or b so that c’s behaviour changes?

                                              1. 1

                                                If the procedure is not exported, you can’t access it from the outside, which means you can’t change the value of the identifier. However, from inside the module you can change it. If it is exported, it’s undefined behaviour if you may change it or not. CHICKEN allows redefinition of exported identifiers though.

                                            2. 1

                                              Correct, with the exception of special forms (for example, you can’t re-def let).

                                              1. 1

                                                That’s something I’ve never actually tried, but makes sense.

                                                I did at some point realise that python allows you to override the __plus__ method, which can lead to… interesting results.

                                            1. 1

                                              Going through the list of past “keyboards” he made is hilarious. I especially liked the rotary phone T9 one.

                                              1. 36

                                                magit, a git porcelain for emacs. It’s reason enough to be using Emacs, if for nothing else, imho (of course you benefit if you also use emacs for other stuff). I’ve seen my share of git GUIs and most of them are extremely clunky, require a mouse, and support maybe 10% of git, so as soon as you don’t just need to git add; git commit; git push you need to fall back to the cli. Magit offers a extremely consistent and powerful UI. You can easily manage multiple remotes, rebase, cherry pick, stash, reset, etc. And while the git cli has improved drastically in terms of consistency and usability, for some things it’s just so much faster to have a graphical UI.

                                                Disclaimer: I’ve only used Magit as configured with spacemacs. The vanilla Emacs version might have slightly different keybindings, but the overall point still stands.

                                                1. 6

                                                  I find magit especially powerful because it’s context aware.

                                                  Want git log for a file? Just M-x magit-log with that file open, and it will default to the right options.

                                                  Want to check a file on a different branch? M-x magit-find-file allows you to open any file on any commit without having to switch branches.

                                                  Not to mention that you can hook up your VCS provider like Github as well, and get things like “checkout this PR” with a few key presses.

                                                  All of these are available outside of magit, but require much more setup, which isn’t worth it for the odd command you run every couple of weeks.

                                                  1. 2

                                                    Want git log for a file? Just M-x magit-log with that file open, and it will default to the right options.

                                                    I’ve always just used magit-status, so I’m not sure, but I don’t have a magit-log command on my system…

                                                    1. 4

                                                      Definitely exists on mine, along with almost 500 other commands starting with magit-. I’ve noticed that magit is incredibly context-aware if you run commands directly from file-buffers, and often does exactly what I want it to do.

                                                      1. 2

                                                        Ah, I found it, but it’s an obsolete command:

                                                        magit-log is an alias for ‘magit-log-other’ in ‘magit-obsolete.el’.
                                                        
                                                        (magit-log REVS &optional ARGS FILES)
                                                        
                                                        This function is obsolete since Magit 2.90.0;
                                                        use ‘magit-log-other’ instead.
                                                        

                                                        which is probably why I couldn’t find it at first.

                                                        1. 1

                                                          I believe this is what I’m calling.

                                                  2. 4

                                                    Or just ediff-merge, even without magit (I used it with psvn mode as well, for example). That thing is awesome and I can’t imagine how I ever got by merging manually by opening a file with conflict markers.

                                                    For those not in the know: you get three buffer panels. One is version A (your version), the other is version B (the version you’re merging into yours) and the third is the final file. Then you can flip through conflicted sections and choose A or B, and when you’re confused you can overlay the ancestor on the merged buffer so you can see what has changed. There are dedicated tools like meld which do more or less the same (though I find meld’s specific UI rather confusing), but having everything inside your nice editor just makes it that much nicer (because you sometimes end up making tweaks in the merged version).

                                                  1. 13

                                                    Emacs is a great tool that has at least made me feel more productive while I’m using it. In reality, it’s probably made me less productive since I spend so much time telling myself that modifying my init.el is a productive use of my time.

                                                    1. 9

                                                      The way I defend yak-shaving is that after some time I arrive at a very stable framework where all I do is minor tweaks taking a minute here or there. I’ve been watching colleagues migrate from Textmate to Sublime to Atom to VSCode, spending a lot of time on initial setup every time. I’ll always be yak-shaving editor config, but with Emacs I’m confident that the editor is still around in 20 years, which I can’t say about many other tools.

                                                      1. 4

                                                        That’s pretty much my justification too. Having said that, the more that I strip things away from my configuration, the more I realise that for the most part Emacs works very well without much in the way of extensions. There are only a few things that I change these days, and code-wise my init.el comes in at under 200 lines of code. Admittedly this is still quite a bit but as you say for something that suits me and is going to be around for a long time, it’s a good deal.

                                                    1. 12

                                                      I backed for one of the second-generation Atreus boards, but you can also build your own first-generation right now.

                                                      Tiny, “split”, ergonomic/ortholinear, mechanical, hackable. Really looking forward to getting it.

                                                      1. 7

                                                        (Atreus creator here) Thanks! I was just talking on #lobsters IRC about how I was working on a new scheme-based firmware for this that’s been a lot of fun: https://git.sr.ht/~technomancy/menelaus/tree/master/menelaus.scm

                                                        Figured folks here might find that interesting. It’s fully functional in about 300 lines.

                                                        1. 3

                                                          It’s crazy how simple that is compared to some more popular firmwares written C… Lovely work as always

                                                          1. 2

                                                            I just backed - not sure if I’ll end up converted from my Kineses Advantage, but I sure would like a portable option :)

                                                            1. 1

                                                              That was definitely the original intent; it was designed to complement a larger board for when you’re away from your desk. (That said, I stopped using my larger board once I got used to it.) Enjoy!

                                                          2. 2

                                                            Also, a proud owner of Atreus here. I can say that assembling Atreus was a fun exercise, it’s a compact and very ergonomic keyboard. My touch typing on Atreus is still slow (and even slower when I type in my native language) after I switched from Pok3r, but I enjoy using it.

                                                          1. 3

                                                            I appreciate them publishing the report, which I think more companies should do. There’s plenty to learn from them, and at least I personally feel less like “oh well, it went down again” when I actually get to know of what happened.

                                                            1. 1

                                                              Not only is there quite a bit to learn from this, but it also puts the engineering team in a good light for reacting quickly, correctly and with a detailed analysis of the incident.

                                                            1. 4

                                                              As someone who moved from Python to Clojure (professionally) a year ago, this is quite exciting. The Python ecosystem is so vast (and better in quality than the JS one ime), that this opens up a lot of new avenues in the Clojure world.

                                                              1. 14

                                                                Advice: avoid reading the comments.

                                                                1. 5

                                                                  What a ride. These people are fanatics.

                                                                  1. 3

                                                                    There is one I sort of agree with, which is that the downside is fragmentation with every bank implementing their own thing and then trying to force use of it. So instead of today where there’s a small number of widely-deployed options for mobile payment and most people have access to a way to do one of them, you’ll have to either go back to using a physical card, or else hunt around for the one place that works with the FirstBankOfEastPodunkPay™ app because that bank refuses to authorize any other mobile payment system.

                                                                    1. 15

                                                                      In Germany, that’s not an issue, there’s already a payment system they’re going to use.

                                                                      Basically, the banks cooperatively developed a card and payment system (over 15 years ago, actually), which is now girocard/EC, which ends up with only 0.125% total end-to-end fees¹, chip+PIN since 2004 and very fast transactions. Obviously, this is much cheaper for the banks and merchants than VISA or MasterCard, and was the reason why for many years merchants such as ALDI only accepted this system.

                                                                      Girocard/EC also has an NFC standard, girogo, also with significantly lower fees than PayPass or PayWave, and is supported with basically all terminals in Germany.

                                                                      Girocard/EC is extremely popular, 3-4 times more popular than VISA/MasterCard credit/debit cards in Germany, and basically everyone has them.

                                                                      So it’s quite likely we’ll just end up with German banks simply using the payment network they already own ;)


                                                                      1. comparatively, VISA/MasterCard used to be around 2-3%, now forced by the EU to lower those to 0.2%, cash payments end up around 0.2% at the scale of merchants due to processing, transport, etc. This actually led to some places, such as official agencies in some cities, only taking girocard/EC payment, not any other cards nor cash.
                                                                      1. 8

                                                                        So it’s quite likely we’ll just end up with German banks simply using the payment network they already own ;)

                                                                        Sorry, but banking/payment in Germany sucks. If you are at bank A, you have to pay a fee if you use an ATM of bank B. This often led to the bizarre situation (my wife is German and we lived in Germany for 5 years) where Germans have to go to another ATM to avoid transaction fees, while I can get cash anywhere with my Dutch card without extra fees. In the Netherlands there is also one system, but you never pay fees, regardless of which bank’s ATM you use.

                                                                        Unrelated, but don’t get me started on card payments in Germany. All the small shops, like bakeries expect you to pay cash. In supermarkets, you can pay with a card, but very often they don’t use PINs. But you have to hand over your card and literally sign a paper sheet, and then the cashier compares your signature to that on your card. Except for the internet banks (such as ING), the internet banking sites are absolutely horrible. At some point we were with Sparkasse and the password for internet banking was literally a 4-digit PIN. Transferring money from one account to another can take days. For every small thing (like ‘unlocking’ payment in more countries) you had to go to a bank office.

                                                                        Meanwhile we are back in The Netherlands. I never carry cash and I don’t even need a wallet, because I can pay contactless everywhere with my phone, watch, or card. Transfers are (nearly) immediate. We split the bills and pay them with ‘Tikkie’ over WhatsApp/iMessage.

                                                                        1. 4

                                                                          I’ve been getting back into using cash lately. I can’t trust the data collecters not to abuse my payment history, and if switching to cash slows its decline a little bit, that’s great.

                                                                          1. 4

                                                                            If you are at bank A, you have to pay a fee if you use an ATM of bank B.

                                                                            They pretty much bundled up into 3 networks now, so you have a 1:3 chance to run into the right shop. Or you share your money transactions with the whole world by using a credit card that is now often “free” with German accounts as well, getting the same trade-off you have with foreign credit cards (free ATMs, no privacy due to the card issuer).

                                                                            Credit cards weren’t popular in Germany for a long time due to their excessive fees, so merchants didn’t support them. EC (the local system) was better, but cash is still the only free option. EU regulations forced credit card issuers to drop their fees to more attractive levels and suddenly they’re getting supported by everybody. who would have thought?

                                                                            In supermarkets, you can pay with a card, but very often they don’t use PINs.

                                                                            The background to that is that signatures are used for offline transactions which work with less effort in the backend. Getting less common these days because supermarkets carry more risk on them compared to online transactions (that use PINs), so it’s really just a fallback when the terminal can’t connect to the servers. Contactless options are increasingly accepted without any authentication at all below a certain value (20-50€, depending on the bank).

                                                                            Transferring money from one account to another can take days.

                                                                            Transfers now have to clear next bank day (Mo-Fr) at the latest, but usually happen faster. I last encountered transfers that take days in 2005 or so.

                                                                            I can pay contactless everywhere with my phone, watch, or card

                                                                            Given that some of the experiences you report sound rather outdated to me, I wonder if you’re comparing apples to apples here. There were no cards, watches or phones that could have paid contactless in 2005.

                                                                            1. 0

                                                                              I don’t think they are outdated. I lived in Germany until August last year and this is based on my experiences in Germany (Baden Württemberg) from 2013-2018.

                                                                              1. 2

                                                                                Maybe you were just with a shitty bank? I’m sure the netherlands also have shitty banks, but I literally haven’t had any of your experiences ever since using cards or transfers for payment, and that was since 2014.

                                                                                1. 2

                                                                                  I live in Berlin and this is also my experience. It is getting marginally better, some places are starting to accept cards, but you cannot rely on your EC card or Visa/Mastercard to get around.

                                                                                  Online banking is still a joke, but has been getting better, probably due to some pressure from competitors like Number26.

                                                                                  I also don’t understand how so many people here don’t want to use cards because of privacy reasons, but they are happy to give their private data to Facebook and it’s companies (whatsapp, instagram, etc).

                                                                                  1. 2

                                                                                    I also don’t understand how so many people here don’t want to use cards because of privacy reasons, but they are happy to give their private data to Facebook and it’s companies (whatsapp, instagram, etc).

                                                                                    Why are you assuming they are using these services?

                                                                                    1. 2

                                                                                      I am not assuming, I am known from people I talk to. I didn’t mean to answer the person in this thread that mentioned that.

                                                                                    2. 2

                                                                                      I also don’t understand how so many people here don’t want to use cards because of privacy reasons, but they are happy to give their private data to Facebook and it’s companies (whatsapp, instagram, etc).

                                                                                      For what it’s worth (since I brought up privacy upthread), I’m not using Facebook’s services, and very limited Google services despite working there (and I soothe my privacy concerns with that I can see how the sausage is made)

                                                                                2. 3

                                                                                  As a German living in the Netherlands now, I agree with all of the above.

                                                                                  1. 2

                                                                                    But you have to hand over your card and literally sign a paper sheet, and then the cashier compares your signature to that on your card.

                                                                                    That’s actually technically not allowed, the merchants still do it because they’re cheap, but it means 100% of the risk is on the merchant.

                                                                                    For every small thing (like ‘unlocking’ payment in more countries) you had to go to a bank office.

                                                                                    Never had that, was at a bank office 3 times in my life, once when the account was opened, once when it was turned from a child to an adult account, and once when I moved across states.

                                                                                    Transferring money from one account to another can take days

                                                                                    Literally wrong, as per SEPA rules 24 hours has been the max for years, and thanks to SEPA-ICT almost all banks offer up to 15’000€ in under 15 seconds, and I’m using this quite frequently.

                                                                                    I never carry cash and I don’t even need a wallet, because I can pay contactless everywhere with my phone, watch, or card. Transfers are (nearly) immediate

                                                                                    And you pay 2% extra for everything, as that’s the fees mastercard/VISA collect, which ends up for an average household being a 40€/month fee. If this wasn’t a hidden fee, but actually visible to you, pretty much no one would use it anymore.

                                                                                    1. 1

                                                                                      No, I am not paying 2% extra. I am literally paying what the product/bill costs, no extra cost. Apple Pay is not associated to our credit card, but directly to the bank account (debit card). In fact, I can even switch on the fly from which of the (possible) 20 IBANs the debit card/Apple Pay should subtract from.

                                                                                      I don’t care that I am indirectly paying for it, because everyone is. There is no difference in cost for me in using or not using Apple Pay.

                                                                                      1. 2

                                                                                        And that’s exactly the tragedy of the commons: everyone only looking out for their own benefit, and as result, everyone being worse off.

                                                                                        It makes sense for you, personally, but for us, as society, it’s absolutely the wrong solution. And it’s the reason why this can’t be fixed by the market, but has to be fixed through laws, e.g. by banning credit card fees, or creating an EU-funded card network directly.

                                                                                        Alternatively, we could have a law forcing people to pay the fee associated with their payment method directly – you’d also suddenly start using cheaper card systems or cash again if you’d save 2% on everything.

                                                                                      2. 1

                                                                                        That’s actually technically not allowed, the merchants still do it because they’re cheap, but it means 100% of the risk is on the merchant.

                                                                                        I don’t know if it’s not allowed but happens to me at least every week.

                                                                                        Never had that, was at a bank office 3 times in my life, once when the account was opened, once when it was turned from a child to an adult account, and once when I moved across states.

                                                                                        I currently have my account blocked because I pressed the wrong button on the UI. Have to go to the bank now.

                                                                                        Literally wrong, as per SEPA rules 24 hours has been the max for years, and thanks to SEPA-ICT almost all banks offer up to 15’000€ in under 15 seconds, and I’m using this quite frequently.

                                                                                        I don’t think it’s 24 hours, it’s a business day and only counts before 15:00 or something like that. But this is true, if you transfer before 15:00 it will be on the other account the next day.

                                                                                        And you pay 2% extra for everything, as that’s the fees mastercard/VISA collect, which ends up for an average household being a 40€/month fee. If this wasn’t a hidden fee, but actually visible to you, pretty much no one would use it anymore.

                                                                                        I don’t think this is how prices work. If they didn’t have that 2% fee do you think merchants would just lower their prices? Or they would use it for profit or some other investment? I think it would just mean the money would go somewhere else but it’s not certain it would go to the customer.

                                                                                        1. 1

                                                                                          If they didn’t have that 2% fee do you think merchants would just lower their prices?

                                                                                          Look at the price pressure on the German market, and you’ll realize, yes they would.

                                                                                          Profit margins in grocery in most countries are in the double digits, some German grocery store chains have profit margins in the sub-single-digit range. The market is heavily fought over, and if a merchant could reduce their price even a half percent in any possible way, they would.

                                                                              1. 2

                                                                                I was on spacemacs for a long time, but eventually got frustrated with the “magic” that kept breaking things or behaved differently from what I would’ve liked, so a couple of months ago I went and built my own setup from scratch.

                                                                                Quick overview:

                                                                                • evil (I’ve been a vim user for most of my life, before I switched to emacs a couple of years ago)
                                                                                • spacemacs-inspired control scheme, with SPC as the leader key
                                                                                • way faster than spacemacs though, cold startup in <0.5s (stole some optimisations from doom)
                                                                                • config in a literal org file
                                                                                • leaning heavily on:
                                                                                  • evil
                                                                                  • ivy
                                                                                  • general
                                                                                  • projectile/persp-mode
                                                                                  • straight
                                                                                  • eshell

                                                                                I’m using org-mode for all kinds of note-taking and journalling, and also restclient, but none of the fancy non-text-editing modes otherwise (email, irc, etc.). Magit of course.

                                                                                1. 13

                                                                                  I use Hakyll. It’s written in Haskell and is completely programmable. It’s actually more of a framework for writing static site generators. That said, there are example codebases that you can get started with. It supports all your desires.

                                                                                  1. 3

                                                                                    I use Hakyll, too, but it’s complete overkill for me. And I’m not deep enough in Haskell any more to do much development on it, so I’ve been considering moving to something else.

                                                                                    I still endorse Hakyll, fwiw, but its strength lies in either: 1- leveraging your existing Haskell knowledge, and/or 2- generating sites that are far more complex than most personal sites/blogs.

                                                                                    1. 4

                                                                                      I still endorse Hakyll, fwiw, but its strength lies in either: 1- leveraging your existing Haskell knowledge, and/or 2- generating sites that are far more complex than most personal sites/blogs

                                                                                      It’s also fun to spend more time programming your blog than writing blog posts.

                                                                                      1. 1

                                                                                        i use hakyll and i’ve used it to also teach myself odd bits of haskell.

                                                                                        i like how extensible it is, and i’ve occasionally used it to add various bits and pieces

                                                                                        the main downside w.r.t. github is that you have to commit all the generated artefacts; which is definitely a shame.

                                                                                        i’ve not done too much funky stuff with it; but on my companies website i’ve used it to build some (very simple) features, such as lists and specialised rss views, next/previous blog post buttons, etc.

                                                                                        it’s not the most elegant code; but gets the job done.

                                                                                        1. 1

                                                                                          Late to the party, but you might be interested in rib.

                                                                                          Why? Because by using rib, you will automatically learn Shake which it is built on top of. Compared to Hakyll, rib is relatively simple to use.

                                                                                          Disclaimer: I’m the author. :-)

                                                                                        2. 3

                                                                                          hakyll here as well

                                                                                          1. 2

                                                                                            Great to see you’re blogging (again), Pavlo!

                                                                                          2. 2
                                                                                            1. 1

                                                                                              Hakyll too. It’s simple if you only want to convert text into HTML, however, if you want something more advanced be prepared that you might spend more time figuring out how to implement this instead of writing.

                                                                                              I’m also using supplementary python scripts and relying on external means (e.g. jupiter/emacs) to generate HTML too, I shared my setup here

                                                                                            1. 10

                                                                                              It is a straw-man argument to say that macros in LISP-like languages are amazing because you don’t need to generate strings and eval them. Most macros systems I’ve used (in Scala, Haskell, and Rust) work over ASTs instead of strings. In some cases (typed TH), you even get to reason about the type of the expressions represented by your ASTs. Even LISP quoting/unquoting facilities have their analogue in other languages with quasi quotation.

                                                                                              I view extra syntax as having a similar benefit as syntax highlighting: it enables my eyes to quickly navigate to specific parts of the code (branching constructs, type signatures, side effects, etc.). In both cases, there’s obviously a balance for everyone.

                                                                                              1. 6

                                                                                                The point about macros was mostly in comparison with languages that don’t have them at all. I haven’t done much macro work in any language, probably the most in Clojure, a bit in Haskell, and I guess I’ve done template programming in C, if you want to count that, so I’m not really the right person to ask when it comes to the tradeoffs of different the macro systems out there. I’m also very torn on how I feel about them, because in many languages they end up being a pain to debug, so I mostly stay clear of them, but I think they can provide a lot of value to library authors.

                                                                                                I like that argument about syntax highlighting/visual distinction, that is a good point.

                                                                                              1. 2

                                                                                                I love this blog, the interactive animations make so many concepts so much easier to understand. I remember reading the post that explains how each post is made, and I was just in awe at the amount of work that goes into each of those. In comparison, I’m having a hard time writing up a couple hundred words every few weeks.

                                                                                                1. 1

                                                                                                  Yeah it’s a really high quality blog!