Tag: Windows

Development on Windows

It has been a few months since I got a new laptop with Windows 10. For the most part it has been pretty damn nice. The UI is pretty good, the native apps are not terrible, Cortana is actually useful. It’s fine, until I want to do web development. There are all of these little things that get in the way, all of these little compromises. Beware, rant coming up..

For example, SSH. Putty is the go to for SSH on Windows, but it’s not a joy to use and now I have twice as many keys as I had before (because I need PPK, I cannot use my existing RSA keys). Microsoft has included an OpenSSH client and server beta with Windows 10, but it is not totally ready. It only works with ED25519 keys (again, I cannot use my existing RSA keys) because it does not support LibreSSL (yet). Fine, it’s just nice to be able to SSH directly from Powershell. However, docker-machine no longer works from Powershell since it cannot find the SSH binary or is using the new OpenSSH binary but cannot use the docker RSA key to connect because it only supports ED25519 and for some reason the command line arg --native-ssh only works if you are trying to SSH into the docker VM and arrghghhghg. Ok, so now I have to use the Docker quick start terminal and Powershell. Really the issue is OpenSSH. So, ok it’s beta, I will just uninstall it and go back to Putty.

I use Sublime Text. Sublime Text does not have a command line utility to open the app for Windows, which is annoying, but whatever. I will use Visual Studio Code because I really like being able to launch my editor from the CLI. But Visual Studio Code has a scrolling bug that won’t get fixed until Electron is updated (so, never I guess?) and is temporarily fixed by setting the app to fullscreen and back. So now thats part of my workflow, quickly maximizing/unmaximizing a window. Ok, so back to Sublime Text and navigating Explorer to open projects.

I am not able to use native Docker witout upgrading to Windows 10 pro. Native docker only supports HyperV, so I cannot use VirtualBox. I have projects that are dependent on Vagrant+VirtualBox. I am pretty sure that Docker Toolbox is on the way out. Not sure what to do here, other than dockerize my vbox projects.

Powershell is bad for me. It is powerful, but it is very verbose and requires significant knowledge of Windows internals to use effectively (this is not a negative, just a reality). The output of Powershell is terrible. Sometimes I cannot even see what is on screen because the contrast of colors is all fucked. Like, blue powershell background, with some content presented in, blue! WTF. Or the background of the text is black and text color itself is straight up #0000FF blue. Its literally unreadable.

I have a lot to complain about. I do want to say that I think Windows has come a long way and the future looks bright but it is just not totally there for me, yet, to do web development comfortably. A lot of my workflow has to change. I am not going to give up on it yet though. I think the take away here is that change can be difficult.

PS. Windows feels like a Linux. Inconsistent UI, requires arcance knowledge to use the CLI, but the CLI is required to do anything substantial, and in general things simply do not work.

Switched to Windows.

For many years I have used Apple computers at home and professionally. I have been a champion for their product, for their stability, ease of use, and unix core. However in the last few years I have become increasingly frustrated with them, from the operating system, to the hardware. I have been looking for a way to untangle myself from Apples “ecosystem” for a while now and finally had enough when I purchased a brand new Macbook Pro. It was a terrible machine and was the last straw for me. Time to rip off the band-aid.

So here I am, running Windows 10, and finding that I actually enjoy it. Perhaps it’s because it’s new and shiny, or maybe Windows has just come a long way since I used it seriously. It has not been that painful of a transition either. A lot of work has been done on the tools I use for web development that they are actually well supported on Windows. Microsoft is not “sexy”, or “cool”, or anything like that. But they aren’t trying to be, but they are making things for people to just get to work. I can buy a PC laptop that has a built-in SD reader, USB-3 and USB-C, up-gradable RAM, hard drive expansion, and powerful video cards options. That is no longer an option for Apple (it never really was I guess). Apple does not make computers for “power users”. They don’t make computers for me any more. It is unfortunate, but whatever it is just a tool, and for now I am choosing Windows as it feels like the superior tool.

I pushed Apple super hard at my job, for years, and now that our creative/development team are 100% powered by Apple computer, im out and moving back to Windows. Pretty funny, and I am sure I’ll get some shit for it. All good though.

I don’t want to forget Linux though. I have tried, for years, to use some distribution of a Linux desktop as my daily driver, and it is simply not there. Not for me. Development on Linux is great, but doing anything creative is pretty terrible IMO.