<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: slifin</title><link>https://news.ycombinator.com/user?id=slifin</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 12 Apr 2026 14:36:41 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=slifin" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by slifin in "Bringing Clojure programming to Enterprise (2021)"]]></title><description><![CDATA[
<p>As someone who loves the clojure repl I do somewhat agree with debuggers are better<p>If it was like a choice, Clojure has my favourite reverse debugger flowstorm which also exposes the runtime information of your program programmatically<p>So you can code cool visual programs against the runtime values of your first program<p>Like I built an emulator at work that simulates our program in production as a flowstorm plugin then you can step through the program frame by frame<p>I love taking the guess work out of production issues, just get the computer to show you exactly how everything went down<p>It's like a rewindable movie made up of thousands or millions of frames of the execution of your program</p>
]]></description><pubDate>Thu, 02 Apr 2026 17:01:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47617046</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=47617046</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47617046</guid></item><item><title><![CDATA[New comment by slifin in "Fear and denial in Silicon Valley over social media addiction trial"]]></title><description><![CDATA[
<p>I won't use new Reddit because of its infinite scroll but old Reddit you have to press next which I find doesn't keep me as addicted<p>I wish all companies had to provide a non infinite scroll option for their products, YouTube, Facebook, Google, Tiktok</p>
]]></description><pubDate>Sat, 28 Mar 2026 09:14:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47552930</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=47552930</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47552930</guid></item><item><title><![CDATA[New comment by slifin in "Have a fucking website"]]></title><description><![CDATA[
<p>Most people should put in a Google maps entry</p>
]]></description><pubDate>Wed, 18 Mar 2026 07:20:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47422579</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=47422579</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47422579</guid></item><item><title><![CDATA[New comment by slifin in "Type systems are leaky abstractions: the case of Map.take!/2"]]></title><description><![CDATA[
<p>Type systems are uncomposable leaning towers<p>I can't decide to use the PHP type system for some of my program then the Haskell type system elsewhere I can't combine them they're infectious they don't preserve well over the wire<p>They're often used for more than one purpose suboptimally<p>I'm either in 100% agreement with the language's type system or I'm unhappy in some aspects and so I'm unhappy with the language<p>People seem to choose their languages more on the type system than more fundamental aspects of their language<p>I think what most users want is static analysis and they don't understand how that is different from a type system they just assume you have to have a type system for static analysis<p>There's also no conversation about how complex a type system should be to support static analysis in fact some type systems are full blown turing complete<p>I think there's a more interesting conversation to be had around correctness in a collaborative environment that we're not having at large because type systems exist and consume the conversations<p>So language developers continue finding the perfect one that is a million little choices working together that must be perfect for everyone<p>It's a itch that will never be satisfied</p>
]]></description><pubDate>Mon, 16 Mar 2026 09:41:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47396905</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=47396905</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47396905</guid></item><item><title><![CDATA[New comment by slifin in "Kansas invalidates driver's licenses, birth certificates for ~1k transgender"]]></title><description><![CDATA[
<p>There are people out there afraid to learn or change and are keen to blame and keep things the same to protect themselves<p>You can listen to their thought process by asking them if they got their way politically for 15 years what would be better about living in their country</p>
]]></description><pubDate>Thu, 26 Feb 2026 22:14:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47172733</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=47172733</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47172733</guid></item><item><title><![CDATA[New comment by slifin in "KFC, Nando's, and others ditch chicken welfare pledge"]]></title><description><![CDATA[
<p>Before we started colonial capitalism there already was total abundance for everyone and for those not born yet<p>The common lands were for everyone, given a few sheep, vast grasslands and a dog you had self sufficient milk, meat, wool etc<p>People used to be nomadic with their animals, capitalism doesn't work when there's total abundance so the playbook was to kill the animals, install farms, enforce land rights by force<p>Only when the workers have no other choice can they be forced into the factories<p>We could return to abundance if we could get rid of the personality types who require attention and power over the rest of us to temporarily satisfy their narcissistic wounds<p>Reinstate common lands and bring back self sufficiency, capitalism is a squeezing device, innovation happens despite it not because of it</p>
]]></description><pubDate>Sat, 21 Feb 2026 13:01:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47100426</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=47100426</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47100426</guid></item><item><title><![CDATA[New comment by slifin in "Real-time estimates of animals consumed by humans worldwide"]]></title><description><![CDATA[
<p>I am going to continue eating meat and plants but that's because the choice between eating plants or meat misses the point<p>The issue here is the industrialisation of the land and the shortcuts that farmers are doing that essentially kill the land, animals and plants in a way that is unmaintainable<p>The way this should work is animals should be herded on to land to eat and poo, once the grasses are nearly eaten the animals should be rotated on to other fields, the new grass regrows in this fresh environment because it has no competitor and plenty of fertiliser this process kills weeds and rejuvenates soil ready for planting<p>This mimics the nomadic lives that early humans would have led, following their herds of animals to fresh new pastures<p>Then the farmers worked out they didn't need animals to do this process they could just plow their fields and then that gets rid of the weeds, not quite as good as animals doing it in terms of soil health but effective and quick<p>Then the farmers were sold weed killers which meant they didn't need to plow their field, they just needed to buy GMO glyphosate resistant seeds and flood their fields with glyphosate, some types of crops are even killed close to harvest with glyphosate so it'll be in your food at high rates for certain crops<p>The problem with this approach is glyphosate is assumed safe because its mechanism for killing weeds is based on a system we don't directly have as humans, but our gut bacteria do, it also competes with glycine in our bodies used to create proteins, I wouldn't want to drink glyphosate from the bottle but it's being added to my food so effectively I do that<p>It also degrades the soil quality into dust, instead of being full of earth worms which would normally feed the birds, the local wildlife etc<p>So these mono culture fields are just turning huge swathe of land into sterile dust bowls that exacerbate climate change<p>Then these crops are either sold directly to me as a plant eater or given to the animals to make them bulk up and sick<p>As someone who eats a lot of meat I want my animals to be grass fed (or their natural diet) I don't want them to have to take antibiotics because the farmer needed to bulk them up with cheap glyphosate laced mono culture grains and cereals to get more profit out of the animal<p>So if you are vegan you cannot just wipe your hands of this problem because you're still contributing by eating these mono crops - What we really need from consumers is for them to care how their plants and animals are raised and not accept glyphosate or other weed killers in their supply chains<p>Animals should be pasture raised from a moral point of view but also a health and climate point of view</p>
]]></description><pubDate>Fri, 30 Jan 2026 18:34:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=46828078</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=46828078</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46828078</guid></item><item><title><![CDATA[New comment by slifin in "The Sovereign Tech Fund invests in Scala"]]></title><description><![CDATA[
<p>Yeah sorta<p>I would say Clojure is a big exception to that - Clojure applications tend to be more uniform than even non lisps</p>
]]></description><pubDate>Thu, 29 Jan 2026 23:00:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46818083</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=46818083</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46818083</guid></item><item><title><![CDATA[New comment by slifin in "France Aiming to Replace Zoom, Google Meet, Microsoft Teams, etc."]]></title><description><![CDATA[
<p>The real thing that's changed here is that the US gets no benefit from defending Ukraine or Europe<p>European politicians need to wake up NATO was really an exercise in helping the US with its proxy wars their support will not be reciprocated<p>Not with trump and not with his successor</p>
]]></description><pubDate>Mon, 26 Jan 2026 23:19:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46773122</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=46773122</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46773122</guid></item><item><title><![CDATA[New comment by slifin in "How getting richer made teenagers less free"]]></title><description><![CDATA[
<p>Cars, I nearly got run over as a kid a few times<p>Now as an adult I'd be worried about cycling around with cars that would hit me in the chest and not the legs on impact<p>Also cars make it very easy for a stranger to pull up and kidnap, parents subconsciously know that and factor it into their decisions<p>There was also youth clubs where I grew up and a BMX track and no phones so play was mostly happening outside<p>Society is going to continue to degrading as long as debts keep increasing<p>Debts will keep increasing because the only way to create new money is everytime someone gets a loan the bank injects the principle into the economy but then expects interest on top so there will never be enough money in the economy for everyone to pay off all their debts<p>We'll either get mass debt forgiveness or societal collapse and so far we've opted for societal collapse</p>
]]></description><pubDate>Thu, 18 Dec 2025 11:19:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46311347</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=46311347</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46311347</guid></item><item><title><![CDATA[New comment by slifin in "The programmers who live in Flatland"]]></title><description><![CDATA[
<p>Plenty of ways to define complex data shapes in Clojure<p>Spec is definitely underrated here considering it's built into the language and has a wider scope but for most people they want the intellisense experience which you can get with clj-kondo + mailli but is not built in so most teams don't use it, fair enough<p>I'd like to move the goal posts though and say I want flowstorm in every (any other?!) language<p>I can just run the program and scrub backwards and forwards through the execution and look at all the immutable values frame by frame with a high level UI with plenty of search/autocomplete options<p>For program understanding there's nothing better<p>The fact I can program against the timeline of values of my program and create custom UI on top is crazy<p>One of the most mind blowing demos to me was Bret Victor's inventing on principle and having a programmable reverse debugger for your language makes those demos viable<p>I built an emulator recently for work that replays what happens on live locally, combined with flowstorm I can go line by line and tell you exactly what happened and why, no print statements no reruns with my own custom UI customised to our apps interesting parts<p>This is my appeal to anyone outside of Clojure please build flowstorm for JavaScript and or Python<p>The design of flowstorm is definitely helped by the fact that 95% of Clojure programs are immutable but I don't think it's impossible to replicate just very difficult</p>
]]></description><pubDate>Sun, 07 Dec 2025 21:41:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46185450</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=46185450</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46185450</guid></item><item><title><![CDATA[New comment by slifin in "John Carmack on mutable variables"]]></title><description><![CDATA[
<p>Yeah I wish variables were immutable by default and everything was an expression<p>Oh well <i>continues day job as a Clojure programmer that is actively threatened by an obnoxious python take over</i></p>
]]></description><pubDate>Fri, 31 Oct 2025 08:12:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=45769470</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=45769470</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45769470</guid></item><item><title><![CDATA[New comment by slifin in "Stop writing CLI validation. Parse it right the first time"]]></title><description><![CDATA[
<p>So use Clojure Spec or better yet Malli to parse your input data at the edges of your program<p>Makes sense, I think a lot of developers would want to complect this problem with their runtime type system of choice without considering the set of downsides for the users</p>
]]></description><pubDate>Sun, 07 Sep 2025 08:43:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=45156505</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=45156505</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45156505</guid></item><item><title><![CDATA[New comment by slifin in "Taylor Otwell: What 14 Years of Laravel Taught Me About Maintainability"]]></title><description><![CDATA[
<p>The Clojure community tries to achieve long lived applications<p>It helps that the core language has been incredibly stable</p>
]]></description><pubDate>Sun, 31 Aug 2025 22:31:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=45087689</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=45087689</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45087689</guid></item><item><title><![CDATA[New comment by slifin in "David Attenborough at 99: 'I will not see how the story ends'"]]></title><description><![CDATA[
<p>Remember Forbes list is a marketing device<p>Do not treat it like the real list of world's richest people</p>
]]></description><pubDate>Mon, 16 Jun 2025 07:35:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=44287385</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=44287385</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44287385</guid></item><item><title><![CDATA[New comment by slifin in "Biff – a batteries-included web framework for Clojure"]]></title><description><![CDATA[
<p>Nice to hear about Pathom being incorporated</p>
]]></description><pubDate>Tue, 20 May 2025 10:04:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=44039789</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=44039789</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44039789</guid></item><item><title><![CDATA[New comment by slifin in "LSP client in Clojure in 200 lines of code"]]></title><description><![CDATA[
<p>To me something unreadable is code that I cannot statically make any assertions about the runtime behaviour of the code<p>This function you're complaining about looks like 2 virtual threads doing program input reading and output writing for the LSP client given some ArrayBlockingQueues in about 25-30 lines<p>If I wanted the complete story I could use Clojure's inbuilt test runner to slip some ArrayBlockingQueues in there and run it under record with Flowstorm<p>Then leisurely seek through the entire state of the program, to get the play-by-play of how this works<p>There are so many good design choices in this language and a good 30% of colleagues I run into are not even doing the basics of like running a REPL, I think some people just need to clock in with a decade of C# or PHP or TS or JS or Python or whatever to get a taste of a language with next to no inbuilt immutability, statements instead of expressions, no reload-ability in the language semantics and just crapshot debuggers that run in lockstep with the program execution</p>
]]></description><pubDate>Mon, 12 May 2025 13:31:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=43962689</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=43962689</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43962689</guid></item><item><title><![CDATA[New comment by slifin in "Ask HN: Share your AI prompt that stumps every model"]]></title><description><![CDATA[
<p>I ask it to generate applications that are written in libraries definitely not well exposed to the internet overall<p>Clojure electric V3
Missionary
Rama</p>
]]></description><pubDate>Fri, 25 Apr 2025 08:23:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=43791425</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=43791425</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43791425</guid></item><item><title><![CDATA[New comment by slifin in "mIRC 7.81"]]></title><description><![CDATA[
<p>With LLMs we are starting to get the technology where comments could be programmatically rated by more interesting scales than upvotes</p>
]]></description><pubDate>Fri, 18 Apr 2025 08:37:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=43726174</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=43726174</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43726174</guid></item><item><title><![CDATA[New comment by slifin in "Waymos crash less than human drivers"]]></title><description><![CDATA[
<p>There's a big problem with "car blindness" when it comes to cars, pedestrian crossings, car signs I think we forget how invasive they are.<p>So instead, I want you to imagine the sea or a very large bay, the most wide open space available, then I want you to imagine a ferry that can carry 500 people, big yes but there's still plenty of sea and its reasonably tranquil.<p>Now imagine 500 people on jet skis roaring around, then imagine that the jet skis and ferry are all trying to get somewhere different but that's relatively the same, perhaps commuting between the different sides of the bay.<p>If I was mayor I would put a stop to 500 jet skis and say look you have to use the ferry, people on jet skis keep colliding with each other, the noise is horrendous for people on the beach and makes swimming dangerous, and it's also wildly power inefficient when you step back - that's even if we ignore the pollution! 1000 spots to store a 500 jet skis on both sides of the bay is perhaps even worse!<p>If you can make a sea packed and grid locked with just 500 just imagine what it does to a city with thousands, hundreds of thousands, if you then turned to me and said the jet skis drive themselves! I would still think most people should be taking the ferry and there's a upper limit to sustainable jet ski use.</p>
]]></description><pubDate>Thu, 27 Mar 2025 16:10:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=43495089</link><dc:creator>slifin</dc:creator><comments>https://news.ycombinator.com/item?id=43495089</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43495089</guid></item></channel></rss>