<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: comma_at</title><link>https://news.ycombinator.com/user?id=comma_at</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Jul 2026 04:26:55 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=comma_at" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Working With AI: A concrete example]]></title><description><![CDATA[
<p>Article URL: <a href="https://htmx.org/essays/working-with-ai/">https://htmx.org/essays/working-with-ai/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48720064">https://news.ycombinator.com/item?id=48720064</a></p>
<p>Points: 195</p>
<p># Comments: 72</p>
]]></description><pubDate>Mon, 29 Jun 2026 14:53:41 +0000</pubDate><link>https://htmx.org/essays/working-with-ai/</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=48720064</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48720064</guid></item><item><title><![CDATA[GPU Is the New Oil]]></title><description><![CDATA[
<p>Article URL: <a href="https://xificurc.github.io/blog/gpu-is-the-new-oil/">https://xificurc.github.io/blog/gpu-is-the-new-oil/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48552618">https://news.ycombinator.com/item?id=48552618</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 16 Jun 2026 09:16:00 +0000</pubDate><link>https://xificurc.github.io/blog/gpu-is-the-new-oil/</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=48552618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48552618</guid></item><item><title><![CDATA[New comment by comma_at in "Gemma 4 12B: A unified, encoder-free multimodal model"]]></title><description><![CDATA[
<p>Are there qwen or minimax or other open weight models of same hardware requirements that outperform this?</p>
]]></description><pubDate>Wed, 03 Jun 2026 18:06:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48387504</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=48387504</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48387504</guid></item><item><title><![CDATA[IO Is the Problem]]></title><description><![CDATA[
<p>Article URL: <a href="https://xificurc.github.io/blog/io-is-the-problem/">https://xificurc.github.io/blog/io-is-the-problem/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48036131">https://news.ycombinator.com/item?id=48036131</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 06 May 2026 13:41:07 +0000</pubDate><link>https://xificurc.github.io/blog/io-is-the-problem/</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=48036131</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48036131</guid></item><item><title><![CDATA[The Empty Middle of AI Coding]]></title><description><![CDATA[
<p>Article URL: <a href="https://xificurc.github.io/blog/the-empty-middle-of-ai-coding/">https://xificurc.github.io/blog/the-empty-middle-of-ai-coding/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47689135">https://news.ycombinator.com/item?id=47689135</a></p>
<p>Points: 8</p>
<p># Comments: 2</p>
]]></description><pubDate>Wed, 08 Apr 2026 12:14:34 +0000</pubDate><link>https://xificurc.github.io/blog/the-empty-middle-of-ai-coding/</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=47689135</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47689135</guid></item><item><title><![CDATA[New comment by comma_at in "Ask HN: Who wants to be hired? (April 2026)"]]></title><description><![CDATA[
<p><p><pre><code>  Location: Slovakia (GMT+1)
  Remote: Yes
  Willing to relocate: No
  Technologies: Clojure, Docker, Common Lisp, Bash/Zsh, Python ...
  Email: petern@riseup.net
