1. 10

    Nice! I could pick Inconsolata out blind (used to be my default) and blind-bracket led me to Roboto Mono, which I’ve used in various presentations.

    But one of the best things I did for myself was figure out how to write the config file for Iosevka and customize my own variant. It took an afternoon, but I was able to cobble together a font with all the subtle nuances I prefer and it makes me happy every time (and I dig Iosevka’s thinner stature in general)

    1. 6

      you don’t even need to spend an afternoon figuring that out, the iosevka folks have an online tool for generating the config: https://typeof.net/Iosevka/customizer

      1. 1

        That (customizability, and the online customizer) is kind of incredible. I’ve never heard of a font whose designers let you download a tweaked version, at least not tweaked to this extent. I might just have to test drive this.

    1. 4

      I currently use Inconsolata-g on one machine, DejaVu Sans Code on another. The latter is absent from this site, and I don’t see a way to suggest a font (other than the social media links provided). Going through the test, I ended up with Cousine, and am test-driving it. I’d heard of it before, and don’t remember why it isn’t my current font.

      1. 13

        Yeah, my font of choice (Iosevka) is also absent and I would like to add it to the set, but there is no information how to do so.

      1. 4

        I’ve been enjoying all the discussion recently about methods people are using to be faster at programming, so I decided I’d contribute my a list of my own.

        I’d be eager to hear what everyone else does that I haven’t listed!

        One area I know I’m quite lacking is in using good keyboard shortcuts and keybaord-based navigation as a whole. I still do a good amount of clicking around the editor to select stuff and move the cursor, and I’ve seen some vim users who take pride in never taking their hands off the keyboard.

        1. 3

          Honest question: Is it really the tooling that does it…? Or is it just icing on the cake? Compared to knowledge of algorithms, choosing the right language for the job, and stuff like that.

          1. 1

            Having to pick up the mouse from time to time is an annoying distraction though. When I moved from Vim to VSCode, not learning the keyboard shortcuts feels quite destructive in the tight modify-compile-run loop. Having learned how to switch between editor window and terminal helps a lot.

            1. 1

              In case you haven’t seen it yet, vim extension for vscode is really good. Less relearning that way.

          2. 3

            Long ago Bruce Tognazzini did some experiments showing that choosing a command from a GUI menu was measurably faster than pressing the keyboard shortcut, even though the people doing it felt that the keyboard was faster. (The exceptions were super common shortcuts like Copy and Paste that were burned into muscle memory.) He hypothesized that subjective experience of time was different when performing a physical task like moving a mouse, than for a memory based task like remembering a key command.

            I’m sure an expert can get the full range of keyboard navigation commands burned into muscle memory to where it’s faster than mousing, but personally, I’m waiting for eye-tracking interfaces that can move the cursor to where I’m looking.

            1. 12

              Dan Luu did a rebuttal to Bruce’s claims: https://danluu.com/keyboard-v-mouse/

              1. 3

                The fundamental flaw with mousing is that you have to look (at things) to use it.

                The operational cycle is: 1) actuate muscle motor skills, 2) watch mouse pointer movement, and other on-screen UI changes, 3) loop (1 -> 2) until target is reached, 4) complete task (click, hover, release drag)

                With keyboard, assuming you are zeroed in on your home row position, you can execute the vast majority of your tasks without looking. The cycle is: 1) actuate muscles, 2) complete task

                1. 3

                  Exactly. The point is not to minimize the amount of milliseconds that the operation takes, but to minimize the amount of distraction or context switching. Ideally one can edit the code without paying special attention to the editing process itself, so your mind can devote all space to solving the actual problem you are taking on.

                  I’d say this goal is easier to reach with keyboard shortcuts than with the mouse. But perhaps one can do this with the mouse too after enough training.

                2. 1

                  Interesting finding! In my case, I opened a really old delphi project recently, I think I hadn’t had delphi installed in years, but the shortcuts immediately were in my muscle memory. What I used often stayed there - just like riding the bike. There are so many commands today that nearly impossible to memorize ’em all, but what you use the most frequently worth the effort to memorize (which is like using it 6-8 times to learn?) - those will actually speed up your daily routine.

                3. 1

                  I have this in my .spacemacs:

                    ;; Don't use the mouse in emacs. It's just annoying.
                    (load-file "~/.emacs.d/private/disable-mouse.el")
                  

                  https://github.com/purcell/disable-mouse/blob/master/disable-mouse.el

                1. 1

                  I would recommend adding a short description to your splash page. It’s not clear what exactly this does (i.e. differentiating features compared to Medium itself). Even after visiting your example link, I’m still not sure. Note: I’m not a regular visitor to Medium.

                  1. 2

                    Thanks for the suggestion. You’re not the first to make it 😃 I’m trying to figure out what I might say. If you’re not a regular visitor to Medium, you don’t need this site! 🙂 If you know what an alternative frontend is, and you don’t like reading content on Medium, you probably don’t need to be told. For example, look at Nitter and any Invidious instance. They don’t explain themselves at all on the homepage, although nitter does have a ? link to explain more.

                    All that said, it’s easy enough to whip up a paragraph with a brief explanation. I really want to avoid the “why” though because everyone has different reasons: more privacy, less paywall, less platform dominance, better UI/UX, etc. I provide the service, why you’d use it is for you alone.

                  1. 1

                    It’s too bad PostgreSQL isn’t more popular. All my $employers for the last 10 years have picked MySQL, presumably because it was more well-known, and not because they objectively compared against PostgreSQL.

                    1. 8

                      Refreshing to read some one challenging the value of type systems. But he is right. They are way overrated. A nicety certainly won’t determine the quality outcome of a product written in a given language.

                      However…

                      What improves (and guarantees) software quality is rigorous testing. To deliver high-quality software, there is no other solution.

                      This could be equally challengee and the author even hints before that the fundamental quality of a program is not tied to such gimmicks.

                      What determines the quality of a program is the engineering skill of the programmer. Throwing testst at it is no guarantee for anything. Plenty of hopeless codebases have thousands of tests.

                      1. 1

                        What determines the quality of a program is the engineering skill of the programmer. Throwing testst at it is no guarantee for anything.

                        Hang on; please expand on this. I’m not seeing how a test that has assert(exactly_this) does not give you strong confidence that exactly_this is true (for the setup/context in the test code).

                        1. 1

                          I didn’t negate that. You obviously can’t create asserts that will give you confidence on all cases because at then point you could replace your code by a giant map.

                          Furthermore exactly_this is a value or a condition. It doesn’t asset anything at all about how the code is engineered. You can have an horribly written program and an code marvel passing the very same battery of tests.

                      1. 2

                        I consider myself a power user, but I can’t figure out how to avail of this new dark mode. I understand that the implication is “it will detect it based on either your browser or your OS”. I do believe I am in dark mode at the OS (WM) level. Chromium 94 under KDE Plasma.

                        1. 3

                          Chrome on Linux has non-existent detection of OS level dark mode settings AFAICT, though with the multitude of WM/DE combinations and the myriad ways of interacting with them, it’s hard to fault Chrome for it.

                          1. 3

                            My understanding is that there’s an XDG dark-mode standard forthcoming, but I can’t find where I thought I read that. Firefox on Linux seems to guess based on your GTK theme, which… ¯\_(ツ)_/¯

                            Another gotcha I just discovered is that if you have “resist fingerprinting” turned on in your Firefox privacy settings, prefers-color-scheme is ignored so that you can’t be sorted into a “dark mode” bucket.

                          2. 1

                            The site uses a CSS media query with prefers-color-scheme. If you can figure out how that can be set by your browser on your desktop environment, it ought to take effect on this site. I’m afraid I don’t have any insight about how Chrome consumes environmental settings from Plasma.

                          1. 1

                            The developer documentation is pretty spartan at the moment. On that front, this project doesn’t feel that impressive.

                            1. 41

                              I don’t see daily standups being a big deal either way (having or not having them), but it’s hard for me to look past the acidic tone lacing pretty much the whole article. Even if a good point is made in there somewhere, it would be obscured by the corrosive spray. In fact, I’d pass on an opportunity at a workplace where this level of negativity was the norm.

                              1. 1

                                I accidentally discovered that you can click on the commit graph diagrams and it reveals some kind of source code. Seems to be this: https://pikchr.org/

                                1. 1

                                  I often use git restore -p to interactively discard uncommitted changes.

                                  1. 2

                                    K-9 Mail does a pretty good job. One feature I’m waiting for is autosuggestion using seen email addresses. (There’s an open Github issue for it already.)

                                    1. 4

                                      Am I misunderstanding things, or am I right in guessing that this is currently exploitable in the majority of actively running Linux instances [which have not been updated yet]? If so, it seems irresponsible to disclose this so soon.

                                      1. 1

                                        Author of the article here. I attempted to sort out the differences among Ruby version managers, including the newer ones. I’m interested in your opinions, experiences, or advice.

                                        1. 2

                                          TIL about frum. Currently using rbenv, I like the idea of not needing to deal with ruby-install.

                                          1. 2

                                            I know most site owners don’t care, but, FWIW, a totally blank page is served when cookies are rejected. (And therefore I didn’t read your article even though I was interested in the content based on the subject line.)

                                            1. 2

                                              Thanks for informing me! This is the first time I’ve published with Sitepoint. This will be a consideration when I think about publishing with them again. I’m happy to email you a copy (and anyone else who doesn’t want Sitepoint cookies). I’m daniel@danielkehoe.com.

                                          1. 1

                                            Looks like you’ll need some overrides to avoid dark-on-dark problems like at https://lobste.rs/settings . A top-level color: definition in body { } seems to do the trick?

                                            1. 2

                                              Ah, I forgot to check the setting page :/

                                              How does this look? Screenshot of settings page.

                                            1. 2

                                              I still use Thunderbird, as my needs are modest. Multiple accounts, view HTML on occasion when necessary, basic filtering.

                                              I’d like to find a good curses/terminal MUA but the one or two I’ve tried seem designed for use with only a single account, and have non-existent or horrible UX for multiple accounts.

                                              1. 15

                                                Whenever I see people hating on pull requests and code reviews, I question the people and culture of their teams. I’ve been doing the PR+CR thing for many years in more than one company, and have never really thought negatively of PR+CR. If hiring is good, the people are good, and the culture is good, then I think PR+CR is not only fine, but is beneficial to a dev team.

                                                When I say “good”, I mean things like: everyone assumes positive intent by default; no quarelling over style; people know that blocking a PR is a heavy hammer that should be used sparingly; politeness; respect; humility. Stuff that just comes naturally for a company or department that has great culture.

                                                Obviously, if your team’s PRs are a minefield of finger pointing, accusation, ad hominem, style wars, frequent PR blockage, intelligence insulting (even unintentional), and arrogance… nobody would like that. But that’s a people problem, not a process problem.

                                                1. 2

                                                  I remember using tfs and what code reviews were back then was nightmarish compared to PRs. It does help that I have a great team to interact with certainly.

                                                  Stuff like style is enforced by eslint and similar technologies - reduces the chances of simple formatting being on the diff.

                                                1. 18

                                                  A quick question: is Chrome better than the rest?

                                                  I use Firefox desktop and Duck / Safari mobile as primary browsers, and I’m completely satisfied by the experience. Am I missing out something here with Chrome?

                                                  Lots of articles about ditching Chrome / time to move to Firefox … but people seem to hesitate. That tells me something holds them to Chrome, and I can’t image what that things is.

                                                  1. 10

                                                    A quick question: is Chrome better than the rest?

                                                    They don’t support vertical tabs at all.

                                                    Performance is about the same (slightly better but I’ve never noticed except maybe on Google properties).

                                                    Uses more RAM.

                                                    No, not better at all in my book.

                                                    1. 4

                                                      They don’t support vertical tabs at all.

                                                      I’m not sure what you mean by “they”. I’ve been using Tree Style Tab on Firefox for as long as I can remember.

                                                      1. 7

                                                        “They” is Chrome, not Firefox.

                                                        1. 1

                                                          … and it’s absolute garbage without hacking userChrome.css.

                                                      2. 6

                                                        Out of principle (re: reducing the monopoly), I am trying to switch to Firefox. (I’ve done so on one of my daily drivers, but not both.) To answer your question, though, there is at least one feature where Chrome is unequivocally better than Firefox: the UX for multiple profiles/personas.

                                                        In Chrome/ium, the entry point for profiles is a single icon/click in the main toolbar. Switching profiles is another single click. So, with two clicks, it will either create a new window “running as” that profile, or it will switch to an existing window of that profile. The window acts as a container, so any new tabs (and even “New Window”s) will be for that profile. Everything about the experience makes sense, and is just about the simplest, most straight forward UX design that one could conceive.

                                                        Contrast the above with Firefox’s profile UX. Profiles available in main toolbar? Nope. Open hamburger menu – profiles in there? Nope. How about in the Preferences UI? Nope. So where the heck is it? Well, there are CLI switches available (try not to laugh). -P/--profile to use a certain profile, or --ProfileManager to bring up a GUI widget on startup to pick a profile. Okay, so of course normal users will not use CLI switches. So what do they do? Well, there’s an about:profiles page available. So you have to type that (there’s autocomplete at least, to save you a few keystrokes), and then you click on a button on that page to open a new window launch a new Firefox instance for that profile. And then there is no visual indication in Firefox as to which profile you’re currently using, unless you’ve themed each profile, etc. In Chrome, you assign avatars to profiles, and the current profile’s avatar is displayed in the main bar.

                                                        There’s this feature of Firefox called containers, or container tabs, or multi-account containers. Or something. They.. sort of do the job, in a clunky way. Tabs get a different underline colour based on the container, and different containers have different cookie sets, etc. However, this falls short in a couple ways. In Firefox, preference settings are shared among containers, whereas in Chrome, each profile has independent settings. Also, new tabs don’t (always?) take on the container of the previous/parent tab, so you have to manually set the container of a tab, sometimes.

                                                        Anyway, enough said. The UX for multiple personas is astronomically better in Chrome. It’s not even close.

                                                        1. 1

                                                          Late but:

                                                          Containers is what you look for.

                                                          It is right in the address bar.

                                                          It can even automatically change for sites that obviously belong to one container.

                                                          1. 2

                                                            I tried containers in Firefox. They go maybe 70% of the way towards what I need. It’s a nice try, but not good enough [for me].

                                                            Anyway, nowadays, I use multiple local Linux users to sandbox things with Firefox. They main security concern there is sharing the X display.

                                                        2. 9

                                                          Inertia, ignorance and indolence come to mind.

                                                          1. 6

                                                            That’s the thing I keep coming back to when I see articles like this. It’s not like anything has changed.

                                                            If you’ve gone for like a decade using a browser created by a monopolistic advertising company and after all those years you never saw the problem with it, does anyone really think reading some Wired article is going to finally be the thing that makes you come to your senses?

                                                          2. 4

                                                            Performance can be an issue, as discussed previously.

                                                            Also I think a lot of front-end devs prefer the developer tools from what I’ve heard (although for me, the Firefox ones work fine and have for years, but I’m not a FE dev and I don’t know if there are any concrete benefits here or if it’s just a matter of preference).

                                                            1. 3

                                                              The Firefox dev tools are actually quite nice…except that they become an enormous memory hog and performance black hole if you dump a bunch of JSON into the log. I’ve had the devtools crash Firefox because of a day’s worth of redux debug logs. Never had that issue with chrome

                                                            2. 4

                                                              Chrome (and also safari) has a visibly lower latency in rendering the page. It doesn’t really matter at all if you think about it, but makes the feel of the browser quite different.

                                                              1. 4

                                                                Bugs. Bugs in firefox. Lots of them. Especially annoying while developing.

                                                                1. 2

                                                                  IME Chrome can sometimes perform faster than FF. I’ve really only noticed it when looking at sites with heavy CSS/JS-based animations. also the FF dev tools seem to get bogged down more often than Chrome’s. also, for a while FF performance on Mac OS was much worse than Chrome’s (I forget the details but this was a known issue that may (?) be fixed by now).

                                                                  1. 3

                                                                    I wonder if several years in the future, we’re going to see a bug change there like with the arrival of (now) macOS in the early 2000s. What I’m hinting at is the fact that the problem here are not browsers, but js/whatnot heavy websites, that browsers them try to accommodate, just like Windows was going out of their way to keep backwards compatibility and hide application idiocies. Then came Apple with their “we don’t care about backwards compatibility, this is what you can use”.

                                                                    1. 1

                                                                      I’m skeptical. Long-term, I think browsers will take over native applications as the default app distribution + runtime environment, as browser vendors add more and more native/low-level APIs to the web platform. Then again, I’m not the first person to predict this so who knows.

                                                                      Maybe some day plain HTML/CSS will become a second-class citizen (or people will get used to using other programs to browse the ‘old web’).

                                                                      1. 2

                                                                        Or you’ll have to download a “web-browser” app in your web browser to view actual HTML content, which to be frank, is already happening, given the number of blogging sites that break completely if Javascript is disabled.

                                                                1. 6

                                                                  Have a good strategy for evolution, deprecation, and backward and forward (in)compatibility.

                                                                  1. 2

                                                                    Nice, but it’s a lot less useful if we can’t exclude more than one regexp at a time. (When I tried to redo the command, it replaced the previous filter i.e. brought those initially-filtered lines back again.)

                                                                    1. 7

                                                                      I’ll add it to the text of the article, it is in the gif, but you can use a regex. So to filter out a and b, you’d type

                                                                      &!a|b
                                                                      

                                                                      (Terms split by a pipe)