26 March 2025

64 links · Wednesday

Arguments against static typing

A practical defense of static typing that addresses common complaints, agrees with them, and shows why they make static typing powerful.

OTP in Your Password Manager Is Not 2FA

It’s quite common now for password managers to have a feature to store OTP secrets and generate TOTP/HOTP codes. In my opinion, this is antifeature that shouldn’t exist and it encourages bad security.

Just write a test for it

This is a short appreciation post about Rust continuously guiding me towards doing The Right Thing™.

What Limits a Cell’s Size?

Two physical constraints help explain why cells are so tiny: surface area-to-volume ratios and diffusion. The first article in our new Data Series.

Audio Recording on the Web is Broken

TL;DR: The MediaRecorder API creates WebM files that can't be navigated through (seeked) because they lack duration metadata. Use the open-source fixwebmduration library to solve this, but we really need a better native solution.

Cloudflare Workers and MongoDB

Previously I wrote about Why Cloudflare Workers Don’t Work With MongoDB, but since then the Cloudflare team has done some great work to add support for the missing Node.js features MongoDB’s driver required to operate successfully from Cloudflare Workers:

Will MCP stay for the long term?

MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a sta…

Matthew Chase Whittemore

Since 8:38 PM on February 22nd, I’ve been recording all my browsing activity in a database I manage using a custom-built browser extension and a wrapper around @rosskevin/ifvisible. The result? I now have a clear picture of just how much time I’ve spent on the…

APIs with C# – Part 4 Options

NET provides support for passing options via environment variables, appsettings.json, and XML files. as well as command line arguments. In short, each higher level overrides the settings in lower levels.

Windows Longhorn Explained by a Retired Microsoft Engineer

Dave reveals the inside story of Windows Longhorn. LIVESTREAM TONIGHT: 7PM PST! JOIN US LIVE! Free Sample of my Book on the Spectrum: https://amzn.to/3zBinWM Dave Cutler Interview: https://youtu.be/xi1Lq79mLeE Watch ShopTalk on Dave's Attic: https://www.you…

Does MediatR Even Make Sense Anymore in .NET?

Check out Dometrain: https://dometrain.com Subscribe to my weekly newsletter: https://nickchapsas.com Become a Patreon and get special perks: https://www.patreon.com/nickchapsas Hello, everybody. I'm Nick, and in this video, I will talk about MediatR and whe…

You might want to stop running atop

My life as a mercenary sysadmin can be interesting. Sometimes I find things, and sometimes I hear things. Now and then I say things.

ABP Modules

🚀Get a quick overview of how modular development works with ABP.IO!

Infrastructure as Markdown?

Ever had a complex Python function you wanted to quickly host as an API? Managing dependencies like databases, secret keys, or heavy utilities like audio processing libraries can be quite cumbersome. Typically, I handle this with a pattern involving: Docker: t…

You should know this before choosing Next.js

Picking the technology stack for a project is an important and consequential decision. In the enterprise space in particular, it often involves a multi-year commitment with long-lasting implications on the roadmap of the project, the pace of its development, t…

Who moved my (virtual) cheese?

Musings on redesigning software, user's mental models and guidelines on what to do when redesigning.

The Shape of Code » Half-life of Microsoft products is 7 years

I get a lot of pushback from developers/managers when I tell them that the average application has a relatively short lifetime, i.e., half-life of 4-8 years. The pushback kicks in when I start citing data, up until then my listeners appear surprised/skeptical…

Why I recommend against Brave

If you are keen on personal privacy, you might have come across Brave Browser. Brave is a Chromium-based browser that promises to deliver privacy with built-in ad-blocking and content-blocking protection. It also offers several quality-of-life features and ser…

Nostalgia — bayindirh

The people I'm following on the internet put me inside a small but vibrant retrocomputing bubble. When this is combined with the synthwave composers I tend to listen lately, I'm being transported to my earlier years on this planet, repeatedly. The fact that I …

Hartwork Blog · How much security is in long-term support?

Everyone loves the idea of long-term support — LTS for short — where a vendor promises you to provide security updates for a few years: little friction and strong security. Does long-term support live up to that dream? It does not. What makes me say that?

Ski itinerary optimization

Every year, my wife and I go skiing in the French Alps. This time, we set our sights on something ambitious: skiing 100 kilometers in a single day. On a typical day, with breaks and a leisurely pace, we cover 40 to 50 kilometers. So 100 felt like a stretch, bu…

How I Choose What to Work On - Tynan.com

A reader, “Moo”, asked me to write about my process for entrepreneurship and how I choose what to write on. Despite being a lifelong entrepreneur and being relatively successful at it, I don’t write a lot about it because I routinely make decisions that trade …

Let's build a VORON 0

About 1.5 years ago I ventured into 3D printing by building a VORON Trident. It was a very fun project and I’ve even used the printer quite a bit.

The Server Sent Event protocol with Spring Webflux

WebSockets are often mentioned for server events, but they are not the only option. Spring Boot WebFlux can send Server Sent Events out of the box. To change from the usual chat application examples, here’s how to implement server notifications in Java with Sp…

REST in Peace? Django's Framework Problem

The Django REST Framework maintainer has removed access to thousands of community discussions, leaving even other maintainers pleading for read-only access. What does this mean for Django’s ecosystem sustainability?