<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: pgt</title><link>https://news.ycombinator.com/user?id=pgt</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 18 Oct 2026 08:39:40 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=pgt" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by pgt in "I built non-autoregressive decision models with RL a year ago"]]></title><description><![CDATA[
<p>Jev will continue to do well because people don't actually want to host their own models. The average customer just want an always-on pay-per-use API that has social proof.</p>
]]></description><pubDate>Sat, 19 Sep 2026 18:09:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=49768813</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=49768813</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49768813</guid></item><item><title><![CDATA[Show HN: EACL is a situated ReBAC authorization library for Datomic and Datahike]]></title><description><![CDATA[
<p>EACL is a situated ReBAC authorization library inspired by SpiceDB & Google Zanzibar, built in Clojure and backed by Datomic Pro, Datahike, Datalevin or DataScript. EACL is suitable for multi-Peer deployments. I have been working on EACL for ~2 years in my personal capacity and I use it in all my Clojure projects now.<p>- You can try the EACL performance demo: <a href="https://demo.eacl.dev/" rel="nofollow">https://demo.eacl.dev/</a><p>- And play with EACL Drive, a toy clone of Google Drive: <a href="https://drive.eacl.dev/" rel="nofollow">https://drive.eacl.dev/</a> (runs in-browser on DataScript)<p>EACL can efficiently answer questions like:<p>- "Does <subject> have <permission> on <resource>?" via `eacl/can?` or `eacl/check-permission`<p>- "Which <resources> does <subject> have <permission> for?" via `eacl/lookup-resources`<p>- "Which <subjects> have <permission> on <resource>?" via `eacl/lookup-subjects`<p>EACL supports four Consistency Modes that map to SpiceDB's consistency semantics, so you can run these queries against the database as-of now, or <N seconds ago> via `at-least-as-fresh` semantics for better cache reuse.<p>SpiceDB is the most faithful open-source implementation of Google Zanzibar, and is used OpenAI, Reddit and Netflix. Zanzibar powers Google Drive, YouTube, Gmail and Google Calendar, serving billions of authorization requests per day over billions of Relationships.<p>"Situated" here means that permission data co-exist with your application data. This has several advantages over external AuthZ:<p>- Reduced network latency (no network hop to external system),<p>- Strong local consistency,<p>- Scale reads by scaling Peers horizontally, and<p>- Real-time UI view maintenance – tail the tx-log and run `eacl/lookup-subjects` for changed permissioned entities and notify online users of novelty, instead of polling or re-querying for all online users.<p>Rationale:<p>I spent the better half of 2024 integrating with SpiceDB at a former employer. SpiceDB is great, but it becomes non-trivial to keep an external authorization system in-sync, especially when there is an impedance mismatch between your data and SpiceDB’s 3-tuple Relationship schema. Plus, you also have to deal with eventual consistency.<p>So, you change your data model to match the Spice schema to make syncing easier. Now you can tail the transactor log via `d/listener` and write Relationship changes 1-for-1.<p>But once you do that, you might as well run your permission queries in your application and then you have one less system to deal with...and this is exactly what EACL does. You still retain the option to migrate to SpiceDB later.<p>EACL is aimed at a different scale from SpiceDB: Spice is benchmarked against 100B Relationships. EACL aims for ~1-100M Relationships in a situated environment, but there is no reason it won't scale further if you scale out Peers.<p>EACL is open-source under EPL 2.0.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49712785">https://news.ycombinator.com/item?id=49712785</a></p>
<p>Points: 6</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 15 Sep 2026 14:09:39 +0000</pubDate><link>https://github.com/theronic/eacl</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=49712785</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49712785</guid></item><item><title><![CDATA[New comment by pgt in "Charts built for Chat"]]></title><description><![CDATA[
<p>This is great, but why did it have to be YAML?</p>
]]></description><pubDate>Tue, 15 Sep 2026 10:00:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=49710113</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=49710113</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49710113</guid></item><item><title><![CDATA[New comment by pgt in "Ask HN: What are you working on? (September 2026)"]]></title><description><![CDATA[
<p><a href="https://github.com/theronic/eacl" rel="nofollow">https://github.com/theronic/eacl</a> – EACL: Enterprise Access ControL is a situated ReBAC authorization library inspired by SpiceDB, built in Clojure and backed by Datomic Pro, Datahike, Datalevin or DataScript.<p>"Situated" here means that permissions are just data that co-exist with your application data. This has several advantages: reduced network latency, strong local consistency and opportunities for real-time view maintenance.<p>- EACL Performance Demo: <a href="https://demo.eacl.dev/" rel="nofollow">https://demo.eacl.dev/</a> (1M permissioned entities, 3.8M Relationships)<p>- A toy Google Drive clone (runs in-browser): <a href="https://drive.eacl.dev/" rel="nofollow">https://drive.eacl.dev/</a> (4-minute screen recording here: <a href="https://x.com/BraaiEngineer/status/2099284919532896675?s=20" rel="nofollow">https://x.com/BraaiEngineer/status/2099284919532896675?s=20</a>)<p>- Rationale: <a href="https://eacl.dev/#rationale" rel="nofollow">https://eacl.dev/#rationale</a><p>EACL V8 RC was released to Clojars on 12 September 2026: <a href="https://clojars.org/dev.eacl/eacl" rel="nofollow">https://clojars.org/dev.eacl/eacl</a><p>EACL handles authorization in the Datahike HTTP Server: <a href="https://github.com/replikativ/datahike/blob/1ea8972a980e2e3bd44c92680e60194ac766264d/http-server/datahike/http/permissions.clj" rel="nofollow">https://github.com/replikativ/datahike/blob/1ea8972a980e2e3b...</a></p>
]]></description><pubDate>Mon, 14 Sep 2026 11:45:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=49695226</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=49695226</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49695226</guid></item><item><title><![CDATA[New comment by pgt in "Replaceable but Employed: Automation and the Meaning of Work"]]></title><description><![CDATA[
<p>Does anybody have a link where I don't need to download a PDF and zoom and it's still messed up for reading? I just want HTML, mannn.</p>
]]></description><pubDate>Mon, 07 Sep 2026 21:37:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=49603227</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=49603227</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49603227</guid></item><item><title><![CDATA[New comment by pgt in "Gmail to end support for "Send as" for third-party addresses, such as @yahoo.com"]]></title><description><![CDATA[
<p>This is suicide for Gmail.</p>
]]></description><pubDate>Fri, 04 Sep 2026 16:00:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=49566470</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=49566470</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49566470</guid></item><item><title><![CDATA[New comment by pgt in "John C. Lilly on solid state intelligence and the elimination of man (1978)"]]></title><description><![CDATA[
<p>Most Ketamine users are unaware that even occasional usage causes <i>untreatable</i> ulcerative cystitis, a.k.a. Ketamine Bladder Syndrome. Ketamine thins the urothelium while increasing the collagen to smooth muscle ratio and exacerbating interstitial fibrosis. The syndrome is <i>untreatable</i> and causes serious problems down the line.<p>So, for anyone thinking of using Ketamine on the regular or even monthly, there is good evidence that EGCG (epigallocatechin gallate) administered 30 minutes before prevents KBS (Ketamine Bladder Syndrome), <i>in rats</i>: <a href="https://www.sciencedirect.com/science/article/pii/S1879522615004157" rel="nofollow">https://www.sciencedirect.com/science/article/pii/S187952261...</a><p>This promising <i>rat study</i> from 2015 shows that EGCG extracted from green tea has a protective effect on the bladder, reversing ketamine-induced damage to control levels. So if you are taking ketamine for major depression or recreationally, taking EGCG before may prevent long-term bladder damage.<p>Summary from the study:<p># Objective<p>To investigate the protective effect of green tea epigallocatechin gallate (EGCG) on long-term ketamine-induced ulcerative cystitis (KIC) using a ketamine addiction rat model.<p># Materials and methods<p>Thirty Sprague-Dawley rats were divided into three groups which received saline, ketamine (25 mg/kg/d), or ketamine combined with EGCG (10 μM/kg) for a period of 28 days. In each group, cystometry and a metabolic cage micturition pattern study were performed weekly. Masson's trichrome study was done to evaluate the morphologic changes. Western blot analyses were carried out to examine the expressions of inflammatory protein [transforming growth factor-β (TGF-β)] and fibrosis proteins (fibronectin and type I collagen) in bladder tissues.<p># Results<p>Chronic ketamine treatment resulted in bladder hyperactivity with a significant increase in micturition frequency and a decrease in bladder compliance. These alterations in micturition pattern were accompanied by increases in the expressions of inflammatory and fibrosis markers, TGF-β, fibronectin, and type I collagen after long-term ketamine treatment. Masson's trichrome stain showed that ketamine treatment decreased urothelium thickness while increasing the collagen to smooth muscle ratio and exacerbating interstitial fibrosis. By contrast, simultaneous EGCG and ketamine treatment reversed ketamine-induced damage to almost control levels, showing the protective effect of EGCG.</p>
]]></description><pubDate>Sun, 09 Aug 2026 17:09:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=49233294</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=49233294</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49233294</guid></item><item><title><![CDATA[New comment by pgt in "Show HN: Wyzer Programming Language"]]></title><description><![CDATA[
<p>hmm, I suspect distributed systems can be modelled with a form of probabilistic borrow-checking as long as you have control all the connected systems.</p>
]]></description><pubDate>Fri, 07 Aug 2026 19:40:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=49215323</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=49215323</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49215323</guid></item><item><title><![CDATA[New comment by pgt in "“We have information that Moonshot distilled Fable for the development of K3”"]]></title><description><![CDATA[
<p>It matters because it means that lab could not train that model without distilling another frontier model, and their progress would slow once they get properly cut-off. If I funded that lab, I would want to know that.</p>
]]></description><pubDate>Wed, 22 Jul 2026 20:34:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49013052</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=49013052</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49013052</guid></item><item><title><![CDATA[New comment by pgt in "Incremental – A library for incremental computations"]]></title><description><![CDATA[
<p>Electric Clojure does incremental rendering that crosses the client/server boundary: <a href="http://electric.hyperfiddle.net/" rel="nofollow">http://electric.hyperfiddle.net/</a><p>The closest thing to Electric (IMO) is SolidJS, but frontend only: <a href="https://www.solidjs.com/" rel="nofollow">https://www.solidjs.com/</a></p>
]]></description><pubDate>Tue, 21 Jul 2026 10:00:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48990190</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=48990190</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48990190</guid></item><item><title><![CDATA[New comment by pgt in "Clojure 1.13 adds support for checked keys"]]></title><description><![CDATA[
<p>This is helpful, because practically many functions in the wild have assert-like checks at the top of the function, e.g.<p>`(if-not key1 (throw (Exception ...))`<p>...and pre-conditions, e.g. `:pre [condition1 condition2]` do not run when `<i>assert</i>` is off.</p>
]]></description><pubDate>Mon, 06 Jul 2026 18:45:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48808790</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=48808790</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48808790</guid></item><item><title><![CDATA[New comment by pgt in "Africans Are Turning to Starlink"]]></title><description><![CDATA[
<p>Previously: <a href="https://news.ycombinator.com/item?id=40248231">https://news.ycombinator.com/item?id=40248231</a><p>tldr; Starlink doesn't work in South Africa, Elon's home country, because the ANC and its lawfare arm ICASA demands they hand over 30% to the State because of BEE laws.</p>
]]></description><pubDate>Fri, 03 Jul 2026 22:27:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48780759</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=48780759</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48780759</guid></item><item><title><![CDATA[New comment by pgt in "Show HN: Zanagrams"]]></title><description><![CDATA[
<p>Very cool! Idea: show the definition of the word when you find it, so you can learn new words.<p>(edit: ah, I see they are shown later)</p>
]]></description><pubDate>Mon, 29 Jun 2026 14:14:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48719556</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=48719556</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48719556</guid></item><item><title><![CDATA[New comment by pgt in "Ask HN: Is there a bad employers (who have a records of not paying) list?"]]></title><description><![CDATA[
<p>This is such an obvious feature for Glassdoor, but needs verification to avoid abuse.</p>
]]></description><pubDate>Sun, 28 Jun 2026 17:41:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48709594</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=48709594</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48709594</guid></item><item><title><![CDATA[New comment by pgt in "CSSQuake"]]></title><description><![CDATA[
<p>In case you want to view the menu, press Tab. Click outside menu items to resume game.</p>
]]></description><pubDate>Sat, 20 Jun 2026 17:15:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48610963</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=48610963</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48610963</guid></item><item><title><![CDATA[New comment by pgt in "Show HN: Are You in the Weights?"]]></title><description><![CDATA[
<p>Only a fool would enter their name in this.</p>
]]></description><pubDate>Thu, 18 Jun 2026 21:55:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48592179</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=48592179</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48592179</guid></item><item><title><![CDATA[New comment by pgt in "Apple Foundation Models"]]></title><description><![CDATA[
<p>I’m surprised to see the model names hardcoded as an enum (e.g. `.sonnet4_6`), instead of a string with model discovery so that the user can select their preferred model without having to get a new app version through the App Store to support newer models.</p>
]]></description><pubDate>Mon, 15 Jun 2026 10:14:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48539127</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=48539127</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48539127</guid></item><item><title><![CDATA[New comment by pgt in "Pirates, a naval warfare game inspired by Sid Meier's Pirates"]]></title><description><![CDATA[
<p>How to shoot? I can't figure it out. Perhaps made harder by typing on Colemak.<p>Edit: OK, spacebar shoots, but it's hard to see the cannons flying due to low contrast. And it shoots in the direction of the enemy.</p>
]]></description><pubDate>Fri, 12 Jun 2026 23:09:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48510448</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=48510448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48510448</guid></item><item><title><![CDATA[New comment by pgt in "Ask HN: Why is the HN crowd so anti-AI?"]]></title><description><![CDATA[
<p>AI threatens the programmer identity.</p>
]]></description><pubDate>Sat, 06 Jun 2026 09:49:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48423201</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=48423201</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48423201</guid></item><item><title><![CDATA[New comment by pgt in "I was recently diagnosed with anti-NMDA receptor encephalitis"]]></title><description><![CDATA[
<p>Ooh, thanks for this. I'm going to try quercetin for my histadine sensitivity in red wine, which causes a skin reaction. I thought it was the sulphites, but after trying older wines (which have fewer sulphites), it made it worse. So I've narrowed it down to histadines. The dilemma here is that wines tend to improve with age, but they contain more histadines.</p>
]]></description><pubDate>Thu, 04 Jun 2026 15:55:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48400501</link><dc:creator>pgt</dc:creator><comments>https://news.ycombinator.com/item?id=48400501</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48400501</guid></item></channel></rss>