I have a confession to make: I used to be a .NET developer. Yup, I said it. I used to run Visual Studio. Windows was my primary operating system.
Then I started writing code for those "other" platforms – Things like Ruby and Go. This mandated that I change my errant ways and adopt a totally different toolset, and therefore I did what every other developer west of the Mississippi does and went with a Macbook.
Last year, I had to ditch my old Macbook in favor of my dual-boot Windows/Ubuntu laptop. I love using Ubuntu. As many years as I had played with Linux as a desktop before, they’ve really come a long way. However, while Ubuntu’s great for development work, I challenge you to try finding any ubiquitous teleconferencing client (other than Skype) that works with Linux.
So up until recently, I’ve bitten the bullet and used PuTTY on days when I have teleconferences or have to use some other Windows-based tool (like the vSphere Client). As nice as PuTTY is as a tool, I just can’t get behind the "clicky-clicky" interface, nor the non-standard command options, nor the special *.ppk format I need to use a certificate. I want something that works like it does in OS X or Linux.
Then it happened – in my frustration, I said "what if" and typed "ssh" at the command prompt. There he was: my old friend the SSH command. And it wasn’t just a PuTTY playing with my emotions – this worked exactly as I wanted it to.
I found out that somewhere along the line, I installed Git for Windows. When you install this wonderful tool, you come across the following option:
These "optional UNIX tools" is a modest assortment of, say, 144 of the tools you wish Windows had in its own command prompt, without requiring you to install CYGWIN or maintain a separate VM.
Warning – as the dialog box states: "Only use this option if you understand the implications." Fair enough.
So now, Windows is more accommodating to my development needs, AND I no longer have to delay teleconferences through the words "hold on, I have to reboot…"