Essays on software development with a focus on quality and production engineering. Mostly.
After a 6-month long hiatus caused by me hunting and changing jobs and cities, I am pleased to announce the release of EndBASIC 0.3! The Thanksgiving break has been as fruitful as I had hoped 😁 There are two major changes in this release. The first is the official debut of the web-based interface. I introduced this months ago and have had it running on a “push on green” model, which means that the web deployment of EndBASIC is always tracking Git HEAD.
This is what landing on the Hacker News front page does to your usually-dormant site: Number of total daily visitors of this site over the last few days. In other words, this is what the Windows Subsystem for Linux: The lost potential post caused: a ridiculous jump from the usual ~80 visits per day to 6,000 on day one, 9,000 on day two, and 1,000 on day three; 200 comments on Hacker News in less than 24 hours and a ripple of discussions in Reddit and OSnews; a very insightful chat with a long-term NTFS engineer on general system performance; and an incredibly poor conversion rate with only 5 new Twitter followers and 3 new email subscribers.
If you have followed Windows 10 at all during the last few years, you know that the Windows Subsystem for Linux, or WSL for short, is the hot topic among developers. You can finally run your Linux tooling on Windows as a first class citizen, which means you no longer have to learn PowerShell or, god forbid, suffer through the ancient CMD.EXE console. Unfortunately, not everything is as rosy as it sounds.
I have had a Netgear WNDR3700v2 router for a few years already and I bought this model specifically because I could flash it with the open-source DD-WRT firmware. The reasons remain the same as the ones I had in 2006—the key ones being: the ability to run a Dnsmasq DNS/DHCP server for my local network; and the ability to update a single Dynamic DNS address so that I can access my home network when I’m on the go.
Let’s continue our dive into the very interesting topic of how Unix (or Linux or what have you) and Windows differ regarding argument processing. And by that I mean: how a program (the caller) communicates the set of arguments to pass to another program (the callee) at execution time, how the callee receives such arguments, and what are the consequences of each design.
Windows Server 2019 and Windows 10 both ship with OpenSSH (server and client). Installing these components is a breeze, but the official documentation to set everything up is either wrong or incomplete. I wanted to set up key-based authentication and this took quite a bit of poking until I figured out all the right knobs. Here are the lab notes from my adventure.
The way PowerShell handles flags in scripts (aka cmdlets) differs completely from what Unix shells do. These differences allow PowerShell to gain insight on how scripts have to be executed, which in turn can deliver a better interactive user experience. Read on for a comparison while wearing Unix-tinted glasses.