<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Daniel Eisenhardt</title><link>https://danieleisenhardt.nl/authors/daniel-eisenhardt/</link><description>Recent content on Daniel Eisenhardt</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 22 Mar 2026 11:30:00 +0200</lastBuildDate><atom:link href="https://danieleisenhardt.nl/authors/daniel-eisenhardt/index.xml" rel="self" type="application/rss+xml"/><item><title>The Hidden Cost of Slow Feedback</title><link>https://danieleisenhardt.nl/posts/the-hidden-cost-of-slow-feedback/</link><pubDate>Sun, 22 Mar 2026 11:30:00 +0200</pubDate><guid>https://danieleisenhardt.nl/posts/the-hidden-cost-of-slow-feedback/</guid><description>Software developers hold a lot of information in their head while working. Any serious interruption means they lose their train of thought and have to start over. This was already explained in The Mythical Man-Month, which came out in 1975 (over fifty years ago by now!). The same concept is expressed regularly in articles such as Maker&amp;rsquo;s Schedule, Manager&amp;rsquo;s Schedule by Paul Graham in 2009.
By now software professionals know not to interrupt their colleague without good reason, but what about the interruptions we inflict on ourselves?</description></item><item><title>Image conversion in Node.js - Part 1: The out-of-the-box experience</title><link>https://danieleisenhardt.nl/posts/image-conversion-in-node-js-part-1/</link><pubDate>Sat, 03 Jan 2026 11:29:00 +0200</pubDate><guid>https://danieleisenhardt.nl/posts/image-conversion-in-node-js-part-1/</guid><description>This article will explain how to convert between image types with Node.js and Sharp. Only JPEG, PNG, WEBP, GIF, TIFF, AVIF are supported out-of-the-box. For other image types read one of the follow-up articles, as well as for file formats that aren’t technically images, but can be converted to images.
TL;DR: Link to heading If you don’t care about theory, security, or best practices, run:
npm i sharp Put the following in any javascript file, i.</description></item><item><title>The Definitive Manual to Sunk-Cost Sales</title><link>https://danieleisenhardt.nl/posts/the-definitive-manual-to-sunk-cost-sales/</link><pubDate>Fri, 02 Jan 2026 15:57:00 +0200</pubDate><guid>https://danieleisenhardt.nl/posts/the-definitive-manual-to-sunk-cost-sales/</guid><description>Sunk-Cost Sales is a practice where you, the seller, intentionally play into the loss-aversion psychology of a prospect by making the prospect expend their time on the sales process before you reveal the details of the offer. This is often achieved by them spending time talking to you, or reading written materials sent by you. Once you reveal your offer, the prospect no longer evaluates the offer on its own merits, but also counts the time spent in the sales process.</description></item><item><title>Why I built my own estimation poker tool</title><link>https://danieleisenhardt.nl/posts/my-estimation-poker-tool/</link><pubDate>Sun, 09 Feb 2025 06:26:00 +0200</pubDate><guid>https://danieleisenhardt.nl/posts/my-estimation-poker-tool/</guid><description>I disliked every tool I tried, so I built my own instead.</description></item><item><title>Index page state management</title><link>https://danieleisenhardt.nl/posts/index-page-state-management/</link><pubDate>Wed, 28 Feb 2024 16:05:00 +0200</pubDate><guid>https://danieleisenhardt.nl/posts/index-page-state-management/</guid><description>In order not to present the user with a page with 10,000+ [things] on it, there is a set of common solutions that most people agree upon: Filter, Sort, Paginate. If you implement these features &lt;strong>in that order&lt;/strong>, you will not go wrong.</description></item></channel></rss>