<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: hsaliak</title><link>https://news.ycombinator.com/user?id=hsaliak</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 05 Jun 2026 23:37:09 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=hsaliak" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by hsaliak in "Anthropic's open-source framework for AI-powered vulnerability discovery"]]></title><description><![CDATA[
<p>I’ve been looking for a way to articulate this shift, and your analogy nails it. 
The value of libraries and infrastructure components in software engineering is eroding fast.<p>I am sure that in many organizations, teams responsible for this sort of work have less and less users coming to them.</p>
]]></description><pubDate>Fri, 05 Jun 2026 00:56:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=48406718</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=48406718</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48406718</guid></item><item><title><![CDATA[New comment by hsaliak in "Backpressure is all you need"]]></title><description><![CDATA[
<p>I have a custom agent that generates patches like you will with kernel development and I review and merge those in. 
<a href="https://github.com/hsaliak/std_slop/blob/main/docs/mail_mode.md" rel="nofollow">https://github.com/hsaliak/std_slop/blob/main/docs/mail_mode...</a><p>My agent forces this workflow by disabling modifications outside the coding step.<p>I added looping to this not too long ago. <a href="https://github.com/hsaliak/std_slop/blob/main/docs/mail-loop/SKILL.md" rel="nofollow">https://github.com/hsaliak/std_slop/blob/main/docs/mail-loop...</a><p>This gives me the best of both worlds, hand curated reviews and automation. I often get the best quality if I do both, with an agent doing a pass first.</p>
]]></description><pubDate>Mon, 01 Jun 2026 02:20:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48351964</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=48351964</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48351964</guid></item><item><title><![CDATA[New comment by hsaliak in "I'm going back to writing code by hand"]]></title><description><![CDATA[
<p>I wrote <a href="https://github.com/hsaliak/std_slop/blob/main/docs/mail_mode.md" rel="nofollow">https://github.com/hsaliak/std_slop/blob/main/docs/mail_mode...</a> to avoid the brain rot from just shooting slop. It has helped me stay sane, review code and make changes step by step.<p>I dont go as fast as with other agents, but this works for me, and I enjoy the process.</p>
]]></description><pubDate>Mon, 11 May 2026 13:52:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48095021</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=48095021</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48095021</guid></item><item><title><![CDATA[New comment by hsaliak in "Bun's experimental Rust rewrite hits 99.8% test compatibility on Linux x64 glibc"]]></title><description><![CDATA[
<p>Its going to be interesting to see how this holds up in production after a release or two.</p>
]]></description><pubDate>Sun, 10 May 2026 11:35:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48083077</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=48083077</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48083077</guid></item><item><title><![CDATA[New comment by hsaliak in "Zig → Rust porting guide"]]></title><description><![CDATA[
<p>The problem with vibe coded re-writes is that you basically sign off on understanding the generated codebase at that point. Any historical knowledge of the codebase is gone.</p>
]]></description><pubDate>Tue, 05 May 2026 02:30:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=48017447</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=48017447</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48017447</guid></item><item><title><![CDATA[New comment by hsaliak in "Specsmaxxing – On overcoming AI psychosis, and why I write specs in YAML"]]></title><description><![CDATA[
<p>the problem is not the forward pass, its the control/feedback loop when slop is written in response to the forward pass. Perhaps we should give the LLM 2 specs, one designed for the forward pass and another for the acceptance criteria /backward pass that's focused on tests, best practices and code, so that the output is independently verified?</p>
]]></description><pubDate>Sun, 03 May 2026 11:48:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47996001</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47996001</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47996001</guid></item><item><title><![CDATA[New comment by hsaliak in "Specsmaxxing – On overcoming AI psychosis, and why I write specs in YAML"]]></title><description><![CDATA[
<p>nobody knows what to build when everything can be built, there is no moat.</p>
]]></description><pubDate>Sun, 03 May 2026 11:44:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47995974</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47995974</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47995974</guid></item><item><title><![CDATA[New comment by hsaliak in "Show HN: Pollen – distributed WASM runtime, no control plane, single binary"]]></title><description><![CDATA[
<p>Using CRDT gossip to inform scaling is a clever idea. You are on to something there. Perhaps extract it as a core library/concept from the runtime? I feel that would be generally useful!</p>
]]></description><pubDate>Sat, 02 May 2026 14:03:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=47986505</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47986505</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47986505</guid></item><item><title><![CDATA[New comment by hsaliak in "Parallel agents in Zed"]]></title><description><![CDATA[
<p>I have a coding agent <a href="https://github.com/hsaliak/std_slop" rel="nofollow">https://github.com/hsaliak/std_slop</a> where the sessions are in SQL ledger. So /session [new, clone, deletes, undo] are supported and all sessions are persistent. Cloning lets you 'fork' the context and undo lets you roll back, basically solving the problem you state above.<p>Sessions are linear though, so you cant do this _while_ an existing session is cooking.<p>That said, I am excited about this update too, I've been playing with ACP support and Zed's UX was bare bones. I want to run my agent with multiple workers now, and see what happens.</p>
]]></description><pubDate>Thu, 23 Apr 2026 10:49:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47874178</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47874178</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47874178</guid></item><item><title><![CDATA[New comment by hsaliak in "Parallel agents in Zed"]]></title><description><![CDATA[
<p>I find parallel agents to be an exception rather than a norm. Maybe I’m the problem? 
For those exceptional cases, opening a few more terminals gets the job done. It’s unclear to me if this needs to be the primary workflow. My brain naturally does better on deep work on one problem..</p>
]]></description><pubDate>Thu, 23 Apr 2026 00:31:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47871004</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47871004</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47871004</guid></item><item><title><![CDATA[New comment by hsaliak in "A simplified model of Fil-C"]]></title><description><![CDATA[
<p>I made  <a href="https://github.com/hsaliak/filc-bazel-template" rel="nofollow">https://github.com/hsaliak/filc-bazel-template</a> bazel target for people who may want to use these two together to make hermetic builds with it.</p>
]]></description><pubDate>Sat, 18 Apr 2026 01:07:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47812309</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47812309</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47812309</guid></item><item><title><![CDATA[New comment by hsaliak in "Official Clojure Documentary page with Video, Shownotes, and Links"]]></title><description><![CDATA[
<p>Clojure had lousy error messages, agents deal with this well.
Clojure is capable of producing some of the most dense code I’ve ever seen, so manual code reviews really start to feel like a bottleneck unless your goal is to level up.</p>
]]></description><pubDate>Fri, 17 Apr 2026 00:40:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47801273</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47801273</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47801273</guid></item><item><title><![CDATA[New comment by hsaliak in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>I've long had the same idea.. this one has legs.</p>
]]></description><pubDate>Fri, 10 Apr 2026 09:16:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47715483</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47715483</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47715483</guid></item><item><title><![CDATA[New comment by hsaliak in "Components of a Coding Agent"]]></title><description><![CDATA[
<p>Tool output truncation helps a lot and is one of the best ways to reduce context bloat. In my coding agent the context is assembled from SQLite. I suffix the message ID to rehydrate the truncated tool call if it’s needed and it works great. 
My exploration on context management is mostly documented here <a href="https://github.com/hsaliak/std_slop/blob/main/docs/CONTEXT_MANAGEMENT.md" rel="nofollow">https://github.com/hsaliak/std_slop/blob/main/docs/CONTEXT_M...</a></p>
]]></description><pubDate>Sat, 04 Apr 2026 22:36:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47644241</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47644241</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47644241</guid></item><item><title><![CDATA[New comment by hsaliak in "Nanobrew: The fastest macOS package manager compatible with brew"]]></title><description><![CDATA[
<p>This is most certainly vibed with a few optimization focused prompts. Yes - performance is a feature, but so is lack of risk.</p>
]]></description><pubDate>Tue, 24 Mar 2026 19:21:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47507737</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47507737</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47507737</guid></item><item><title><![CDATA[New comment by hsaliak in "Show HN: Context Gateway – Compress agent context before it hits the LLM"]]></title><description><![CDATA[
<p>Agreed on the need, and this space needs more exploration that is not going to come from big-cos as they are incentivised in boosting spend. I've been exploring the same problem statement, but with a different approach <a href="https://github.com/hsaliak/std_slop/blob/main/docs/CONTEXT_MANAGEMENT.md" rel="nofollow">https://github.com/hsaliak/std_slop/blob/main/docs/CONTEXT_M...</a>.<p>The comment was more around how to make their approach sticky.. I feel that local SLMs can replicate what this product does.</p>
]]></description><pubDate>Fri, 20 Mar 2026 15:46:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47456271</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47456271</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47456271</guid></item><item><title><![CDATA[New comment by hsaliak in "I'm OK being left behind, thanks"]]></title><description><![CDATA[
<p>My experience so far tells me that the default path with AI tooling is that it lets us create without learning. So the author is right in that they can pay for a seat in this revolution whenever they want.<p>A practitioner with more experience maybe a few percentage points more productive, but the median - grab subscription, get tool, prompt, will be mostly good enough.</p>
]]></description><pubDate>Fri, 20 Mar 2026 14:45:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47455328</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47455328</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47455328</guid></item><item><title><![CDATA[New comment by hsaliak in "Show HN: Context Gateway – Compress agent context before it hits the LLM"]]></title><description><![CDATA[
<p>I expect tools to start embedding an SLM ~1B range locally for something like this. It will become a feature in a rapidly changing landscape and its need may disappear in the future. How would you turn into a sticky product?</p>
]]></description><pubDate>Sat, 14 Mar 2026 02:00:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47372537</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47372537</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47372537</guid></item><item><title><![CDATA[New comment by hsaliak in "Ask HN: What Are You Working On? (March 2026)"]]></title><description><![CDATA[
<p><a href="https://github.com/hsaliak/std_slop" rel="nofollow">https://github.com/hsaliak/std_slop</a> a sqlite centric coding agent. it does a few things differently.
1 - context is completely managed in sqlite
2 - it has a "mail model" basically, it uses the git email workflow as the agentic plan => code => review loop. You become "linus" in this mode, and the patches are guaranteed bisect safe.
3 - everything is done in a javascript control plane, no free form tools like read / write / patch. Those are available but within a javascript repl. So the agent works on that. You get other benefits such as being able to persist js functions in the database for future use that's specific to your codebase.<p>Give it a try!</p>
]]></description><pubDate>Mon, 09 Mar 2026 03:44:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47304661</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47304661</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47304661</guid></item><item><title><![CDATA[New comment by hsaliak in "We should revisit literate programming in the agent era"]]></title><description><![CDATA[
<p>I explored this in std::slop (my clanker) <a href="https://github.com/hsaliak/std_slop" rel="nofollow">https://github.com/hsaliak/std_slop</a>. One of it's differentiating features of this clanker i that it only has a single tool call, run_js.
The LLM produces js scripts to do it's work. Naturally, i tried to teach it to add comments for these scripts and incorporate literate programming elements.  This was interesting because, every tool call now 'hydrated' some free form thinking, but it comes at output token cost.<p>Output Tokens are expensive! In GPT-5.4 it's ~180 dollars per Million tokens!
I've settled for brief descriptions that communicate 'why' as a result. The code is documentation after all.</p>
]]></description><pubDate>Mon, 09 Mar 2026 02:42:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47304280</link><dc:creator>hsaliak</dc:creator><comments>https://news.ycombinator.com/item?id=47304280</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47304280</guid></item></channel></rss>