
Ask HN: Must do's and must know's when switching to Windows? - Tenoke
I am switching to Windows from Linux (and MacOS on my last work laptop). It used to be my main OS years ago, and I think the time has come for another try. I know I won&#x27;t be especially happy with it, just like I am not especially happy with Mac and Linux, so I am looking for anything that can make the experience more pleasant.
======
udp
Tried this recently as an exercise in broadening my horizons.

\- Expect not to be able to SSH into your machine, for example when you really
need to remotely make that git push you forgot before you left work.

\- Expect either a very slow unix emulation through Cygwin, or a very glitchy
one through the new Ubuntu subsystem for Windows.

\- Expect installing software to be a royal PITA, and expect to start trusting
binary blobs from random vendors because that's just how software is delivered
on Windows. Expect every single piece of software to have its own update
system, each of which will notify you separately when updates are available
and have their own varying degrees of reliability in performing the update.

\- On Windows 10 you can not permanently install unsigned drivers even if you
really, really want to. The closest you can get is booting up in a one time
development mode which is disabled the next time you reboot, or enabling a
test mode which _watermarks your screen_. Very annoying if you have esoteric
or bespoke hardware, and I don't like being told what I can and can't do on my
own system.

Other than that, my major issues - common to Windows and every linux DE I've
tried - were with running on my MacBook with retina (high DPI) display. It's a
1/3 chance for a given piece of software whether it will gracefully support
the higher pixel density, will display as a tiny window with unreadable text,
or a combination of both. Lack of smooth zoom and scrolling with the trackpad
was also annoying, though not a showstopper.

~~~
tyfon
For SSH: [https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-
Win...](https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-
Win32-OpenSSH)

For "unix", you can actually run linux on windows now:
[https://msdn.microsoft.com/en-
us/commandline/wsl/install_gui...](https://msdn.microsoft.com/en-
us/commandline/wsl/install_guide)

If you want to use windows store, it acts like any other walled garden store
regarding "binary blobs", but personally I have never used this. The only
software I have in windows is Steam which acts like an "app store" for games.

Now, I use Linux almost exclusively (there are one or two games I boot my
gaming machine to windows to play), but it's actually gotten better over the
years, not worse.

Just remember to block all the telemetry stuff in your firewall.
[https://github.com/crazy-max/WindowsSpyBlocker](https://github.com/crazy-
max/WindowsSpyBlocker)

~~~
udp
> If you want to use windows store, it acts like any other walled garden store
> regarding "binary blobs", but personally I have never used this. The only
> software I have in windows is Steam which acts like an "app store" for
> games.

Have you ever used an installer? Because _that 's_ a binary blob.

------
altano
\- If you miss Bash, lookup "Linux subsystem for Windows"

\- The command line is much improved. Look through the properties to see what
new options are available (text wrap, copy/paste, etc)

\- If you're getting a laptop, pay a lot of attention to the trackpad. Windows
laptops have a huge range from unusable to really good.

\- If you're a developer you owe it to yourself to checkout the development
tools like C# and Visual Studio, if only to set the bar for good tooling in
your head regardless of what environment you actually program in.

\- Check out the modern Windows 10 apps in the store. Mostly garbage but I
regularly use and prefer a number of these to their web equivalents, e.g.
Microsoft Groove, Netflix/Hulu, etc.

\- When I got a PC, despite not gaming for a really long time I've gotten back
into it. It's amazing how many wonderful games there are that are up my alley
now-a-days, e.g. Broken Age, Firewatch, N++, Obduction, etc. If you've ever
been a gamer, give that world another go.

\- Get a great, high-dpi display. Windows support for it is fantastic and all
those that say otherwise are crazy.

\- If you're sufficiently nerdy and end up having a house full of Windows
machines, you can invest in a dedicated server to handle things like a central
file server and backup. Windows Server Essentials can make for a fun,
accessible-but-still-nerdy project.

\- If you're super concerned about privacy there's some reading to do to turn
off all the new telemetry in Windows 10. I don't bother with this.

