<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: emmanueloga_</title><link>https://news.ycombinator.com/user?id=emmanueloga_</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 04:47:21 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=emmanueloga_" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by emmanueloga_ in "Show HN: Axe – A 12MB binary that replaces your AI framework"]]></title><description><![CDATA[
<p>The excessive size of Go binaries is a common complain. I last recall seeing a related discussion on Lobsters [1]. Who knows, maybe the binary could be shrunk a bit? IMHO 12mb binary size is not that big of a deal.<p>--<p>1: <a href="https://lobste.rs/s/tzyslr/reducing_size_go_binaries_by_up_77" rel="nofollow">https://lobste.rs/s/tzyslr/reducing_size_go_binaries_by_up_7...</a></p>
]]></description><pubDate>Fri, 13 Mar 2026 01:03:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47359470</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=47359470</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47359470</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "F# 10"]]></title><description><![CDATA[
<p>good point, could be some 10 years ago now, I think...</p>
]]></description><pubDate>Sat, 14 Feb 2026 02:42:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47011011</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=47011011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47011011</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "F# 10"]]></title><description><![CDATA[
<p>I got into OCaml for a while, which naturally led me to try F#. What pushed me away back then was that the tooling lagged behind C#, especially in VS Code, and the C#/F# interop wasn’t as ergonomic as I expected. I liked the idea of using F# for the core and C# around the edges, but it didn’t feel smooth in practice. This was years ago, so maybe the tooling has improved since.<p>I’ve always wondered whether tighter integration with C# would have led to broader adoption, though that might have changed the character of the language.</p>
]]></description><pubDate>Tue, 10 Feb 2026 04:46:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46955496</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=46955496</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46955496</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "Everyone’s building “async agents,” but almost no one can define them"]]></title><description><![CDATA[
<p>How about framing this in terms of two orthogonal axes the article doesn’t name: concurrency (actors) and continuity (durable execution).<p>* Durable execution: long‑running, resumable workflows with persistence, replay, and timeouts.<p>* Actors: isolated entities that own their state and logic, process one message at a time, and get concurrency by existing in large numbers (regardless of whether the runtime uses threads, async/await, or processes under the hood).<p>Combine the two and you get a "Durable actor", which seems close to what the article calls an “async agent”: a component that can receive messages, maintain state, pause/resume, survive restarts, and call out to an LLM or any other API.<p>And since spawning is already a primitive in the actor model, the article’s "subagent" fits naturally here too: it’s just another actor the first one creates.</p>
]]></description><pubDate>Tue, 10 Feb 2026 04:13:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46955304</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=46955304</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46955304</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "Message Queues: A Simple Guide with Analogies (2024)"]]></title><description><![CDATA[
<p>I’ve been thinking that defaulting to durable execution over lower‑level primitives like queues makes sense a lot of the time, what do you think?<p>A lot of the "simple queue" use cases end up needing extra machinery like a transactional‑outbox pattern just to be reliable. Durable‑execution frameworks (DBOS/Temporal/etc.) give you retries, state, and consistency out of the box. Patterns like Sagas also tend to get stitched together on top of queues, but a DE workflow gives you the same guarantees with far less complexity.<p>The main tradeoff I can think of is latency: DE engines add overhead, so for very high throughput, huge fan‑out, or ultra‑low‑latency pipelines, a bare‑bones queue + custom consumers might still be better.<p>Curious where others draw the line between the two.</p>
]]></description><pubDate>Mon, 12 Jan 2026 21:48:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=46594747</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=46594747</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46594747</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "Show HN: Browser-based interactive 3D Three-Body problem simulator"]]></title><description><![CDATA[
<p>Tried writing an electrostatic particle simulator in Turbo Pascal 7 with BGI as a teen, a handful of particles before it crawled. Then saw a galaxy collision sim on a CD-ROM magazine disc handling thousands of bodies smoothly. Thought it was assembly tricks.. now I'm sure it's algorithmic (avoiding N**2 runtime) but never dug into the specifics. Are charges vs gravity sims essentially the same n-body problem?</p>
]]></description><pubDate>Wed, 19 Nov 2025 06:43:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=45976535</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=45976535</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45976535</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "Bundler Belongs to the Ruby Community"]]></title><description><![CDATA[
<p>I haven't used ruby in more than a decade, but I remember there was always some controversy around the corner. Up next: Zed Shaw comes out from his cave, joins forces with the mummy of _why to combat DHH's anti-woke agenda.</p>
]]></description><pubDate>Fri, 26 Sep 2025 01:48:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=45381657</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=45381657</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45381657</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "Page Object (2013)"]]></title><description><![CDATA[
<p>Page Object Models trade off clarity for encapsulation. Concrete example [1]. They can make tests look "cleaner" but often obscure what's actually happening. For example:<p><pre><code>    await page.getStarted(); // what does this actually do?
</code></pre>
vs<p><pre><code>    await page.locator('a', { hasText: 'Get started' }).first().click();
    await expect(page.locator('h1', { hasText: 'Installation' })).toBeVisible();
</code></pre>
The second version is explicit and self-documenting. Tests don't always benefit from aggressive DRY, but I've seen teams adopt POMs to coordinate between SDETs and SWEs.<p>--<p>1: <a href="https://playwright.dev/docs/pom" rel="nofollow">https://playwright.dev/docs/pom</a></p>
]]></description><pubDate>Mon, 15 Sep 2025 06:28:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=45246727</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=45246727</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45246727</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "Ripple – A TypeScript UI framework that takes the best of React, Solid, Svelte"]]></title><description><![CDATA[
<p>How about... inlining children:<p><pre><code>    const age = 40;
    const children = [<div ~ "Moe" />, <div ~ "Larry"/>, <div ~ "Curly" />];
    return <div age ~ children />;
</code></pre>
Rationale: single child elements are ubiquitous in web dev, but most JSX formatters will require 3 lines of code even if there's a single child.</p>
]]></description><pubDate>Tue, 02 Sep 2025 05:34:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=45099461</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=45099461</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45099461</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "Malicious versions of Nx and some supporting plugins were published"]]></title><description><![CDATA[
<p>I just found that someone posted a showHN for an utility to solve this issue [1].<p>I think this reinforces the idea that is something that could be built into verdaccio.<p>--<p>1: <a href="https://news.ycombinator.com/item?id=44891786">https://news.ycombinator.com/item?id=44891786</a></p>
]]></description><pubDate>Wed, 27 Aug 2025 21:31:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=45045555</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=45045555</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45045555</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "Malicious versions of Nx and some supporting plugins were published"]]></title><description><![CDATA[
<p>I wonder if anyone use <a href="https://verdaccio.org/" rel="nofollow">https://verdaccio.org/</a> to vendor packages?<p>In theory for each package one could:<p>* npm install pkg<p>* npm pack pkg<p>* npm publish --registry=<a href="https://verdaccio.company.com" rel="nofollow">https://verdaccio.company.com</a><p>* set .npmrc to "registry=<a href="https://verdaccio.company.com/" rel="nofollow">https://verdaccio.company.com/</a> when working with the actual app.<p>...this way, one could vet packages one by one. The main caveat I see is that it’s very inconvenient to have to vet and publish each package manually.<p>It would be great if Verdaccio had a UI to make this easier, for example, showing packages that were attempted to install but not yet vetted, and then allowing approval with a single click.</p>
]]></description><pubDate>Wed, 27 Aug 2025 19:30:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=45043976</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=45043976</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45043976</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "Perfect Freehand – Draw perfect pressure-sensitive freehand lines"]]></title><description><![CDATA[
<p>Explanation of what this does:<p><a href="https://github.com/steveruizok/perfect-freehand/tree/main?tab=readme-ov-file#introduction" rel="nofollow">https://github.com/steveruizok/perfect-freehand/tree/main?ta...</a></p>
]]></description><pubDate>Wed, 20 Aug 2025 01:15:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=44957792</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=44957792</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44957792</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "Airbrush art of the 80s (2015)"]]></title><description><![CDATA[
<p>TIL about the Scanimate [1] [2].<p>--<p>1: <a href="https://en.wikipedia.org/wiki/DVNO#Music_video" rel="nofollow">https://en.wikipedia.org/wiki/DVNO#Music_video</a><p>2: <a href="https://www.youtube.com/watch?v=i1aT_CqhyQs" rel="nofollow">https://www.youtube.com/watch?v=i1aT_CqhyQs</a></p>
]]></description><pubDate>Fri, 15 Aug 2025 17:14:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=44914947</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=44914947</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44914947</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "Vanilla JavaScript support for Tailwind Plus"]]></title><description><![CDATA[
<p>In real projects I typically group the classes in a way that makes it easier to read, something like this:<p><pre><code>    <div class={tw(
      "block",
      "transform transition-all",
      "bg-white ring-1 ring-black/5 rounded-xl shadow-2xl",

      "max-w-3xl mx-auto overflow-hidden",

      "group-data-closed/dialog:opacity-0",
      "group-data-closed/dialog:scale-95",

      "group-data-enter/dialog:duration-300",
      "group-data-enter/dialog:ease-out",

      "group-data-leave/dialog:duration-200",
      "group-data-leave/dialog:ease-in"
    )}>
        ...
    </div>
</code></pre>
I currently do this manually but it would be nice to have some tooling to automate that kind of format.</p>
]]></description><pubDate>Sat, 26 Jul 2025 01:24:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=44690466</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=44690466</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44690466</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "Writing is thinking"]]></title><description><![CDATA[
<p>There's been a lot of work in this area but no definitive answer, and few constructed languages speakers [1]. I imagine the wins may be marginal, similar to the wins in dvorak vs qwerty typing.<p>--<p>1: <a href="https://en.wikipedia.org/wiki/Linguistic_relativity#Artificial_languages" rel="nofollow">https://en.wikipedia.org/wiki/Linguistic_relativity#Artifici...</a></p>
]]></description><pubDate>Thu, 24 Jul 2025 23:26:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=44677586</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=44677586</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44677586</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "TrendWeight v2 Has Launched"]]></title><description><![CDATA[
<p>I'm a fan of the app, one of those rare web apps that have been reliably there for more than 10 years and "just works". Today I found out it has been refreshed and its source released [1].<p>Congrats Erv Walter for the launch of v2 and thank you for making the app and source available!<p>For those who haven't seen this before, this is a free web app that makes it easy to chart a moving average of the weight measured with smart scales (Withings/Fitbit), following the ideas on John Walker's "The hacker diet" [2].<p>--<p>1: <a href="https://github.com/ervwalter/trendweight">https://github.com/ervwalter/trendweight</a><p>2: <a href="https://www.fourmilab.ch/hackdiet/" rel="nofollow">https://www.fourmilab.ch/hackdiet/</a></p>
]]></description><pubDate>Thu, 24 Jul 2025 20:24:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=44675609</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=44675609</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44675609</guid></item><item><title><![CDATA[TrendWeight v2 Has Launched]]></title><description><![CDATA[
<p>Article URL: <a href="https://ewal.dev/trendweight-v2-has-launched">https://ewal.dev/trendweight-v2-has-launched</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44675536">https://news.ycombinator.com/item?id=44675536</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 24 Jul 2025 20:18:39 +0000</pubDate><link>https://ewal.dev/trendweight-v2-has-launched</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=44675536</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44675536</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "Don't animate height"]]></title><description><![CDATA[
<p>Not just height, anything that causes continuous repaints can become expensive. Search for "jank free" to find more resources on the subject, or check this oldish website [1].<p>--<p>1: <a href="http://jankfree.org/" rel="nofollow">http://jankfree.org/</a></p>
]]></description><pubDate>Tue, 22 Jul 2025 23:29:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=44654187</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=44654187</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44654187</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "NativeJIT: A C++ expression –> x64 JIT (2018)"]]></title><description><![CDATA[
<p>Looks similar to <a href="https://github.com/kobalicek/mathpresso">https://github.com/kobalicek/mathpresso</a></p>
]]></description><pubDate>Mon, 30 Jun 2025 16:12:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=44424968</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=44424968</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44424968</guid></item><item><title><![CDATA[New comment by emmanueloga_ in "Coding agents have crossed a chasm"]]></title><description><![CDATA[
<p>Took me a while to find this [1]: "We’re building the next-gen operating system for AI agents."<p>--<p>1: <a href="https://sdsa.ai/" rel="nofollow">https://sdsa.ai/</a></p>
]]></description><pubDate>Mon, 16 Jun 2025 02:47:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=44286272</link><dc:creator>emmanueloga_</dc:creator><comments>https://news.ycombinator.com/item?id=44286272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44286272</guid></item></channel></rss>