Chris Warrick (Blog)

A rarely updated blog, mostly about programming.
https://chriswarrick.com/ (RSS)
visit blog
PowerShell: the object-oriented shell you didn’t know you needed
29 Apr 2024 | original ↗

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...

Python Packaging, One Year Later: A Look Back at 2023 in Python Packaging
15 Jan 2024 | original ↗

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...

How to improve Python packaging, or why fourteen tools are at least twelve too many
15 Jan 2023 | original ↗

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...

Writing a Console App in C# for Fun and Profit
19 Sept 2022 | original ↗

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...

Enabling Virtualization Support in Boot Camp with rEFInd
30 Jan 2021 | original ↗

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,...

What an ARM Mac means for developers and Windows users
22 Jun 2020 | original ↗

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...

Reinstalling macOS: What To Try When All Else Fails
3 Jun 2020 | original ↗

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...

When HTML is not enough: a tale of the element
9 Feb 2020 | original ↗

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....

Modern Web Development: where you need 500 packages to build Bootstrap
15 Feb 2019 | original ↗

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...

Python Hackery: merging signatures of two Python functions
20 Sept 2018 | original ↗

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...

Python Virtual Environments in Five Minutes
4 Sept 2018 | original ↗

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...

↑ these items are from RSS. Visit the blog itself at https://chriswarrick.com/ to find other articles and to appreciate the author's digital home.