</code></pre>
Résumé/CV: <a href="https://drive.google.com/file/d/1YzYDnSo-u823VNVIljVHH6vt8cdYsht_/view" rel="nofollow">https://drive.google.com/file/d/1YzYDnSo-u823VNVIljVHH6vt8cd...</a><p>I am currently a core maintainer of Electric Clojure (<a href="https://github.com/hyperfiddle/electric" rel="nofollow">https://github.com/hyperfiddle/electric</a>), a full-stack, reactive, differential language we use for building rich, dynamic UIs. Most notably I developed the last 2 generations of our compiler and pioneered the UI composition pattern we use today. I work with Clojure for 7+ years, but also did a lot (4y+) of infrastructure work before - Docker, Kubernetes, ELK stack, Kibana and more. I worked in many other languages. I am a systems-level thinker who derives solutions from first principles. I am looking for a new challenge.</p>
]]></description><pubDate>Fri, 03 Apr 2026 18:25:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47630177</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=47630177</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47630177</guid></item><item><title><![CDATA[New comment by comma_at in "Local-First Software Is Easier to Scale"]]></title><description><![CDATA[
<p>If the problem fits into the limited local resources, if there's no syncing required, no login, no multiplayer, ... Sure, do it. But don't pretend this solves all business cases.</p>
]]></description><pubDate>Sun, 06 Jul 2025 14:25:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=44481077</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=44481077</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44481077</guid></item><item><title><![CDATA[New comment by comma_at in "Relic: Functional relational programming for Clojure(Script)"]]></title><description><![CDATA[
<p>Instead of doing the side effect you return a description and let the framework handle it. E.g. you don't call `transact(db, data)` but return `["transact", db, data]`. Now your function is pure. The framework will expect you to provide the transact handler, e.g. as `register_handler("transact", (db, data) => {..})`.<p>Personally I'm not a fan of this abstraction (another layer of indirection). I'd rather take a `transact` function as an argument.</p>
]]></description><pubDate>Mon, 27 Feb 2023 20:53:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=34961711</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=34961711</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34961711</guid></item><item><title><![CDATA[New comment by comma_at in "Electric Clojure – A signals DSL for full-stack web UI"]]></title><description><![CDATA[
<p>The only way for the client to set a server-side symbol to a value is to explicitly request it in code<p><pre><code>    (e/server (let [is-admin? (e/client ...)]))
</code></pre>
Even with mutable atoms you'd have to write the `reset!` on the server.</p>
]]></description><pubDate>Tue, 14 Feb 2023 13:42:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=34789087</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=34789087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34789087</guid></item><item><title><![CDATA[New comment by comma_at in "Babashka is a fast-starting scripting environment for Clojure"]]></title><description><![CDATA[
<p>I think SBCL starts up fast enough as-is, no? If you want a batteries included version with libraries, just load them and save a new base image with SAVE-LISP-AND-DIE</p>
]]></description><pubDate>Fri, 09 Dec 2022 09:04:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=33919228</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=33919228</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33919228</guid></item><item><title><![CDATA[New comment by comma_at in "Apple Collects the Least Amount of User Data Out of Major Tech Companies: Study"]]></title><description><![CDATA[
<p>So it's OK to let them spy since we get spied on from other sources anyway.</p>
]]></description><pubDate>Thu, 25 Aug 2022 13:34:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=32593504</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=32593504</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32593504</guid></item><item><title><![CDATA[New comment by comma_at in "Advanced Metaprogramming in C: A select statement"]]></title><description><![CDATA[
<p><a href="https://github.com/eudoxia0/cmacro" rel="nofollow">https://github.com/eudoxia0/cmacro</a></p>
]]></description><pubDate>Fri, 12 Aug 2022 14:12:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=32438956</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=32438956</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32438956</guid></item><item><title><![CDATA[New comment by comma_at in "Advanced Metaprogramming in C: A select statement"]]></title><description><![CDATA[
<p>libmill's goal was to be as close to Go as possible. If you look at it in that light, it's an accomplishment.<p>Then came libdill, which created the whole "structured concurrency" movement and brought new concepts to light that are now being replicated in python, kotlin, java...</p>
]]></description><pubDate>Thu, 11 Aug 2022 19:21:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=32430488</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=32430488</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32430488</guid></item><item><title><![CDATA[New comment by comma_at in "Writing Snake in 12 Lines of PyTorch"]]></title><description><![CDATA[
<p>I'll wait for the 1-line APL/J/K implementation in the comments.</p>
]]></description><pubDate>Thu, 11 Aug 2022 19:07:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=32430297</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=32430297</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32430297</guid></item><item><title><![CDATA[New comment by comma_at in "Feather Wiki: app for creating personal non-linear notebooks, databases, wikis"]]></title><description><![CDATA[
<p>I'd like to syntax highlight code blocks. I tried to add PrismJS to the html file. The CSS survives, but my <script> tag seems to disappear no matter where I put it. I guess this is because Feather Wiki is rewriting itself. How can I add a <script> tag that survives?</p>
]]></description><pubDate>Mon, 23 May 2022 19:40:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=31483957</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=31483957</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31483957</guid></item><item><title><![CDATA[New comment by comma_at in "Notes on Virtual Threads and Clojure"]]></title><description><![CDATA[
<p>At a bare minimum your code might have different behavior. Your `run! deref` will wait for each future one by one. What if the last one threw an exception while the others are running? You'd probably want the other tasks to get canceled immediately. I'm not sure what Executor.close() does exactly, but in theory it could do this for you automatically. Not something I want to write by hand for sure[1].<p>> In Go for example, I don't remember having to clean up fibers manually.<p>And that is awful if you think about it a bit. There's no composition happening, your go block just goes off somewhere without you having any control of it. It's like goto, only it forks first and never gives back the process handle[2].<p>[1] <a href="https://clojureverse.org/t/missionary-new-release-with-streaming-support-design-notes/4510/4" rel="nofollow">https://clojureverse.org/t/missionary-new-release-with-strea...</a>
[2] <a href="https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/" rel="nofollow">https://vorpus.org/blog/notes-on-structured-concurrency-or-g...</a></p>
]]></description><pubDate>Fri, 13 May 2022 18:58:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=31371301</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=31371301</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31371301</guid></item><item><title><![CDATA[New comment by comma_at in "4x Smaller, 50x Faster"]]></title><description><![CDATA[
<p>> What’s not great is loading the entire closure VM environment into my browser<p>There's no VM in clojurescript, it compiles to JS, it is tree-shaken and heavily optimized and minified through Google's Closure compiler.<p>> resulting in the software running (in this case) 50x slower<p>The speedup is not a result of abandoning clojurescript, it's from moving from immutable data structures to mutable arrays and primitives. The same can be done in clojurescript or javascript.<p>I think this is a common misunderstanding, that's why I'm reacting. Nobody claims immutable data structures to be the silver bullet. Computation-heavy parts need to be done in low level code and with primitive types.</p>
]]></description><pubDate>Tue, 30 Nov 2021 08:11:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=29390019</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=29390019</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29390019</guid></item><item><title><![CDATA[New comment by comma_at in "Flatpak Is Not the Future"]]></title><description><![CDATA[
<p>This is all good and true, but it's looking at the problem from the Linux distribution's perspective. The user wants a working application. Something like AppImage allows a small team to distribute a working package for every distro. Now imagine that team of 5, working on their app, packaging it for ubuntu, fedora, arch, rhel, ... It's just not possible.<p>What would solve this issue? A common package manager and central repository, across all Linux distributions. Then the small team only needs to package and ship to one repository, in 1 format.</p>
]]></description><pubDate>Tue, 23 Nov 2021 16:23:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=29319659</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=29319659</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29319659</guid></item><item><title><![CDATA[New comment by comma_at in "Why is Excalidraw so good?"]]></title><description><![CDATA[
<p>select them and group them (Ctrl+G or find it under Actions on the left bottom part of the screen)</p>
]]></description><pubDate>Fri, 05 Nov 2021 10:38:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=29117451</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=29117451</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29117451</guid></item><item><title><![CDATA[New comment by comma_at in "Open Steno Project – Freeing stenography"]]></title><description><![CDATA[
<p>> it's just not worth learning steno if you mainly do programming<p>I think this will be better answered by someone who has crossed that bridge than you simply jumping to that conclusion with no experience or data to back up your claim.</p>
]]></description><pubDate>Tue, 02 Nov 2021 13:38:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=29081019</link><dc:creator>comma_at</dc:creator><comments>https://news.ycombinator.com/item?id=29081019</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29081019</guid></item></channel></rss>