9 September 2023

39 links · Saturday

Rails Middleware: (Almost) Everything You Need to Know

In this post, we'll learn almost everything about Rails middleware: what it is, why we need it, how it works, and why it's so important. We'll also learn how to create and test custom middleware in a Rails app. Finally, we'll extract logging functionality in i…

My mental model of transducers

I’ve been programming in Clojure for a long time, but I haven’t been using transducers much. I learned to mechanically transform (into [] (map f coll)) to (into [] (map f) coll) for a slight performance gain, but not much beyond that. Recently, however, I’ve f…

Making a newsletter backend

I’m currently working on a huge project. Since I’d like to finish it soon, I’m instead going to spend an evening implementing a bespoke newsletter service. A couple of months ago, I added a prominent RSS button to the overview of this blog, acquiescing to the …

Clojure Support in Emacs: One Unnecessary Drama

Over the past couple of weeks I was once again reminded why I’ve stopped following the infamous emacs-devel mailing list a long time ago. A trivial request to include clojure-ts-mode in Emacs’s NonGNU ELPA package repository1, turned into a surprising request …

Basecamp is a Contrarian Marketing Operation

Basecamp is well-known not because of its product but because its founders heavily leverage marketing and communications, eventually turning into contrarian marketing machines producing edgy posts and starting crusades just to get everyone’s attention.

Good performance is not just big O - Julio Merino (jmmv.dev)

Having a fast and responsive app is orthogonal to “knowing your big Os”. Unfortunately, most tech companies over-emphasize algorithms in interviews and downplay systems knowledge, and I believe that’s one reason behind sluggish apps and bloat…

Success Over Being Right

“__I don’t really care about being right, I just care about success. I don’t mind being wrong, and I’ll admit that I’m wrong a lot. It doesn’t really matter ...

Fundamentals Of EF Core Transaction #shorts

📌 Check out my Pragmatic Clean Architecture course: https://bit.ly/3PupkOJ🚀 Support me on Patreon to access the source code: https://www.patreon.com/milanj...

05-We Speak: IBM CICS

In this session, we continue with the "We Speak", Mission Critical Series with an episode on how Azure Logic Apps can unlock scenarios where is required to i...

05-We Speak: IBM CICS

In this session, we continue with the "We Speak", Mission Critical Series with an episode on how Azure Logic Apps can unlock scenarios where is required to i...

Real music and authentic voices

The question of 'real music' has plagued and disrupted principled musical ...

Solving Race Conditions With EF Core Optimistic Locking

How often do you think about concurrency conflicts when writing code? You write the code for a new feature, confirm that it works, and call it a day. But one week later, you find out you introduced a nasty bug because you didn't think about concurrency. The mo…

Front-End Development Challenge in C#

On Thursday in a Dev Question video, I answered the question "What is a front-end developer and what do they do?" Yesterday, I showed you how to become a fro...

Is LaTeX worth it?

A critique of academia's typesetting darling, LaTeX. Is its widespread usage really evidence of its inherent superiority?

Product Launch Code Sucks

Code for early launch products is, in my experience, some of the most fucked up, horrible, over- or under-engineered, hacky, buggy, usually platform-specific and NIH covered hot mess.

Solving the same problem multiple times

Solving the same problem I have gotten into the habit of solving the same problem multiple times. Whenever I start working on a new feature or fixing a bug, I revert my code until I write a solution that I’m happy with. The first code is always a draft. My men…

Introducing flake8-logging - Adam Johnson

The Python standard library’s logging module is a go-to for adding observability to applications. Many tools also integrated with it or enhance its capabilities, such as structlog and Sentry.