\- Microsoft Office is best on Windows, and cloud support is better than ever.
I enjoy using OneDrive and OneNote everyday on both my PC and iPhone. Give
them another go if you gave up on them while using other OSes (Outlook on Mac
is particularly awful).

\- Windows is so fucking crazy keyboard accessible. Going back to using
Windows involved me unlearning some of my bad habits from Mac.

\- Windows 10 can be a little buggy in surprising ways. I had to reinstall at
some point because the start menu broke. Seriously. And I tried really hard to
fix it without reinstalling. Just keep backups and it should be fine, it's not
way buggier than macOS or Linux, just older versions of Windows.

\- Set "Developer mode"
[http://www.hanselman.com/blog/Windows10DeveloperMode.aspx](http://www.hanselman.com/blog/Windows10DeveloperMode.aspx)
(does a bunch of useful things like turning on file extensions in Explorer)

------
Mister_Snuggles
I don't use Windows very much, so I don't have a lot of recommendations, but
here are a few.

As another commenter said, Windows has its own way of doing things and
expecting it to act like Linux or MacOS will just frustrate you.

My recommendation would be to, if you don't build the machine yourself, buy a
Microsoft Signature PC. These don't come with all of the crapware that Windows
machines tend to come with.

If you decide to install the OS on an existing machine, make sure you find the
appropriate network driver and save it on a USB stick first. This is probably
the only driver you will actually need - once Windows can connect to the
network it can download the drivers for everything else from Windows Update.

Some Windows stuff doesn't work as well as the Mac and Linux equivalents, and
vice-versa. The built-in MacOS VPN client and the NetworkManager StrongSwan
CPN client are both a lot better (for me, anyway) than the one in Windows 10.
On the flip side, accessing network files (through SMB, of course) is
lightyears beyond the way Linux and Mac do it - UNC paths are at the top of my
list of things I miss about Windows.

------
ilogik
I really recommend ninite.com as the first page you visit after installing
Windows. Check all the programs you need, and you will get an installer for
everything, without any bloat (toolbars, etc). You can re-run the file at any
time and it will also update everything that has an update

------
zamalek
Break your habits. Windows 10 has a very specific workflow that is highly
efficient, trying to shoehorn Linux, Mac or Windows 7 workflows into it will
frustrate you.

Learning powershell is part of that.

~~~
meggar
And expect to re-learn powershell every time you need to use it. What's the
less-than operator again?

~~~
AndrewDucker
-lt Which is short for..."less than"

Would you care to guess what "greater than" is?

------
Retozi
I'm using a MacBook Pro with Windows on it as my main development environment
except for iOS native stuff obviously.

1\. install chocolatey [https://chocolatey.org/](https://chocolatey.org/), and
install everything with it

2\. install conEmu for a decent command line

3\. install git for windows, which comes with a bash shell that brings you all
the linux commands, inlcuding ssh.

This brings a Windows PC relatively far. You can even get ssh-agent working
with an according .bashrc script (along the lines of
[https://github.com/joaotavora/holy/blob/master/share/zsh/ssh...](https://github.com/joaotavora/holy/blob/master/share/zsh/ssh-
agent-windows.sh))

This does it for me to do node / web-dev / java/ android centered development,
I prefer it over macOS and Linux.

Things I do not use:

1) Cywgin. Quite the behemoth, and I get by with git bash just fine

2) The Ubuntu Subsystem. I tried it, had trouble with ssh stuff, seems not
ready yet...

3) putty. the open-ssh that comes with git is better and closer to linux.

~~~
blacksmythe

      >> 3. install git for windows, which comes with a bash shell that brings you all the linux commands, including ssh.
    

Thank you!

I often wished that each HN user got one '10x upvote' a week. I would give it
to you this week.

