Using Windows after 15 years on Linux

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Scoop

    A command-line installer for Windows.

    I use Linux and Windows at work and home, and both have advantages and disadvantages. I've been migrating more and more to Linux as my daily driver, so my Windows home machine is basically all games at this point, with a Visual Studio install for occasional software development or things that have to be done on Windows. I used scoop (https://scoop.sh) for software installs and it was almost as nice as any Linux distro's package management.

    UI issues aside, which I'm not that sensitive too, my biggest complaint with Windows is... I can't easily swap CTRL and CAPS LOCK. Every solution involves becoming an Administrator to edit the registry, or install the SysInternals device driver (!!!) - madness.

    I used to have a Mac, and it was a toggle setting. Linux as well, if gnome-tweak or the equivalent for whatever desktop is installed. And at home, I can become Administrator to do this. But at work I can't, the systems are very locked down. However on Linux even as a lowly regular user I can setxkbmap and do it.

    This annoys me a ridiculous amount every time I have to work on a Windows machine.

  • msys2-runtime

    Our friendly fork of Cygwin 💖 https://cygwin.org 💖 see the wiki for details

    Funny enough, it’s a bit of both. The msys2 runtime is a fork of the Cygwin runtime, and they keep parity pretty well.

    https://github.com/msys2/msys2-runtime

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • Chocolatey

    Chocolatey - the package manager for Windows

    For install and update software on Win like repos on linux, I use chocolatey. It is not perfect, but I don't have to download installers from random websites anymore. And update is just one command in cmd.

    - https://chocolatey.org/

  • qttabbar

    QTTabBar is a small tool that allows you to use tab multi label function in Windows Explorer. https://www.yuque.com/indiff/qttabbar

    I've been able to set up and practice on virtual kubernetes cluster using KinD[2] (Kubernetes in Docker) thanks to the seamless integration of Docker for Windows into the WSL subsystem. VSCode can tap into Linux VMs with pretty much no delays too. Shutting down the whole thing to free up resources takes one line in Powershell and happens within a few seconds. The terminal app despite having a bit of a clunky UI is highly configurable and just works, etc.

    There are things that scare me about Windows though, for example the mandatory real-time "defender" file scanning that you have to disable either manually at every boot or disable entirely through registry thus losing the virus scanning functionality. The amount of clunky Cortana stuff that really took a while to remove. The store app that feels flimsy, the games dependency on Xbox apps and subsystems which can lead to annoying bugs, and certain UI delays that make the system sometimes feel not so fast compared to the tricks Macs can pull to make you feel at ease. Consequently I'm not very likely to touch Windows 11 as Microsoft is seemingly trying to enforce more things in configurations and UI.

    [1] https://github.com/indiff/qttabbar

  • WSL

    Issues found on WSL

    > Everyone has their favorites, I base mine on experimental data.

    So do I. If all you care about is raw speed, sure, Linux with ext4 might be "king". But I don't just look at speed. I also look at the design both inside and outside, the capabilities, the resilience & robustness, and a ton of other things besides raw speed. Maybe those aren't relevant to you, and that's fine. They are to other folks though.

    > I’m yet to be convinced NTFS doesn’t factor in.

    I'm not saying it doesn't "factor in" (I'm sure you could measure some % difference across any filesystem), but it's not the dominant factor you can blame it on. You can read more here if you're interested (you'll have to expand the hidden comments): https://github.com/microsoft/WSL/issues/873#issuecomment-425...

    > No, compilation is six times faster in Linux in almost every single language I’ve compiled using the exact same hardware setup.

    I have no idea what you're doing when compiling, but I'm going to guess you either have lots of tiny files that otherwise compile very quickly (thus the slowness in opening files hits you), or you're running a ton of shell scripts in your "compilation" (process spawning is slow on Windows), or you have antivirus or something turned on, or you have some compiler with quirks like GCC. If you give more details I can help you track down what is going on, but a 6x slowdown is simply not something that you can attribute to the FS performance.

    I'm going to also take a guess that you're using nix-first tools that have been ported to Windows, rather than designed for tools Windows from the ground-up, and finding that there's an impedance mismatch here. Unix tools are designed around shoving every little thing into a tiny file (whether it's a data, script, or executable file), because that's the religion. Windows just isn't designed with that philosophy (e.g., it assumes you'll use the registry for configuration, DLLs for external functionality, etc.), and hence Windows-native tools don't deal with nearly as many files as Linux-native tools do. There are lots of architectural differences (this is just one example), and they do come with their own advantages and disadvantages.

    > If SSDs didn’t solve I/O for windows then I’ll concede the I/O is garbage

    I'm confused... are you saying your "experimental data" is from before the SSD era? So we've been arguing about your experience from over a decade ago? If so that's a... frustrating way to argue about these.

    > Simply put: Windows needs a ground-up overhaul and to stop catering to the old win32/NTOS/NTFS model. But I don’t really intend nor expect to convince anyone.

    It's kind of bizarre to read that given your experience seems to be from over a decade ago (?) and when it was in fact Linux who was forced to overhaul its I/O design from the ground-up with uring. (Compare Windows's IOCP from > 2 decades ago with Linux's epoll. The epoll model literally did not even make sense* for disk I/O.) I could of course argue about the details all day, but I do agree with you that the case you're trying to make isn't convincing. That is, except if your case is "Linux is better for raw performance if you ignore everything else", in which case, yes I agree.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts