Estimated reading time: 7m 12s A few years ago I wrote Reasons why my website is offline , in which I put on my tinfoil hat and pulled my whole website into the closet rather than let Copilot anywhere near my code. I was a principled curmudgeon about AI, and honestly? I stand by past me. He had reasons.
Estimated reading time: 1h 10m 1s In my post The Set Function I introduced function combinators as a pattern for building complex logic. I added the caveat that combinators should not be used to define sets, which I feel undersells the value of combinators as a general programming pattern. In this post we will explore combinators as an applied solution to a common problem: parsing text .
Estimated reading time: 1h 25m 15s Remember functors and applicatives ? In my last post Enabling Control Flow in Functional Programming we explored how functors and applicatives abstract over desired and undesired cases of contexts in order to express control flow and permit independent computation. In this post we will explore monads and how to leverage their specific abstraction to express…
Estimated reading time: 15m 31s What is a Set ? A Set can tell you whether or not an value is a member of the Set . This means that a Set is merely a function, specifically of type A => Boolean . In this post I will explore the usage of combinators to build a Set from elementary functions alone.
Estimated reading time: 2h 12m 50s Remember functors ? Recall from my last post, Contexts and Effects in Functional Programming , they are structures that abstract away complexity imposed by nondeterminism present in contexts that produce some output; contexts such as optionality, network interaction, or validation. When contexts fail to produce some output, they are in their undesired case and no…
Estimated reading time: 1h 49m 41s Have you ever received an unexpected null reference? Have you ever written a function to validate some input only to have it turn into spaghetti over time? How do you anticipate exceptions and protect against them at runtime?
Estimated reading time: 6m 42s In my previous post, Reasons why my website is offline , I complained about systemd giving up when it fails to maintain ssh tunnels. In this post, I complain about systemd a bit more and how I gave up and stopped using it for managing my ssh tunnels.
Estimated reading time: 20m 0s My website is hosted from a 2007 HP Pavilion tower that my best friend, Vlad, a privacy buff and low-key minimalist , found next to the garbage chute at his condo building.
Estimated reading time: 19m 56s I’m picking up a COVID project: Redoing my website! My website prior to 2021 was authored using octopress or jekyll . Truthfully I don’t remember which as I haven’t touched my website in quite a few years. I want to update my homepage and I’m in a bind because I don’t know how to produce a build after I make changes.
Estimated reading time: 1m 5s Paul Hammant found this cool Server-Side Piano and I’ve modified it to be configurable from a running App-Config-App. Because the sound is generated at the server, you’re able to see (hear) the Server-Side Piano change its configuration without reloading the UI.
Estimated reading time: 8m 31s Continuing from my last post , I’ve forked Paul Hammant’s original App-Config-App and modified it to work against Perforce. I’ve decided not to continue using Perforce Chronicle as it is primarily intended for content management.
Estimated reading time: 43m 28s Following Paul Hammant’s post App-config workflow using SCM and subsequent proof of concept backed by Git, I will show that an app-config application backed by Perforce is possible using Perforce Chronicle .