<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: leftnode</title><link>https://news.ycombinator.com/user?id=leftnode</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 11 Oct 2026 03:17:42 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=leftnode" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by leftnode in "Plain text is still one of the best technologies we have"]]></title><description><![CDATA[
<p>Because no single person or entity can own it.</p>
]]></description><pubDate>Mon, 05 Oct 2026 20:58:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=49970631</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=49970631</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49970631</guid></item><item><title><![CDATA[New comment by leftnode in "MongoDB CEO resigns to join Meta"]]></title><description><![CDATA[
<p>It looks like that phrase was removed from the article, but that is standard for C-level jobs. When you resign, you're shown the door immediately. The same thing happened with Marissa Mayer when she left Google during a phone call. Call was ended and her accesses terminated. Can't risk any additional trade secrets leaving.</p>
]]></description><pubDate>Mon, 28 Sep 2026 18:58:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=49882783</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=49882783</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49882783</guid></item><item><title><![CDATA[New comment by leftnode in "Why is Hacker News like that?"]]></title><description><![CDATA[
<p>[flagged]</p>
]]></description><pubDate>Wed, 23 Sep 2026 15:42:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=49817812</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=49817812</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49817812</guid></item><item><title><![CDATA[New comment by leftnode in "Apple has added persistent 'ads' to iOS, and it's driving users crazy"]]></title><description><![CDATA[
<p>> Quick way to lose your luxury and loyal customers IMO.<p>Unfortunately, not true. Very, very, very few people are going to abandon the years of work they've put into using iOS and macOS because of a few pesky ads. Sure, they'll complain about it, but they won't actually switch.</p>
]]></description><pubDate>Tue, 22 Sep 2026 16:22:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=49803795</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=49803795</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49803795</guid></item><item><title><![CDATA[New comment by leftnode in "Ask HN: Anyone still coding like 2021? Where do you work?"]]></title><description><![CDATA[
<p>I use Codex extensively, but mostly as a sounding board for architectural questions. I'll also have it do a lot of boilerplate work, but damn, I don't get these people creating multiple Claude or Codex accounts to burn tokens all day. I still love writing code!</p>
]]></description><pubDate>Wed, 09 Sep 2026 14:07:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=49626854</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=49626854</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49626854</guid></item><item><title><![CDATA[New comment by leftnode in "Shopify acquires Tailwind"]]></title><description><![CDATA[
<p>I thought Laravel would've been the one to scoop them up, but I'm glad they landed with Shopify. Adam's a solid dude and what him and his team have done to commoditize web design is to be lauded.<p>To think it started as a side project and grew to the scale it did. Very impressive work.</p>
]]></description><pubDate>Wed, 09 Sep 2026 14:02:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=49626772</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=49626772</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49626772</guid></item><item><title><![CDATA[New comment by leftnode in "Improving Heuristics for A* Pathfinding"]]></title><description><![CDATA[
<p>I remember reading it in 2006 or so to better understand pathfinding algorithms for my data structures and algorithms class.</p>
]]></description><pubDate>Mon, 10 Aug 2026 17:34:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=49246976</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=49246976</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49246976</guid></item><item><title><![CDATA[New comment by leftnode in "Why some people mow a lawn better than others"]]></title><description><![CDATA[
<p>Absolutely agree. I could easily afford to hire a lawn crew to cut my lawn, but I enjoy doing it every weekend or two for similar reasons. I have a little under half an acre to mow, but I still enjoy doing it manually with a push mower.<p>Gets me outside and moving, accomplishes something tangible, can catch up on a podcast or two or just get lost in my thoughts, often leads to fixing other odds and ends around the house I've put off.</p>
]]></description><pubDate>Tue, 04 Aug 2026 19:40:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=49173916</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=49173916</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49173916</guid></item><item><title><![CDATA[New comment by leftnode in "Where .env Went Wrong"]]></title><description><![CDATA[
<p>I suppose I'm spoiled by the Symfony framework which has a robust Secrets Component [0].<p>It allows you to generate a public/private key for each environment: test, dev, and prod (by default). The 'prod' private key can't be committed to the repository. Once the cryptographic keys are generated, you can encrypt any secret you want, and the framework will automatically decrypt it and allow you to access it as an environment variable at runtime.<p>The encrypted values for <i>all</i> environments <i>are</i> committed to the repository. For example, the file for the `$STRIPE_SECRET_KEY` environment variable for the 'dev' environment is a file that has these contents (shortened for readability):<p><pre><code>    <?php // dev.STRIPE_SECRET_KEY.c33678

    return "\x1Dq\x11B6\x5B\xFE7\x9B\xA4\xFE...";
</code></pre>
This solves several problems:<p>1. Keys for the 'dev' and 'test' environments can easily be shared with the team because their public and private keys values <i>are</i> committed to the repository. No more sharing secrets file over Slack or through some other mechanism.<p>2. The private key for the 'prod' environment can be stored in a 3rd party vault so it can be made available to the production servers. You can also decrypt 'prod' secrets during deployment to reduce the decryption overhead for each request.<p>3. At worst, agents would have access to the secrets in the 'test' and 'dev' environments only because they couldn't decrypt 'prod' values locally.<p>4. It forces good practices to ensure you're not using the same secret value for production and non-production environments.<p>It's made secret management so easy I don't even give it a second thought. Do other web frameworks support a system like this?<p>[0] <a href="https://symfony.com/doc/current/configuration/secrets.html" rel="nofollow">https://symfony.com/doc/current/configuration/secrets.html</a></p>
]]></description><pubDate>Tue, 04 Aug 2026 19:36:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=49173842</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=49173842</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49173842</guid></item><item><title><![CDATA[New comment by leftnode in "Launch HN: Unlayer (YC W22) – Add email and document builders to your app"]]></title><description><![CDATA[
<p>Not the OP, nor do I have any relationship to them, but I've had to build or maintain plenty of these in my time and sure, an LLM can knock out a basic one easily, but there are so many edge cases that need to be accounted for that it gets complex quickly.<p>Congrats on the launch - this looks like a genuinely useful tool. I look forward to checking it out.</p>
]]></description><pubDate>Wed, 22 Jul 2026 18:17:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=49011086</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=49011086</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49011086</guid></item><item><title><![CDATA[New comment by leftnode in "Advertise in ChatGPT"]]></title><description><![CDATA[
<p>I have absolutely no relationship with OpenAI but maybe give it <i>some</i> time before drawing such a conclusion.</p>
]]></description><pubDate>Tue, 21 Jul 2026 20:24:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48997746</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=48997746</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48997746</guid></item><item><title><![CDATA[New comment by leftnode in "GitHub CLI now collects pseudoanonymous telemetry"]]></title><description><![CDATA[
<p>Is it spying if:<p>1. It's anonymous<p>2. They're telling you they're doing it<p>3. You can opt out of it</p>
]]></description><pubDate>Wed, 22 Apr 2026 14:23:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47864102</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=47864102</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47864102</guid></item><item><title><![CDATA[New comment by leftnode in "April 2026 TLDR Setup for Ollama and Gemma 4 26B on a Mac mini"]]></title><description><![CDATA[
<p>Does this have a CLI only interface?</p>
]]></description><pubDate>Fri, 03 Apr 2026 14:16:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47626907</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=47626907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47626907</guid></item><item><title><![CDATA[New comment by leftnode in "I built an AI receptionist for a mechanic shop"]]></title><description><![CDATA[
<p>I build software for contractors (plumbers, electricians, HVAC repair, etc) and they're some of the fastest adopters of these systems. I believe YC has even invested in a few.<p>Regarding the AI receptionists, from the calls I've listened to, there's still a bit of the uncanny valley/overlapping speech issues that I'm unsure are ever fixable just due to latency.<p>But for low margin businesses like contracting and (I imagine) auto repair where labor is your most expensive cost, these owners are doing anything they can to reduce their overhead.</p>
]]></description><pubDate>Mon, 23 Mar 2026 19:06:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47493776</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=47493776</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47493776</guid></item><item><title><![CDATA[New comment by leftnode in "Locks in PostgreSQL: 3. Other locks (2020)"]]></title><description><![CDATA[
<p>Yes! Just implemented these the other day for a long running process that I didn't want to lock a specific row for.</p>
]]></description><pubDate>Sun, 07 Dec 2025 16:51:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46183073</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=46183073</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46183073</guid></item><item><title><![CDATA[Show HN: I built a simple HTTP request catcher]]></title><description><![CDATA[
<p>I built the HTTP request catcher that I wanted to use. Every other one I've dealt with is slow, bloated with ads, or doesn't let me easily see a listing of past requests. Thus, httpthing was born.<p>It's dead simple to use: send a request to `<a href="https://httpthing.com/{endpoint}" rel="nofollow">https://httpthing.com/{endpoint}</a>` and the request will be logged for you to inspect. A unique URL will be returned so you can easily see the request details in a browser.<p>If you want to see all requests sent to `{endpoint}`, just go to `<a href="https://httpthing.com/_/{endpoint}" rel="nofollow">https://httpthing.com/_/{endpoint}</a>`. Requests are public, so it's best to use a randomly generated `{endpoint}`.<p>Simple, I know, but I've started using it for all of my webhook testing. Let me know if you find it simple and useful as well.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46123204">https://news.ycombinator.com/item?id=46123204</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 02 Dec 2025 16:48:07 +0000</pubDate><link>https://httpthing.com/</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=46123204</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46123204</guid></item><item><title><![CDATA[New comment by leftnode in "Production RAG: what I learned from processing 5M+ documents"]]></title><description><![CDATA[
<p>The Qwen3 600M and 4B embedding models are near state of the art and aren't too computationally intensive.</p>
]]></description><pubDate>Mon, 20 Oct 2025 19:10:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=45647899</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=45647899</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45647899</guid></item><item><title><![CDATA[Show HN: Free API to extract PDF data]]></title><description><![CDATA[
<p>Hi HN,<p>Like everyone, I'm working on an product that uses LLMs to extract data from photos and documents. Part of the processing pipeline is extracting data from PDFs as raw text or a raster image.<p>As part of our leadgen strategy, we've opened our REST API that lets you process pages of a PDF. The API is completely free to use anonymously, but is rate limited to 1 page per 30 seconds. Creating a free account removes this restriction.<p>The two endpoints are:<p>- <a href="https://extract.dev/api/pages/extract/raster" rel="nofollow">https://extract.dev/api/pages/extract/raster</a> - Rasterize a page of a PDF<p>- <a href="https://extract.dev/api/pages/extract/text" rel="nofollow">https://extract.dev/api/pages/extract/text</a> - Extract text from a page of a PDF<p>Both have the same request format:<p><pre><code>    {
        "file": "https://assets.extract-cdn.com/data/hd-receipt.pdf",
        "page": 1
    }
</code></pre>
I've outlined more of the documentation here: <a href="https://extract.dev/docs" rel="nofollow">https://extract.dev/docs</a><p>Under the hood, the API is using Poppler to extract text and rasterize pages. Note that the text extraction functionality extracts actual text encoded in the PDF, and does not employ an OCR model. Give it a spin, I'm interested in your feedback if this is useful or not.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45581760">https://news.ycombinator.com/item?id=45581760</a></p>
<p>Points: 13</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 14 Oct 2025 16:10:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=45581760</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=45581760</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45581760</guid></item><item><title><![CDATA[New comment by leftnode in "Just let me select text"]]></title><description><![CDATA[
<p>I think that's the point...</p>
]]></description><pubDate>Wed, 24 Sep 2025 15:09:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=45361463</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=45361463</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45361463</guid></item><item><title><![CDATA[New comment by leftnode in "Why our website looks like an operating system"]]></title><description><![CDATA[
<p>I think the opposite is true. Sure, it's technically impressive, but users have been trained for decades at this point to understand how a basic marketing page should look and this isn't it. These kinds of sites are best left as portfolio pages for designers to show off their skills, not for B2B SaaS landing pages.</p>
]]></description><pubDate>Fri, 12 Sep 2025 11:10:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=45220914</link><dc:creator>leftnode</dc:creator><comments>https://news.ycombinator.com/item?id=45220914</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45220914</guid></item></channel></rss>