Software I’m thankful for (2021)


811 points | by yarapavan 11 days ago


  • sleepycatgirl 11 days ago
    Let's see.. Software I am thankful for.. there is a fair amount of such.

    Anki - Software, that helped me build up habit, and made learning language an easier task

    Emacs - Wonderful text editor, made interacting with system a bliss.

    Nix/NixOS - Distro, that made updates a painless, and fearless task. I love it.

    ZFS - Filesystem that I love, for it has many wonderful features, and they all just work. (Also cute compression)

    Wine + DXVK/VKD3D - Thanks to this, I was able to completely drop windows partition, and go full Linux.

    LaTeX - Thanks to it, I could have cute workflow for writing documents (And yesterday, wrote CV with its' help :D)

    Calibre - Man.. what a behemot of book software. Makes anything ebook related painless

    Common Lisp(SBCL) and Haskell(GHC) - Very interesting languages, with very wonderful features. I love them both.

    Cool retro term - For playing roguelikes, lets me experience them in very retro, retro way.

    Obviously, ublock origin, makes browsing web not a nightmare.

    Aseprite - wonderful pixelart software.

    There is more, but... I will stop there, to make the comment.. not too long.

    • PointyFluff 10 days ago
      This was better and more thought out than the OP's blog post.
    • barumrho 11 days ago
      Curious to learn, what are the differentiators of ZFS? File system seems like an invisible layer to me personally which makes me ask this question.
      • sleepycatgirl 11 days ago
        Well, ZFS way of managing disks is really comfy to me, and, The way datasets and snapshots work, let me have really space efficient game modding.

        I wrote a bit more about this on my extremely simple blog

        • geek_at 9 days ago
          Interesting read, thanks
      • paulmd 11 days ago
        zero-copy snapshots, end-to-end validation of writes and checksummable data integrity, built-in logical/physical device management, and a very intelligent caching layer that uses spare RAM to handle MRU/MFU for both filesystem metadata and the data itself.

        Along with a track record of being generally reliable and stable, under intense commercial workloads.

        • sleepycatgirl 10 days ago
          Yeah... While I don't make use of some things (Like, I only have 1HDD, 1SDD (I do plan to change that once I will be building new PC though), so no RAID-Z for me, still, the way datasets work, made things painless (I mean, I can finally have separate / partition by simply making dataset, but not waste space from having separate partition with conventional filesystem, and this just works)) but still, on the desktop, it is a very pleasant experience. Though, there is still a lot for me to learn about ZFS (Stuff like L2ARC, SLOG and such) but that is fine, those things will come with time =w=
      • nextos 11 days ago
        Snapshots and device pools are my favorites. See

        I use snapshots for personal backups, but on BTFS, and it's amazingly simple. 2 LOC: Rsync home to drive and make snapshot.

        • behnamoh 11 days ago
          is BTFS production ready? as in, is it stable these days?
          • happymellon 9 days ago
            BTRFS has been stable for a while, except for RAID 5/6. However you can use RAID 1 for all intents as RAID 1 provides essentially RAID 5/6 and is much more flexible.

            With BTRFS RAID 1 you can set the number of drives, and the number of duplicate data, and can use mixed sized drives. Due to this, I would recommend RAID 1 over RAID 5/6 anyway even if RAID 5/6 was fine.

          • number6 10 days ago
            I am using it for years and ceased to run into problems about 3 years ago. Production ready as in building a business on it. I would not. Storing your personal important stuff (and have backups in place): yes. Unimportant personal stuff: also very much yes.
    • ziotom78 10 days ago
      Thanks a lot for mentioning Anki! I was not aware of its existence, but it's exactly what I needed for myself and my children!
      • sleepycatgirl 10 days ago
        Yeah, anki is one wonderful piece of software, and it is open source :D Also, I have a bit of advice regarding studying, learning in general: If you struggle to start things, because there is so much to learn and such, start small. Like, If you keep doing even 5 minutes a day, it will be much easier to increase the time (I started this way, and nowadays I can pull off over hour easily) rather than try to do a lot at first

        But then again, it might not apply to you, it.. honestly depends on person...

        • ziotom78 10 days ago
          I agree. At the moment I am studying a new language and am following one of the guides produced by Assimil [1]. Their method is exactly what you are suggesting, and I verified its effectiveness when I learned from scratch a new language in 3 months.


      • HKH2 10 days ago
        As many people have pointed out before about learning languages, it's best to learn in sentences as soon as you can.
    • throwaway83734 10 days ago
  • dividedbyzero 11 days ago
    The fish shell, makes using the shell feel almost painless.

    Hammerspoon, I use it to automatically switch audio devices based on context, so every call uses the best microphone currently available, window management via keystrokes, limiting media keys to Spotify, tons of other things. Indispensable.

    Arduino, I don't think I would be able to tinker with microcontrollers as much if I had to write C and use obscure toolchains directly.

    Solvespace, a limited but usable free CAD for simple parts to be 3d printed. Wish there was a real contender to the commercial ones though, or a free tier that doesn't smell like it's going away any time. Still very thankful that SolveSpace exists.

    The Scala 3 compiler and the VSCode plugin for v3. Absolutely love the language and the experience is so much better than with IntelliJ, haven't had as much fun writing code in ages.

    This will be a bit controversial, but Kubernetes, because if people use it via GKE, EKS etc. then I won't have to learn their organically grown solution to the same dozen-or-so operations problems, and I have yet to see one that isn't a hot mess in some way or other. Also anything running on top of Kubernetes won't be built the very old-fashioned vi-edits-on-server way, great for sanity.

    Various modern messenger apps (Telegram, Whatsapp, Instagram's direct messages, ...) because I would hear a lot less from some highly cherished and very non-technical people in my life without these incredibly slick and fun and convenient apps. As one who's old enough to remember being dependent on landlines and payphones and letters, this still feels like a miracle.

    • preseinger 11 days ago
      > This will be a bit controversial, but Kubernetes, because if people use it via GKE, EKS etc. then I won't have to learn their organically grown solution to the same dozen-or-so operations problems, and I have yet to see one that isn't a hot mess in some way or other. Also anything running on top of Kubernetes won't be built the very old-fashioned vi-edits-on-server way, great for sanity.

      I appreciate this perspective. It's sane. But my consistent experience has been that the complexity permitted by the Kubernetes configuration surface area tends to be larger, more complex, and ultimately more difficult to wrangle than the complexity introduced by (reasonably coherent) home-grown systems.

      I would generally prefer to be responsible for a bespoke solution, with all of its warts and pathologies, than for a Kubernetes deployment. The problems of the former tend to be at least tractable; wrangling Kubernetes to a reasonable level of availability is in my experience only possible if you dedicate your career to it.

    • wan_ala 11 days ago
      I use fish as my main shell and haven't seen anyone else that has. Honestly its really good, the autocomplete feature is my favorite.
      • quyleanh 11 days ago
        Actually you can use fish-like autocomplete feature in zsh with this plugin [1]. It works well for years in my machine.


        • wan_ala 11 days ago
          I didn't know that, thanks! I wonder why i haven't seen this for BASH considering its probably the most common shell other than Command Prompt.
          • behnamoh 11 days ago
            I don’t think people who use bash actually want to use it. even macos switched to zsh a few years ago.
            • latexr 10 days ago
              The macOS change was likely driven by the license which keeps the shipped Bash at version 3.

              The numbers for Homebrew installations of Bash suggest hundreds of thousands of people choose to use it.

              • dividedbyzero 10 days ago
                I have it for running scripts, not for use as a shell
        • sva_ 10 days ago
          I don't think it parses manpages for autocomplete?
      • 9935c101ab17a66 3 days ago
        I've been using fish as my primary shell for probably 5-6 years, and it's honestly fucking delightful. I have my own custom theme/prompt, a bunch of custom functions I use on a very regular basis, an extensive config and I use fisher for third party add ons. I've seen a lot of people say things like "oh you can modify ZSH to be like a slightly worse version of fish" and I just don't get why I would bother? I'm already using a non-standard shell...
      • hiepph 10 days ago
        Also Fish user here. Fish offers many superior features. I use it personally for quick scripting (compared to arcane Bash syntax).

        But people just don't want to move away from Bash due to its widely usage. So: + In my company I still use Bash. + I switch all my personal shells to Fish.

      • Smar 11 days ago
        Long-time fish user here too. It's pretty widely available, so I suppose it has fair share of use.
    • jstanley 11 days ago
      If you like SolveSpace but want something more powerful, you should try FreeCAD.

      Yes, it's harder to get started, and it's less fun to use, but it is more powerful. I wrote a comparison of the two earlier this year[0].


    • alanbernstein 11 days ago
      Got any Hammerspoon config to share? I've used it for simple stuff for years, but recently noticed that people use it for window management, and macos' handling of windows on my second monitor is driving me nuts...
      • nonissue 3 days ago
        I know your comment is stale at this point, but my hammerspoon config is quite extensive.

        Here's the Spoon I created for window management:

        Essentially, `cmd + alt + left / right` resizes the frontmost window to 50% the screen width, and moves it to the specified side of the screen.

        `alt + space` maximizes the frontmost window. `cmd + alt + ctrl + P` sends the frontmost window to your next screen, and you can repeat it to move windows between multiple monitors. I also have an undo function that lets you revert any of the window management actions you've taken.

        Let me know if you have any questions / concerns!

      • NateEag 11 days ago
        I spent years furious with OS X's flaky handling of windows on disconnect/reconnect of windows.

        A few hours with Hammerspoon have made that a non-issue, and I've hardly had to think about window positioning or size since hammering this logic out:

    • barrenko 10 days ago
      Scala Metals team are absolute beasts, I can't really tell of other instances where it's so easy to get almost a full blown IDE out of vim so easily (as a total beginner).
    • d3nj4l 11 days ago
      If you don't mind me asking, why do you prefer Scala 3 specifically? What did it change over 2 that you made such a big difference?
      • physPop 10 days ago
        Not OP but it's almost a whole new language. They removed a lot of boilerplate and it just feels a lot better planned out.
    • zuhsetaqi 10 days ago
      Do you mind sharing your Hammerspoon config?
      • nonissue 3 days ago
        You didn't ask me, but here's mine:

        Quite extensive! My custom Spoons (Hammerspoon's version of plugins) can be found in the _Spoons directory. Let me know if you have any questions or need any help with your own config!

      • lake_vincent 10 days ago
        I second the motion
        • nonissue 3 days ago
          Not the parent commenter but here's mine:

          Quite extensive! My custom Spoons (Hammerspoon's version of plugins) can be found in the _Spoons directory. Let me know if you have any questions or need any help with your own config!

  • _ink_ 11 days ago
    JetBrains IDEs. I need to work with three different languages and it is just a blessing that every IDE works exactly the same.
    • ziotom78 10 days ago
      Absolutely! I teach a CS class in my university and encourage my students to try them out. (It's a class where students are free to pick the language to use, but they usually end up using C++, C#, or Kotlin.) They seem to love the many suggestions the IDE provides about code style, and the visual clues that suggest how to use some syntax. At the end of the semester, many of them have thanked me for that tip, saying that «I would have never imagined that an IDE could teach me how to write better code!».
    • bonestamp2 11 days ago
      Not to mention, there are so many helpers built in and it's one of the few pieces of software that I don't have any major complaints about.
      • recursiveturtle 11 days ago
        I third this.

        I've tried everything from Notepad++ (and plugins), Sublime (and plugins), MacVim (and plugins), Atom, VS Code, to other heavyweight IDEs...

        I'm not a lucky person, avoid games of luck, but consider one of my few lucky moments being grandfathered into Jetbrains's sub model at a steep discount.

        • sirsinsalot 10 days ago
          Me too, my "all tools" subscription has been the single best decision and return of my career
    • billyhoffman 11 days ago
      Last week I learned some cool mouse and keyboard shortcuts in JetBrains, only to then discover they also did the same action in Visual Studio! No more “right click-go to definition” for me! I was presently surprised at how polished it was
  • linsomniac 11 days ago
    Python - It (still) makes writing software enjoyable for me.

    Type annotations: Started using them this year and it allows my editor to give me all sorts of hints about things I'm doing wrong.

    Typer / Click: I've been writing a bunch of CLIs this year and Typer and Click make this really fun.

    Wezterm: Went all in on this terminal 3-4 months ago and it's really great! In particular I like the "copy mode" features and it's "tmux+mosh" abilities.

    LunarVim: Been using it for ~9 months, and it gives me all the advanced developer features I felt like I was missing in my various attempts at a custom vim setup, without the pain.

    sway / i3wm: On my 4th year using it and it just fits my workflow so well.

  • avl999 11 days ago
    Shellcheck : Shell scripts are unavoidable, you have to write one every now and then but shell is a terrible language with massive footguns around every corner. I don't write shell scripts extensively enough to remember all those footguns and even if I did, not sure I'd want to waste brainpower remembering all that archaic trivia.

    Shellcheck makes writing shell scripts bearable and dare I say somewhat enjoyable. They have managed to collate all the shell scripting potholes and tribal knowledge into one static analysis tool. No shell script now gets checked in at work or on my personal machine without being pumped through shellcheck.

  • scorxn 11 days ago
    I'd have to add Pi-hole to this list. Anytime I browse the web on another network, I'm reminded just how much crippling ad garbage it's sparing me.
    • dont__panic 11 days ago
      I use a VPN into my home network at all times for exactly this reason.

      Also useful to circumvent iOS's sorry state of ad blocking. I use an ad blocker on my device, too, but the pi-hole takes care of 90% of the stuff that annoys me.

      I've donated a few times; consider buying the devs a cup of coffee!

    • vanshg 11 days ago
      If you want to avoid the rigamarole of self hosting, I recommend NextDNS. It's a paid DNS service with tons of customizability (i.e. Ad blocking) and visibility (i.e. logs)
      • AnonHP 10 days ago
        NextDNS is always free for DNS. It also provides 300,000 queries free every month dor working with ad/tracker blocking configurations. Once this limit is exceeded, DNS continues to work but blocking doesn’t until the next month or until its paid for. The paid subscription is about USD 2 a month or USD 20 a year.
    • tobinfekkes 11 days ago
      Pi-hole has been an absolutely life-saver to our household. It's typically blocking ~50% of traffic.

      Using someone else's device and off my network is entirely scary.

      • Teknoman117 11 days ago
        I guess I really should just set one up shouldn't I...
        • gorjusborg 11 days ago
          I highly recommend it to anyone considering it.

          But, pro-tip, use a machine that has an ssd (or other real) drive. Having your network DNS go down because of a bad or corrupted sd card will drive you bonkers.

          Sincerely, Bonkers

          • alister 11 days ago
            > use a machine that has an ssd -- a bad or corrupted sd card will drive you bonkers

            I've seen this said many times, and it matches my experience as well. But why should an SSD be more reliable than an SD card when the underlying technology (flash memory) is identical? Or is it not identical? Or it is due to the more sophisticated controller of an SSD?

            • voidmain0001 11 days ago
              I believe the comment was referring to running Pi-Hole on something other than a RaspberryPi since they are known for SD file system corruption. It has happened to my Pi-Hole and music server running on separate R-Pis. Use a throwaway PC that you have kicking around, or run it virtualized...
            • valbaca 11 days ago
              SD cards are the storage equivalent of writing on a one-ply sheet of toilet paper. Nowhere near identical to SSDs
          • hot_gril 11 days ago
            That's not the only thing that can go wrong. It takes a properly babysat server in general. My end result with Pihole was, my wife occasionally asked why her internet wasn't working (for whatever reason of the day), and eventually I took it out.
          • foobarian 11 days ago
            Do you have advice how to replace the default Internet provider router? I have Xfinity's now and it terminates the coax, does switching, wifi, and does various firewall functions. I assume you have to buy a XXXX, disable everything on the Xfinity box and turn it into a passthrough switch. What is a good XXXX here?
            • Icathian 11 days ago
              You don't, really. You can (usually) change the DNS resolver your provided router uses to an internal IP, then statically assign that IP to your pi-hole. It's about 5 minutes in a GUI web panel, give or take the googling to find and navigate that GUI for your specific ISP-provided router.

              That said a better router is usually worth it, I like my Netgear Nighthawk because I'm a bit lazy, someone else probably has a better suggestion.

              • gorjusborg 11 days ago
                > You don't, really. You can (usually) change the DNS resolver your provided router uses to an internal IP, then statically assign that IP to your pi-hole.

                This is totally right, and that is how I have my network configured. I have a firewall behind a dumb cable modem, and I set the DNS server for the network on that device. When machines configure w/ DHCP, they get assigned the router's address for dns resolution, which then delegates to the pi-hole. That's all specific to my hardware though.

              • hot_gril 11 days ago
                You also have to ensure the Xfinity box's DHCP server doesn't lease the Pihole's IP address to a random device. Like set a 1-250 range for DHCP and give the Pi 251.
              • grosswait 11 days ago
                Firewalla has been a good experience for me so far.
            • BrandoElFollito 11 days ago
              I live in France so obviously I won't help you directly. I guess however that there is a whole community of people in the US who documented "how to replace the box from provider X by the device Y".

              Depending on the details, it can go from plugging your fibre directly into a small factor PC, to not being able to do it because even bridging is not available on the box and everything is proprietary.

              I for instance replaced the shitty Livebox 3 from my French provider Orange with a PC running Debian. Before that it was a Ubiquity Edge Router 4.

              Orange make it difficult to change the device, but not impossible. I would love them to just provide my IP though a standard authenticated DHCP request.

            • greyskull 11 days ago
              I've never used Comcast's/Xfinity's own hardware. Always bought my own modem and router, which has generally worked out well, outside of when I'm (rarely) having quirky service issues and can't easily prove that it's not my hardware.

              If you don't want to do that and keep their gateway, I'd expect you can run pi-hole anyway, and if you're not getting the behavior you want (e.g., the gateway seems to be intercepting dns or something), you can try DNS-over-HTTPS.

              • gorjusborg 11 days ago
                I have spectrum, but same in principal here. Having familiarity with hardware I like is why I opt to provide my own modem and router. If anyone is considering going that route, I've had really good luck with ubiquiti networks unifi line. Really great quality for what you pay.
        • tacker2000 11 days ago
          Haha yea, everytime i read about pihole i have these thoughts, but then i think to myself: “ah, one more thing i will have to admin…”.

          But anyway, i still have a spare rasbpi lying around somewhere…

          • tobinfekkes 11 days ago
            That was a thought of mine, but I've literally never had to service or maintain or admin my r-pi. It just hums along in the background. I realize this is anecdotal, but worth mentioning.

            The payoff (usable, perhaps even enjoyable, internet) is worth any admin it might create.

      • AussieWog93 9 days ago
        To others considering it, it's a bit of a pain in the are to install and nowhere near as effective as client-side as blocking via unlock/AdAway/NewPipe etc
    • zuhsetaqi 10 days ago
      I prefer AdGuard Home for it’s simplicity. Used PiHole before and AdGuard Home is so much simpler for me
  • scop 11 days ago
    Outside of OS & text editor (vim), there is one tool that I use countless times every, single, day:

    fzf (

    I can only wonder how much time fzf has saved me in the long term.

    In terms of "software that I don't use for writing software", iA Writer is probably what I am most grateful for.

    • idealmedtech 11 days ago
      On a similar note for Windows: Everything Search. Blazing fast, super easy syntax, powerful search tools. Almost don't remember where most things are stored on my hard drive these days, since they're all just a shortcut and a few characters away
      • SyneRyder 9 days ago
        Is this the tool you mean, Everything by Voidtools?

        The built-in Windows search is (for me) abysmal compared to Spotlight search on the Mac, and especially Alfred's interface to Spotlight search. The Windows search seems to switch too early to trying Bing results when I'm only interested in local results.

        Never tried Everything before, but I think I've seen it recommended before, so I'm downloading now.

      • taskforcegemini 9 days ago
        my most recent experience with windows search is still that it sends me to bing search or the store for local stuff and not even finding things that are in the menu
    • graton 11 days ago
      fzf is awesome :)

      My favorite fzf usage (but not the most often used) is this alias I put in my ~/.gitconfig file

          frbi = "!f() { git rebase -i $(git log --pretty=oneline --color=always | fzf --ansi | cut -d ' ' -f1)^ ; }; f"
      So I do: git frbi (which to me means Fzf ReBase Interactive)

      And then can easily pick what commit I will use as my starting point for doing some rebase work.

      • xwowsersx 11 days ago
        Going to use this, thanks! How do I limit it to N number of commits?
        • graton 11 days ago
          Not sure. But I can use it on the Linux kernel without issue, which is 1,107,114 commits at the time I just tested it. So I have never felt a need to limit it.

          EDIT: Probably could use the "--max-count=<number>" option to `git log` which is documented in the man page.

          • xwowsersx 10 days ago
            Hmm. I think I'm missing something basic here. git rebase --interactive is for when you want to take commits you've been baking and now want to clean them up, i.e. squashing some, rewording commit messages, etc, right? I'll usually do something like

            $ git rebase -i HEAD~5

            to clean up the last 5. Can I do this with `git frbi`? Or is the point that I don't need to since all commits are "picked" by default so you just "s" and "r" the ones you want to and leave the rest?

            • graton 9 days ago
              `git frbi` allows you to pick the value that will be passed to `git rebase -i`

              I recommend you try it and it should hopefully make sense.

              • xwowsersx 8 days ago
                Ah, I had. I just totally brain-farted on the fact that `--interactive <sha1>` takes the SHA of the commit just before the one you want to rewrite. Thanks!
        • badhrink 10 days ago
          You can use the max-count option for the git log command.

          Something like this: git log --graph --decorate --pretty=oneline --abbrev-commit --color=always --max-count=$cnt

    • fsckboy 11 days ago
      I don't know if the blame is fzf's or cygwin's, but when i used to use cygwin I would just install everything in Setup, and that meant that i at a certain point i got fzf with (what?) default config.

      It was a hot mess and took over several bash/emacs control keys. It did a nice job of searching history, but I hated that it paralyzed my keyboard usage

  • loudmax 11 days ago
    > WireGuard is a great demonstration of why the total complexity of the implementation ends up affecting the UX of the product.

    This is absolutely true! Probably everything you could do with WireGuard you could accomplish with OpenSSL/OpenVPN, but the complexity is staggering. This makes it much more difficult to troubleshoot and far more likely that there will be an error in the configuration that could lead to compromise.

    • Mister_Snuggles 11 days ago
      I'm torn on WireGuard.

      Getting it set up was really easy. I think it took about an hour, which included standing up a new OpenBSD VM to run the server. Configuring clients (iOS) was pretty straight-forward and reasonable. I don't have a feeling that there's some security hole lurking in the configuration simply because there's not a lot to get wrong.

      In comparison, IKEv2/IPSec was incredibly painful, especially when you also create configuration profiles for iOS and have to issue and distribute certificates. Once I understood how it worked it made some sense, but there's always that nagging feeling that I've screwed up the configuration because there's just so many options to get wrong. I've probably spent six hours, not all at once of course, getting it working and set up "just so."

      In spite of all of this, I'm continuing to use my IKEv2/IPSec setup. I have not figured out how to get WireGuard to do split DNS, whereas this was a fairly simple part of the IKEv2/IPSec setup. The other requirement I have is split tunnels, but I think WireGuard can do that fairly easily.

      • fl0id 10 days ago
        That's what Tailscale is for. Sure, it adds another layer that you might not like. But underneath it is all Wireguard and at least most of it (not sure if all of it) is also open-source. In fact, the OP post was written by a Tailscale guy apparently.
        • Mister_Snuggles 10 days ago
          Tailscale deals with the things that the IKEv2 part of IKEv2/IPSec handles. It's not a perfect mapping as Tailscale/Wireguard is different that IKEv2/IPSec.

          Apart from being a 3rd-party service, which isn't really what I want, it seems to check all of the boxes. The documentation is very thin on the iOS side, but it seems likely that the iOS app can do everything that can be configured in the admin console. That configuration does seem to meet my requirements.

          Is there a self-hosted Tailscale-like option?

          The only other thing is automatic connection. In my IKEv2/IPSec setup, I've build configuration profiles for the iOS devices so that they'll establish a connection on-demand (triggered by a DNS lookup for my internal domain), but only when they're not on my home Wifi network. It's perfectly seamless since it's all built-in to iOS. The Wireguard app seems to deal with the "connect when not on home Wifi" part, but doesn't do the on-demand side. Wireguard is light enough that this may not actually matter though.

    • RedShift1 11 days ago
      I wish more developers would work on this, making sure their product works straight out of the box. Lots of software requires setting up additional things like Redis, an SQL server, Docker, a proxy server, etc... All those things are in most cases unnecessary. I understand that for high load scenarios they are needed but for small time setups it's just overkill. Make it run with sane defaults and when the time comes to scale up, then those other things can be added.
      • javajosh 11 days ago
        That's a bit like saying "I wish more musicians would write hits more often." Talent and luck is the bottleneck as much as good taste. Certainly its not developer ignorance about what good software feels like.
    • onehair 11 days ago
      For my simple road warrior setup, 8 lines that are clearly understandable were all it took in wireguard.

      OpenVPN was always a nightmare

  • bloopernova 11 days ago
    Stuff I'm thankful for, in no particular order. None of these are particularly unique to me, nor are they obscure and hipster, they're just stuff I have found myself really thankful for.

    powerlevel10k because it makes adding custom sections to my shell prompt really straightforward.

    terraform because I have a job wrangling it lol

    asdf because it manages versions of software for me really well and it has thus far been rock solid reliable.

    Emacs because it's about as configurable and customizable as my most insane requirements. And emacs lisp is very cool. Similarly, vim and vscode are also dear to me.

    Factorio! because of course Factorio, it's amazing. Similarly Kerbal Space Program.

    Firefox for standing up against the chrome hegemony nowadays, and for being so exciting back in 1998 with its initial open source decision.

    And Tree Style Tabs, because every time I have to use a browser without it, my skin crawls at the lack of organization.

    And the big ones: grep, sed, awk, cut, sort, uniq, jq for all the times they've turned something incomprehensible into something useful to this tiny mind.

    EDIT: oh and zsh because zmodload zsh/datetime gives me $EPOCHSECONDS which makes life so much easier to make cool prompt segments like "days and hours since last commit" and "remaining auth session time in minutes and seconds"

        # display time since last commit in days and hours
        gdate -d @$(($EPOCHSECONDS-$(git log -1 --format=%ct))) -u +"(%-dd %-Hh ago)"
    • kazinator 10 days ago
      Breaks past one month, unfortunately.

      I think, you want to take the difference and divide by 86400 to get the number of days. Then take the difference modulo 86400 to get seconds in a day, and convert that to hours (minutes:seconds) via strftime string.

      Proof of concept:

        1> (let ((tdiff (- (time) (read (command-get-string "git log -1 --format=%ct")))))
             (match (@days @secs) (trunc-rem tdiff 86400)
               `(@{days}d @(time-string-utc secs `%H`)h ago)`))
        "(627d 12h ago)"
      • bloopernova 10 days ago
        dangit! I hadn't tried testing it on a repo with commits that far in the past (obviously)

        Thank you for the bug report and PR ;) I'll look at fixing it with your code.

    • danparsonson 11 days ago
      Wow thanks for the Tree Style Tabs tip, that looks really interesting!
  • ziotom78 10 days ago
    Lots of good entries, I'll add a few that haven't been mentioned yet:

    - ncdu, to find out which files and folders take up most of the disk space [1]

    - julia, because scientific programming was never so fun and fast [2]

    - midnight commander, because a TUI implementing Norton Commander dual-pane view is so useful! [3]

    - lazarus, because creating multi-platform desktop apps couldn't be simpler [4]

    - zstandard, its performance are awesome!






    • sleepycatgirl 10 days ago
      Oh, I use ncdu too. Really wonderful tool, loving it. Also zstd, yeah, I use it on ZFS, and man, it saves me so much space its impressive, even on games lol
    • aitchnyu 8 days ago
      I used Baobab which is bundled into Ubuntu to drill down and find space hogs and folders which have 100000s of files. The latter helped me shorten moving all my files between PCs.
      • ziotom78 8 days ago
        Wow, I never heard about Baobab. I've just installed it, and it looks awesome! To manage my servers I think I'll stick with ncdu, but for my laptop Baobab is going to be great. Thanks for the tip!
  • Dalewyn 11 days ago
    Strangely enough: Windows.

    Yes, I fucking hate Windows 10/11 for several laundry lists' worth of reasons, but you know what? At the end of the day, Windows is the only desktop OS that enables me to use my computer to do the shit I need or want to do.

    So long as that fundamental principle as a tool is not violated, I will forever be thankful for Windows regardless what criticism I might have for it.

    • aljgz 11 days ago
      I use Linux as my main OS for some years now, but use Mac and Windows, mostly because I need to test my software on them, but I have to say:

      I totally agree. Windows is the only practical desktop OS for most people.

      Mac is not an OS you can use unless you buy the entire package, and then you have to live with many of its limitations. It absolutely sucks at multitasking (not that most average users care about this one, but anyone coming from windows will struggle).

      Linux is absolute freedom, but that comes with the cost of having to do much more than install, plug and play. You need to be a computer geek, or you need someone else to fix things for you.

      So as much as we are mad at Microsoft for deliberately damaging the experience of using what could be a joy to use, it's still the best at what it is.

      • bachmeier 11 days ago
        > Linux is absolute freedom, but that comes with the cost of having to do much more than install, plug and play. You need to be a computer geek, or you need someone else to fix things for you.

        Hard disagree. Linux works extremely well for the person that only does basic computing. My mother, for instance, used Linux for years. Folks that need to do things like recompile a kernel in 2022 are way in the tail end of the technical distribution.

        • CodeSgt 11 days ago
          I feel like linux only works for 2 categories of people:

          1. The extreme laymen that do essentially nothing outside of the web browser

          2. The tech savant that has the time, energy, and motivation to spend the countless hours required to get Linux to run anything sufficiently complex.

          Those in-between typically have the desire to do more than they are able to easily do OOTB with Linux, but also lack the technical ability to actually do it.

          • p4bl0 11 days ago
            I would have agreed with that 15 and maybe 10 years ago. Nowadays, do you really think this is still true? At the university I work at some of the administrative staff with little to no technical knowledge are using Ubuntu and doing essentially the same thing they would on Windows or Mac, and that really not only web browsing, nor LibreOffice usage. For example they have to use custom horrible tools developed years ago that look just as familiarly awefull on Linux as they do on Windows or Mac (I'm talking of Apogée if any French academics pass by).
            • rocket_surgeron 11 days ago
              >I would have agreed with that 15 and maybe 10 years ago. Nowadays, do you really think this is still true?

              Last month we had six linux desktops at work fail to boot after an upgrade using the disto's built-in update manager because of video card driver issues.

              These were all workstations manned by data scientists with brains the size of planets who foolishly thought that keeping their systems up-to-date for security reasons was a good idea.

              "Oh but that's Nvidia's faul.."

              Doesn't matter. Has never mattered. Will never matter.

              Upwards of 80% of all blue-screens that trashed Me's reputation were crappy S3 and ATI driver problems.

              I'm used to it because (to ward off distro bigots) at home I use a Linux distro so cool and advanced that you've never heard of it so I fixed the issues even though that's about six levels below my pay grade.

              That being said I only use Linux at home for work. And I hardly ever touch it once I get it working in case an update screws up OFED, or CUDA, or some other unresolvable package dependency hell conflict nightmare.

              "Oh the most current release changed the path to 'foo' even though that had been the standard for 40 years because some maintainer got a wild hair up their ass and wanted things to be 'elegant' and we didn't even bother to create a symlink" or "you can't have that version of a package because sixteen layers down is a dependency we don't want to have to deal with upgrading just do it yourself lol" every couple of months? Yuck.

              For everything else: macOS, "Because I ain't got time for that shit."

              • sangnoir 11 days ago
                > Last month we had six linux desktops at work fail to boot after an upgrade using the disto's built-in update manager because of video card driver issues

                We had a similar issue with updated official drivers at a previous gig at a corporate- but leading to BSoDs on Windows using DELL provided drivers (does that count as a Windows distro?). It was re-solved by downgrading the display driver and re-imaging the whole fleet. At a certain scale: you are bound to run into driver issues - unless you're on Mac with its homogenous hardware, and don't upgrade too early.

              • jamespo 11 days ago
                Well you won't have an unsupported videocard on a mac as you can't plug one in. One day you'll find your mac will no longer upgrade though.
                • rocket_surgeron 11 days ago
                  >Well you won't have an unsupported videocard on a mac as you can't plug one in.

                  “That’s… why I’m here.” (.gif)

                  • p4bl0 10 days ago
                    I think the point is that you can buy your hardware from vendors that officially support Linux and get the same benefits as Apple's all included material and system. This is especially true if you're willing to put as much money as you would to buy your computer from Apple.
          • dblohm7 11 days ago
            You're precisely correct, IMHO. I use Windows on my desktop primarily because I don't have the patience to deal with (2).
          • tryptophan 11 days ago
            I think you are right.

            I tried linux recently. Was surprisingly nice in some ways...but constant bugs.

            First it was my bluetooth being strange to pair. Then mouse movement/scrolling just felt wierd. Gnome file picker being shit. Then app scaling issues everywhere...

            Just one annoyance after another. Not something I have the energy to deal with.

            • antifa 10 days ago
              Have you tried Garuda Linux? Preferably with one of the sane DE like mate/xfce, not the default "dragonized" thing which is a crazy mess.
          • fsckboy 11 days ago
            > 2. The tech savant

            yes but you're saying things in a slightly negative way and not mentioning, for the tech savant it's not just good, but better.

        • Dalewyn 11 days ago
          My own experience with Linux is that it breaks from the most mundane of things, such that I wouldn't even dare suggest Linux to the average person because the tech support baggage that will ensue would be far more expensive to me than if they just used Windows.
          • als0 11 days ago
            Have to say that Ubuntu LTS with the Firefox web browser drastically reduced the number of support calls I'd get from my parents, who used Windows 7 before. Of course, as soon as you start messing with packages or doing more advanced things, then more can go wrong. But it's really good for the web.
            • jakswa 11 days ago
              I have this same experience. I put ubuntu LTS on a family member's computer back in 2011, made sure the browser icons were big and front/center, and the support nags stopped. They said they loved whatever I did. I think there is some security-by-obscurity in there too, where all the insane spam/fraud/virus stuff couldn't even work on ubuntu if she ended up clicking on one. Nowadays I take it with a grain of salt: The support nags might have also stopped because other family got scared I would wipe their computer and put this new thing on there they were scared of having to learn.
          • Aeolun 11 days ago
            And you know what? It’ll never update by itself unless you tell it to. It’s a very stable OS as long as you don’t mess with it.
          • kevin_thibedeau 11 days ago
            Switch to Debian. They don't casually break things.
        • jwrallie 10 days ago
          A few years ago I installed CentOS (because it was supposed to be one of the most stable distros at the time) and my mom was happy using LibreOffice to make her documents. I taught her how to update the system and everything was well until one day she told me she could not update the system because the update program was gone. I thought the shortcut was misplaced or something, but actually CentOS had a bug where the graphical update utility uninstalled itself with one of the updates. I wonder how computer illiterate people are supposed to fix something like this without assistance :)
      • RedShift1 11 days ago
        For multitasking, this tool has helped me a lot: Though I still can't figure out why some apps don't work in split view, the window manager just says "Not available in this split view". Split view has always worked in Windows no matter what the app.
        • charlie0 11 days ago
          Switching windows is just one thing regarding multitasking though. Are there others regarding multitasking?

          One thing I have found for myself is that the keyboard shortcuts on Mac tend to be more uniform among all the different programs. I've also found Command much easier to use than Ctrl on Windows. I say that as a Windows user, who went to Mac as primary device, and now splitting Windows/Mac roughly 50/50.

          The shortcut schemes on Mac makes me a far better multitasker than on Windows (with that one caveat being switching between multiple windows of the same app, which I agree, is counter-productive).

          • aljgz 10 days ago
            Interesting. Can you elaborate on why CMD is more productive than Ctrl?

            On windows, usually it's easy to guess what modifier would be assigned to a task. But on Mac, I only need to use memory. In vscode (well that's not an Apple program, but is my main application), Opening documents is CMD+P, but opening terminal is ctrk+backtick. Now, options, is it CMD or Ctrl + comma? You have to know specifically.

      • andrei_says_ 11 days ago
        Could you elaborate on the difference between Windows and MacOS in the context of multitasking?
        • smoldesu 11 days ago
          MacOS uses a considerably different window metaphor than Windows does. This isn't bad, but I think it's fair to call it inherently more complicated than the stacking-windows model that Windows uses or the dead-simple "one app fills your screen" model of iOS/iPadOS. At least, that's the immediate problem I've seen family members point out with MacOS.
          • musicale 11 days ago
            It may depend on what you're used to. Whenever I use Windows 10 I feel like I'm fighting a window manager which is constantly trying to eat up the whole screen, even for simple things like settings. I don't get that feeling on macOS or any of the Linux desktop environments that I use.
            • smoldesu 11 days ago
              I think that's part of the appeal :)

              Windows has always had inelegant desktop metaphors, but it's straightforwardness makes it very easy to understand. It's slow, but it's also easier to understand than typing random things into Spotlight and hoping you get what you want. I don't like Windows by any stretch of the imagination, but it really does "just work" moreso than MacOS or Linux these days.

            • nl 11 days ago
              I do get that the fact you can't Cmd-Tab between windows of an app as well as apps is annoying.
              • pulvinar 10 days ago
                There's always Cmd-` (backtick) to cycle through an app's windows. Easy with the key being just above the tab key.
                • nl 10 days ago
                  Yes, but on Windows the same shortcut (Alt-Tab I think?) does both and I'm pretty convinced that is better - especially with full screen apps (windows) on the Mac.
        • selfhoster69 11 days ago
          One thing that has stood out to me is that when I have two Edge windows open, for example and I switch to the last used window from Safari, both windows overlap instead of just the one window I was working with.
          • hollandheese 11 days ago
            If you want to just have the one window come forward use Expose to do it, rather than Cmd-Tab or the Dock.
            • aljgz 6 days ago
              Using mouse is both slower, and needs more mental process to do the same task. Especially if you need to switch repeatedly while doing something, you come up with a short-term muscle memory: use vscode, alt-tab to the other vscode, alt-tab-tab to chrome. Now you know the first alt-tab takes you to the most recent vscode, but two alt-tabs take you to the first one. I develop a vscode extension and do this routinely. On mac I need to either use the mouse, or switch to vscode, then use CMD+backtick to switch to the other. Both are much slower and a disruption to the flow state.

              Apple for some reason avoids giving people too many options. Just one option: "threat windows of the same application independently" with a default of no would make everyone happy.

        • aljgz 11 days ago
          I should say a lot of that is because of the fundamental assumption that multiple instances of an app are related to each other in multitasking.

          If I have vscode in my external monitor, plus two Firefox instances one in internal and one in the external, than in many ways of switching to the browser, both windows come up. That covers my IDE, and I need an extra click/keystroke to bring it back. One example of many.

          I've observed many mac users. Most of them are much slower than a windows/Linux user with same level of geekiness. In windows/KDE linux, the window switching is conceptually simple and everyone can learn it fast.

          • hollandheese 11 days ago
            Use Expose or Cmd-` rather than Cmd-Tab or the Dock if you want the Windows behavior.
            • aljgz 6 days ago
              If you are on chrome, and you have two vscode windows, you need to use CMD-tab to switch to VsCode, then see which one you got, if it's not the one you wanted, use CMD+backtick to switch to the other.

              Using the mouse is much much slower than the keyboard, especially if on both windows you have been using the keyboard.

          • brulard 8 days ago
            I'm not sure what kind of users you observed, but I have switched fully to Mac (as a developer from linux+windows) after seeing how quick devs can be on a Macbook. Dev conferences are full of macs and most of my dev friends made a transition to Mac and I have not heard one complaining about any workflow speed. Actually the opposite and so is my experience.
      • nl 11 days ago
        > MacOS ... absolutely sucks at multitasking

        Can you expand on this please?

        I'm a heavy Mac/Linux user and I've never found a multitasking problem.

      • AnonHP 10 days ago
        > Mac is not an OS you can use unless you buy the entire package, and then you have to live with many of its limitations. It absolutely sucks at multitasking (not that most average users care about this one, but anyone coming from windows will struggle).

        I know that macOS is not very keyboard friendly in general, but I’d like to know more about what you mean by “it sucks at multitasking”.

        • aljgz 10 days ago
          Please check the messages in response to the comment from andrei_says_
      • fsckboy 11 days ago
        > Windows is the only practical desktop OS for most people.

        I agree except that the more naive among them are always one click away from being wide open to downloading and installing malware, you can't lock that stuff down without making the account very inconvenient to use.

        Linux, at least it's at least a bit of a pain in the ass to download and install something even if you want to.

    • jgillich 11 days ago
      Software development is a much better experience on Linux compared to Windows (unless you stay within Visual Studio).

      If you do tasks that are well supported by your OS, your experience will be mostly good. Don't run servers on MacOS, don't develop on Windows and don't game on Linux. Or do it anyway and deal with the unpolished aspects of it.

      • gregmac 11 days ago
        I've done lots of dev on both linux and Windows. Neither is "better" IMHO. I started on Linux, but today my main work and personal systems are both Win10. I also have a persoanl Linux laptop I use sometimes (currently Pop_OS, because I felt like trying that).

        There's certain things easier on one or the other, usually caused by silly hardcoding of paths (or other OS-specific assumptions). I've run into this with python packages on Windows for sure.

        My Windows dev is mostly limited to .net, and I've been writing cross-platform for years (first via Mono, now .net core / .net 6). Most challenges with cross-platform .net are caused by hardcoding Windows-specific paths and backslash (vs using Environment.* and Path.Combine()), and secondarily by using win32-specific things (eg: registry).

        Tip for Windows dev use: install Windows Terminal [1], scoop [2], oh-my-posh [3], and busybox [4]. Makes the cli so much more usable, at least for someone like me with linux CLI muscle memory (ls, grep, etc).

        I've found the combo of busybox utils and PowerShell is very productive. I nearly always have at least a couple terminal tabs open, and I'm nearly 50/50 of whether I use cli or explorer to browse or operate on files.





        • mrpotato 11 days ago
          A note on the unix tools, if you have git (with git bash I guess) installed, you can add C:\Program Files\Git\usr\bin to your environment Path and you'll have access to ls, grep, tail, etc... from powershell.
          • wizofaus 10 days ago
            Just don't try running any bash scripts written for running on actual linux systems though! If you're doing more than a smattering of CLI stuff, WSL is absolutely worth installing (and enables use of docker etc.)
        • zeppelin101 11 days ago
          Are you able to compare scoop to Chocolatey? I've stuck with choco for years now, because it has so many packages that I haven't wanted to try out scoop or WinGet.

          Regarding PowerShell, I've found that it has become incredibly customizable these days. For example, I just enabled Emacs keybindings for it a couple days ago. So it feels almost like a bash terminal.

          • mrpotato 11 days ago
            Use both!

            I think one of the main differences is that scoop will install for the local user. Which means you don't have to install stuff from an admin console (I think you can do that with choco but its not the default).

            I also just checked to see what apps I've used in scoop vs choco and the only one that choco doesn't have (that scoop does) is wsl-ssh-agent.

            scoop had all the apps I install through choco.

            I'm sure theres more differences that go a little deeper, but as a simple end user, those are the only things I've noticed

            • zeppelin101 10 days ago
              Interesting. I'll have to check it out comparison's sake.
          • gregmac 10 days ago
            Everything is per-user (non-admin).

            The entire operation of it is simple but powerful: everything is based on a manifest file [1]. The official manifests are in git repos, but you can also install from a local file or a gist.

            Chocolatey's usage of nuget packages while also basically just running the app's normal installer is weird and results in all kinds of situation where versions don't match, chocolately upgrades don't do the expected thing, etc. All these problems just don't happen with scoop (at least not in my years of experience with it).

            Scoop apps install to ~/scoop/apps/<appname>/<version>/ and then get a symlink ~/scoop/apps/<appname>/current/, while also getting a ~/scoop/persist/<appname>/. It's just very elegant.

            It adds "shims" for any executables in ~/scoop/shims/, and because that's the only directory added to your path (when scoop is first installed), newly added apps "just work" in all your open terminals/apps/etc.

            It also seems faster. "scoop install <appname>" and a few seconds later you can use it. Chocolatey usually does the UAC prompt stuff and generally just feels clunky by comparison.


        • gnaritas99 11 days ago
      • guhidalg 11 days ago
        Totally agree that development outside of Windows is better. However if a majority of your users are using Windows, shouldn't you, the developer, also use Windows?

        I think HN has a tired circle-jerk around hating Windows but ultimately most people use Windows for a reason, and it's not because it's a good development environment: it's because it just works and if you're a normal user you never have to open a command line.

        • notatoad 11 days ago
          if you're building desktop software for windows then yeah, you should use windows. but these days, most development isn't for windows.
        • godshatter 11 days ago
      • dan_mctree 11 days ago
        As a lifelong windows dev, what exactly makes linux worth moving to? I understand that coming from a linux world, doing what you like doing in linux isn't always possible on windows. But I've never really found a use for any of that console magic linux devs seem to love. Pipe this into that and through seven pieces of software that sound like glibgcd, add 8 arcane flags and in the end you have some kind of textfile that would've just as easily been made in some handmade program? What exactly is the selling point for devs?
        • pksebben 11 days ago
          I'm not sure what a handmade program on windows looks like, so I could be wrong here, but writing shell scripts to do work takes a matter of minutes and creates composable, reliable stuff that vastly reduces the time to do other work. This means that as time goes on, more of my workflow becomes scripted and I very, very rarely work on the same problem twice.

          Then there's the filesystem. It just works. Permissions are easy to grok and (most) error messages are clear about what's wrong. Everything being a file also means I use the same tools to: - investigate bugs in source code - check what processes are using what ports, files, sockets, etc - find files - find things in files

          there's very little that can't be done easily with [grep, cat, ls, mv, cd, echo, curl].

          Also, manpages are incredible. All my important documentation, right there where I'm doing my work.

          It's really less about what's possible on windows / Linux, and more about how Linux lets me do things my way, which means I can consistently improve my methods.

          Also, all the good Linux stuff is free. Both kinds, so not only can I use most of it without worrying about the cost, I can fix it when it goes wrong or modify it to be more like what I want.

          I could go on and bore you more, but those are the key points.

          • zeppelin101 11 days ago
            I'd also add the "Googlability" factor to this. If you want to check how to do anything in bash, you will have your answer within seconds. Not so with PowerShell. It's a much newer system that doesn't have decades of history.
          • jon-wood 10 days ago
            > writing shell scripts to do work takes a matter of minutes

            This is the core of it for me. Half the time I don’t even need to write a shell scrip, I just fling it straight onto the command line if I’m doing a quick one off task.

        • asciimov 11 days ago
          Everybody has their pain points with every operating system.

          For me and windows it was when it updated a hibernating unplugged laptop overnight causing me to loose several hours of genealogy work. I had been using a new to me application that hadn't been doing any sort of background saving while I put in information. My had some niblings come over so I shut my unplugged laptop thinking id get back at it tomorrow. The next day when I opened the laptop I was greeted with the dreaded "Hi" screen, and my previous days work was gone.

          Windows also likes running the fans on my laptop way more than it should. Where linux keeps them off for most my typical work.

          Neither Windows or Mac have a Tiling Window Manager, for me not having to manage windows is a dream.

          Running docker as a first class application is nice.

          But linux has its issues too. Occasionally an update really borks my system and yes it is a pain to find what went wrong.

          I also love vim and emacs. They work better on linux.

          • Dalewyn 11 days ago
            >For me and windows it was when it updated a hibernating unplugged laptop overnight causing me to loose several hours of genealogy work. I had been using a new to me application that hadn't been doing any sort of background saving while I put in information. My had some niblings come over so I shut my unplugged laptop thinking id get back at it tomorrow. The next day when I opened the laptop I was greeted with the dreaded "Hi" screen, and my previous days work was gone.

            To be fair and with no personal offense intended, this sounds more like a case of PEBKAC rather than specifically a Windows deficiency.

            To be clear, I agree Windows's forced, silent autoupdates and reboots are crimes against humanity, but "losing work I did not save" is hardly something that only applies to Windows and is a lesson we all learn the hard way eventually.

            Always save, and if you think you saved, save again. Probably hit CTRL+S several times too for good measure. And keep backups; multiple, good, working backups.

            • asciimov 11 days ago
              If it happens to me, an active computer user for 25 years, think of how often this has happened to others. How much work has frustratingly been lost because Windows knows better about when to update.

              Worse is technologically speaking this shouldn't even happen. Windows should be able to take a running application, save its state, do its update, reboot, then restore the application, without loosing a single byte of application state. Microsoft's lack of compassion for end users in this regard comes directly from it not effecting their bottom line.

              • Dalewyn 11 days ago
                The vast majority of computer users, Windows users and otherwise, have experienced some form or another of data loss. I'm just being fair to Windows (and you!).

                To go back to your example, you lost your work after Windows decided to silently update and reboot overnight. Now the million dollar question: Why didn't you save your work before you left?

                A blackout or a drive crash or any number of failure cases could have happened instead and you would have still lost that unsaved data, too.

                You're going to eventually lose any data you do not explicitly save. To put it another way, any data you don't save should be data you don't mind losing.

                Windows 10/11's autoupdates are fucking nonsense, but data loss of the kind you're speaking of is by far a case of PEBKAC in my opinion. If you lose data overnight, that's because you didn't take basic steps to save and protect your data.

                • NateEag 10 days ago
                  > To go back to your example, you lost your work after Windows decided to silently update and reboot overnight. Now the million dollar question: Why didn't you save your work before you left?

                  Because humans are not perfectly consistent robots.

                  Any system design or paradigm that expects us to be is broken and user-hostile.

                  For myself, I have Emacs configured to autosave whenever I change focus or documents. I also commit and push whenever I make a meaningful step of progress.

                  For normals, built-in macOS apps like TextEdit have autosave these years. Pair that with Time Machine and an SMB NAS (see, and data loss is pretty darned rare in practice.

                  If the NAS has a cloud backup system, you'd really have to try to lose data.

                • meribold 11 days ago
                  > A blackout or a drive crash or any number of failure cases could have happened instead and you would have still lost that unsaved data, too.

                  GP said he was using a laptop that was unplugged. A blackout wouldn't have made a difference. And in the case of a drive crash, saving (locally) wouldn't have helped.

                  I think automatic updates really deserve a fair share of the blame here.

            • lelanthran 10 days ago
              > To be fair and with no personal offense intended, this sounds more like a case of PEBKAC rather than specifically a Windows deficiency.

              It's specifically a deficiency of the OS when it decides that the work you purchased the computer for is not as important as the work that Microsoft wants the computer to do.

              No vendor, OS or otherwise, should decide that using the consumers computer for their (vendor's) own purposes is more important than the work that the computer was purchased for.

              > To be clear, I agree Windows's forced, silent autoupdates and reboots are crimes against humanity, but "losing work I did not save" is hardly something that only applies to Windows and is a lesson we all learn the hard way eventually.

              "Losing work I did not save because I forgot" is different from "the computer decided to discard all my work while I was working"

              If you're in the middle of driving to work, and your car decides to pull over because Ford wants to do something is very different to driving to work and running out of fuel.

              If you forget/refuse to fill fuel, that's on you when you get stuck. If you did everything right and still the car pulls over because the manufacturer wants to do something, that's not on you.

        • jimbokun 11 days ago
          > Pipe this into that and through seven pieces of software that sound like glibgcd, add 8 arcane flags and in the end you have some kind of textfile that would've just as easily been made in some handmade program? What exactly is the selling point for devs?

          No, that's exactly the selling point.

          Yes, you could write some hand made program. And piping software together IS a kind of hand made program. It's just going to be far faster to write that pipeline, than to write a custom program, deploy, and run it.

          And the pipeline might be much much faster. A classic example:

          • dan_mctree 10 days ago
            >Yes, you could write some hand made program. And piping software together IS a kind of hand made program. It's just going to be far faster to write that pipeline, than to write a custom program, deploy, and run it.

            I suppose the speed of implementation depends entirely on your available experience. If I were to try to reproduce the data processing pipeline in your link, it would take me hours to get to this line "cat *.pgn | grep "Result" | sort | uniq -c", and would probably never be able to get to any of the further steps.

            Meanwhile, with my experience, I would've been able to write a 5 minute C# program that does exactly the same data processing. I don't know if it'd go down all the way to 12 seconds of execution time without serious effort, but I'm pretty sure it would handily beat the version I could write using the commandline.

            If this task is a single time kind of thing, the C# program more than suffices. If it's a many times kind of thing, I'd strongly prefer having it in C# code, so I can more easily adjust it and make it part of a larger automated workflow which will mostly consist of other C# code.

            • jimbokun 10 days ago
              Well sure. If you only know one tool and don’t invest in learning anything else, of course you’ll be faster implementing solutions in it than anything else.
        • charlie0 11 days ago
          I agree with you on that Windows -> Linux doesn't have much appeal. I tried it 2-3 times and gave up because Linux was not user friendly enough.

          However, I will say that Windows -> Mac is pretty awesome. IMO, the main benefits were the commmand line experience. Installing Homebrew on Mac was so much nicer than pointing and clicking everywhere in Windows to do things.

          I see that Windows is getting better with their Terminal app, but the MacOS functionalities beat it.

          If you value doing things from the keyboard rather than a mouse, then you'll see value in switching to MacOs. Otherwise, the appeal is rather muted.

          • llanowarelves 10 days ago
            Chocolatey is a pretty good Windows package manager for both developing software and simply consuming full apps. The packages are written to handle all the manual GUI Windows-installer quirks for you (automating it) and makes it work just like Homebrew.
      • beached_whale 11 days ago
        docker and clion is an amazing experience. One can change their toolchain very easily without worrying about interference from all the crap on my dev machine I have installed over time, or that one needs a different config all togethor. It's similar to clion with windows/mac but the experience deteriorates, but the VM for WSL is much better on windows(no need to allocate a huge chunk of ram) than macos for docker
      • richardlblair 11 days ago
        I kind of agree. Linux is still bit of a shit show.. my audio stack got completely fubar'd on my last linux box so back to Windows I went.

        WSL2 + Docker gets you really close to the development experience of Linux while maintaining your sanity.

      • wizofaus 10 days ago
        I wouldn't say the dev experience on Windows is "unpolished", but I agree it's better if you have access to linux-style command line tools (whether via WSL or even just git-bash). In principle PowerShell should be just as powerful but I don't know many devs who can throw together PS scripts the way most of us seem fine with bash etc.
      • ivank 11 days ago
        You can have the best of both worlds with `Visual Studio Code Remote - SSH` and a lot of mintty -> ssh user@host (to a VM, if needed).
      • deltasevennine 11 days ago
        True, however user experience in windows is still superior.
        • Andrex 11 days ago
          Comparing Gnome to Windows 10/11? No way.
          • Dalewyn 11 days ago
            I would pick the unholy abomination that is ExplorerMetroUWP in Windows 10/11 over GNOME any day of the week. GNOME is nigh unusable other than as an expensive piece of wall decor.
            • wing-_-nuts 11 days ago
              >GNOME is nigh unusable other than as an expensive piece of wall decor.

              Examples you can expand on?

              • Andrex 11 days ago
                Not the user you're replying to, but some workflows just don't work well in Gnome (yet).

                But the combination of key shortcuts and mouse gestures makes it feel really nice to use in practice. Workspaces work like I'd expect, as do Alt+Tab and Alt+`. The built-in apps and settings have a level of consistency the Windows team could only dream of right now. Notifications in Gnome are fantastic. I could go on.

              • Dalewyn 11 days ago
                Lack of customization for one, either I do things the GNOME way or the highway. Screw that, if I wanted that I would be using MacOS and/or iOS instead since Apple does that far better.

                Form factor dissonance for another. GNOME clearly targets the mobile form factor, and it fails me for all the reasons Metro in Windows 8 failed me because guess what: I'm using a desktop/laptop, not a tablet/phone.

                • wing-_-nuts 11 days ago
                  Yeah if you value customizability at all, you should probably be using kde. I value simplicity and consistency.

                  I had issues with ubuntu's unity back in the day and I switched over to i3wm, but I didn't find I used tiling enough to make it worth losing the usability of a desktop environment

                • Andrex 11 days ago
                  > GNOME clearly targets the mobile form factor

                  I think it's more fair to say all form factors are treated equally, to the possible detriment of focusing exclusively on desktop. I think Gnome does well and is really versatile no matter which form factor you use, and I didn't have much issue moving from Gnome 2 to 3, or Windows to Gnome, or OSX (at the time) to Gnome (I've gone back and forth a lot over the years).

                  For me, workspaces (which Windows lacked natively until very recently) and Alt+Tab/` are how I get around.

                  The customizability argument is a solid reason to dislike Gnome, but not for all time. Things do get better each release. Well, except for extensions, which always break.

                • pmontra 11 days ago
                  About configurability, I installed more than a dozen shell extensions and my Gnome desktop looks like and behaves like what a desktop should be for me, quite distant from the ideas of Gnome's developers.
                  • furstenheim 11 days ago
                    Metacity works for me, nice standard look
          • onehair 11 days ago
            Yes. The UX is much better. Linux customization capabilites are phenomenal I give you that, but it takes a very big amount of time if you want something specific for you, and when an update hits and things just break :-(
            • Andrex 11 days ago
              Gnome actually has a different philosophy. There wasn't much customization offered at first, as the focus was on nailing a single set of UX and aesthetics. And I think the Gnome team succeeded, but the lack of customization is/was divisive.
            • zelphirkalt 11 days ago
              Use XFCE, put your panels however you want them, done. Haven't ever had any update break my arrangement.
              • onehair 11 days ago
                I use Linux for my homeserver, and used to have it on my HTPC too. On the HTPC I only used openbox, so in a sense it's even less complicated than xfce. The trouble is with the software for the htpc stuff, like remote gaming, audio, videoplaying retrogames software and so on. The part that ruined my experience is the amount of configuration needed to get there, and updates that constantly broke either my video player, the audio or the remote gaming. Either a driver update with a breaking change, or the audio config that needed repair and stuff like this. Everytime I'd spend obscene amount of time to try to find what's the culprit, and it usually came down to updates breaking one thing or another. On windows it's seemless and in some ways with better performance and ease of installation. Up and running in 15 minutes and with total control to boot...
        • throwaway743 11 days ago
          Ehh that's a big claim. As mainly a windows user (adobe software) both gui and env wise I way prefer Ubuntu over windows. It's so much clearer
        • inetknght 11 days ago
          Try Linux Mint. It uses Cinnamon and Cinnamon is very similar to Windows and without all of the baggage
          • deltasevennine 11 days ago
            I'm a linux user. I use nixOS and Arch. I've also tried mint many times.

            I'm trying to be as unbiased as possible. As good as linux is and as much improvements that have been made over the past decade or so, Windows and OSX still have the superior GUI. Just being honest about it.

            • zelphirkalt 11 days ago
              Windows GUI still has the same bugs that it had in Windows XP.

              The whole system control panel has been dumbed down so much, that it actively tries to prevent the user from finding certain settings. The system still suffers from simply doing everything slower than GNU/Linux. After logging in, it acts as if all is loaded and ready, but when one wants to do something, things still get loaded and icons added "next to the clock". Right click in file browser still feels slugish. Windows stops me from doing the simplest things by asking me silly questions, of whether I want to do, what I just told the system to do.

              Very specific to my systems: The closed source graphics card driver crashes often, while the open source drivers have not a single time crashed noticably on GNU/Linux. On Windows this is noticable, because the whole screen freezes, until the driver has restarted. Never happened on any of my GNU/Linux systems.

              It is simply not funny or justifyable any more.

            • throwaway743 11 days ago
              Ubuntu gui > windows by a large margin
      • yakubin 11 days ago
        As long as you don’t use debuggers.
    • onehair 11 days ago
      This! I like Linux a lot, but whenever I try to build an ecosystem in it for more than few workflows I end up in deep time consuming tasks to figure out how to make things cohabit without having my services fight each other.

      The same open-source apps for some of the same workflows work flawlessly in few minutes without all the struggles.

    • lcnPylGDnU4H9OF 11 days ago
      I can't disagree, even if I would prefer something else. Easily the most compelling argument I've heard for Windows is Tom Scott's:
      • Dalewyn 11 days ago
        It seems I never got around to watching this particular video, thanks for linking it!

        I absolutely agree with Tom Scott's conclusion, Windows will absolutely enable you to do whatever it is you want, regardless how stupid, and most likely without too much low-level jank that most people can't/won't deal with.

      • fsckboy 11 days ago
        I haven't watched till the end of it, but he's on and on about bodging rather than computer science, and all I've gotta say is "sounds like he wished he knew how to use linux". Worse is better is not computer science.
      • oska 10 days ago
        I'm not sure why we're linking to, let alone deferring to, an entertainer like Tom Scott on HN.

        (Tom Scott's fine, but I would never look to him for technical advice or direction.)

    • zac23or 11 days ago
      Windows is a very good operating system. Windows haters don't hate for technical reasons, but for religious or political reasons.

      And I like Microsoft. Microsoft makes some products, that's it. Not experiences, or promises of freedom. They are software products, with problems, qualities, end.

      • akho 11 days ago
        My previous laptop (until yesterday!) was a Thinkpad T460s. Not exactly an exotic model. It came with Windows, which I tried to use (with WSL) for more than two years before giving up.

        The fan turned on at random times in a way that was completely unrelated to what I was doing. WSL GUI apps (via VcXsrv) terminated on suspend, because the network stack is broken in Windows. At some point it started refusing to see wifi after resume. Ethernet got flakey. I thought those were hardware problems.

        On the software side, lack of package management made things outright medieval. Nothing uninstalls cleanly. System tools are a UI mess where you can’t find anything. It also required reboots all the time.

        Then I had a bottle of wine, wiped it, and installed NixOs. As it turns out, there were no hardware problems. Both wifi and Ethernet worked perfectly. No random fan noises or overheating except when I did something actually heavy. Software worked, did what I needed, and did not get in my way.

        Had to switch from Capture One to Darktable for photos. It’s not as good, but serviceable.

        I’m pretty sure all of the points above are technical. Your comment assumes that political reasons are somehow less important than technical ones. That is not true.

        • zac23or 11 days ago
          Of course, there are technical reasons not to use Windows. But it's not the norm.

          > Your comment assumes that political reasons are somehow less important than technical ones. This is not true.

          If politics is important to you, good for you, but I don't discuss politics.

      • captainbland 11 days ago
        I think this is sometimes true but that for developers there are very good reasons to not prefer Windows. Mostly that local software management sucks on it unless you go with WSL, which is really good but does still have some limitations (speed, GPU compatibility, etc. - in general having to manage effectively two parallel filesystems gets in the way), and is at the end of the day essentially still Linux.

        Sure you can use e.g. chocolatey or even cygwin but these are a bit hit and miss at the best of times.

        Powershell is fine but a bit verbose for day to day terminal use compared to bash or nicer variants like zsh.

        Also apparently I set up my last dual boot configuration in such a way that Windows 10 decided that it owned my Ubuntu partition, but only during an upgrade which happened several months after the initial installation. This ruined an actively used install. Not exactly an ideal user experience. Ok, at a stretch maybe it was a bit my fault for not learning that the Windows 10 update system was a bit more... Ambitious than previous versions of Windows, but an explicit warning prompt before it happened wouldn't have gone amiss.

        • zac23or 11 days ago
          I'm a developer. I use Windows to program in Java, Delphi with SQLServer or SQLite. Git works great on Windows.

          I use WSL for Ruby, Python, Go with Postgres/Mysql. I don't dual boot Linux because 100% of the time linux automatically destroys the installation. The last time this happened was because I tried a Bluetooth joystick in Kubuntu. Kubuntu freezes and won't boot again. Because this last experience, I will never use Linux again in the metal again.

          To develop Games, Windows.

          I've never used SqlServer on Linux, and when I tried to use Postgres on Windows, Postgres start using using 100% of processor, it was a total mess.

          Resume: My development experience is compartemized, If is possible to use Windows, Ok, if not, I use Linux(WSL or emulated).

          I have already programmed on Mac OS, using XCode. XCode is an aberration. One of worst software development experience in my life.

          Ruby or Python development experience(in terminal with vim and a package manager like HomeBrew) is good on Mac OS, after installing a good terminal.

      • hulitu 10 days ago
        > Windows is a very good operating system.

        When it doesn't gets in the way, yes. Unfortunately this is happening less and less with every release. If i would not be forced from my employer i would stay away from Win 10 as much as possible.

        • zac23or 10 days ago
          > When it doesn't gets in the way, yes


          My problem with Windows and basically all modern UIs on all operating systems is that we are in the dark age of UI. Everything is gamified, unnecessarily complex, slow...Windows is especially bad, with a lot of old and new UI mixed in with some kind of crazy indecision, incompetence, etc.

      • notfed 11 days ago
        I'll give you a technical reason: the Windows API isn't POSIX. Furthermore, it's a monstrosity compared to POSIX.

        If you've never felt this pain then be glad you've missed out on the multi-decade cross-platform low level programming nightmare. Modern stacks abstract all this away, and the youngins don't know what all the fuss was about.

        • zac23or 11 days ago
          >I'll give you a technical reason: the Windows API isn't POSIX

          Is not POSIX is a technical reason? I have more problems between Linux distributions than between Linux/Windows when it comes to programming.

          > If you've never felt this pain, be glad you missed the multi-decade low-level cross-platform programming nightmare.

          I started my professional career in 1999. I understand and worked at the time of cross-platform hell.

    • Bubble_Pop_22 11 days ago
      All Microsoft products are free of charge if you know where to look for them.

      Basically you have the big Fortune 500 companies subsidizing pirates who download from TPBay...and of course the pirate CD copies being sold in street markets all over Sub-Saharan Africa.

      Microsoft with Windows, Azure, Office, Outlook and PowerPoint is the backbone of the economy. Come noon you have already used half a dozen of different flavors of Microsoft and again if you know where to look you tasted them all for free.

      Analyzing things post-facto the bad reputation that Microsoft had was unwarrented given that we ended up under a much tighter stranghold of Apple in the mobile environment. At least the developing world is saving themselves using Android.

      • wing-_-nuts 11 days ago
        >All Microsoft products are free of charge if you know where to look for them.

        God no. I draw a hard line at pirating executable code. I forget where I read it but a not insignificant percentage of pirated software contains malware, and I don't know about you, but having my bank or brokerage account compromised would cost exponential orders of magnitude more than any software licence.

        Hell, I'm concerned enough about malware that even window's larger attack surface gives me pause even though I know things have gotten better since I left it. I still feel much more secure on linux.

        • userbinator 11 days ago
          I forget where I read it but a not insignificant percentage of pirated software contains malware

          Probably one of the strong antipiracy groups' propaganda. They conspired with AV vendors to make cracks detected as malware (with a vague name/description) despite there being no actual "malice" against the user.

          The truth is, they might be the ones trying to seed malware in warez releases to further their narrative.

          ...and of course Windows is basically ad-supported at this point.

          • wing-_-nuts 11 days ago
            You're not getting my point. At $200 or even $2000 it's a steal compared to the 'expected value' (really, loss) of having my computer compromised. Yes, I'm more paranoid than most, but I have more to lose than most, and unlike others, I can't claim I don't understand the risks.
        • Dalewyn 11 days ago
          >I forget where I read it but a not insignificant percentage of pirated software contains malware,

          That just means you don't know where to look.

          >having my bank or brokerage account compromised would cost exponential orders of magnitude more than any software licence.

          I agree. For anything that's important, especially if it's mission-critical or commercial in nature, go the legit way. Handing Microsoft some cash means you're buying legal assurance that something will work safely (FSVO safely) in a way where the chain of liability hopefully doesn't stop at you.

          • hota_mazi 10 days ago
            You're missing his point.

            Downloading any illegal software can compromise your email and bank accounts and basically ruin your life. It only takes one.

            • Dalewyn 10 days ago
              Illegal software in and of themselves are not dangerous.

              What is dangerous is software sourced from dubious origins, regardless legality.

              What is life-ruining is using illegal software in situations where you absolutely do not want to be on the hook for liability.

            • Bubble_Pop_22 10 days ago
              Are you still wearing a mask and scared of COVID I assume?

              The best security measure one can have is being an absolute nobody.

              if anything pirated software is an indicator of low wealth and thus should make you more secure not less

              • hota_mazi 10 days ago
                What does mask and COVID have to do with the current discussion? Leave your politics out of this.
                • Bubble_Pop_22 10 days ago
                  Unwarrented fear of an extremely low-probability bad outcome.
                  • hota_mazi 10 days ago
                    COVID killed more than 6 million people.

                    That number would have been much higher if there were more people like you, going against medicine and scientific recommendations.

                    We won this battle despite people like you, so please, leave your bad science, conspiracy theories out of this technical forum.

                    • Bubble_Pop_22 10 days ago
                      > COVID killed more than 6 million people.

                      COVID trimmed weeks or months off the lives of people who were already on their way to the end of their lives in a matter of 12/48 months.

      • jimbokun 11 days ago
        The stuff in other people's houses is free if you're good at picking locks.
    • wnolens 11 days ago
      The sysinternals tools make it for me. procexp and procmon are insanely powerful and you can solve really obscure issues really quickly.

      I'm on mac right now for my current job, and quite often a few of my cores go nuts due to a kernel_task process which I find it impossible to track down the reason why. Pretty sure I could root cause this in 10 minutes with procexp.

    • Arisaka1 11 days ago
      >At the end of the day, Windows is the only desktop OS that enables me to use my computer to do the shit I need or want to do.

      I feel like this is the kind of dystopian thing everyone just accepted that it's normal.

      And by that I mean, I expected competition, options, etc. Instead I'm still forced to use Windows for my gaming, GPU's for Linux desktop is still hit or miss, and Apple decided to break up with Intel so on top of everything else I get to "enjoy" package incompatibilities for my work.

      And now I have to pretend that I'm enjoying that Microsoft keeps deciding to grab "a little bit more" every now and then because I really don't have any other options, besides the "stop playing video games that aren't a pain to setup or even work on Linux".

    • tremon 9 days ago
      Windows is the only desktop OS that enables me to use my computer to do the shit I need or want to do.

      Isn't that a very sad state of affairs? Why should such a piece of critical global infrastructure be in the hands of a single company?

    • inetknght 11 days ago
      > At the end of the day, Windows is the only desktop OS that enables me to use my computer to do the shit I need or want to do.

      I disagree on two fronts.

      First that Windows is the "only" desktop OS that enables you to use your computer to do the shit you need or want to do. macOS and Linux both do as well.

      Secondly that Windows is actually a very terrible OS to use your computer to do the shit you need to do unless you have zero care whatsoever for privacy.

      • Dalewyn 11 days ago
        Keep in mind I'm not throwing a blind eye to Windows 10/11's many problems, they are very real and I will absolutely criticize and even hate on Windows for them.

        But when time comes for me to do things, the only thing that matters is: Can I? At least for me (remember: everyone's needs and desires are different), Windows almost always answers with a resounding "Yes!", and for that practical fact I will always be thankful for Windows.

        Give credit where credit is due, as the saying goes.

      • akho 11 days ago
        If ‘shit you need to do’ includes office use (Excel has no competition), graphics (Adobe, others), or quite a few other equally important things, Linux will not be a good fit.

        I use Linux on my computers because it’s much easier to use — setup is easier and more reliable; hardware support is either available or not, without weird driver issues or clunky bespoke vendor applications; scripting is easily available; basic programming tools are much easier to set up; DEs are better than the competition and window managers exist; package management exists, …

        The application landscape, however, is obviously incomplete, with limited progress.

      • onehair 11 days ago
        Install SimpleWall, let it disable windows firewall, block all the things that reach to external IP addresses that you know you haven't installed yourself.
  • godshatter 11 days ago
    For me the list is:

      - Linux
      - gcc, vim, git, make, et al
      - KDE
      - firefox
      - yakuake (terminal that drops down like the old Quake console used to)
      - libre office
      - mpv
      - Steam and Proton (which have made gaming work very well on Linux and have contributed to the complete loss of all productivity gained by any of the above programs).
    • musicale 11 days ago
      > Steam and Proton (which have made gaming work very well on Linux and have contributed to the complete loss of all productivity gained by any of the above programs).


      Oddly enough I think we can thank Microsoft for creating a standard binary format for PC games on Linux. Now if we could just get a decent Proton (or equivalent) for macOS (CrossOver doesn't seem to work as well.)

  • rlam2x51 11 days ago
    Fork - a fast and friendly git client

    Beyond Compare 4 - compare files and folders

    uBlock Origin - An efficient blocker add-on for various browsers. Fast, potent, and lean.

    Those tools made my life so much easier. Can't recommend them enough.

    Just a happy user and not affiliated

    • therealdrag0 10 days ago
      Nice list. Love fork. Been a BC user for like 15 years now. And uBlock just works.
  • vincent-manis 11 days ago
    Emacs. TeX/LaTeX. Classic Unix. i3. A bunch of Scheme implementations. Tcl/Tk.
    • legohead 11 days ago
      I was going to mention nano

      when you just wanna edit things quick and only need to remember a few commands. just wish it came standard with most distros.

      • dividedbyzero 11 days ago
        nano is such a lifesaver. It's pure Unix – does one job really well, doesn't try to be half an IDE like vi and friends, just a friendly little text editor that pretty much everyone can use within minutes. Nothing better for quick edits on remote systems beside never having to do quick edits on remote systems.
        • BrandoElFollito 11 days ago
          I used joe, pico, nano since 1994 and someday I will finally change the key bindings so that I have this in mline with my vscode.

          This is by far the biggest drawback of switching editors and being lazy at the same time.

          • legohead 10 days ago
            Ah I forgot about pico! I used to have way to crash it every time, something to do with the word wrapping. But it stopped being developed so we switched to nano.
    • agumonkey 11 days ago
      emacs, magit, i3, arch, lisps and descendants, firefox, mpv

      magit especially

    • tmtvl 11 days ago
      Emacs may not be the best Lisp interpreter around, but I still love it for how open it is and for the great community around it.
    • onehair 11 days ago
      i3 is so simple and intuitive!
  • rs_rs_rs_rs_rs 11 days ago
    Software I’m Thankful For: the linux kernel and the gnu userland that's the base for the linux distributions I'm using for the last 20 years. I can't image a life without them.
  • blooalien 10 days ago
    Software I'm thankful for (2022): Everything open source, even that which I do not use myself, because it's still there to benefit others, and it's there for me to learn from, adapt, etc, etc. Even bad open source software can be a good lesson in how not do to a thing, or may have some good bits worth learning from or adapting. So yeah, I'm thankful for open source software … All of it. My use of computers has been richer for it.
  • onehair 11 days ago
    ffmpeg is one software that comes to mind. At first it sounds and looks complicated, but all the internet video is ran by it, and now even for small stuff I use it with admiration
    • aqfamnzc 11 days ago
      Can you elaborate on "all the internet video is ran by it"?
      • blahgeek 11 days ago
        For instance I found this old article "Google’s YouTube Uses FFmpeg"

        This may have changed for Youtube but I believe that a large portion of video services still uses ffmpeg under the hood.

      • neop1x 10 days ago
        Many online services use it for encoding, decoding, transcoding, cutting, merging and muxing video and audio formats. It implements a lot of codecs. It is often also used to generate video thumbnails. Its filters [1] are also very powerful to create complex chains of functionality.


  • tezza 11 days ago

      stream deck
      firefox / thunderbird
      socat / netcat
      postgres / mysql
      ms windows (ducks)
      ms excel
    • unnouinceput 11 days ago
      Fucking finally somebody that says cygwin. Everybody nowadays is "wsl2 this, wsl2 that" but they forget that the OG, which still blows wsl2, it's CygWin. I use it for 2 decades, one of the 2 programs I install whenever I need to use somebody else (usually client) PC; the other one is uBlock Origin.
      • anta40 11 days ago
        Why? Because WSL = running Linux on top for Windows, so expect a performance hit?

        Many many years ago during undergraduate days, I used Cygwin (before being introduced to VirtualBox) to provide a UNIX-y coding environment on my Windows PC.

        And on these days I prefer docker :D

        • nsonha 9 days ago
          backwhen WSl wasn't a virtual machine, it's made sense and had some advantage over CygWin
  • danpalmer 11 days ago
    I have to add Django and Postgres to this. Both rock solid, stable, but still staying up to date and improving without being trend-driven.
  • dekhn 11 days ago
    Mostly agree but I don't see goroutines (or go itself) as anything truly great for concurrent (many blocking operations waiting for external events) or parallel (using multiple cores to solve a problem faster than a single core could). It seems like just about everything with goroutines existed in some form or fashion in other widely used systems, but I'm always curious if I'm missing some magic.

    Ultimately the software I'm thankful for is linux/GNU/python as that combination has not only ensure my continued employment, but the productivity of thousands of next-generation scientists.

  • ekrebs 11 days ago
    The responses so far say so much about the HN audience. As a mobile app designer, developer, I'll throw in some higher level tools that I love: - Figma - Slack - VS Code - DataGrip (most JetBrains tools really) - Photoshop - 1Password - Lightroom (Classic, of course) - UBlock Origin - Gusto (makes my life easier as a startup founder)
  • betwixthewires 10 days ago
    I'm gonna get in on the fun and try to find ones that haven't been said.

    Fossil. It is hands down the best version control and code hosting system out there, I wish more people would use it.

    Gitea... I don't like git, but the fact that anyone can spin up their own server with ease and minimal resources and start collaborating is wonderful.


    Qutebrowser. Yeah I know it's buggy and can be janky and QT and all that, but a full featured keyboard focused minimal UI browser with vim like keybinds, there's a lot I'd tolerate for that.

    swaywm. I finally have a workstation optimized for being a workstation. I can't wait for the day we all realize that composable graphical applications are doable with a tiling graphical interface.

    btop, a really good system visualizer in the terminal.

    RSS/Atom. Not really software per se, a specification, but it's great to be able to pull information as you need it.

  • samsquire 11 days ago
    I am appreciative of the following software.

    Python, easy to build algorithms and web services in flask/gunicorn

    Java, for performance and multithreaded code

    Jupyter notebook, easy to prototype algorithms and code



    Chrome, I use Microsoft Edge

    Windows - I love Linux for servers but for my consumer hardware, for ease and low maintenance I prefer Windows and run Ubuntu in virtual machines

    IntelliJ, such a great IDE

  • giuliomagnifico 11 days ago
    I share/approve many of them! I think that is incredible how a computer/software can change your life. If you’re born for the ‘80/‘90 and you remember how it was the life “without software”.
  • kasperset 11 days ago
    Visidata - Helpful to view excel/delimited text file to glance the data on TUI

    Vscode - I was very skeptical of this text editor but it won me over. There are some rough edges but overall very good.

    MacOS - Overall a stable operating system.

    R Programming Language - Has flaws but works generally good to explore and clean data. Special thanks to Ggplot2 to make it bearable to make plots.

    Folder Peek - Allowing me to switch different projects/folder from Menu bar.

    • fcoury 11 days ago
      Haven't heard of Visidata before. Just downloaded and it blew my mind. A less useful tool particularly for CSV is the CSV Rainbow plugin on VSCode, which was my previous favorite.
  • SV_BubbleTime 11 days ago
    VS Code

    It took me awhile to switch over. But really, I can’t go back to anything else. The customization and UX is unbeatable.

    • BrandoElFollito 11 days ago
      Same here. I use to use Jetbrain editors that are nice but slow and extremely specific to languages.

      I forced myself to use vscode for two weeks and it is mostly fine. I do miss a lot of well-done things from Jetbrain (today for instance I had to build and run a Dockerfile and it was painful. Not impossible, had to look up all the commands but it was still painful).

  • mindcrime 11 days ago
    Turbo Pascal, Turbo C++, Borland C++ - not for anything I do today, but for being a big part of my gateway into programming back in the early 90's.

    OS/2 - was my OS of choice until I switched to Linux full-time around 2000 or so.

















    All things that have made my life much easier and more productive in more ways that I could probably count.

    Oh, and can't forget Firefox, VLC, and XMMS. Those are essential as well.

    Might as well add AWS too. For all the (fair) criticisms one could level at Amazon, AWS is an incredibly valuable resource and has been a big part of my world for the last 10 years or so.

  • urbandw311er 11 days ago
    I am a little sad that nobody has said .NET or C# so I’m going with those.

    I pretty much cut my teeth on the first versions of them at university more than 20 years ago and the framework is still going strong to this day. Versatile, powerful, constantly evolving, well supported, easy to understand, truly portable, and effectively free. What more could you ask for.

  • unfinish_d 11 days ago
    The Linux kernel, Firefox, Joplin, Signal, NewPipe and F-Droid, all of which I use every day and couldn't live without.
  • mig39 11 days ago
    Honestly, the big one for me, this year, is tailscale.

    No matter where I am, what device I'm using, all my stuff is always accessible and with me.

    I love it.

    • aidos 11 days ago
      So good that it took this article to remind me that it’s there for me everyday, doing it’s thing perfectly, staying out of my way.
    • euroderf 11 days ago
      Agreed. It replaces horrible multi-hop ssh hackery. Highly recommended.
  • Joel_Mckay 11 days ago
    I donate to a few projects when possible, as my "thanks" can't directly help those that improve my computing experience. ;)

    The GNU/gcc tool-set was a paradigm shift in access to standardized cross-platform software development. It allowed enthusiasts to escape the world of Basic, MASM, and proprietary/expensive IDEs.

  • onemoresoop 11 days ago
    Two small contenders nobody mentions here are Winmerge and Notepad++, my daily drivers that are quietly just working.
  • BrandoElFollito 11 days ago
    I would add Bitwarden, and its self-hosted rust version - Vaultwarden.

    Also Caddy - a web engine which is actually useable (and great)

  • sigmaml 10 days ago
    Here is my quick list.

    - Linux + GNU: My servers would never have been the same without them.

    - Emacs: So many varied use cases over the years. I can type in Telugu (my mother tongue) and Devanagari so seamlessly ... bliss!

    - LaTeX: From papers to books to presentations.

    - Helix: A very recent discovery that replaced Vim for me in just a week!

    - Kitty terminal: I no longer use GNU screen or tmux locally.

    - Go, Ruby, Python: They have been paying my bills for so long.

    - KDE: The other half of the Linux spirit!

    - ffmpeg: Such a boon!

    - Homebrew: So convenient.

    • betwixthewires 10 days ago
      Helix really is amazing, even with it's current level of maturity (or should I say immaturity) I just can't stop using it, I can't wait to see how well it works in a year or two.
    • ziotom78 10 days ago
      Kitty and KDE are two real gems!
  • aliencat 11 days ago
    Karabiner is incredible for making keyboard shortcut to do some pretty complicated task. Obsidian, what a note-taking app! Makes Evernote looks like a dinasour. Vim (and NeoVim), you learn it once and use it for everything.
    • PikachuEXE 11 days ago
      Instead of Obsidian which requires payment to sync notes.

      I am using Joplin:

      Using Dropbox as sync with E2EE (but you can use other ways to sync)

  • insane_dreamer 11 days ago
    git - can't imagine working without it


    unit test frameworks - what a godsend

    ruby - brought joy to writing code, even if I don't get to use it much anymore

  • fullstop 11 days ago
    In my world I'd add haproxy, Lua, libevent or libev, htop, and nginx.

    I'll be doing some playing around with Caddy, and maybe that will replace nginx for me on my list.

  • dpweb 11 days ago
    I'm endlessly dazzled by the elegance of the 'unix principles'. There is no question anything developed today would be much more complicated.

    Still, leaving the linux shell largely for 15 years and coming back to it, I can do basic things - without reading an instruction manual.

  • squarebizchris 17 hours ago
    Roam & Obsidian changed my life
  • 74ls00 10 days ago
    Lots of mine (like git and vim) have already been mentioned, so here's some different ones

    The Elm compiler, for giving me a welcoming on-ramp into functional programming. It's not the best nor my favourite, but its by far the most beginner friendly and is worth all developers learning for how it changes the way you think.

    ed, whichever implementation you chose. And that's precisely what I'm thankful for. It showed me (via Michael W Lucas's book) that a software program can be fully specified, that you can have the entire spec in your head, and that you can just pick up any compliant implementation. So very refreshing.

  • michaelwww 11 days ago
    For Windows, I'm thankful for voidtools "Everything": Find any file instantly across storage devices.
  • cbsmith 9 days ago
    I found the comment about the speed of the Go compiler... surprising. Fast compile times has always been an important objective for compiled languages, and while Go has a reputation for fast compiler times, in my experience, the Go compiler's performance doesn't seem particularly impressive. Indeed, for a lot of code bases, C, D, even dirty old Pascal compilers, and for a lot of code bases (as in ones, not heavily using template foo), even C++ compilers compile as fast if not faster than Go when you disengage the optimizer. Aside from compiling C++/Rust/Ada/Haskell programs laden with tons of templates/generics/type-foo, I can't think of a compiler that seemed perceptibly "slower" than Go. Now, Go's optimizer is surprisingly quick, but then, the binaries it produces aren't particularly optimized.
  • unity1001 11 days ago
    Im thankful of everything that was accomplished in software & the Internet in the last 20 years. And Im thankful for everybody that have made those happen.

    Thank you all.

  • yayajacky 11 days ago
    Observability: prometheus/thanos/grafana

    Language: Golang/python

    Containers: Docker/vagrant

    Browser: Chrome/Safari

  • Aeolun 11 days ago
    I’m thankful for all the framework authors that make it reasonable for me to author my own software without having to reinvent the wheel.
  • denvaar 11 days ago
  • SleepyMyroslav 10 days ago
    Software I live in, Visual studio on windows. I have started with 6. Far Manager is old school 2 blue panels file manager. Tortoise merge is now accompanied with Araxis Merge but still my favorite. 7zip, gets slowly replaced with zstd. Perforce. I have never liked this version control system but it still runs the world for me. Profiling tools, my workday is bad if I havent run one of those. Unfortunately list is too long and was rotating fast over years. From relatively recent things I would probably pick LLVM/Clang and Everything.

    Old things that were useful long time ago but long fallen from grace at home: Firefox, uTorrent, WinRAR. Home software I still use and want to mention - Steam.

    Judging from rest of the topic i spent my life on completely another Earth planet from rest of ppl here. And there most fun software was games written in C++ and running on Windows like OSes.

  • Daegalus 11 days ago
    * ZSH - powerful configurable terminal

    * Steam/Proton/Wine/DXVK/VKD3D - to allow me to game on Linux and not need windows ever again.

    * Fedora - for giving me a distro that is updated/leading edge, but not rolling and super stable.

    * asdf - for letting me manage and get latest versions of my tools with minimal effort adn keep them updated

    * Modern messaging - Whatsapp, Discord, Element, Telegram, etc. Lets me keep in touch with family, friends, communities near and far.

    * foot - a crazy good wayland terminal.

    * VS Code - light editor that does everything i need. No longer have to use heavy IDEs for anything.

    * Go/Crystal/Nim - nice compiled languages that give me static binaries an a fun development experience.

    * Linux - its been pushing for decades, but its finally at a place where it is starting to feel like a good everyday distro and so many things just work. Part of that is Web tech and Electron, others is Wine, the rest is the hard work of Linux devs that improved DEs, tools, accessibility, compatibility, etc. Most of my family has switched to it and most are not tech savvy much.

    * Bitwarden - great, open source password manager that gets better and better.

    * Micro - for giving me a nicer updated Nano experience when I don't need Vim or Emacs to edit some config files.

    Im gonna get a lot of flack for this next one, but whatever:

    * Google stuff - because it just works, and works really well. Android, docs, drive, maps, photos, etc. (i have contingency backup plans if this ever becomes not the case, even wrote a blog post detailing a lot of alternatives.)

    And finally:

    * Software - for giving me a career that gives a good quality of life to my family and myself. And its fun.

  • reaperducer 11 days ago
    ItsyCal (macOS). So simple, and so useful.

    The best part is being able to replace the standard menu bar date with my custom date, including time zone.

    • isametry 11 days ago
      Thank you for this!

      The culture of small, useful and native-feeling utility apps is honestly one of my favorite aspects of macOS.

    • dont__panic 11 days ago
      Adding another thank you because this simple, cute, incredible app is a new desktop staple for me.
    • boc 11 days ago
      This is awesome! Appreciate the recommendation.
  • neonSonOfXenon 11 days ago
    In no particular order:

    Vivaldi Browser, because I was a heavy Opera user back in the day

    VS Code and all of its fantastic debug extensions

    Maven, which has made my life as a Java dev so much easier

    fish shell, which comes with a lot of convenience features enabled out of the box

    Krita, for providing me with a free yet fully-capable option for digital painting

    Kind of the entire KDE suite in general, including Plasma

    OpenMPT, same reason as Krita but for music composition

    F#, which I don't get many opportunities to use, but I love the design philosophy behind it and think the syntax is gorgeous

    Monospaced fonts with ligatures (Fira Code being my favorite)

    Google Calendar, without which my life would be a completely disorganized mess

    MusicBee, which provides iTunes level of music organization without being iTunes

    Markdown + Typora, for letting me throw together quick but well formatted documents without having to set up a TeX install or deal with a full-blown word processor

    Qt and QML, which taught me that UX design doesn't have to be painful

  • eminence32 11 days ago
    Rarely a day goes by that I don't interact with tmux or vim or mosh. It's hard to imagine life without them
    • fullstop 11 days ago
      I added my own list but somehow omitted those. I use all of them on a daily basis.
  • causality0 11 days ago
    If this thread has prompted you to go through your personal archive and update it, please remember that it's very possible that one or more obscure projects have taken over by bad actors and now contain malware. Be careful downloading an installer for that ten year old program.
  • password4321 11 days ago
    I'll say Brave, the least-worst mainstream cross-platform web browser.

    A few clicks opposing the crypto b.s. and it is golden, with what seems so far to be a sustainable not-search-ads-funded business model, native code ad blocking/privacy enhancements, and minimal new tab page tomfoolery.

    It's been a while since a "better to ask forgiveness than permission" fuck up, too. I know, I know, it's a pretty low bar...

    I need to throw in a shout-out to the Windows Pro edition Windows Sandbox, a quick Hyper-V VM for a temporary barebones Windows-in-Windows that has proven really useful to troubleshoot issues in open source Windows software.

  • bravetraveler 11 days ago
    I really appreciate the Docker registry software.

    It's wonderfully simple, yet really flexible. You can make a registry of registries, back it by object storage, and a whole bunch of other things.

    I've had to manage these at work and I love the relatively simple yet useful reach of support.

    There have been some strange bugs. Up until ~2.8.1 it was ignoring TLS cipher settings.

    I believe still... getting consistent HSTS headers for it [in scanning] requires a real webserver.

    Non-200-OK requests lack the header, leading to what I'd call false positives

    If I can gush for a moment: the whole Linux/OSS ecosystem, really. So many giants depend on the work of not that many really clever groups

  • tucif 11 days ago
    Recently switched to macos for development and I'm really thankful to have found out about Shortcat and Raycast.

    Combined with Tridactyl plugin on firefox, I can keep my hands on the keyboard for almost every task across the OS.

    • xwowsersx 11 days ago
      Yes, love Raycast. ctrl + opt + space and I can immediately jump to my Zoom and Google meetings.
  • par 11 days ago
    This post makes me so happy to be working in software. It's easy to get jaded over the years, but this really brings me so much of the joy and love of working with software.
  • Jack_rando_fang 10 days ago
    Vivaldi - The most customizable browser on the market.

    Grammarly - Makes my writing not embarrassing.

    Rust - Allows me to write clean code without bugs.

    Python - Let me do amazing things with a few lines of code.

    Vim - I can't live without hjkl :)

    Z - Liberates my hand from cd ls

    zsh&oh-my-zsh - Simple and customizable shell that looks amazing

    macOS - An OS that I can live with

    VPNs & proxies - The only reason I'm visiting this fantastic website

    Free hosting services - Allows me to grow as a programmer

    OmniFocus - Get things done

    Notion - Express my thought with my own structure

    Bartender - Declutters my menubar

  • zzzbra 11 days ago
    "I keep trying to quit vim" -- this made me laugh.
  • hidelooktropic 11 days ago
    > I keep trying to quit vim

    It's esc + :q

  • smm11 11 days ago
    I saw software I later found out was called Circus Ponies Notebook in the mid-90s, in use by a guy who was too cool for me to understand.

    Years and years later I got Notebook running on NeXT, then on OS X, and couldn't see the point, by then I had sites online that were saving my notes, links, and images. Everything grows to eventually send email, and anything that is software is already online somewhere already.

  • nickm12 9 days ago
    Hmm....JSON felt so good in the mid-2000s because the alternative was XML, but I would not be on the list of things I am _thankful_ for now. It would not take much to make it considerably better at the job it purports to do—see JSON5 as an example. However because it is so entrenched it basically cannot change at this point.
  • 0xmohit 10 days ago
    Nobody seems to have mentioned pandoc [0].


  • benji_is_me 11 days ago
    Off the top of my head: QEMU, Valgrind, GDB, Linux, Wireshark, Nmap, GoogleTest, RenderDoc (still blows my mind), Fusion360, and KiCad.
  • olumiere 10 days ago
    I'm thankful for software based on open standards, like the Internet stack, email, Matrix for communications, ...
  • rndpkk 8 days ago

      - Notepad++  for better writing
      - Inkscape   for drawing
      - Everything for finding your writings and drawings
      - AstroGrep  for finding content inside writings (and drawings (SVG))
      - Firefox    for the Web
      - F#         for fun
  • lbotos 11 days ago
    Imapsync has been the one for me:

    There is a docker container thats super easy to use. It's worked flawlessly for me the two times I've needed it. Each time I use it I donate because it's clearly a great bit of code.

  • andersonrkton 11 days ago
    Cult of the Dead Cow - BO… this got me into programming because it was like magic and I wanted to learn how it worked.
  • lleb97a 11 days ago
    Ad Blockers.
  • spider-mario 10 days ago
    The list is itself very focused on software making. How about mentioning some end-user software as well? Otherwise it makes it sound as though software development is purely an end in itself. Why be grateful for gcc, the Go compiler or SQLite if not for the software that they enable to exist?
  • jll29 11 days ago
    -- I'm grateful that the following sofrware exists --


    Emacs (+VM +gnus +org-mode +scheme-mode)



    cargo + rustc










    -- Historic: --


    the C language and the various ANSI c89 compilers


    Application Systems Heidelberg Modula-2 compiler

  • bofh23 10 days ago

    Why don’t folks give their web pages titles? There’s a title in the body but I mean actual page titles that show up in browser windows, tabs, and bookmarks.

          <title>Page Title</title>
  • holri 11 days ago
    I am thankfull for all the free software people write and share to make this mess a little bit better world.
  • madphilosopher 10 days ago
    redis - for simple, reliable interprocess communication

    cron - gets things done on time, every time

    chrony - simple, no-nonsense NTP

    supervisor - keeps my processes running

    tinc VPN - all my servers and services happily meshed together

    Arduino - makes microcrontrollers accessible

    BitTorrent - trivial, mirrored file hosting

    BitTorrent Sync - simple, reliable file syncing

  • hot_gril 11 days ago
    - Postgresql. I still can't believe it's free.

    - NodeJS. Despite its popularity, it's still underrated.

    • entropicgravity 8 days ago
      A lot of people, myself included, just take this for granted when in fact it's critical and reliable infrastructure for so many things.
  • wan_ala 11 days ago
    Suprised no one mentioned SHA256. I know there's not a official SHA256 implementation but i guess any implementation (except OpenSSL) is good.

    Left out OpenSSL because of poor docs and a small amount of developers. Last I had seen it was like 2 or so.

  • aborsy 10 days ago
    Linux, LaTeX, SSH, Vim, rsync, keepassxc.

    I haven’t actually seen Windows since 2006. I run Linux on laptops too. If you do video editing, maybe a Mac or apparently a windows would be better. Otherwise, Ubuntu LTS works well.

  • perlwle 10 days ago
    Software I use the daily

    Apptivate - set global keyboard shortcut for Mac. Firefox - been using it for 20 years and still loving it. Vimium - vim binding for Firefox. Make web browsing more productive.

  • umutcnkus 11 days ago
    I'm also in for most of the stuff others mentioned(VS Code specially), but two never mentioned I'm grateful are 'Flameshot' and 'Gitkraken'.
  • knorker 11 days ago
    > vim. I keep trying to quit vim

    Haha, good one. I see what you did there.

  • Peter5 10 days ago
    Everything (Instant file search):
    • nsonha 9 days ago
      does search on windows still suck? Also Listary
  • pipeline_peak 11 days ago
    > JSON is the worst form of encoding — except for all the others that have been tried.

    Edgy pessimism is tiring, we get it everything sucks but this is the best we got, even though you still hate it.

    > It’s not easily read by humans, but it can be read by humans.

    What does this even mean, why, how? It’s so easy to complain about something without admitting you don’t have a better solution.

    Maybe I’m bitter from my ERP dev ops role where I’m constantly enduring little thorns throughout the pipeline and overall codebase. But this way of thinking isn’t practical, you won’t get far if they’re what you deal with day to day.

    • preseinger 11 days ago
      I don't see this as edgy pessimism, I see it as pragmatic optimism. The author isn't complaining about JSON, they're acknowledging JSON as the best choice despite its warts.
  • mbrodersen 11 days ago
    VSCode. Love it. Especially for remote development.
  • gulabjamuns 11 days ago
    Vim Ffmpeg Zsh, fish, iTerm, Awk, perl, Ruby...
  • throw7 11 days ago
    I cannot disagree with not one of's software I'm thankful for...

    except vi... seriously you heathen??? emacs 4ever ;)

  • appel 10 days ago
    I'm going to grab this opportunity to give the tiniest of shout outs to a random list of mostly Windows based software that I use every single day.

    - Windows 10/11

    - WSL

    - Powertoys

    - Windows Terminal

    - VS Code

    - Beyond Compare

    - Filelocator Pro

    - Plex / Plexamp

    - Calibre

    - Resilio

    - Firefox

    - Ublock Origin

    - Bitwarden

    - Pushbullet

    - Pihole

    - Notion

    - Hangouts (RIP, Chat is not the same, buddy)

    • McNutty 10 days ago
      Can I ask what you're using Beyond Compare for, that you can't get from VScode etc?
  • cobbaut 8 days ago
    An alphabetical list of software that I really like.

    Apache: Not as popular as it used to be, but I know it and so still use it

    apt/aptitude/apt-get: The origin of all 'apps' and the most user friendly and secure way to manage software

    Audacity: Or is that too controversial now with their telemetry?

    bash: The best interface to my computers

    convert: From Imagemagick, for batch converting images

    Civilization IV: Yes 4, the only software that is not (yet?) open source

    cron: It wakes me up every day (using mpv and bash)

    Debian: I run it on almost everything

    ffmpeg: to convert video formats

    find: because I tend to forget where I put stuff :)

    Firefox: because an alternative browser is crucial

    FreeCAD: Amazing CAD software, and I like math

    gcc: Because coding in C is fun!

    gimp: Easy image manipulation

    git: How did I ever live without it?

    gramps: To keep track of my ancestors

    grep: Often very useful.

    Homebrew: To make a MacBook usable

    Inkscape: Because vector graphics are essential

    Linux: in background of course, like so many other tools that I am rarely aware of

    make: For software that is not part of Debian

    mariadb(mysql): So easy to build a database

    mpv: For audio and video (and for their API)

    Openshot: To create Lego NXT or Prusa video's

    PrusaSlicer: A 3D printer opens a whole new world of possibilities

    Python: I hate this language, but it is used so much and coding is still fun

    return Youtube dislike: How else is Youtube usable?!

    rsync: For backups

    Singlefile: because web pages tend to disappear forever

    ssh: Multitool for anything remote

    Thunderbird: Reading my mail since 1996 (as Netscape Mail)

    tmux: used daily, configured to a quiet and relaxing layout

    Video downloadhelper: because video's tend to disappear forever

    vim: By far the best editor for text, code, config files and more.

    wine: To play that one game on Debian (though I wish its 32-bit had as much memory as 32-bit Windows XP)

    Wireshark: The best tool to learn about networking

    XFCE: My GUI since almost 20 years

    xfce-screenshooter: Because screenshots are useful

  • kibeci8168 10 days ago

    This thing saved me daaaaaaays worth of time over the years. Plus my mental, plus my hair, plus ... well you get the gist..

  • muttantt 11 days ago
    One piece of OSS I will be forever grateful for is Freeswitch. I built a massively successful business on top of it.
    • AdityaSanthosh 10 days ago
      Thanks for mentioning this. It looks interesting
    • jq-r 10 days ago
  • thakoppno 11 days ago
    nobody said nodejs yet?
    • ExtremisAndy 11 days ago
      Not sure if anyone else has said it, but I sure will. I am the lone developer of my website, and it has been so wonderful to be able to remain in JavaScript for both front and back end development. Node also makes a fine scripting language, and the repl is where I normally go by default to practice/drill JS concepts so I won’t forget them. I’m incredibly grateful for NodeJS!
  • sailorganymede 10 days ago
    Vim. Haven't been able to escape since I started and don't want to ever escape now
  • antman 10 days ago
    Python because it provided me with a great living

    Google ortools because life and work needs optimization

    Pysot because life and work needs optimization

    Pocket because it is the only thing that allows me to organize my online research

    Google colab because it allowed me to punch far above my weight in terms of computational resources

    Microsoft office because although a vendor lock in it is lingua franca

    Jupyter notebook

    Dolphin browser fir android because it is the only one that allows plugins anymore sldo ublock also bypass paywall clean

    Anki because learning

    Obsidian because it takes note taking to the extreme Gmail

  • gorjusborg 11 days ago
    httpie neovim redis asdf-vm keepassxc
  • 7373737373 11 days ago
    - Blender - GIMP - fldigi - ffmpeg
  • pmontra 11 days ago
    Emacs, Firefox, ssh, Linux in general, Ruby and Ruby on Rails, Thunderbird, email, OSMAnd+.
  • havkom 11 days ago
    Really enjoyed this piece.

    Now I better understand:

    make clean && make

    (Regarding the mtimes link in the first paragraph)

  • mhb 11 days ago
    Davinci Resolve




    • andrei_says_ 11 days ago
      Davinci Resolve is incredible. Using its fully functional version for free feels like cheating.

      One of the side effects being that it presents the tools and context for doing things properly - from editing to color correction.

      • sleepycatgirl 10 days ago
        Not only that, they also have proper linux binaries, which is really really awesome. (Even if, it has caveat of having to use specific formats... but storage space is cheap nowadays, so that is not that huge of an issue, thankfully)
    • isametry 11 days ago
      I was so delighted to discover DaVinci for a multitude reasons, but one of the biggest ones was that it doubles as a full-blown audio editor (for my use-cases, anyway). This allowed me to finally ditch Audacity, after its development took some very questionable turns last year.
  • dont__panic 11 days ago
    - sublime text

    - jellyfin

    - finamp

    - piOS

    - wireguard

    - narwhal iOS Reddit app

    - osmand/openstreetmap in general

    - netnewswire

    - pocket casts

    - librewolf

    - sonixd

    - obsidian

    - signal

    - iterm

    • DMell 11 days ago
      I hadn't used Sublime for a long time until recently. The speed is unreal.
      • dont__panic 11 days ago
        I never stopped using it. All of my coworkers moved to Atom, then VS Code. But I'm still very very happy with ST.
      • andrei_says_ 11 days ago
        Also the minimal interface. I’m easily distracted and while vscode provides convenience I appreciate the ability to only look at my code.
  • weakfish 11 days ago
    Helix. Most wonderful to use text editor I’ve found in my short career.
    • jorgeavaldez 11 days ago
      I can't help but second this. It's a total joy to use and lets me focus on doing what I need to do without constant lag and yak-shaving configuration files.
  • dmoo 10 days ago
    A couple of niche ones not mentioned


    Popper tools pdftotext especially with the -layout switch

  • alexthehurst 10 days ago
    - New Relic

    - Alfred for clipboard management

    - Rectangle

    - Git

    - The Unix shell/process model

    - Vim interaction model and vi mode in its various incarnations

    - Vimium

    - VS Code

    - Postgres

    - BigQuery

    - Markdown

    - 1Password

    - Docker

  • lolive 11 days ago
    The usual suspects:

    - i3

    - tmux

    - SQLite

    - Intellij

    - Java

    On Windows:

    - Git-bash

    - Autohotkey

    - Virtual desktops in win10+

    And my MVP for 2022:


    4 months after discovering it, I have 700+ (work) notes, that are the core of my knowledge and skills.

    I absolutely LOVE this tool !!!

  • BilalBudhani 10 days ago
    Agree with all the softwares author listed, I would like to add:

    - Ruby and Rails

    - Homebrew

    - Sublime Text / VSCode

    - iTerm2

    - Git

  • PointyFluff 10 days ago
    That post was empty and vapid and spammy.
  • b0ner_t0ner 11 days ago
    No love for PhraseExpress / Espanso?
  • theatomheart 11 days ago
    dwm st dmenu vim hugo ranger tmux newsboat
  • gitfan86 11 days ago
    Goodlist, I would add Stable Diffusion
  • brontosaurusrex 10 days ago
    When on windows: Total Commander.
  • jrib 11 days ago
    vim and all the low level libraries and tools that I don't even notice I rely on every day
  • greyhair 11 days ago
    Almost a year old and still fresh
  • y42 10 days ago
    Total Commander


    Don't need to explain I guess.

  • ParetoOptimal 11 days ago
    - Nix/NixOS

    - GHC (Haskell compiler)

    - Emacs

    - consult/vertico/marginalia

    - Org-mode

    - Org-roam

    - tramp.el

    - magit

    - docker.el

    - gnus

    • eointierney 11 days ago
      It really is back to the future, isn't it?

      If emacs then emacs, else $(evil)

      Org-mode is my favourite superpower, magit is a superb example of nominative determinism, and the underlying trust of GNU is childishly verifiable.

      RMS for our collective win

  • okejemichael 9 days ago
    Thanks for this list
  • backslashr 11 days ago
    on ubuntu

    - terminator

    - apt

    - pick color utility

    - plex although i used it briefly

    - blueman to get bt audio working for my sennheiser btnc 4.5

    - openssh

    on macos

    - iterm2

    - homebrew

    - macsfancontrol on my intel based macs

    - amphetamine

    regardless of any os

    - vscode

    - vim and neovim now a days

    - brave browsers tor window option

    - google docs

    - git

    - fortune, lolcat & cowsay

  • busymom0 11 days ago
    uBlock origin and AdBlock Pro or other ad block alternatives are what I am grateful for! Has saved me a lot of time being wasted on ads. Also and for helping me find historical copies of webpages and also bypassing paywalls.
  • ok_computer 11 days ago
    Sublime text



    Powershell (verbosity isn’t terrible!)

    SQLAlchemy (connection engine + docs)



    IPython as a debugger shell

    • conkeisterdoor 11 days ago
      Are you me?

      In addition to everything above, I'm thankful for these:

      Pass (



  • lifeplusplus 10 days ago
    Vypress chat

    Game ranger



    File recovery utilities

    VLC player



    MSN messenger

    Yahoo answers


    Adobe cc cleaner

    Windows tweakers

    Disk space visualizers

    Cheat engine

    Windows defender

  • legrande 11 days ago
    This reminds me of Steve Jobs' email to himself. In 2010 he wrote:

    I grow little of the food I eat, and of the little I do grow I did not breed or perfect the seeds.

    I do not make any of my own clothing.

    I speak a language I did not invent or refine.

    I did not discover the mathematics I use.

    I am protected by freedoms and laws I did not conceive of or legislate, and do not enforce or adjudicate.

    I am moved by music I did not create myself.

    When I needed medical attention, I was helpless to help myself survive.

    I did not invent the transistor, the microprocessor, object oriented programming, or most of the technology I work with.

    I love and admire my species, living and dead, and am totally dependent on them for my life and well being.

    Sent from my iPad


    • dang 11 days ago
      Discussed here:

      Steve Jobs emails himself (2010) - - Sept 2022 (247 comments)

    • Arjuna 11 days ago
      After reading this, I am reminded of the Buddhist concept of Pratītyasamutpāda [1].

      In essence, existence is interwoven in a complex tapestry of interdependence.ītyasamutpāda

      • pdpi 11 days ago
        The concept of Ubuntu also occupies the same sort of space. Which makes sense when you consider Mark Shuttleworth is South African.

        • ThePowerOfFuet 11 days ago
          And here I thought Ubuntu was a Swahili word meaning "I don't know how to install Debian".
      • agumonkey 11 days ago
        I'm surprised how the asian continent had a pervasive notion of holism. They always look very wide.
        • jmfldn 11 days ago
          "Interbeing" is how Thich Nhat Hanh would put it. Everything exists only in relation to everything else. It's relations all the way down.
          • agumonkey 11 days ago
            Even confusianism is said to put the emphasis on the group rather than the individual. So contrasting with many occidental cultures.
      • runnerup 11 days ago
        Steve Jobs was buddhist.
    • vivekv 11 days ago
      The last line "Sent from my iPad" was quite fitting as a device that he conceptualized :-)
      • legrande 11 days ago
        Yeah it hits differently after what he said. My first impression after reading the "Sent from my iPad" was it was some sort of tongue-in-cheek joke, but it's the default signature so it was added automatically! It's a good growth hack.
      • agumonkey 11 days ago
        could have edited it for that particular message with a

        sent from a derivative of alan kay prototype

      • iamacyborg 11 days ago
        Did Jobs conceptualise it or did someone at Apple?
        • kergonath 11 days ago
          It’s fairly well documented that the iPad was what he’d wanted to have for a while, well before the iPhone existed. IIRC biographies put his first concept of what became the iPad around when the iPod was released.

          The iPhone was just a happy accident, something they decided to do with the cool tech they were playing with when working on the iPad, before it was ready.

          • nashashmi 11 days ago
            Had to comment on this!

            The IPad was described as a glass keyboard when it was still a secret. It was inspired by an argument with a Microsoft employee who argued apple should license the windows tablet OS and make tablets.

            The whole company was more focused on making a phone however. And three secret internal movements converged into what is the IPhone today. Best thing is it was kept secret from Steve Jobs. But once he saw it, he shelved the iPad and worked on the iPhone.

            The iPhone's predecessor was the Motorola iTunes phone. Which was a combo of the ipod and phone.

            A bit of compiled history.

            Edit: iPad was a development concept because he believed tablets should not have a stylus. And got angry at Microsoft employee for suggesting it should.

          • gardenhedge 11 days ago
            Not being snarky but isn't a tablet what everyone wanted and just needed technology to catch up?
      • uwagar 11 days ago
        kinda spoils it imho. why is it included? he surely didnt intend it.
        • vineyardmike 11 days ago
          i don't know, after a list of things he didn't do that he's thankful for, containing something he was responsible for in this way is a subtle nod to what he did create.

          Its powerful because (a) he probably didn't explicitly add it, and (b) it references his impact on the world and (c) the iPad is obviously important but no where near as important as mathematics or medicine, and its not included on the list, just a helpful nod to its ability to help him reflect on this list.

          • kilolima 11 days ago
            The auto-marketing footer sullies the rest of his letter. The content recognizes all of the great achievements of human civilization and then at the end there is an advertisement. Which relies on it's continued inclusion in emails by stroking the human ego, so not very Buddhist, either.
            • uwagar 10 days ago
              its like an youtube ad in the middle of a symphony
      • karmakaze 11 days ago
        No mention of the shoulders that Apple products stand upon.
        • lcnPylGDnU4H9OF 11 days ago
          That was actually just the entire message. To cherry-pick a few:

          > I speak a language I did not invent or refine.

          > I did not discover the mathematics I use.

          > I did not invent the transistor, the microprocessor, object oriented programming, or most of the technology I work with.

          > I love and admire my species, living and dead, and am totally dependent on them for my life and well being.

        • kergonath 11 days ago
          Apart from all of the message, yes, no mention of it at all.
          • karmakaze 11 days ago
            I was thinking more of things like the "windows, icons, menus, pointer" that Apple tried to sue Microsoft for.
            • vineyardmike 11 days ago
              > or most of the technology I work with.

              No mention of it at all.

    • andrepd 11 days ago
      A nice reminder of the absurdity of the narrative of the "self-made man".
    • falcor84 11 days ago
      This is probably the most elaborate humblebrag I've ever seen.
      • lcnPylGDnU4H9OF 11 days ago
        I guess because it ends with "Sent from my iPad"? Still seems like an uncharitable interpretation considering that a "humblebrag" is a pretty deliberate thing.

        Maybe he just wanted to remind himself of these things.

        • falcor84 11 days ago
          Steve Jobs was a complex person, yet he was nothing if not deliberate. It is indeed "uncharitable" of me, but I cannot read that "Sent from my iPad" as anything but the punchline that the rest was built around.
    • ajkjk 11 days ago
      • isametry 11 days ago
        Ah yes, Steve Jobs, the CEO and entrepreneur widely known for his lack of taste and aesthetic sense.
        • throwaway743 11 days ago
          If by aesthetic you mean personal, then I wouldn't say his "normcore" look was of any particular taste
        • amelius 11 days ago
          The minimalist style of most of his products is essentially a demonstration of lack of taste, probably with the purpose of playing it safe and not clashing with any potential customer's taste.
          • duderific 11 days ago
            Imposing their own taste would have the potential to limit sales. Similar to how if you want to ensure a good resale value for your home, you shouldn't make the decor too "specific", as it could put off potential buyers.
        • doodpants 11 days ago
          I think it's more about the users lacking the taste and aesthetic sense to change the default email signature to something more personal?
        • smoldesu 11 days ago
          He was also known for his ruthless business practices, sociopathic tendencies, saying his daughter smelled like a 'toilet' on his deathbed and then subsequently starving himself of life-sustaining nutrients until he died.

          Steve Jobs was not afraid to contradict the image he was "widely known for".

          • ravenstine 11 days ago
            I'm not defending Jobs, but people are more than one thing. It's possible he was entirely sincere when he wrote that email (allegedly), but was not that compelled to reconcile that sort of ideal with his other thoughts and actions. Thus I don't think everything Jobs said should be dismissed. I also understand why many have a hard time appreciating things that "bad" people say.

            It is a shame that he said that to his daughter on his deathbed. I'd not heard about that until you mentioned it. People sometimes say crazy things or revert to earlier memories during their final few minutes, but for Lisa, that must have solidified the reality that they would never have reconciled.

            • benbenolson 11 days ago
              As with all things, this definitely deserves some context. His daughter later said that she used some rose mist before visiting him, and admitted that she did smell like a toilet (as in, a fragrance often used to clean toilets).
              • ravenstine 11 days ago
                I guess I assumed the context wasn't that literal.
            • nescioquid 11 days ago
              When the media was plastered with Jobs' obits, it was chastening to see the short shrift Dennis Ritchie got, especially with all the coverage around the valuable legacy of Jobs' patents for computer cases.

              > ...I don't think everything Jobs said should be dismissed

              I agree that whatever he said should be taken on its own merits; I just don't see the value in privileging anything the guy said over anyone else in the first place.

          • isametry 11 days ago
            The point of my comment wasn't to glorify Steve Jobs, but to criticize the other commenter's unreasonable prejudice.
          • alsetmusic 11 days ago
            > saying his daughter smelled like a 'toilet' on his deathbed

            This requires a citation.

          • hollerith 11 days ago
            I've seen claims by people who knew him that he was narcissistic (which I find easy to believe) but none that he was sociopathic.
            • smoldesu 11 days ago
              I wouldn't label him a by-and-large sociopath, but Steve Jobs certainly exhibited sociopathic behavior. Especially earlier in his career, Jobs was known for his lack of empathy towards his coworkers and being difficult to work with.
              • colechristensen 11 days ago
                Let’s not turn reports of being difficult to work with into armchair diagnoses of serious mental health conditions.
              • hollerith 10 days ago
                >Jobs was known for his lack of empathy towards his coworkers and being difficult to work with

                That not significant evidence of "sociopathic behavior" unless your using "sociopathic" to mean behavior you disapprove of.

      • goodJobWalrus 11 days ago
        I read "Sent from my iPhone" as "I apologize for brevity and typos" and don't get offended.
        • ajkjk 11 days ago
          Well I don't get offended, I just roll my eyes that someone is okay being a walking ad for a company that has plenty of money.
          • Dalewyn 11 days ago
            Do you roll your eyes at yourself whenever you, say, drive a car?

            We're surrounded by things that have their company's branding prominently plastered on them. Hell, stuff like luxury bags (eg: Louis Vuitton) exist specifically to flaunt a company's branding.

            Of course, it would be nice if we weren't surrounded by marketing and advertising everywhere all the time, but that's beside the point.

            • ajkjk 11 days ago
              Uh, no, I don't; obviously aesthetic judgments are much more subtle than that.

              > but that's beside the point.

              uh that is precisely the point. Hence if there is some trivial way to avoid it, I like people who do it.

              For instance yeah your car has branding you can't avoid. But you know what you can avoid? Those stupid license plate holders that dealers put on to advertise themselves. Better than nothing.

              • lostlogin 11 days ago
                > Those stupid license plate holders

                In some jurisdictions you can avoid this problem by having no licence plate at all and if you upgrade the car frequently enough, you can avoid ever having a plate.

              • darkerside 11 days ago
                You can remove decals
              • trasz 11 days ago
                Also, at least some of the car brands can be ordered without external model markings.
          • roughly 11 days ago
            I mean, the line hits a bit different coming from Steve Jobs, he built* the fucking thing.

            * yeah yeah, I know

          • cal85 11 days ago
            If you don’t get offended, perhaps you get things out of proportion?
          • colechristensen 11 days ago
            People who are so image conscious that they care about that kind of thing in themselves or others really seem like they have their priorities in the wrong place.

            It ends up being a great filter, leaving things around to bother the kinds of people you don’t want to impress.

          • behnamoh 11 days ago
            I understand that, but keeping the default email signature might also mean that said person is so busy or detached from technology that they don't even know/have-time-to change their email signature.
        • jll29 11 days ago
          When I read "Sent from my iPhone" I feel sorry they don't have a proper keyboard and that they have to touch cold, hard glass instead; what an unpleasant tactile experience!

          And then I remember I now have to do the same, because someone switched off my fantastic BlackBerry (R.I.P. until resurrection comes!)...

          • LukeShu 11 days ago
            Between body heat from being in your pocket and heat from the electronics, the unpleasant glass usually isn't cold.
        • vineyardmike 11 days ago
          I explicitly leave it in for this sort of interpretation. I remove it from my iPad, but not phone.
        • atmosx 11 days ago
          Someone with common sense in 2022. How uncommon :-)
      • desindol 11 days ago
        I have a strong sentiment for users that use standards without optimizing anything they are either just really focused on their work or totally unorganized both have their charms.
        • raverbashing 11 days ago
          Not sure which ones are that but I usually consider (some of) then plainer than vanilla

          They're the complete opposite of the "here's to the crazy ones", they have neither wish not curiosity in how to make things better

          • shxdow 11 days ago
            I personally wouldn't draw all these conclusions from the email footer alone and I'd refrain from speculation as well. It's a footer at the end of the day, but that's me I guess.
            • raverbashing 10 days ago
              Of course. It's an inconsequential footer and people have different priorities.

              My comment was more in the sense that instead of a lack of taste it's more apathy, but it's way less serious than people are taking it

          • colechristensen 11 days ago
            Quite the opposite, I make things better that strike me as being important. Things that aren’t don’t get attention.

            Like the table manners of which of four forks are “correct” to use, many things I just don’t care to be “good” at and folks who do strike me as odd.

          • inetknght 11 days ago
            > they have neither wish not curiosity in how to make things better

            Nonsense. Plenty of people have curiousity in how to make things better but don't do it in ways that you would see.

            • raverbashing 11 days ago
              Could be. Not all defaults need to be changed

              But they also usually ignore contexts and only look at the small picture

          • mstipetic 11 days ago
            I strongly dislike people like you
      • Macha 11 days ago
        I think if you work on the iPhone/iPad, (or for that matter, on other email clients or email sending devices), there's probably an exemption from it being as tacky to advertise the device you're using
      • neilv 11 days ago
        I see it a lot from non-techies who I think either don't know how to change it, or reasonably think that it's a conventional way to convey that one is on mobile (to explain why one is more terse, or heads up that they don't have access to info normally on desktop right now, etc.).

        When the iPhone first game out, and was expensive and hard to get, the signature risked coming across as an affluence brag.

        • ajkjk 9 days ago
          Not even 'risked', it was explicitly that! That's a lot of why it's crass to this day.
          • neilv 9 days ago
            Oh, at the time, I probably felt miffed over it, and maybe once responded with a juvenile signature, "Sent from my iPhone that your mom bought me".

            But, more general than incidents of iPhone bragging/enthusiasm, I have more data points now, of different people's various motivations and thinking, and I try to remind myself not to get bent out of shape. Kinda like in David Foster Wallace's "This is Water" commencement speech:

      • mmsimanga 11 days ago
        I can't speak for iPhone but I was always bemused by the line. Until someone responded to one of my messages and I realised my message also ended with sent from my ** phone. I hadn't added the line. I realised on some Android phones the phone adds the line to the bottom of your message. You can turn it off but I suspect most people don't..
      • lostlogin 11 days ago
        The lack-of-taste element has been trumped by the ‘Get Outlook for iOS’ one that it’s spawned.

        Are more courteous take is that it indicates a message was sent in haste.

      • HNthrow22 11 days ago
        this take is so pretentious that it reads like tech bro satire. Ah yes, customizing my email footer settings will showcase my refined taste and advanced aesthetic sense.
        • ajkjk 11 days ago
          Well it's a bit more complicated than that. No, it doesn't showcase any kind of refined taste, it's just like a super simple signal for the bare minimum. Kinda like... uh... wearing clothes that fit, fashion choices aside.
      • xen2xen1 11 days ago
        Meaning if you see that they just don't have taste?
      • echelon 11 days ago
        It's not unlike wearing a giant designer label. Except that everyone and their uncle, from trailer park to penthouse, has an iPhone.
        • GekkePrutser 11 days ago
          In the US perhaps. Here in Spain it's definitely a luxury item. Even the "5 year old design" iPhone SE is 600€ here which is a lot for Spain.

          For the same price you can get a Samsung S21 FE with full-screen bezelless AMOLED and 3-cam setup (wide, ultra wide, 3x zoom) and in-screen fingerprint. And for half that an A52s with similar except the tele. So those are much more popular here.

          The only people I know with iphones are die hard Apple fans or really far above average earners :)

        • JohnFen 11 days ago
          Not everyone. Very few of the people I know use iPhones.
          • ajkjk 11 days ago
            Don't worry, nobody thought it was literally everyone.
            • JohnFen 11 days ago
              The implication, though, is that iPhone is at least the most common device used. At least in the US, this is not true.
              • echelon 11 days ago
                Every statistic I've found shows not only a 50+% share of the existing market, it also shows new phones from Apple are selling to over 50% of the market.

                It makes the email signature even more bizarre.



                • JohnFen 11 days ago
                  Correct, which means that neither are "most common".

                  But the distribution is not even. In my part of the country, you don't see iPhones very often at all. In other parts of the country, you see them everywhere.

                  • pwinnski 11 days ago
                    I'm sorry, how is "greater than 50%" not the same as "most common?"

                    Either it's two players with 51% and 49%, in which case the 51% is "most common," or it's many players, with 51% and a bunch of other percentages that collectively add up to 49%, in which case the 51% is still the most common, perhaps even more so.

                    I'm not shilling for Apple here, as Android was clearly most common From 2011-2021, and still is world-wide. If anything, I'm shilling for the English language.

                    • JohnFen 11 days ago
                      > Either it's two players with 51% and 49%, in which case the 51% is "most common,"

                      In a market the size we're talking about, 51% and 49% are effectively the same as 50-50. I think it's reasonable to say neither is the "most common". They're used equally.

                      And I don't know the margin of error on the figures, but I'm sure it exceeds 1% anyway.

                    • tripa 11 days ago
                      The issue isn't the figure 50, it's the drawing pool.

                      Thread-initial description was 50% of the market, which is ambiguous. It could refer to either the market in sales, which indicates highest growth, or the market in userbase, which could be the layman's “common”.

                  • echelon 11 days ago
                    Common does not mean > 51%.

                      Term     Numerical rate   Percentage
                      Common   1 in 10          10% 
                    iPhone is by definition most common.
    • jbverschoor 11 days ago
      Not "to himself", it was for a speech.
      • fredoliveira 11 days ago
        No – to himself. Not a speech. As per the linked site where it reads:

          > Email from Steve Jobs to himself
          > 2010
          > Steve often sent himself messages to capture what was on his mind.
      • aaron695 11 days ago
  • gnaritas99 11 days ago
  • rmatt2000 11 days ago
    <ctrl>f office


  • lemper 11 days ago
    I don't know about you, but I can't buy bread with 'thanks.'
    • notatoad 11 days ago
      are you the author of one of the pieces of software listed in this article? and if so, how certain are you that the author hasn't contributed to your project, either through direct financial contribution or by paying developers to work on it?

      as far as i'm aware, tailscale is a pretty upstanding member of the open-source community.

    • somekyle 11 days ago
      it's funny, because I believe the author has contributed to at least 4 of these directly in his day job, and has published code for a few more. But I guess you can't buy bread with substantial contributions, if ability to buy bread is our metric. But it's not a good metric.
    • pjscott 10 days ago
      We don't live by bread alone.
  • swiley-gin 11 days ago
    Software is just the smell of other computer users. Some smell nice, most smell terrible, it's nothing special either way. You can rewrite anything in an afternoon if you're in the right mood.
    • tmtvl 11 days ago
      Maybe not an afternoon, but any software could be rewritten given enough time and interest.

      Although copyright and patents may prohibit you from distributing it.

      • swiley-gin 11 days ago
        *prohibit you from legally distributing it (which makes it difficult to profit from.)

        Also everyone way overestimates how hard it is to re implement all this crap.

  • glintik 11 days ago
    vim? Really you said this? OMG.
    • dang 11 days ago
      Could you please stop posting unsubstantive comments to Hacker News? You've been doing it repeatedly, unfortunately, and we're trying for a different sort of forum here.

      • glintik 11 days ago
        • dang 11 days ago
          Please stop. We want interesting new discussions, not boring old flamewars.
    • theatomheart 11 days ago
      yes but i wont judge you for not understanding or appreciating the power and usefulness of vim. and dont bother, either. i encourage you to stick with the peasants' notepad++
      • glintik 11 days ago
        Notepad++ requires GUI, buddy. Vim is console app.
    • seanw444 11 days ago
      Vim's great. So great that I essentially use Vim on Emacs.
      • glintik 11 days ago
        If vim is great why most popular question about vim is "How do I exit Vim?" -
        • fileeditview 10 days ago
          Because Vim is a power tool that must be learned. You cannot "just use it". Would you say the UX of an airplane is bad because you have so many knobs and buttons and have to learn how to use them before flying?
        • aaws11 11 days ago
          steep learning curve doesn't imply bad UX, or useless, or not great.
          • glintik 11 days ago
            The same I heard about sendmail and its configs :).
        • eimrine 11 days ago
          Because vim is useless for those who do not touchtype.
    • reaperducer 11 days ago
      You don't have anything more to contribute than "Stop liking things I don't like?"
      • glintik 11 days ago
        FYI, I’m using vim every day. If you have run vim before - you should know what I mean. About others I don’t care.
        • xbar 11 days ago
          I have no idea what you mean. I cannot get enough information from the context of "OMG." There are many possible interpretations.