Debian day 25: OK, now I get it

The Great Escape

This probably hasn't got a huge amount to do with Debian directly, more remembering how automation works in your favour once you break out of the jail that is Windows.

I was trying to cut my way through your wire because I want to get out.

I've been developing in Visual Studio for a long time. In some ways, moving to Visual Studio from Unix systems was quite painful back in the 2000s, I often hankered after the simplicity of grep when looking for something in the source code. The search tools are very good in Visual Studio, but they are slow. This is largely so VS can give you some context for the string you're looking for, load up the file, move the cursor to where the string is and generally give you an all-encompassing environment that you never have to leave. Similarly, you rarely (if ever) have to manual build a Make file, or edit the project or solution files directly. Adding a project does all that for you.

After a while you kind of forget you're in a walled garden and you adjust your work patterns around the limitations of the tools. It was only after I switched to VSCode and had access to WSL that some of that muscle memory started to come back.

You’re crazy. You oughta be locked up. You, too. Two hundred and fifty guys just walkin’ down the road, just like that?

Once I started leveraging the command line more (and doing a lot more of my primary development on the debian-only machine in my lab) that I realised just how many other, stupid little things I was doing to keep my system running. Want to release a beta of the Android app without using Google Play? Build the APK, open up AWS on the web browser, drag-drop the files into the designated spot in the S3 bucket. It sounds simple but there are quite a few shenanigans going on: move the windows around so the drag and drop will work OK, log into AWS, futz around with the web interface to find the right place, fiddle with Windows Explorer to find the APK etc. The "windows way" becomes a kind of mental prison for how you approach problems. I could see a bunch of potentially useful automations that I didn't feel would integrate well into my Windows setup, the CMD.EXE thing is painful and PowerShell is...just too weird.

Now? That beta release of the APK is a GitHub action. Copy the files from the Release directory to the Repository directory, do a push. Merge into the Production branch. Job is done.

I have tracked down a number of annoyances with the regular tasks I was performing and most could simply be automated away with a Make file or installing the right dotnet tool or AWS CLI extension. No mistakes, no fuss, always works the same way every time.

The Windows "GUI for everything" approach simply ran out of steam for everybody. You could see the writing on the wall when even a massive company like Microsoft couldn't provide all the GUI tools required to maintain Windows and Windows Server. PowerShell wasn't just Microsoft showing off, it was a desperate attempt to make their own product manageable in a way that didn't require the endless amount of dev/test/release that a GUI requires. The product they got closest with (SQL Server) has "SQL Server Management Studio" which is fine, possibly essential, but incredibly difficult to navigate.

SSMS in all it's glory, albeit running in a VM

The Windows eco-system is a jail - because the GUI-fication of everything stalled somewhere around 2010 you had to drop into a command line (or even worse, the registry editor) to do regular tasks, so you are constantly caught between "navigate to where it should be in the GUI" and "oh, it's not here, is it somewhere else", then Google it, then find somebody who knows the weird PowerShell incantation to do what you're trying to do. If you are constantly pushing your admins into increasingly adopting a command line, the original reason for adopting Windows disappears. It was supposed to be easier than that blinking command prompt.

Something’s coming. I can feel it, and it’s coming right around the corner at me, Squadron Leader!

Chances are, if you are a developer on Windows and you are already using VSCode for development work, you are probably dropping to WSL on the regular. There are fewer and fewer reasons anybody needs to be developing on Windows (legacy stuff aside) and despite Microsoft trying to make it as easy as they can to use Unix like tools, it's genuinely starting to get in the way. Which is why I find myself coming upstairs to the big Debian only box and leaving my Windows 11 laptop in the study.

Popular posts from this blog

Tailscale ate my network (and I love it)

Stupid stunts with WSL2 , Python3 and AWS ECS

Time machine: Solaris 2.6 on QEMU