17 ms·
Creating my awesome Windows 10 dev setup
- thereare5lights 6y agoWSL and VSCode have brought my machine pretty much to parity with developing on a macbook. I'm sure there's more specialized cases where it's not up to par, but for the average use case, it's quite good!
- indigodaddy 6y agoI’ve got a new-to-me (used HP Elitedesk 800 G1 SFF with 16g ram/240g ssd and I5-4590 with win 10 pro for $150) arriving this week. I haven’t built or bought a PC (had a few MacBooks in between) in probably 15 years, so this puppy is going to be well good enough for me and I’m looking forward to having a proper PC and getting a nice WSL and terminal setup and Scoop etc.. Question: any issue with WSL2 and network connectivity to say services such as node running in your wsl2 that you would connect to from your browser? I’ve heard that in wsl2 there could be issues with this and you may have to do some workarounds or extra config magic..
- theaustinseven 6y agoI haven't had any trouble. I'm running an elixir project that I'm testing over localhost, and you don't have to do any port magic whatsoever. Just run the app in WSL and go to localhost:port in your browser. The only problem I've had is if you do any of your development in the windows part of the filesystem, you might run into weird file locking issues, but I haven't had many of those. Also, the WSL extension for VS code makes it hardly noticeable that you're even working in windows.
- munchbunny 6y agoI have a setup right now where I have the server (Flask inside a container) running on WSL2 and a browser in Windows pointed at it with no issues. I believe there are some edge cases but you have to get into stuff that isn’t just “open a port and listen on it”.
- firecall 6y agoThe biggest issue for is that WSL2 is painfully slow accessing the local Windows file system. You can mount the WSL2 file system in Windows, but then changes to files arnt communicated to apps. So your code editor wont know about changes made in the WSL2 env. Not everything works or can with WSL2 either. There are some things you cant build and run. I use Windows for games. I also have a need for Adobe SW and MS Office. (requirment of my job). macOS is great for dev, Adobe and Office. But I cant game on it... There is no perfect OS for me right now. :-/
- petitmiam 6y ago> The biggest issue for is that WSL2 is painfully slow accessing the local Windows file system. This killed me after switching from WSL1 to WSL2. I missed the part in the notes where it said you should no longer store your files outside WSL. Finally figured it out eventually and the speed improvement was huge.
- tomnipotent 6y agoI just did the same yesterday and was pleasantly surprised how far things have come (it's been ~15 years since I've done anything but game on Windows). WSL (both 1 and 2) are both very polished, and configuring VS Code w/Remote WSL setup was very simple (Windows GUI + Linux dev environment). The hardest part for me was getting past the gut-wrenching fear of using Windows Store to install something, but the experience from Windows Store "Install" to Windows Terminal "Debian" shell was actually... enjoyable.
- userbinator 6y agoIt's getting easier and easier to create a beautiful and functional dev environment in Windows 10 these days. Only if you're unaware of all the hidden spyware you have to find and disable... the last time I had to install Win10, there were so many dark patterns everywhere.
- mahalol 6y agoUnfortunately, in some organisations the OS on your workstation is not a choice you can make, so for some of us that are stuck in Windowsland it's quite a treat to have all these goodies available. Windows is probably the best DE for Linux now. ( I'd still use i3 if I had a choice)
- tempfs 6y agoWindows is just so slow at most everything though... I go back and forth between a personal Debian box and Surface laptop all day long and it really just emphasises the amount of bloat and drag that Windows experiences doing even the most basic things like manipulating files and using a web browser. I can use VS Code on both OS's and everything is faster on Linux. Not sure why I would choose Windows unless I needed the C#/.Net toolchain.
- GiorgioG 6y ago> Windows unless I needed the C#/.Net toolchain Unless you're working on a legacy .NET Framework application, .NET Core will happily work on Linux.
- rozab 6y agoAnd now .NET 5.
- bhrgunatha 6y agoWPF is really not legacy - since it's included in .NET core but IS Windows only.
- philliphaydon 6y ago> IS Windows only For now.
- dataflow 6y ago> Not sure why I would choose Windows unless I needed the C#/.Net toolchain. You're missing out on Visual Studio... for Python, C++, etc.
- loloquwowndueo 6y agoThanks to jetbrains, no, you’re not.
- 6y ago
- lupinglade 6y agoWhy would you want to dev on a Windows machine though? Unless you're writing Windows code, I see no reason.
- deleted 6y ago[deleted]
- com2kid 6y agoBecause I have almost 30 years of experience using Windows, and a complex set of tooling, scripts, and utilities that I have grown accustom to. Heck the sysinternals suite alone is incredible. Windows has incredibly good keyboard shortcut support. A small example, the context/menu key on keyboards is the equivalent of right clicking wherever the cursor is at, making spellchecking as I type super easy, I'm sure MacOS has some meta-combo that does this, but over 20 years ago Microsoft made this tiny piece of accessibility a first class citizen on their platform by starting a certification process for keyboards that included such a key. Windows has non-borked external monitor support, unlike a slew of MacOS machines. (See, every thread on HN where some subset of people report problems with external monitors). Windows has insane hardware support, buy whatever upgrade is on sale today, throw it in your machine, and odds are it'll just work. Speaking of insane hardware support, my current Windows install has switched motherboards and CPUs multiple times. Pop the SSD into a new computer, boot, wait a few minutes for the OS to setup proper drivers, and off I go. The UI is a first class citizen, not an afterthought. At no point do I have to wonder if my setup supports screen sharing. Its media pipeline is pretty darn powerful. Per app volume control rocks, but the entire media stack can be rerouted, split, and merged, in all sorts of fun and cool ways. The clipboard works. really well. I have actually seen the source code to the clipboard in Windows, a lot of engineering effort has gone into making it work that well. Apps don't randomly stop working because I upgrade. Major UI utilities that reach deep into the system that I started using on Windows 7 work just fine today. Do I have complaints about Windows? Of course. IMHO it has gotten way to large, back in Windows 2k and even the Windows 7 days, the # of background processes on a clean install was a fraction of what they are today. My start menu only opens up every other time I click it (...). And as with every other OS, reliability has gone down over the years. But Windows isn't some half forgotten wasteland. It is the single most popular desktop OS, and for over a decade it was also the single most popular development platform. Would I do docker based development on bare Windows? No, but I've done Android and Web development quite happily on Windows. For reference, I have done C/C++ dev on Linux, and right now I use both MacOS and Windows for dev.
- kaszanka 6y agofunction profile_alias { editor $PROFILE } Set-Alias -Name profile -Value profile_alias Why this instead of `function profile { editor $PROFILE }`?
- vsviridov 6y agoMy latest fave for windows development is Scoop (https://scoop.sh https://scoop.sh) It's basically like homebrew for windows, and all programs are installed into a user folder, so no admin rights are necessary.
- quyleanh 6y agoDid you try winget [1]? [1]: https://github.com/microsoft/winget-cli https://github.com/microsoft/winget-cli
- woodruffw 6y agoAn honest question from someone who hasn't used Windows since the early 2010s: as developers, what's the draw? I've seen a few blog posts like this one where competent individuals attempt to construct a Linux-like development environment on their Windows install. It's clear that you're still fighting the host environment at the end of the day, and that anything that provides a Linux-like interface is going to suffer from both Windows' lackluster performance and the overhead of virtualization/translation/emulation/whatever approach your layer-of-choice uses. Is it familiarity, presence of other (non-development) applications, or something else? Edit: I should say that I haven't used Windows since 2012 or so, but I have developed for it (mostly drivers and filesystem work) since then by running VMs. Ironically, my best experience developing for Windows has been entirely on Linux and macOS.
- clircle 6y agoLinux is bad for laptop batteries, 4K screens, other hardware, and most office programs. If you only use vim, stay plugged into an outlet all day, and don't need great video conferencing, then Linux is fine. But that's not most people. OTOH windows is slower than Linux, but it's a price worth paying for some.
- woodruffw 6y ago> Linux is bad for laptop batteries, 4K screens, other hardware, and most office programs. If you only use vim, stay plugged into an outlet all day, and don't need great video conferencing, then Linux is fine. But that's not most people. I don't disagree with any of this[1]! But we're talking about developers, not most people, and it looks like this particular author went out of their way to install a CLI editor. Others have pointed out that Windows is still the right platform if you're a game developer, which makes a lot of sense to me. Are there other specific hobbyist development cases that are best served by a Windows environment? [1]: Except the 4K and video conferencing. Those actually work quite nicely for me (n=1) on Linux.
- Shared404 6y ago> [1]: Except the 4K and video conferencing. Those actually work quite nicely for me (n=1) on Linux. I suppose I'll add my n=1 experience that battery life has been pretty good oob.
- jonny383 6y agoWindows bloat, performance, and telemetry is frankly out of control. I use primarily either macOS or Ubuntu for development work day to day, but need to use Windows for specific builds and testing. I don't enjoy the experience. I'm not sure if these issues are because I don't use it very frequently, but every time I start it up: * CPU gets eaten alive by telemetry related services for minutes at a time. * A barrage of updates I didn't ask for get forced on me (Despite whatever settings I put) * Anti malware tools cause system to be I/O bound for about a minute Longer term observations * The disk usage goes up and up and up, even though I'm putting no data on to it * I keep getting nagged to use a Microsoft account to sign in * The default internet browser gets reset to Edge * Some older applications just stop working for no reason, only to start working again weeks later. On the plus side, Visual Studio seems to be much improved from what it used to be.
- Kaze404 6y agoWindows defender makes Windows 10 absolutely impossible to use on slow (non-SSD) drives. That would be fine if there was an easy way to disable it, but it's literally impossible without digging through guides online. It's insanity that this is allowed.
- geitir 6y agoIt's super easy to disable if you have group policy
- Kaze404 6y agoI know there are ways to disable it, but none are intuitive and/or discoverable by regular people. Also Group Policy is not available on Windows 10 Home (without hacks anyway).
- rfoo 6y agoI'd say it is easy enough, just paste some random scary command from a quick Google search into the shell. Or maybe my expectations are too low. It is not like I could have known how to disable the insanely stupid ApplePressAndHold thing on macOS without searching online...
- tumblewit 6y agoMy thoughts: Windows 10 isn't that bad in fact I prefer the standard windows UI than most of the weird linux desktops. They call them modern but none are simple enough such that they get it out of the way. Eventually on linux only i3 makes sense for dev work but otherwise for the common desktop user windows 10 UI makes sense (once you remove the search and cortana and turn it into XP style UI) even over macOS. Sadly the telemetry the bloat makes it quite unusable. It just keeps reinstalling things though there are antispy tools disabling (or limiting i'm guessing) telemetry. Also i've tried WSL2 and Debian is much better than ubuntu. the ubuntu and snap fiasco is quite annoying. i know you can just uninstall snaps but i think a simple debian install is enough for most dev testing if you plan to go WSL2 because it's extremely lightweight and fast inside wsl2. Also vscodium is an option as open source without telemetry but wsl2 can't be accessed through it because it's apis i believe are closed source.
- Shared404 6y agoI don't think it's that Win10's UI is actually "More simple". Everything I've seen suggests that it's just what people are used to. I put some small kids in front of some Windows and some Linux machines running GNOME 3. They had an easier time with GNOME.
- selfhoster11 6y agoThough it hurts to admit, I agree with this. Linux UIs have taken a great leap backward with Gnome 3. As a great fan of Windows XP, pre-Unity Ubuntu, and even Unity era Ubuntu, a de-Cortanized Windows 10 is far more usable day-to-day than an equivalent Linux UI (as long as you don't scratch the surface and try to update any settings).
- jjcm 6y agoOn a daily basis I use Windows/OSX/Ubuntu interchangeably depending on what type of computer I'm on (desktop/laptop/server, respectively). Up until I set up a similar environment to the author, dev on Windows was always a nightmare. Typically I'd just ssh into a server and use vim when I was on windows as it was a better experience. WSL has been a game changer. Code... just works. It's actually impressive how well integrated they've made it. I no longer have to do strange hacks or worry about different line endings on windows. It all just works now. If you're on a decently powerful PC, I'd recommend trying it out. It's more resource heavy than a native Linux install for sure, but it means you no longer have to dual boot for gaming. That's a big win in my book.
- nabaraz 6y agoAnyone figured out how to complete disable Windows Updates and Windows account? I don't care if I am missing critical updates and an online Windows account, i just want my computer to run without any interference.
- freeone3000 6y agoA windows account can be disabled by not creating one - hitting back, then forward, then forgot, then back, then forward, then "create offline account" will appear as a hidden option. Disabling Windows updates is not possible.
- ttt0 6y ago> hitting back, then forward, then forgot, then back, then forward, then "create offline account" will appear as a hidden option. You're joking, right?
- tomnipotent 6y agoIt's not this bad, but it's still bad. There's a "Skip this step" during the 1st screen which is non-obvious as to what it's going to do.
- nabaraz 6y agoI have an offline account but it shows me a dialog about fixing my Windows account every day.
- freeone3000 6y agoThe only fix I know for this is joining the computer to a domain, and using your domain account.
- sitzkrieg 6y agohttps://archive.org/details/windows-10-ameliorated-1903 https://archive.org/details/windows-10-ameliorated-1903 i think this is older version (i ran oct update) you can also run the scripts on existing install but be warned its uh, very opinionated
- littleweep 6y agoThis truly has me excited to set up a dev environment on Windows 10. Thanks for the post.
- CTOSian 6y ago"awesome" and windoze10 does not mix
- sitzkrieg 6y agogood one! truly
- temporallobe 6y agoI will never willingly use Windows 10 as my primary OS. Forced updates killed it for me. Don’t get me wrong, I actually prefer Windows as an OS over macOS in some ways, but the update policies do not leave you in control of your own system. The nail in the coffin was around 3 years ago when right in the middle of a recording session, Windows forced an update despite my best attempts at delaying and stopping it. The next day I backed up all my data and installed Mint and never looked back. Perhaps this was an overreaction, but I don’t regret it. I am glad I did this because I bought a macbook and discovered the word of mac-based DAWs and I am extremely thrilled, though I am fearful that one day macOS will become Windows-like in its system policies. And then life will suck.
- pacamara619 6y agoInb4 "you can disable automatic updates with these simple 4327 registry hacks and 322 group policies"
- doublerabbit 6y agoUntil that one update you do install reverts all those changes...
- temeritatis 6y agoBest thing i ever did; https://udse.de/reboot-blocker https://udse.de/reboot-blocker The website is in German, but it really works, in contrast to a hundred other hacks to achieve this. Truthfully tho, Windows 10 is IMHO a joke. They could just have continued polishing windows 7 and i would personally have been pretty happy. I suspect i'm not alone in thinking this way.
- dirtnugget 6y agoWindows for development for me is not a question for the filesystem alone. Deleting a large folder like node_modules seems to take ages on windows as compared to macOS or Linux.
- ttoocs 6y agoI'm a crazy poweruser, who uses linux. I use the fact it's scheduler priorities actually do something, and that there's different tiers of it. The fact I can change how cpu/mem/disk/etc is limited per apps (cgroups), or globally to use less power... (I get +20FPS to reliability and stability hit 60Fps in OverWatch cause of this, I don't think this PC could run OW on windows nicely at all) I use xdotool to automate all the things... I play with filesystems, audio (I still haven't seen any other system as good as mine for making my ears never bleed). It also handles faulty HW perfectly fine, I can reload it, restart it, etc, isolated to just that component. It handles old HW very well. Drivers for everything I've ever tried always without any hassle (Albeit windows seems to have improved this.) I can also disable the CPU mitigations and get a bunch of performance back... as my desktop PC doesn't run untrusted code.. nor have services accessible. Windows goes bizzerk within a week every week and somehow just maxes out my work laptop/desktops CPU for no apparent reason... needing reboots to fix it. Windows updates ruin all long-running tasks (like, unittests).. and unitTests cannot be run at low priority, cause they still effect normal priority apps way too much... If you start playing with low level systems in it, it'll just start blue screening . MS telemetry... Ad's on desktop... A LOT of crap I don't care about comes with it and runs by default.. vs ~32Mb of ram usage by the time I hit desktop.