------
x86dev
[https://chocolatey.org/](https://chocolatey.org/)
[https://cmder.net/](https://cmder.net/)

------
nxrabl
(Assuming Win 10)

\- If you have a HiDPI screen, you may run into problems with older programs
looking blurry. The fix is to right click on the .exe, click 'Properties', go
to the 'Compatibility' tab, and check the box next to "Disable display scaling
on high DPI settings".

\- File extensions are hidden by default in the file manager. To turn them on,
open File Explorer, go to the 'View' tab, and check the box next to "File name
extensions".

\- Use a text editor like Notepad++ or Visual Studio Code which lets you
switch back and forth with your line endings and encodings; Some editors
_cough_ Notepad _cough_ add a BOM to the front of your unicode documents. (As
an aside, I've been using the FTP plugin for Notepad++ lately, and it is just
a pleasure to use.)

\- Between Powershell and WSL, there's rarely anything you can't do on the
command line as long as you're willing to code switch a little. In particular,
WSL works great for SSH. Cmder is a wrapper around ConEmu (mentioned elsewhere
in the thread) and makes for a great terminal environment.

\- Chocolatey is the closest thing Windows has to a package manager. (I'm
still hoping that OneGet becomes a thing.)

\- Other recommended programs: Everything search (life changing, bind it to a
hotkey and never look back), Sumatra PDF, Glasswire, CCleaner, either
Irfanview or Xnview, WinDirStat.

------
LarryMade2
\- Switch all your search settings to google, or something you deem
reliable/less spammy. Most installs start with Bing or Yahoo which are way
more ad oriented over what you want.

\- Install an anti-malware program for when you do get malware.

\- Install adblock plus, or other recognized ad blocker this will reduce your
malware infections.

\- Be VERY VERY WARY when you download files and install software (especially
if some web popup says you need some media player or driver update). Make sure
you are getting any software from legit sites (which bing and yahoo don't
necessarily put high on search results). When running installer be wary of the
ride-along installs of additional malware (changing search settings, toolbars,
dubious security shovelware, etc.) sometimes you have to check or un-check
boxes cancel install dialog before the real program install dialog, etc.

\- Decide whether you like the pre-installed anti-virus, want to un-install
and activate windows defender, or get another 3rd party anti-virus. Usually
the co. who pays the PC manufacturer the most gets their AV installed -
doesn't mean its good.

\- Check the installed browsers and remove pre-insalled unwanted plugins or
extensions.

\- If you depend on PDFs just working make sure whatever PDF solution in your
machine works for you, might want to switch to Acrobat Reader if it isn't
Adobe.

\- Learn how to invoke the task manager (control-alt-delete) shut down tasks,
restart the system in safe mode etc. Some malware will thwart progress without
knowing these things. - A second computer and google will help get you out of
a lot of these situations.

\- Any pop-up official looking message saying "you" are in trouble, your
computer is infected - call this number, etc, are likely scams, be prepared to
see that stuff too.

Think of it this way - now you will have stuff to talk about with all your
friends who use Windows.

------
codegeek
If you are a programmer, then I will suggest a few do's:

\- Install git bash for command line.

\- Install ConEmu: a windows console emulator [0]. This takes console to next
level on windows. I highly recommend it.

[0] [https://conemu.github.io/](https://conemu.github.io/)

~~~
dfcowell
Installing WSL and learning PowerShell properly are much better alternatives
to the above.

------
hs86
This is just a very small change but imho a very important one. This setting
has the wrong default:

[http://www.thewindowsclub.com/show-file-extensions-in-
window...](http://www.thewindowsclub.com/show-file-extensions-in-windows)

~~~
Tenoke
Oh, man - they are still doing this? I remember spending an hour searching for
this setting back when I switched from 98 to XP.

------
LordWinstanley
You'll be glad to know Windows also has a "Greengrocer's Apostrophe" key

------
Joeri
Random advice:

\- You really want to be on windows 10, not 7. It's better in all ways but one
to 7. The one is the forced updating. To avoid having updates forced on you in
the middle of a day, give windows a chance to do updates by shutting down
every once in a while.

\- Settings are spread across the settings app (start), the control panel and
various control applets (right-click on start), the registry (windows+R,
regedit <enter>) and files on disk (like the hosts file in
windows/system32/drivers/etc). Honestly, it's a mess, and google is your
friend. It bites you in the beginning, but once set up it really doesn't
matter.

\- Secondary screens: windows+P switches modes (mirror, second-only, ...).
Saves you from unplugging and replugging cables with your fingers crossed.
Mixed dpi is a mess, still. You can configure the scaling of different screens
separately from display settings, but apps which haven't been updated
(properly) for compatibility with mixed dpi look blurry, tiny or huge on any
screen that wasn't the primary screen when you signed in to windows, and
sometimes look off even on that one. This is getting better, but still a pain.

\- People will advocate the linux subsystem for windows, and it's great, but
it lives in its own walled garden. If you want access to linuxy tools from the
regular cmd.exe consider installing something like msys2 to get the basics in
your windows path. Or learn powershell.

\- Learn the shortcuts to manage your windows / virtual desktops. Windows is
pretty good at managing windows.
[https://www.thurrott.com/windows/windows-10/4915/windows-10-...](https://www.thurrott.com/windows/windows-10/4915/windows-10-tip-
master-multitasking-keyboard-shortcuts) (props to Paul Thurrott for his many
awesome tip articles.)

\- Be more careful where you get software from. If you were last a windows
user in the era of download.com and the like, forget about those sites.
They're all malware-ridden. Only get software directly from the vendor's site.
Also, ninite is pretty good to get a basic set of software going. You don't
need a third-party anti-virus, the baked in one is good enough.

------
farresito
I have both Windows and Linux installed on this machine. I try to stay away
from Windows for anything closely related to programming. It's a pain in the
ass. Once you have to touch the terminal, things start to get messy, and it's
hard to ignore the terminal when programming. Granted, I use the terminal more
than the average coder, but I still would never touch it. That said, to answer
your question, you probably want to install the Bash on Ubuntu on Windows
thing, which should allow you to run git, bash, etc. on Windows without having
to use cygwin.

------
pandemicsyn
So, whats the best windows ssh client these days? Still putty ? bitwise? other
new hotness?

I've been getting pretty frustrated with my new mac and im supe r tempted to
try out a Razer Blade.

~~~
Tenoke
I belive you can ssh without any troubles using Bash on Ubuntu. If I really
have to start using PuTTy for my ssh needs, I am going back to linux
immediately..

~~~
nxrabl
Yep, ssh works out of the box with WSL.

------
taivare
Curious if anyone has used this at Github alirobe/reclaimWindows10.ps1 And
what they think. I wish Redmond would give older laptop users an option to
turn this off so it wouldn't spin up my hard drive. If I move to Linux this
will be the reason !
[https://gist.github.com/alirobe/7f3b34ad89a159e6daa1](https://gist.github.com/alirobe/7f3b34ad89a159e6daa1)

------
hellojason
A lifelong Windows user, I wrote an article about nitpicky differences (UI and
otherwise) between Windows and macOS after being issued a Macbook at work. You
may find useful information in it - [https://hellojason.net/blog/nitpicky-
differences-between-win...](https://hellojason.net/blog/nitpicky-differences-
between-windows-and-os-x/)

------
wink
Maybe you'll find something useful in this post:
[http://f5n.org/blog/2016/tools-windows-2016/](http://f5n.org/blog/2016/tools-
windows-2016/) \- it's the stuff I use to not tear my hair out when I need to
get something other than gaming done. I think it's missing VS Code, which was
a pleasant surprise.

------
philonoist
I am very happy that I am the first one to comment here about
[https://www.listary.com/](https://www.listary.com/) which is the best
suggestion which again, I got here. Install it.

~~~
ropeladder
Yes. Listary is the one thing I miss from Windows after I switched to Linux
Mint. (well, that and running Foobar2000 natively)

Also I wanted to mention 7+ Taskbar Tweaker ([http://rammichael.com/7-taskbar-
tweaker](http://rammichael.com/7-taskbar-tweaker)), which is a fantastic
little util that helps you make your taskbar just the way you want it.
Mousewheel over taskbar for volume control, middle click closes programs,
etc...

~~~
philonoist
Thanks! these things make me feel like God!

------
cyber_dude
Windows is case INsensitive. Just merged two repositories accidentally because
of that.

~~~
brak1
so is OS X by default:

    
    
         $ cd /tmp
         $ mkdir Abc
         $ mkdir abC
         mkdir: abC: File exists

------
Rubiks3
If managing multiple ssh/vnc/rdp sessions RoyalTS is a must have.

[https://www.royalapplications.com](https://www.royalapplications.com)

------
cdvonstinkpot
A few of my must-have apps:

Classic Shell (simpler start menu)

7-zip (lzma, etc.)

SyncBack Pro (local/s3/on-insert backups)

JetAudio Plus (BBE harmonic extrapolation mp3 HF restoration)

USBDLM (external hdd serial # based drive letter assignment)

------
anotheryou
Do not use or even rely on windows file-history for backups!

It can and does fail silently. (e.g. with too long path names or simply no
backup drive attached in a long time)

------
andreapaiola
The file system limitations...

------
alexvoda
I'll pitch in since some of the things I recommend are not on this page yet:

\- Generally Windows 10 is better than 7 other than the privacy and forced
update issues. (Windows has a tick-tock of good and bad releases so forget
about 8.x)

Management:

\- As others said, the typical way to remotely manage Windows is not to SSH
into the machine you want to manage. Instead, you do one of 2 things:

\- - Use RDP/Remote Desktop Connection/Terminal Services to connect. RoyalTS
from www.royalapplications.com makes it even better

\- - For anything that used the MMC (Microsoft Management Console) you can
just open it locally and connect to the target computer. The MMC is one of the
things I miss on Linux. A single coherent graphical interface to control so
many parts of the system and you can even use it remotely. YaST is the maybe
the closest thing I know on Linux.

Apps:

\- Use portable apps from PortableApps.com and maybe a few other sources. Most
of the essential apps I use have portable versions. Portable apps is another
thing I miss on Linux. They are apps that have everything contained in a
single folder. The intent is to carry them on a flash drive but you can also
keep them on the computer. The effect is that, if for whatever reason you can
no longer boot/need to reinstall/need to move to a different computer/etc.,
you can just open the case of the PC, connect the HDD/SDD to a working windows
PC (optionally copy the folder with all your portable apps) and just use those
apps with all the settings you had before. There have been attempts to bring
this to Linux but without success.

\- Use chocolatey.org This is the Linux package management concept brought to
Windows

\- If you need the tools you are used to on Linux look into either Cygwin
(both Win7 and Win10) or the Ubuntu subsystem for Windows (Win10 only, also
there are ways to change it to Arch or OpenSuse)

\- Win10 only: right now there are rather few non-Microsoft apps on the Store
that are actually great. The Microsoft apps however are quite cool.

\- Win10 only: don't bother with the Edge browser YET. It is not ready. Sure
rendering is fast and battery efficient but we expect much more from a
browser. Right now it is still very limited and there are very few extensions
available.

\- Some other apps I use: RamBox, F.lux, Visual Studio Code, Shazam, QTTabBar

\- Use Alternativeto.net to find alternatives to the apps you use.

Security:

\- No.1 rule: be very careful where you download stuff from and what you
install.

\- Some may say otherwise but I no longer see the need to have third party
anti-virus software for On-Access scanning . Some third party AV products may
even make your computer less secure. Win10 comes with AV by default, and on
Win7 there is Microsoft Security Essentials available.

\- Use the VirusTotal Uploader for On-Demand Scanning. You upload the file and
it is scanned with most antivirus products (69 of them at the moment).

Development:

\- The Microsoft tools are great and may may be free for your use case:

\- - Visual Studio is top notch (Community edition is free)

\- - SQL Server is also great (Developer edition is free for development,
Express edition is more limited but free for any use)

\- - Learn PowerShell

\- - Use the Tortoises (Tortoise Hg/Tortoise Git/Tortoise SVN) for version
control. They integrate great with Windows Explorer.

Other:

\- - Enable showing the file extensions in Windows Explorer. This is a stupid
default.

------
omilu
Install cygwin.

