PowerShell is an interactive shell and scripting language from Microsoft. It’s object-oriented — and that’s not just a buzzword, that’s a big difference to how the standard Unix shells work. And it is actually usable as an interactive shell. Getting Started PowerShell is so nice, Microsoft made it twice. Specifically, there concurrently exist two...
A year ago, I wrote about the sad state of Python packaging. The large number of tools in the space, the emphasis on writing vague standards instead of rallying around the One True Tool, and the complicated venv-based ecosystem instead of a solution similar to node_modules. What has changed in the past year? Has anything improved, is everything...
There is an area of Python that many developers have problems with. This is an area that has seen many different solutions pop up over the years, with many different opinions, wars, and attempts to solve it. Many have complained about the packaging ecosystem and tools making their lives harder. Many beginners are confused about virtual...
I recently wrote a simple console app in C#. This post tells you more about the language, the .NET ecosystem, and why you should write your next app in it. What is the app? The app is called Gitco.NET. It’s basically a rewrite of a previous Ruby script. It shows a console menu with Git branches, allowing things like filtering and toggling the...
You installed Windows on an Intel Mac via Boot Camp, and want to use virtualization in it. But there’s an issue — hardware virtualization extensions are not available. Luckily, this can be worked around easily with the help of rEFInd, an alternate boot manager. Many software development workflows involve virtualization. WSL, Docker for Windows,...
The rumor mill was right this time, and Apple has just announced they will transition Macs to ARM processors. These news have some side effects for software developers, particularly those not working with the Apple ecosystem. And they also affect people who depend on both macOS and Windows. Contents How will it work out in Apple land? Who needs...
Recently, I reinstalled macOS on my device. Throughout the process, many attempts failed miserably. But I now have some experience and assorted hints on what to try (as long as you’ve got an Intel Mac). DISCLAIMER: All information in this post is provided as-is, and some of it may void your warranty. Neither Chris Warrick nor Apple will be...
HTML 5.0 was finalized in 2014 (and its drafts were published even earlier), and with it came the element. It’s 2020, and even though it might look like a good replacement for custom autocomplete widgets, browser issues made me get rid of it. I’ve built a web app to help me track my expenses. The app is written in Django, and it’s open source....
This humble blog is written by an old-school developer who sometimes does web stuff. An attempt to customize the Bootstrap CSS theme requires 50 MB of node_modules, over 500 packages, and comes with a bit of frustration at stupid tools and terrible documentation. You might notice that this website is based on Bootstrap. You might also notice it’s...
Today’s blog post is going to contain fairly advanced Python hackery. We’ll take two functions — one is a wrapper for the other, but also adds some positional arguments. And we’ll change the signature displayed everywhere from the uninformative f(new_arg, *args, **kwargs) to something more appropriate. This blog post was inspired by F4D3C0D3 on...
In Python, virtual environments are used to isolate projects from each other (if they require different versions of the same library, for example). They let you install and manage packages without administrative privileges, and without conflicting with the system package manager. They also allow to quickly create an environment somewhere else...