<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: puredanger</title><link>https://news.ycombinator.com/user?id=puredanger</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 16 Jun 2026 18:22:41 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=puredanger" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by puredanger in "Show HN: CSP Benchmarks – Go vs. core.async (Clojure) vs. libgoc (C)"]]></title><description><![CDATA[
<p>This is very cool, glad to see it! I couldn’t figure out which version of the JVM you used for the core.async tests? Also, you are using old versions of both Clojure and core.async which have both had optimizations in the last year that should help all of these. Some of these tests may also be helped by using io-thread (with JVM virtual threads) instead of go in latest core.async.</p>
]]></description><pubDate>Mon, 04 May 2026 12:53:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48008085</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=48008085</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48008085</guid></item><item><title><![CDATA[New comment by puredanger in "Official Clojure Documentary page with Video, Shownotes, and Links"]]></title><description><![CDATA[
<p>It was hand drawn by an artist. Indiana Jones (the obvious inspiration) wore two belts, one for his pants, one for his whip/holster. The code was provided by Rich.</p>
]]></description><pubDate>Fri, 17 Apr 2026 13:14:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47805584</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=47805584</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47805584</guid></item><item><title><![CDATA[New comment by puredanger in "Ask HN: Why Hasn't Clojure Caught On?"]]></title><description><![CDATA[
<p>Many people use it in ways that have no ties to the JVM - ClojureScript on the web, Babashka for scripting, ClojureDart for Dart apps, etc.</p>
]]></description><pubDate>Thu, 16 Apr 2026 21:11:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47799548</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=47799548</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47799548</guid></item><item><title><![CDATA[New comment by puredanger in "Clojure: The Documentary, official trailer [video]"]]></title><description><![CDATA[
<p>Correct, it will be on the CultRepo channel.</p>
]]></description><pubDate>Wed, 01 Apr 2026 19:18:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47605260</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=47605260</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47605260</guid></item><item><title><![CDATA[New comment by puredanger in "Clojure: The Documentary, official trailer [video]"]]></title><description><![CDATA[
<p>FYI, the canonical version (recut slides / video / audio) of this talk can now be found at <a href="https://www.youtube.com/watch?v=SxdOUGdseq4" rel="nofollow">https://www.youtube.com/watch?v=SxdOUGdseq4</a></p>
]]></description><pubDate>Wed, 01 Apr 2026 19:16:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47605229</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=47605229</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47605229</guid></item><item><title><![CDATA[Simple Made Inevitable: The Economics of Language Choice in the LLM Era]]></title><description><![CDATA[
<p>Article URL: <a href="https://felixbarbalet.com/simple-made-inevitable-the-economics-of-language-choice-in-the-llm-era/">https://felixbarbalet.com/simple-made-inevitable-the-economics-of-language-choice-in-the-llm-era/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47203508">https://news.ycombinator.com/item?id=47203508</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 01 Mar 2026 03:52:17 +0000</pubDate><link>https://felixbarbalet.com/simple-made-inevitable-the-economics-of-language-choice-in-the-llm-era/</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=47203508</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47203508</guid></item><item><title><![CDATA[New comment by puredanger in "Rich Hickey: Thanks AI"]]></title><description><![CDATA[
<p>Rich's opening remarks from Clojure/Conj 2025 were just published and might be an interesting complement to this: <a href="https://www.youtube.com/watch?v=MLDwbhuNvZo" rel="nofollow">https://www.youtube.com/watch?v=MLDwbhuNvZo</a></p>
]]></description><pubDate>Mon, 29 Dec 2025 16:26:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=46422198</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=46422198</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46422198</guid></item><item><title><![CDATA[Rich Hickey's opening remarks from Clojure/Conj 2025 [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=MLDwbhuNvZo">https://www.youtube.com/watch?v=MLDwbhuNvZo</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46422173">https://news.ycombinator.com/item?id=46422173</a></p>
<p>Points: 6</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 29 Dec 2025 16:24:53 +0000</pubDate><link>https://www.youtube.com/watch?v=MLDwbhuNvZo</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=46422173</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46422173</guid></item><item><title><![CDATA[New comment by puredanger in "Clojure Async Flow Guide"]]></title><description><![CDATA[
<p>Thanks for the feedback! Flow monitor does now support filters on the process state (and more on that it is coming to flow itself soon). If you were able to use monitor, it shows the channel buffer states, I guess that was not sufficient to guess why values weren't flowing?</p>
]]></description><pubDate>Mon, 18 Aug 2025 14:35:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=44941107</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=44941107</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44941107</guid></item><item><title><![CDATA[New comment by puredanger in "Clojure Async Flow Guide"]]></title><description><![CDATA[
<p>Note that newer things are always downloaded less because they have been around less time (lots of people continue using old versions).<p>Maven stats are available to artifact deployers, but they are useless for 
estimating users or community size as downloads are largely from CI servers constantly downloading artifacts for testing. Download numbers are large and seesaw erratically. Unique IP counts are a little more stable but also inflated beyond relevance by CI.</p>
]]></description><pubDate>Mon, 18 Aug 2025 12:46:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939978</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=44939978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939978</guid></item><item><title><![CDATA[New comment by puredanger in "Clojure Async Flow Guide"]]></title><description><![CDATA[
<p>When you deploy a flow, you choose the workload type (:compute, :io, or :mixed) and the process will be deployed with the appropriate thread type.</p>
]]></description><pubDate>Mon, 18 Aug 2025 12:27:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939822</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=44939822</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939822</guid></item><item><title><![CDATA[New comment by puredanger in "Clojure Async Flow Guide"]]></title><description><![CDATA[
<p>Flow is intended for processes with long-running stable topologies. Rich has been thinking about options to "patch" the running topology but it is quite tricky due to the concurrency issues and I'm not sure that will ever be added.<p>Even though the flow topology is fixed, it's perfectly acceptable for a flow component to use other variable resources and act merely as a coordinator. So you could for example have a process that send data out to an external dynamic thread pool and gets callbacks via a channel.</p>
]]></description><pubDate>Mon, 18 Aug 2025 12:26:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939816</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=44939816</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939816</guid></item><item><title><![CDATA[New comment by puredanger in "Clojure Async Flow Guide"]]></title><description><![CDATA[
<p>Rich Hickey actually did a talk called "Language of the System" <a href="https://www.youtube.com/watch?v=ROor6_NGIWU" rel="nofollow">https://www.youtube.com/watch?v=ROor6_NGIWU</a> way back in 2013 before core.async was even created that lays out a lot of the ideas. It even has a big section explicitly about "flow" which contains the germs of core.async.flow.</p>
]]></description><pubDate>Mon, 18 Aug 2025 12:22:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939784</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=44939784</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939784</guid></item><item><title><![CDATA[New comment by puredanger in "Clojure Async Flow Guide"]]></title><description><![CDATA[
<p>Clojure's focus on immutable data and pure functions side-step a lot of the trickiest issues with virtual threads. It's often not hard to isolate the I/O parts of your program into flow processes at the edges that can be mapped to the :io pool using virtual threads.</p>
]]></description><pubDate>Mon, 18 Aug 2025 12:18:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939766</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=44939766</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939766</guid></item><item><title><![CDATA[New comment by puredanger in "Clojure Async Flow Guide"]]></title><description><![CDATA[
<p>I don't think it would be feasible or wise to structure core.async to use Structured Concurrency, although Structured Concurrency is trying to tackle some of the same problems as flow but in a different way (more akin to data flow style concurrency).</p>
]]></description><pubDate>Mon, 18 Aug 2025 12:16:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939749</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=44939749</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939749</guid></item><item><title><![CDATA[New comment by puredanger in "Clojure Async Flow Guide"]]></title><description><![CDATA[
<p>Fixed, thx.</p>
]]></description><pubDate>Mon, 18 Aug 2025 12:11:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939724</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=44939724</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939724</guid></item><item><title><![CDATA[New comment by puredanger in "Clojure Async Flow Guide"]]></title><description><![CDATA[
<p>Virtual thread support in core.async is imminent, should land any day now.</p>
]]></description><pubDate>Mon, 18 Aug 2025 11:52:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939621</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=44939621</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939621</guid></item><item><title><![CDATA[New comment by puredanger in "Clojure Async Flow Guide"]]></title><description><![CDATA[
<p>The absolute number of survey respondents is not a good proxy for community size - the survey runs at different times of the year, for different lengths of time, and with different amounts of marketing. The only goal with the survey is to get a representative sample size. We have other sources of data, both public and private, that are better indicators and indicate the community size is likely growing at this time.</p>
]]></description><pubDate>Mon, 18 Aug 2025 11:48:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939593</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=44939593</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939593</guid></item><item><title><![CDATA[ClojureScript from First Principles [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=An-ImWVppNQ">https://www.youtube.com/watch?v=An-ImWVppNQ</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44448802">https://news.ycombinator.com/item?id=44448802</a></p>
<p>Points: 124</p>
<p># Comments: 30</p>
]]></description><pubDate>Wed, 02 Jul 2025 21:03:13 +0000</pubDate><link>https://www.youtube.com/watch?v=An-ImWVppNQ</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=44448802</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44448802</guid></item><item><title><![CDATA[Why we built Vade Studio in Clojure]]></title><description><![CDATA[
<p>Article URL: <a href="https://bytes.vadelabs.com/doing-hard-things-while-living-life-why-we-built-vade-studio-in-clojure/">https://bytes.vadelabs.com/doing-hard-things-while-living-life-why-we-built-vade-studio-in-clojure/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42622264">https://news.ycombinator.com/item?id=42622264</a></p>
<p>Points: 163</p>
<p># Comments: 144</p>
]]></description><pubDate>Tue, 07 Jan 2025 13:52:09 +0000</pubDate><link>https://bytes.vadelabs.com/doing-hard-things-while-living-life-why-we-built-vade-studio-in-clojure/</link><dc:creator>puredanger</dc:creator><comments>https://news.ycombinator.com/item?id=42622264</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42622264</guid></item></channel></rss>