<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: lutzh</title><link>https://news.ycombinator.com/user?id=lutzh</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 14 Jul 2026 01:07:03 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=lutzh" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by lutzh in "I’ve removed Disqus. It was making my blog worse"]]></title><description><![CDATA[
<p>I use Hyvor Talk - <a href="https://talk.hyvor.com" rel="nofollow">https://talk.hyvor.com</a> - for ad-free and privacy respecting commenting on my blog. I really wanted something that I can just use as a service, not host anything myself. But it's quite expensive.<p>If I where to ditch it to save the money, I'd look into integrating Mastodon into the page, I saw somewhere that they used Mastodon as their comment system (it's basically a thread on Mastodon that is embedded in the blog page).</p>
]]></description><pubDate>Tue, 30 Sep 2025 09:59:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=45423731</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=45423731</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45423731</guid></item><item><title><![CDATA[New comment by lutzh in "Rv, a new kind of Ruby management tool"]]></title><description><![CDATA[
<p>I'm sure rv is great, but am I the only one who needs one such tool not only for Ruby, but also Python, JavaScript, and Java, at least, and finds it weird to run 4+ of those?<p>I put my hope in mise-en-place - <a href="https://mise.jdx.dev" rel="nofollow">https://mise.jdx.dev</a><p>What do people think? One tool per language, or one to rule them all?</p>
]]></description><pubDate>Wed, 27 Aug 2025 07:40:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=45036598</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=45036598</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45036598</guid></item><item><title><![CDATA[New comment by lutzh in "Good system design"]]></title><description><![CDATA[
<p>The only thing I know about “good system design” is that it doesn’t exist in the abstract. Asking whether an architecture is good or bad is the wrong question. The real question is: Is it fit for purpose? Does it help you achieve what you actually need to achieve?<p>I could nitpick individual points in the article, but that misses the bigger issue: the premise is off.<p>Don’t chase generic advice about good or bad design. First understand your requirements, then design a system that meets them.</p>
]]></description><pubDate>Sat, 16 Aug 2025 13:12:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=44923105</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=44923105</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44923105</guid></item><item><title><![CDATA[New comment by lutzh in "The Rubik's Cube Perfect Scramble"]]></title><description><![CDATA[
<p>For all the Rubik's Cube enthusiasts here: here's a two-dimensional one in JavaScript - <a href="https://www.huehnken.de/games/circles/" rel="nofollow">https://www.huehnken.de/games/circles/</a><p>Also a solution looking for a problem, maybe.</p>
]]></description><pubDate>Sat, 02 Aug 2025 16:15:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=44768818</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=44768818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44768818</guid></item><item><title><![CDATA[New comment by lutzh in "Flix – A powerful effect-oriented programming language"]]></title><description><![CDATA[
<p>Wow, thank you so much, that's flattering. And motivating - I shall start blogging again this month, and try to stick to a monthly cadence. Make sure to subscribe to the RSS feed or follow me on Bluesky or Mastodon, to get notified for new posts :)</p>
]]></description><pubDate>Fri, 11 Jul 2025 07:33:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=44529318</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=44529318</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44529318</guid></item><item><title><![CDATA[New comment by lutzh in "Flix – A powerful effect-oriented programming language"]]></title><description><![CDATA[
<p>Thanks! And of course you have my permission, I'd be honored if the post was included in that list.</p>
]]></description><pubDate>Fri, 11 Jul 2025 07:31:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=44529306</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=44529306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44529306</guid></item><item><title><![CDATA[New comment by lutzh in "Flix – A powerful effect-oriented programming language"]]></title><description><![CDATA[
<p>I looked and Flix a while ago and found it really interesting - so much so that I wrote an article "Flix for Java Programmers" about it. Might actually be a bit outdated by now.. need to look at Flix's recent development again.<p>But if you're interested: <a href="https://www.reactivesystems.eu/2022/06/24/flix-for-java-programmers.html" rel="nofollow">https://www.reactivesystems.eu/2022/06/24/flix-for-java-prog...</a></p>
]]></description><pubDate>Thu, 10 Jul 2025 16:42:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=44522894</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=44522894</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44522894</guid></item><item><title><![CDATA[New comment by lutzh in "Ask HN: Code should be stored in a database. Who has tried this?"]]></title><description><![CDATA[
<p>In the Unison language, code is stored in a database, with a hash code of its content as the key. Quoting <a href="https://www.unison-lang.org" rel="nofollow">https://www.unison-lang.org</a> :<p>A new approach to Storing code. Other tools try to recover structure from text; Unison stores code in a database. This eliminates builds, provides for instant nonbreaking renames, type-based search, and lots more.</p>
]]></description><pubDate>Wed, 02 Apr 2025 10:02:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=43555167</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=43555167</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43555167</guid></item><item><title><![CDATA[Domains listening to many other domains in Event-Driven Architecture]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.reactivesystems.eu/2024/11/30/not-all-commands-are-equal.html">https://www.reactivesystems.eu/2024/11/30/not-all-commands-are-equal.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42304397">https://news.ycombinator.com/item?id=42304397</a></p>
<p>Points: 6</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 03 Dec 2024 09:24:58 +0000</pubDate><link>https://www.reactivesystems.eu/2024/11/30/not-all-commands-are-equal.html</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=42304397</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42304397</guid></item><item><title><![CDATA[New comment by lutzh in "The Dual Nature of Events in Event-Driven Architecture"]]></title><description><![CDATA[
<p>Thank you for your kind words!<p>> Yes, sort of, but mostly no. Events do not "trigger" anything. The recipient of an event may perform an action in response to the event, but events cannot know how they will be used or by whom.<p>I don't see the difference. Maybe it's a language thing. But I'd say if a recipient receives an event and perfoms an action as consequence, it's fair to say the event triggered the action. The fact that the event triggers something doesn't mean the event or the publisher must know at runtime what's being triggered.<p>Regarding your suggestions, I think your proving my point. Of course the whole "there are two types of.." is a generalization, but given that, you seem to fall in the first category, the one I called "DDD engineer/architect".<p>My response to the first three would be: Why? I know some literature suggests this. I've applied this pattern in the past. And I wrote "This is totally legitimate and will work.". But we also need to ask ourselves: What's the actual value? Why does the kind of event / the business reason have to be encoded as the name/type of the event? Honest question. Doesn't having it in the event payload carry the same information, just in a different place?<p>I don't want to be following what might be seen as "best practices" just for the sake of it, without understanding why.<p>I know of a few systems that started of with domain events that were named & typed "properly" according to the business event. And after a while, the need for wide events carrying the full state of the source entity arose. If you look at talks and articles from other EDA practioners (e.g. the ones on <a href="https://github.com/lutzh/awesome-event-driven-architecture#readme">https://github.com/lutzh/awesome-event-driven-architecture#r...</a>), you'll see that's not uncommon. 
This regularly leads to having to provide the wide events in addition to the "short" events. This is extra effort and has its own drawbacks. I just want to save the readers the extra work.</p>
]]></description><pubDate>Sun, 03 Nov 2024 10:04:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=42032178</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=42032178</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42032178</guid></item><item><title><![CDATA[New comment by lutzh in "The Dual Nature of Events in Event-Driven Architecture"]]></title><description><![CDATA[
<p>Thanks for your feedback Gunnar, I appreciate it!<p>Your categorization makes total sense and fits well with what I called the "spectrum". I only mentioned the "id-only" events to show what the one end of the spectrum would look like. What I call the "trigger" events would be what you call "delta" events. I should have written that more clearly.<p>Interestingly a few people advocated for id-only events as a response to the article. I have some issues with that pattern.. already thinking about a follow-up article to elaborate on that.</p>
]]></description><pubDate>Sat, 02 Nov 2024 10:01:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=42025280</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=42025280</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42025280</guid></item><item><title><![CDATA[New comment by lutzh in "The Dual Nature of Events in Event-Driven Architecture"]]></title><description><![CDATA[
<p>Thanks for your feedback. I realize I should have elaborated the example a bit more, it's too vague. So, as I wrote in some other reply as well, please don't over-interpret it. The point was only to say that in order to differentiate the events, we don't necessarily need distinct types (which would result in multiple schemas on a topic), but can instead encode it in one type/schema. Like mapping in ORM - instead of "table per subclass", you can use "table per class hierarchy".</p>
]]></description><pubDate>Fri, 01 Nov 2024 21:12:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=42021603</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=42021603</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42021603</guid></item><item><title><![CDATA[New comment by lutzh in "The Dual Nature of Events in Event-Driven Architecture"]]></title><description><![CDATA[
<p>Thanks for your feedback! Very good point on the naming. fwiw the idea was if you buy a cinema ticket, you are usually presented with some sort of seating plan and select the seat (basically putting them into the shopping cart). So SeatSelected would be the equivalent of "ItemAdded" to the shopping cart in an e-commerce application I guess.
Please don't over-interpret the example. There isn't even a definition what that booking aggregate contains. The point was really only to say that in order to differentiate the events, we don't necessarily need distinct types (which would result in multiple schemas on a topic), but can instead encode it in one type/schema. Think of it like mapping in ORM - instead of "table per subclass", you can use "table per class hierarchy".</p>
]]></description><pubDate>Fri, 01 Nov 2024 21:09:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=42021585</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=42021585</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42021585</guid></item><item><title><![CDATA[New comment by lutzh in "The Dual Nature of Events in Event-Driven Architecture"]]></title><description><![CDATA[
<p>Reg. the "technical" question: Kafka or any log-based message broker (or any message queue) would not prevent you from that. Any service can publish/send and/or subscribe/receive.<p>Regarding if it's a problem or a regular occurrence: No, really not. I have never seen this being a problem, I think that fear is unfounded.</p>
]]></description><pubDate>Fri, 01 Nov 2024 21:03:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=42021540</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=42021540</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42021540</guid></item><item><title><![CDATA[New comment by lutzh in "The Dual Nature of Events in Event-Driven Architecture"]]></title><description><![CDATA[
<p>Good catch! Indeed, without me realizing it, this trigger/data duality is pretty much what Event Message and Document Message are in "Enterprise Integration Patterns" (which is what the post you linked refers to). As it happens, in the book the authors also speak about "a combined document/event message", which is how me mostly use events in EDA today, I think.</p>
]]></description><pubDate>Fri, 01 Nov 2024 17:05:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=42019128</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=42019128</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42019128</guid></item><item><title><![CDATA[New comment by lutzh in "The Dual Nature of Events in Event-Driven Architecture"]]></title><description><![CDATA[
<p>Thanks for your feedback, I appreciate it!<p>> The triggering of the action is a direct consequence of the information an event contains. Whether or not an action is triggered should not be the responsibility of the event.<p>I agree, but still for different consumers events will have different consequences - in some consumers it'll trigger an action that is part of a higher-level process (and possibly further events), in others it'll only lead to data being updated.<p>> If you are writing events with the intention of having them invoke some specific actions, then you should prefer to invoke those things directly. You should be describing a space of things that have occurred, not commands to be carried out.<p>With this I don't agree. I think that's the core of event-driven architecture that events drive the process, i.e. will trigger certain actions. That's not contradicting them describing what has occurred, and doesn't make them commands.<p>> By default I would only include business keys in my event data. This gets you out of traffic on having to make the event serve as an aggregate view for many consumers. If you provide the keys of the affected items, each consumer can perform their own targeted lookups as needed. Making assumptions about what views each will need is where things get super nasty in my experience (i.e. modifying events every time you add consumers).<p>This is feedback I got multiple times, the "notification plus callback" seems to be a popular pattern. It has its own problems though, both conceptual (event representing an immutable set of facts) and technical (high volume of events). I think digging into the pros and cons of that pattern will be one of my next blog posts! Stay tuned!</p>
]]></description><pubDate>Fri, 01 Nov 2024 16:59:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=42019046</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=42019046</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42019046</guid></item><item><title><![CDATA[New comment by lutzh in "The Dual Nature of Events in Event-Driven Architecture"]]></title><description><![CDATA[
<p>Article observing that events in event-driven architecture are both triggers of actions and carriers of data, and that these roles may conflict in the event design. Submitted by author.</p>
]]></description><pubDate>Thu, 31 Oct 2024 08:15:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=42004509</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=42004509</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42004509</guid></item><item><title><![CDATA[The Dual Nature of Events in Event-Driven Architecture]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.reactivesystems.eu/2024/10/31/the-dual-nature-of-events-in-eda.html">https://www.reactivesystems.eu/2024/10/31/the-dual-nature-of-events-in-eda.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42004508">https://news.ycombinator.com/item?id=42004508</a></p>
<p>Points: 112</p>
<p># Comments: 63</p>
]]></description><pubDate>Thu, 31 Oct 2024 08:15:23 +0000</pubDate><link>https://www.reactivesystems.eu/2024/10/31/the-dual-nature-of-events-in-eda.html</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=42004508</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42004508</guid></item><item><title><![CDATA[Five Common Misconceptions About Event-Driven Architecture]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.reactivesystems.eu/2024/09/30/five-common-misconceptions-about-eda.html">https://www.reactivesystems.eu/2024/09/30/five-common-misconceptions-about-eda.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41706679">https://news.ycombinator.com/item?id=41706679</a></p>
<p>Points: 10</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 01 Oct 2024 10:42:34 +0000</pubDate><link>https://www.reactivesystems.eu/2024/09/30/five-common-misconceptions-about-eda.html</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=41706679</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41706679</guid></item><item><title><![CDATA[New comment by lutzh in "Event-Driven Core, Request-Response Shell"]]></title><description><![CDATA[
<p>When speaking about event-driven architecture in the past, people have told me it’s not for them because they build web applications and/or REST APIs. That made me think of a phrase from functional programming (functional core, imperative shell) and I wrote a short blog post about how there’s still value in being event-driven.</p>
]]></description><pubDate>Sun, 01 Sep 2024 15:55:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=41417919</link><dc:creator>lutzh</dc:creator><comments>https://news.ycombinator.com/item?id=41417919</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41417919</guid></item></channel></rss>