Threads for nayzer

  1. 1

    I’ve always resisted the urge of switching to a different layout than QWERTY in fear of not being able to use someone else’s keyboard. Given that I use my own setup most of the time, this fear is not really justified. But it’s kinda like buying insurance, for that one time when you really need it.

    1. 1

      I am in front of a lot of different systems throughout a given week, so switching away from QWERTY is a non-starter for me. The best I can go is a Microsoft Natural 3000 keyboard for my main systems. Been using those or the original Microsoft Natural since the 1990’s.


      This is a really cool project, thank you for posting it! However:

      escape is too crucial to put on a non-base layer, but at the same time, not as important to deserve a place on the base layer.

      Not important! Heresy! (JK) I was obligated to say that as a decades-long vi/vim/neovim user. Very nice project, though, seriously.

      1. 1

        You won’t forget QWERTY if you switch to a new layout, don’t worry. Worst case is that you have to look down on the keycaps when typing…

        1. 1

          Yes, this is my experience as well, combined with the annoyance that the keys are all in non-sensical positions.

          If I have to help a colleague who is on qwerty and it takes me too much time to type something out, I will ask them to type it out.

        2. 1

          I learned a new alpha layout at the same time as I was getting used to a small ergo keyboard (30 keys in my case). I continued using my regular row stagger keyboard during the day at work, but would practice on my new layout and keyboard at night. After a few weeks, I felt good enough to start using my new keyboard for work. It has been over a year since and I still use QWERTY on my laptops built in keyboard and my alt-layout on my ergo keyboard. Having the layouts tied to different physical key layouts has made it really easy to keep them straight in my head.

        1. 3
          • Confessions of Saint Augustine
          • Social Classes and Political Power in Lebanon, by Fawwaz Traboulsi

          Both are personal interests to me. I’ve been relying on blog posts for my technical reads

          1. 13

            Just finished “Designing Data-Intensive Applications”, was very interesting and easy to read. I’m still in the process of deciding the next one.

            1. 6

              I rate Designing Data-Intensive Applications very highly indeed. Might put it on the list for a re-read!

              A friend also recommended Seven Databases in Seven Weeks but I’ve not got around to it yet.

              1. 2

                I will take a look, from the description it takes a very practical approach which could be a challenge, because the book was released in 2012.

              2. 4

                Ooo “Designing Data-Intensive Applications” is so good! I read it last year, and should probably review my notes 😅

                1. 4

                  Nice, I am currently reading that book too.

                  As a suggestion, Seven concurrency model in seven week is also a rather nice read, and would complement nicely what you are reading now.

                  1. 2

                    Thanks for the suggestion, I will look into it.

                  2. 3

                    Truly an an amazing book.

                    Another O’Reilly with similar ideas is “Fundamentals of data engineering”. Also worth a read

                    1. 2

                      Did you read this book cover to cover? It’s so hard for me to stay focused on such a long book, but every time I pick a chapter, I learn something new

                    1. 41

                      Some good ideas in there, but some things I’ll disagree with.

                      I’ve seen many developers with super-tweaked shell configs take minutes to find a file because they didn’t know how to grep for things fruitfully. They are beat out soundly by a develop with a normal shell who knows how to search for things, and that person is beat out by somebody who knows the codebase.

                      I’ve seen developers who have spent who knows how many hours learning special keyboard configs for super fast typing on their high-end mechanical keyboards be unable to formulate clear, direct communications or simple code and get beaten out by an old businesswoman on a gross stock membrane keyboard in Office.

                      I’ve seen developers talk about how to get the most out of their compilers and package managers because their time is so precious when they’ll routinely sign up for extraneous meetings and cut up on calls costing untold hours of wasted time a month.

                      I suggest that the last thing anybody should do as a developer, until they’ve mastered basic communication and time/project management, are masturbatory exercises in advanced coding kung-fu or figuring out how to turn their development environment of choice into a jingle truck.

                      At the very least, I wish developers would stop claiming that such things are critical gains in the name of efficiency when they’re leaving so much obvious stuff on the table.

                      1. 18

                        I experienced a lightbulb moment when I noticed geohot (the guy who hacked the iPhone) was (at the time) using stock terminal, some editor & a web browser on stock Ubuntu.

                        1. 9

                          Yeah, it’s almost like all that fancy stuff doesn’t really matter that much when compared against raw skill :)

                          1. 1

                            in my first team at google there was a really smart guy who used nano - he was used to it, it did everything he wanted out of an editor, and he saw no reason to switch to something else.

                        2. 10

                          An old colleague of mine always stressed that “coding is just 5% of the time, so it’s not worth optimizing”.

                          1. 14

                            But we spend a lot more time than that reading code, and there’s plenty of ways to optimize that!

                            1. 4

                              Actually what we want to optimize is communication because we’re trying to build cross-generational knowledge.

                            2. 10

                              I also feels like it does a huge disservice to folks in the early-mid parts of their careers. I’ve met (and worked with) multiple people who diligently followed trends and riced out their terminals and editors only to somehow keep bumping up against other limitations that the snake oil from HN or Lobsters of the week couldn’t fix. We fail those developers every time we suggest that dressing in the trappings of competency is a substitute for it.

                              One case sticks in mind: dev had picked up one of those fancy-pants Spacemacs or vim (don’t recall the editor) configs that uses relative line numbers (you know, -3, -2, -1, ... , 1, 2, 3) on the gutter of the editor instead of absolute line numbers. Pairing with this person was super annoying because line numbers changed after every cursor reposition, and there was a visible lag on their end as they’d process “Okay, go to -3”. Several times I gently suggested they drop the fancier feature and go back to normal line numbers; alas, that never happened.

                              We do these people a disservice by continuing to promote a culture where your tooling and what amount to cute tricks are of such perceived great importance.

                              1. 4

                                I’m one of those crazy people who prefers configuring (n)vim with relative line numbers, since I really like the assistance when jumping to a line visible in the buffer (e.g. 13k to jump up 13 lines.) but I have a binding that allows me to quickly toggle it off for situations like what you described.

                                I learned a lot by using cute tricks, and then figuring out how to work around any problems with them, so I think they are generally fine. Of course some folks won’t take the time to learn this, but this isn’t a new problem specific to programming… people have been misusing tools ever since humans have been making them.

                              2. 3

                                I’ve turned my entire development environment into a jingle truck, but also spent a week studying Excel and way more time studying shell scripting. I think once you get a lot of the obvious stuff out of the way, then these things do actually become critical gains.

                                1. 2

                                  For me this is similar with desktop environments. They first seem like they have really nice gimmicks, but then you get to see all those distractions and time sinks. When I was a teenager I loved to play with making stuff look pretty, show all sorts of stats, etc. And I’d even say it was worthwhile from a creative and tinkering/educational side.

                                  However, I eventually ended up going down the path of little distractions. One of the first such window managers other than fluxbox and openbox was pekwm, a really early version of it. At some later point LXDE was nice, because pekwm was too minimalistic at times and eventually I settled for i3, weirdly enough, even though I never got into using it effectively, I only use it because it gives me tray icons, a clock and prevents me from constantly manually resizing the browser window. Oh and I can still easily use the mouse, cause I can be really bad with keyboard shortcuts. Despite having used it for around ten years as the daily driver it still doesn’t feel like the optimum for me. It just happened to be what worked best and now despite trying out something else every one or two years and also having a system with XFCE I rarely use I have been too lazy to switch to anything else.

                                  Where I wanted to had with this, I think the nice way with Unix-like operating systems is that things are out of the way, yet easily available when you need them. I also think the in the last 5-10 years software started to go into the opposite direction and software constantly makes you aware of itself. I don’t just means through notifications and things like that, but simply also by trying to be in control on a system. It doesn’t matter whether we talk about systemd and all its “parts” (init, timers, supervisor, socket management, system configuration tool, NTP client, etc.), the audio stack, service orchestra tors, like kubernetes, Docker, that feels like the new tar-command paired with a package manager sometimes, or even IDEs and editors that just keep getting in the way, and sometimes cause time and nerves on updates. Don’t even get me started on browsers, that make emacs go green with envy and probably should be what we call an operating system now. Thinks that used to be the thing that would just work, and even when actively developed wouldn’t break due to updates.

                                  In other words, software even one you wouldn’t have imagined to ever have such problems ten or twenty years ago became really noisy. And now this more and more creeps into the developer’s world. Maybe it’s because it has been deemed a well-funded target group. So the classic “put LEDs on it, make it noisy and in bright colors” strategy that toy, show and hardware manufacturers to make your brand aware strategy crept into software for developers, when it mostly was an editor and a compiler or interpreter one cared about, maybe screen size. And all of them want to be or act like they are the sole purpose of running the device.

                                  1. 1

                                    i believe the mistake this (and lots of similar articles) makes is stressing productivity rather than pleasantness. the time taken to identify and remove small, persistent annoyances or stumbling blocks might not necessarily make you more productive, but it will definitely improve your personal working experience.

                                    1. 1

                                      Thanks for you comment. I actually agree with you, maybe I should have emphasized this more in my blog post. Optimizing / Getting to know one’s environment is only one the quality that (imo) should be developed, amongst many others. As others have mentioned some other skills are more important in the grand scheme of things.

                                      Also that might be a bias I have: but for my experience the people that care and understand their stack are usually better engineers, because they also apply the same curiosity to their work (how many times do you meet people using interchangeably the words terminal, shell, prompt, etc?).

                                      1. 2

                                        but for my experience the people that care and understand their stack are usually better engineers

                                        This! That’s the main point of this debate for me. Not whether VS code is better than neovim. But rather, how curious are you? How much do you care?

                                        Using a default IDE setup doesn’t mean you’re a subpar engineer. But seeing a bespoke setup is oftentimes a signal for talent

                                        1. 1

                                          But seeing a bespoke setup is oftentimes a signal for talent

                                          On the other side, given how much bespoke setups are frequently just copy-and-pasted (see also: oh my zsh or whatever usage with some Mac developers), I question this.

                                          1. 1

                                            Then I suppose we can discuss whether using a vim/zsh/etc distribution is a bespoke setup. But I don’t want to find myself starting to argue about this :-)

                                        2. 2

                                          You’re welcome! Thank you for the article that kicked off the lively discussion! :)

                                          Please don’t mistake my disagreement as disparagement; I think you did a solid writeup and I applaud taking the time to both write it and also to post it here for discussion!