<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: tlonny</title><link>https://news.ycombinator.com/user?id=tlonny</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 15 Jun 2026 22:48:30 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=tlonny" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by tlonny in "Ask HN: What are you working on? (June 2026)"]]></title><description><![CDATA[
<p>Trying to polish a bunch of my projects I've worked on over the years but never had the cojones to release to the wider world:<p>Hallways (<a href="https://hallways.lonnycorp.com" rel="nofollow">https://hallways.lonnycorp.com</a>) - a web browser for 3D spaces, where instead of hyperlinks you have portals that you can seamlessly walk through<p>LonnyMQ (<a href="https://lonnymq.lonnycorp.com" rel="nofollow">https://lonnymq.lonnycorp.com</a>) - a performant, production-ready TS PostgreSQL message queue library and accompanying blog post that walks through its design (of which I'm quite proud of)</p>
]]></description><pubDate>Sun, 14 Jun 2026 19:29:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=48531651</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=48531651</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48531651</guid></item><item><title><![CDATA[New comment by tlonny in "Use boring languages with LLMs"]]></title><description><![CDATA[
<p>I think _some_ but not _too much_ typechecking is the sweet spot for LLMs.<p>Without any typechecking, LLMs obviously find it harder to work agentically and validate their work.<p>With too much typechecking (I'm looking at you, rust), I've found agents get themselves stuck in local "architectural minima" and end up doing insane shit to mitigate ownership/borrow-checker issues inherent in the design they ended up with.<p>That said, if you're hands-on I think rust is a fantastic language for pairing with an LLM.</p>
]]></description><pubDate>Tue, 26 May 2026 20:46:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48285738</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=48285738</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48285738</guid></item><item><title><![CDATA[New comment by tlonny in "My adventure in designing API keys"]]></title><description><![CDATA[
<p>Presumably because API keys are n bytes of random data vs. a shitty user-generated password we don’t have to bother using a salt + can use something cheap to compute like SHA256 vs. a multi-round bcrypt-like?</p>
]]></description><pubDate>Wed, 15 Apr 2026 08:38:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47776289</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=47776289</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47776289</guid></item><item><title><![CDATA[New comment by tlonny in "Claude mixes up who said what"]]></title><description><![CDATA[
<p>Bugginess in the Claude Code CLI is the reason I switched from Claude Max to Codex Pro.<p>I experienced:<p>- rendering glitches<p>- replaying of old messages<p>- mixing up message origin (as seen here)<p>- generally very sluggish performance<p>Given how revolutionary Opus is, its crazy to me that they could trip up on something as trivial as a CLI chat app - yet here we are...<p>I assume Claude Code is the result of aggressively dog-fooding the idea that everything can be built top-down with vibe-coding - but I'm not sure the models/approach is quite there yet...</p>
]]></description><pubDate>Thu, 09 Apr 2026 13:31:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47703506</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=47703506</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47703506</guid></item><item><title><![CDATA[New comment by tlonny in "Claude Code's source code has been leaked via a map file in their NPM registry"]]></title><description><![CDATA[
<p>how does it work?</p>
]]></description><pubDate>Tue, 31 Mar 2026 16:58:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47590279</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=47590279</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47590279</guid></item><item><title><![CDATA[New comment by tlonny in "Digg is gone again"]]></title><description><![CDATA[
<p>Indeed - the future is RL meet-ups and small, intimate online communities.<p>Perhaps not the worst thing in the world?</p>
]]></description><pubDate>Sat, 14 Mar 2026 10:37:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47375259</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=47375259</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47375259</guid></item><item><title><![CDATA[New comment by tlonny in "Digg is gone again"]]></title><description><![CDATA[
<p>I’d love something like this implemented for email.<p>Sending an unsolicited email to a random person X requires you to pay a small toll (something like 50p).<p>Subsequent emails can then be sent for free - however person X can “revoke” your access any time necessitating a further toll payment.<p>You would of course be able to pre-authorise friends/family/transactional emails from various services that you’ve signed up for.<p>This would nuke spam economics and be minimally disruptive for other use cases of email IMO…</p>
]]></description><pubDate>Sat, 14 Mar 2026 10:32:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47375222</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=47375222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47375222</guid></item><item><title><![CDATA[New comment by tlonny in "Digg is gone again"]]></title><description><![CDATA[
<p>HN may not be “mainstream” but it is certainly _very_ vulnerable to bot spam given the topics discussed and the make-up of the audience.<p>You can already see it happening now - at least the bots that write like vanilla Claude/ChatGPT. Presumably there is a much larger hidden cohort of bots that are instructed to talk more naturally and thus are better adept at flying under the radar…</p>
]]></description><pubDate>Sat, 14 Mar 2026 10:24:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47375184</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=47375184</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47375184</guid></item><item><title><![CDATA[New comment by tlonny in "AI is not a coworker, it's an exoskeleton"]]></title><description><![CDATA[
<p>Look at his other comments - its textbook LLM slop. Its a fucking tragedy that people are letting their OpenClaws loose on HN but I can't say I'm surprised. I desperately need to find a good network of developers because I think the writing is on the wall for message boards like these...</p>
]]></description><pubDate>Fri, 20 Feb 2026 11:01:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47086411</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=47086411</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47086411</guid></item><item><title><![CDATA[New comment by tlonny in "[dead]"]]></title><description><![CDATA[
<p>Repugnant.</p>
]]></description><pubDate>Sun, 25 Jan 2026 21:08:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46758257</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=46758257</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46758257</guid></item><item><title><![CDATA[New comment by tlonny in "Ask HN: What are you working on? (January 2026)"]]></title><description><![CDATA[
<p>Doors - A first person, exploration game/experience that I built from scratch.<p>Doors lets you explore URL addressable 3D rooms that link together seamlessly via portals. The idea is that people would upload rooms to the internet (to github, S3, whatever) and connect them together to form one giant inter-connected space that would be a real trip to explore.<p>Right now rooms consistent of a:
 - Manifest JSON file that points to requisite resources and configures portals
 - An optional skybox
 - An optional background music track
 - A .vox file containing voxel terrain data<p>Here is a video I filmed on my phone of flying through a room that links back to itself: <a href="https://www.youtube.com/shorts/BCqOYTISS_k" rel="nofollow">https://www.youtube.com/shorts/BCqOYTISS_k</a><p>Portals can be arbitrarily sized and everything is prefetched/loaded seamlessly in the background.<p>I'm nearly done - I just need to add in a very lightweight interface and give the code a bit of a spit shine (I will open source it - so I want it to look pretty)<p>EDIT: As an aside, I finally decided to give this whole Claude Code thing a go - I purchased a max subscription and I'm trying to write as little code as possible. I certainly wouldn't call what I'm doing "vibe-coding". I discuss a feature in plan mode (incl. how I want to implement it in high level terms) iterate on the plan 2-3 times until I'm satisfied and then let it rip. I'm both very impressed and quite frightened by the productivity boost...</p>
]]></description><pubDate>Sun, 11 Jan 2026 20:36:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46579725</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=46579725</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46579725</guid></item><item><title><![CDATA[New comment by tlonny in "Trump says Venezuela’s Maduro captured after strikes"]]></title><description><![CDATA[
<p>0.0005%*</p>
]]></description><pubDate>Sat, 03 Jan 2026 19:24:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=46480488</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=46480488</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46480488</guid></item><item><title><![CDATA[New comment by tlonny in "Helldivers 2 on-disk size 85% reduction"]]></title><description><![CDATA[
<p>If this is somewhat common for games, could one create a virtual fs with FUSE that dedupes using via content-defined chunking and install games there?<p>I feel like writes would probably be quite painful, but with game assets are essentially write-once read-forever so not the end of the world?<p>As an aside, its messed up that people with expensive SSDs are unnecessarily paying this storage tax. Just feels lazy...</p>
]]></description><pubDate>Thu, 11 Dec 2025 20:47:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46236927</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=46236927</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46236927</guid></item><item><title><![CDATA[New comment by tlonny in "Email bombs exploit lax authentication in Zendesk"]]></title><description><![CDATA[
<p>Also check airline miles haven’t gone missing.<p>A friend of mine recently had his BA account compromised, all his Avios stolen and he was none the wiser after receiving about 60 emails a minute</p>
]]></description><pubDate>Sat, 18 Oct 2025 17:11:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=45628826</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=45628826</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45628826</guid></item><item><title><![CDATA[Ask HN: What am I doing wrong Re Agentic coding]]></title><description><![CDATA[
<p>Here is the prompt I gave both Claude Code CLI, and the VSCode agent for my TS project:<p>```<p>I have modified the type signature and behaviour of how jobs are created. Previously, job definition create took a batch argument (created from a queue). Now it takes the queue directly, is async, requires the databaseClient to be passed in at creation (vs. when the batch is executed). It no longer returns anything - which is fine because the result was only being used for logging - which is now done for us so we don't have to worry. Can we refactor the codebase to make use of the new JobDefinition.create? Remove the vestigial "Job created" log please.<p>Perform this task and this task only. If you see something unrelated that you believe needs to be refactored - DO NOT MODIFY IT. ONLY PERFORM ACTIONS DIRECTLY RELEVANT TO THIS TASK<p>```<p>So there are two instructions:<p>1. Do the task<p>2. Don't do stuff that isn't the task (added in frustration on subsequent attempts)<p>My experience:<p>The agent flow started well - it found all the files that needed to change and began making edits.<p>By about file #5 I noticed that on top of requested refactor it started re-ordering object keys of the `JobDefinition.create` method. Although semantically a no-op, this was incredibly frustrating as it made diffs much harder to review.<p>A little later, it started to modify log messages it wasn't happy with before eventually completely going off the rails and adding arguments to my function definitions that it _thought_ they needed (introducing type/run-time errors).<p>VSCode would periodically pause and ask for a confirmation in order to continue. Each time I used the opportunity to re-prompt the agent to stay on target:<p>Me: "STOP GOING OFF TASK - STOP RENAMING VARIABLES, REORDERING PARAMS. JUST DO AS THE TASK TELLS YOU AND NOTHING ELSE"<p>Agent: "You're absolutely right. I apologize for going off task. Let me focus solely on the task: refactoring JobDefinition.create calls to use the new signature and removing vestigial "Job created" logs"<p>And each time the bad behavior would return after some time.<p>I'm not sure what I'm doing wrong. I assumed this sort of mechanical monkey work would be bread and butter for an agentic workflow - but it just keeps losing coherence.<p>I ended up reverting all the changes as I had absolutely 0 trust in the quality of the generated code.<p>I apologise for the wall of text but I'm quite frustrated about all the time wasted and am desperate to know what I'm doing wrong!<p>Thanks in advance!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45338653">https://news.ycombinator.com/item?id=45338653</a></p>
<p>Points: 17</p>
<p># Comments: 16</p>
]]></description><pubDate>Mon, 22 Sep 2025 19:56:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=45338653</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=45338653</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45338653</guid></item><item><title><![CDATA[New comment by tlonny in "AI was supposed to help juniors shine. Why does it mostly make seniors stronger?"]]></title><description><![CDATA[
<p>The rank disrespect of somebody asking you to review something they haven't even looked at is eye watering.<p>I feel like AI-induced brain-rot of engineers is inevitable. Unless we see AI leapfrog into something close to AGI in the future (certainly not ruling this out), I think there will be very lucrative careers available to engineers who can maintain a balanced relationship with AI.</p>
]]></description><pubDate>Sun, 21 Sep 2025 20:10:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=45326222</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=45326222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45326222</guid></item><item><title><![CDATA[New comment by tlonny in "Oxford loses top 3 university ranking in the UK"]]></title><description><![CDATA[
<p>To quote Mean Girls: "Stop trying to make Doxbridge happen".</p>
]]></description><pubDate>Sun, 21 Sep 2025 19:56:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=45326087</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=45326087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45326087</guid></item><item><title><![CDATA[New comment by tlonny in "It's rude to show AI output to people"]]></title><description><![CDATA[
<p>I totally agree.<p>Isaac, if you're reading this - stop sending me PDFs generated by Perplexity!</p>
]]></description><pubDate>Sat, 19 Jul 2025 17:44:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=44617600</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=44617600</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44617600</guid></item><item><title><![CDATA[New comment by tlonny in "Why email startups fail"]]></title><description><![CDATA[
<p>> Gmail is so big that when Outlook, Apple Mail, and even Thunderbird connect to it, they do an OAuth exchange and then talk over a proprietary protocol.<p>Can you elaborate? Anything I can read on this?</p>
]]></description><pubDate>Tue, 01 Jul 2025 09:46:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=44432200</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=44432200</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44432200</guid></item><item><title><![CDATA[Show HN: HydraMQ - Postgres message queue implementation for NodeJs/TypeScript.]]></title><description><![CDATA[
<p>Hi everyone,<p>I've been working on HydraMQ for past few months, a PostgreSQL queuing library for Node (to add to the ever growing list!)<p>The core features that I think set it apart are:
 - Enqueues can be part of _existing_ database transactions
 - Multi-tenancy support is first class (round robin scheduling and per-tenant concurrency constraints)
 - DB client agnostic
 - High throughput
 - 0 dependencies<p>I've also added a suite of additional features that you would normally expect with this sort of library. Namely:<p>- Scheduled messages (via a cron expr)
 - Delayed messages
 - Deduplicated messages
 - Retries with user-defined back-off strategies
 - Message prioritization (intra-tenant and inter-tenant).<p>I've been working on a modern e-mail client - Marco (<a href="https://app.marcoapp.io" rel="nofollow">https://app.marcoapp.io</a>) for several months, which leverages HydraMQ to great effect.<p>For example: Ensuring certain types of job run sequentially (concurrency=1) on a per-user basis. This has eliminated a whole slew of potential race-hazards and other weird edge cases that I would've otherwise had to consider whilst also ensuring background worker resources are shared fairly across all users.<p>Please let me know what you think! :-)</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44241682">https://news.ycombinator.com/item?id=44241682</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 10 Jun 2025 21:32:42 +0000</pubDate><link>https://github.com/marcoappio/hydra-mq</link><dc:creator>tlonny</dc:creator><comments>https://news.ycombinator.com/item?id=44241682</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44241682</guid></item></channel></rss>