<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: Lavinski</title><link>https://news.ycombinator.com/user?id=Lavinski</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 28 Apr 2026 19:49:08 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Lavinski" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Lavinski in "Ask HN: Could you share your personal blog here?"]]></title><description><![CDATA[
<p><a href="https://www.daniellittle.dev/" rel="nofollow noreferrer">https://www.daniellittle.dev/</a>
I blog occasionally just to share or think. Regular topics include the web, fp and dotnet.</p>
]]></description><pubDate>Wed, 05 Jul 2023 00:55:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=36594386</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=36594386</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36594386</guid></item><item><title><![CDATA[Async that guarantees the function is finished]]></title><description><![CDATA[
<p>Article URL: <a href="https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/#nurseries-a-structured-replacement-for-go-statements">https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/#nurseries-a-structured-replacement-for-go-statements</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=26656782">https://news.ycombinator.com/item?id=26656782</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 01 Apr 2021 04:50:44 +0000</pubDate><link>https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/#nurseries-a-structured-replacement-for-go-statements</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=26656782</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26656782</guid></item><item><title><![CDATA[New comment by Lavinski in "Best practices for REST API design (2020)"]]></title><description><![CDATA[
<p>I wrote about why linking is useful recently <a href="https://www.daniellittle.dev/practical-hypermedia-controls" rel="nofollow">https://www.daniellittle.dev/practical-hypermedia-controls</a>. I've been using Hypermedia in my APIs for a few years now and it's been so useful for making great APIs. One of the things I really love about it is that you can test/use the API directly much more easily, because the knowledge about how to use it is in the API itself, instead of half hardcoded into the client.</p>
]]></description><pubDate>Wed, 24 Feb 2021 03:23:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=26246240</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=26246240</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26246240</guid></item><item><title><![CDATA[New comment by Lavinski in "Is your programming language unreasonable? (2015)"]]></title><description><![CDATA[
<p>The article goes through a series of examples to show motivations for the following:<p>1. Variables should not be allowed to change their type.<p>2. Objects containing the same values should be equal by default.<p>3. Comparing objects of different types is a compile-time error.<p>4. Objects must always be initialized to a valid state. Not doing so is a compile-time error.<p>5. Once created, objects and collections must be immutable.<p>6. No nulls allowed.<p>7. Missing data or errors must be made explicit in the function signature.<p>The idea being that each feature or constraint _enables_ you to reason and predict more about a program than you could otherwise.<p>I encourage anyone interested in these ideas to play around with F# or a similar language and get a feeling for how they influence your code. If you've mastered one paradigm such as OO one of the best ways to find holes in your mental models is to try and find another point of view to look at the same problems. Even if you keep writing most of your code like you do today, in the language you do today, it can still be beneficial.</p>
]]></description><pubDate>Sat, 10 Oct 2020 12:18:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=24738438</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=24738438</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24738438</guid></item><item><title><![CDATA[Alexa Is a Human]]></title><description><![CDATA[
<p>Article URL: <a href="https://alexaisahuman.com/my-letter-to-amazon">https://alexaisahuman.com/my-letter-to-amazon</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=22221677">https://news.ycombinator.com/item?id=22221677</a></p>
<p>Points: 5</p>
<p># Comments: 4</p>
]]></description><pubDate>Mon, 03 Feb 2020 05:35:32 +0000</pubDate><link>https://alexaisahuman.com/my-letter-to-amazon</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=22221677</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22221677</guid></item><item><title><![CDATA[Environment Settings for Build Once Packages in React]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.daniellittle.dev/environment-settings-for-build-once-packages-in-react">https://www.daniellittle.dev/environment-settings-for-build-once-packages-in-react</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=22043689">https://news.ycombinator.com/item?id=22043689</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 14 Jan 2020 11:07:00 +0000</pubDate><link>https://www.daniellittle.dev/environment-settings-for-build-once-packages-in-react</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=22043689</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22043689</guid></item><item><title><![CDATA[Practising Continuous Deployment]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.daniellittle.dev/practising-continuous-deployment">https://www.daniellittle.dev/practising-continuous-deployment</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=21310039">https://news.ycombinator.com/item?id=21310039</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 21 Oct 2019 07:31:28 +0000</pubDate><link>https://www.daniellittle.dev/practising-continuous-deployment</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=21310039</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21310039</guid></item><item><title><![CDATA[Reliable Messaging over a Service Bus]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.daniellittle.xyz/reliable-messaging-over-service-bus">https://www.daniellittle.xyz/reliable-messaging-over-service-bus</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=19957454">https://news.ycombinator.com/item?id=19957454</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 20 May 2019 04:08:06 +0000</pubDate><link>https://www.daniellittle.xyz/reliable-messaging-over-service-bus</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=19957454</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19957454</guid></item><item><title><![CDATA[New comment by Lavinski in "VIZIO to Pay $2.2M to FTC"]]></title><description><![CDATA[
<p>Console or media center</p>
]]></description><pubDate>Wed, 08 Feb 2017 06:24:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=13596243</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=13596243</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13596243</guid></item><item><title><![CDATA[Comparing MicroBus and MediatR (Mediators for .NET)]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.lavinski.me/comparing-microbus-and-mediatr/">https://www.lavinski.me/comparing-microbus-and-mediatr/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=13347153">https://news.ycombinator.com/item?id=13347153</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 07 Jan 2017 22:52:05 +0000</pubDate><link>https://www.lavinski.me/comparing-microbus-and-mediatr/</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=13347153</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13347153</guid></item><item><title><![CDATA[Event Sourcing: What Properties Should Domain Events Have?]]></title><description><![CDATA[
<p>Article URL: <a href="http://www.lavinski.me/event-sourcing-what-properties-should-domain-events-have/">http://www.lavinski.me/event-sourcing-what-properties-should-domain-events-have/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=12840757">https://news.ycombinator.com/item?id=12840757</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 31 Oct 2016 20:42:55 +0000</pubDate><link>http://www.lavinski.me/event-sourcing-what-properties-should-domain-events-have/</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=12840757</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12840757</guid></item><item><title><![CDATA[Building a C# application with MicroBus]]></title><description><![CDATA[
<p>Article URL: <a href="http://www.lavinski.me/building-a-microbus-application/">http://www.lavinski.me/building-a-microbus-application/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=10243513">https://news.ycombinator.com/item?id=10243513</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 19 Sep 2015 06:39:38 +0000</pubDate><link>http://www.lavinski.me/building-a-microbus-application/</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=10243513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10243513</guid></item><item><title><![CDATA[Generating Read Models with Event Sourcing]]></title><description><![CDATA[
<p>Article URL: <a href="http://www.lavinski.me/generating-read-models-with-event-sourcing/">http://www.lavinski.me/generating-read-models-with-event-sourcing/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=9927978">https://news.ycombinator.com/item?id=9927978</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 22 Jul 2015 06:11:47 +0000</pubDate><link>http://www.lavinski.me/generating-read-models-with-event-sourcing/</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=9927978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9927978</guid></item><item><title><![CDATA[The Perfect Pot]]></title><description><![CDATA[
<p>Article URL: <a href="http://www.lavinski.me/the-perfect-pot/">http://www.lavinski.me/the-perfect-pot/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=8979660">https://news.ycombinator.com/item?id=8979660</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 01 Feb 2015 11:12:14 +0000</pubDate><link>http://www.lavinski.me/the-perfect-pot/</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=8979660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8979660</guid></item><item><title><![CDATA[Exploring MVC Architecture]]></title><description><![CDATA[
<p>Article URL: <a href="http://www.lavinski.me/mvc-architecture/">http://www.lavinski.me/mvc-architecture/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=8366846">https://news.ycombinator.com/item?id=8366846</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 25 Sep 2014 12:58:51 +0000</pubDate><link>http://www.lavinski.me/mvc-architecture/</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=8366846</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8366846</guid></item><item><title><![CDATA[NET VNext: Custom Loaders]]></title><description><![CDATA[
<p>Article URL: <a href="http://alxandr.me/2014/06/30/loading-all-of-the-things/">http://alxandr.me/2014/06/30/loading-all-of-the-things/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=8255141">https://news.ycombinator.com/item?id=8255141</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Sep 2014 23:54:33 +0000</pubDate><link>http://alxandr.me/2014/06/30/loading-all-of-the-things/</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=8255141</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8255141</guid></item><item><title><![CDATA[New comment by Lavinski in "Fix the versioning"]]></title><description><![CDATA[
<p>This link (<a href="http://www.jongleberry.com/semver-has-failed-us.html" rel="nofollow">http://www.jongleberry.com/semver-has-failed-us.html</a>) was also posted on HN a while ago.<p>HN: <a href="https://news.ycombinator.com/item?id=8154933" rel="nofollow">https://news.ycombinator.com/item?id=8154933</a></p>
]]></description><pubDate>Sat, 30 Aug 2014 01:55:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=8245319</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=8245319</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8245319</guid></item><item><title><![CDATA[Avoid null with Container Types]]></title><description><![CDATA[
<p>Article URL: <a href="http://www.lavinski.me/avoid-null-with-container-types/">http://www.lavinski.me/avoid-null-with-container-types/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=8235099">https://news.ycombinator.com/item?id=8235099</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 27 Aug 2014 23:02:17 +0000</pubDate><link>http://www.lavinski.me/avoid-null-with-container-types/</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=8235099</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8235099</guid></item><item><title><![CDATA[New comment by Lavinski in "Way.js – Simple two-way databinding"]]></title><description><![CDATA[
<p><a href="http://knockoutjs.com/" rel="nofollow">http://knockoutjs.com/</a> is also a great simple data binding lib but without any dependencies.</p>
]]></description><pubDate>Mon, 18 Aug 2014 10:18:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=8192037</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=8192037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8192037</guid></item><item><title><![CDATA[New comment by Lavinski in "What ORMs have taught me: just learn SQL"]]></title><description><![CDATA[
<p>I hardly use an ORM anymore these days, however this article has a few issues.<p>First even when using SQL the author runs into the problem where splitting the database into two and having a reporting database would be much more efficient instead of having one database trying to meet all your needs. When you do writes you want transactions and 3rd normal form but when reporting 3rd normal form becomes a downside. This applies to attribute creep and data retrieval.<p>Second the dual schema problem is one that I think most ORM users know how to avoid. I generate the schema from the code directly, maybe with a little bit of fluent migrations to help move data.<p>The issue with transactions is a strange one. Ideally this is handled as a cross cutting concern in your application. This means it's consistent and transactions can be explicit and predictable. I'd do the same thing for any application.<p>The biggest issue here is I think the author has chosen the wrong tool. This application sounds like it would be well suited for event sourcing. I'm not going to go into it here but they solve these issues in an interesting way. Plus the data is event-based anyway.</p>
]]></description><pubDate>Tue, 05 Aug 2014 02:28:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=8135236</link><dc:creator>Lavinski</dc:creator><comments>https://news.ycombinator.com/item?id=8135236</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8135236</guid></item></channel></rss>