Keith's Krazy Web Site

Keith's Krazy Web Site

Keith Carangelo

Personal site for Keith Carangelo

Latest Posts

One of the greatest strengths of the Perl ecosystem is Plack. It provides a super-flexible interface between web servers and Perl web applications. Because of its middleware architecture, it is incredibly easy to compose complex...
This guide explains how I install a clean version of Perl from source on macOS, along with the modules that I use every day. My philosophy for programming tools is to try to keep things as simple and transparent as possible. I often find...
There are many ways to install Node.js on MacOS, such as nvm or homebrew, but I’ve always preferred a direct, manual approach. For me, this method gives you complete control, involves no extra package managers, and makes upgrades...
A while back, I decided it was time to finally learn how to touch-type. I was never a slow typer, but my hands constantly roamed the keyboard instead of staying in the home position. Inspired by Steve Yegge to do better, I settled on...
Every time I set up a new Mac, I follow a specific process to install my command-line programming tools. My goal is simple: create a development environment that closely mirrors the RHEL web servers I work with daily. This guide outlines...
It’s been on my list for some time to finally start using Neovim and all that it has to offer as an IDE. As an experienced Vim user, it was hard deciding on what path I should take to convert over. Almost by definition, Vi users are all...
The GitHub CI Actions for my favorite open-source project, the bookmarking service Shaarli, started failing recently. No one was quite sure why, especially because there hadn’t been any significant updates to the tests, and they passed...
I was fortunate enough to attend my very first in-person Perl conference this year in Las Vegas! Ironically my first real exposure to Perl was almost 30 years (!!) ago when I read Learning Perl on a plane to Vegas! It was great to...
Episode 294 of JS Party is titled Reports of Node’s death are greatly exaggerated and features two members of the Node Technical Steering Committee: Matteo Collina and James Snell. Their perspective on the project (and software...
Converting my relatively basic personal website to Eleventy has shown me how challenging it is to build a static-site generator flexible enough to satisfy all the user cases and requirements. The great thing about Eleventy is being...
Time::Piece is my preferred perl module for handling dates. Here is how it can be used to convert between UTC and the local time, even for past dates which may have crossed the current daylight savings time status. Assumptions and...
My favorite app for creating diagrams is excalidraw. It is a free, open-source, web application that has all the features necessary to quickly create almost any kind of workflow image. The user interface is terrific and easily grokked by...
Although it has gotten better over the years, Adobe Illustrator doesn’t automatically produce SVG files completely suitable (or optimal) for websites. This document is an opinionated process for creating suitable web SVGs. A “suitable...
In an August 15 tweet, @iamdevloper, a very funny programmer-humor account, asked which technology you wouldn’t bother to learn over again: JavaScript, Regex, Kubernetes, or PHP. Never mind the completely obvious answer (if you aren’t in...
The ack utility uses Perl regular expressions to efficiently search source code, with smart defaults to limit the results to what you expect. One of the ways I use it is to search our Apache web log files. The logs capture all requests,...
Search Random