<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: yaoke259</title><link>https://news.ycombinator.com/user?id=yaoke259</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 20 Oct 2026 05:22:19 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=yaoke259" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by yaoke259 in "DeepSeek banned from U.S. federal civilian agencies under new DHS order"]]></title><description><![CDATA[
<p>People love convenience. Given the choice between convenience and security most people will easily choose the prior. Security is also just hard. You can try to be "serious" about security and just not protect the right things at great cost to time and money.</p>
]]></description><pubDate>Tue, 20 Oct 2026 04:08:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=50161246</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=50161246</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50161246</guid></item><item><title><![CDATA[New comment by yaoke259 in "Ask HN: How to deal with shipping AI-written code you don't understand?"]]></title><description><![CDATA[
<p>For me personally, iterating is huge. You can't arrive at a hugely complex system in one shot. I think of the LLM as someone I'm running software engineering "experiments" with. As requirements become clearer, I discuss with it more and more and over time I'll gain a stronger understanding of the problem and possible solutions.<p>You'll also discover over time which systems the AI can handle fine on its own and which abstractions and systems it just has no ideas on how to design. Often I find I have no idea how to design those too. It's then useful to try different designs, test tradeoffs and refactor aggressively if needed.</p>
]]></description><pubDate>Tue, 20 Oct 2026 01:10:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=50160121</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=50160121</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50160121</guid></item><item><title><![CDATA[New comment by yaoke259 in "Token-maxxing is dead, OpenRouter's token usage plateaus"]]></title><description><![CDATA[
<p>Agreed, OpenRouter is competing in an increasingly crowded market and even a lot of cloud providers like Neon, Vercel and Cloudflare are rolling out their own gateways to vertically integrate with their hosting. It's hard to say what the true net usage of LLM look like in the world!</p>
]]></description><pubDate>Tue, 20 Oct 2026 01:06:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=50160081</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=50160081</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50160081</guid></item><item><title><![CDATA[New comment by yaoke259 in "Timestral: Mistral's time-series foundation models"]]></title><description><![CDATA[
<p>ChatGPT became massive because of it's generalisability without needing training a new model for every domain and for its zero-shot learning inference/learning capabilities. If this model can be scaled or easily fine-tuned, it can have huge implications on forecasting in domains where custom models are too hard or too expensive! I am somewhat sceptical and wonder if the big quant firms already have versions of this internally or if not, why no one has achieved these kinds of results until now.</p>
]]></description><pubDate>Tue, 20 Oct 2026 01:03:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=50160063</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=50160063</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50160063</guid></item><item><title><![CDATA[New comment by yaoke259 in "MiniMax M3.1 Flash"]]></title><description><![CDATA[
<p>what a bizarre benchmark, cool!</p>
]]></description><pubDate>Tue, 20 Oct 2026 00:55:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=50160004</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=50160004</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50160004</guid></item><item><title><![CDATA[I just wanted a cheap film camera, so I stitched 28 web scrapers together]]></title><description><![CDATA[
<p>Article URL: <a href="https://frankensurf.dev/blog/i-just-wanted-a-cheap-film-camera/">https://frankensurf.dev/blog/i-just-wanted-a-cheap-film-camera/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=50069079">https://news.ycombinator.com/item?id=50069079</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 13 Oct 2026 09:42:12 +0000</pubDate><link>https://frankensurf.dev/blog/i-just-wanted-a-cheap-film-camera/</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=50069079</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50069079</guid></item><item><title><![CDATA[New comment by yaoke259 in "Ask HN: What are your worst war stories bringing agentic applications into prod"]]></title><description><![CDATA[
<p>what have you guys tried?</p>
]]></description><pubDate>Sun, 31 May 2026 22:52:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48350541</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=48350541</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48350541</guid></item><item><title><![CDATA[Ask HN: What are your worst war stories bringing agentic applications into prod]]></title><description><![CDATA[
<p>For a bit of context, I’m currently creating a team of AI agents at work to generate reports by fanning out into a large amount of subagents to process a large amount of transcript data. When the analysis fails mid-way because of some individual step like an API call returns an error or the machine is out of memory, it would create cascading errors that break the entire generation with almost no visibility. I’ve just spent the past month rewriting the individual jobs as durable execution jobs on DBOS but just wondering if there are better solutions out there and if others encountered similar issues? And then there is the issue to reflect back the progress to the users which I’ve just been coding ad-hoc honestly…<p>When an agent fails at step 9 of 12, how do you handle that?<p>Roughly how many engineer-weeks have you sunk into agent infrastructure (durability, monitoring, human-in-the-loop, live UI) vs. the actual agent logic? Curious if my ratio is normal.<p>For those who built this stuff in-house: was it ever a build-vs-buy conversation? What would a tool have had to do for you to buy instead of build?<p>Do you currently pay for anything in your agent stack (LangSmith, Temporal, Braintrust, etc.)? What made that one worth a line item when others weren't and should I look into it too?</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48342441">https://news.ycombinator.com/item?id=48342441</a></p>
<p>Points: 12</p>
<p># Comments: 7</p>
]]></description><pubDate>Sun, 31 May 2026 02:07:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48342441</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=48342441</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48342441</guid></item><item><title><![CDATA[Show HN: Using Claude Code history to predict your next messages while you sleep]]></title><description><![CDATA[
<p>Overnight is a free, open source CLI supervisor/manager layer that can run Claude Code (Codex support coming soon!) by reading your Claude conversation histories and predicts what you would’ve done next so it can keep executing while you sleep.<p>Github (MIT license): <a href="https://github.com/yail259/overnight" rel="nofollow">https://github.com/yail259/overnight</a>
Landing Page: <a href="https://workovernight.com/" rel="nofollow">https://workovernight.com/</a><p>What makes it different to all the other generic “run Claude Code while you sleep” ideas is the insight that every developer works differently, and rather than a generic agent or plan that gives you mediocre, generic results, the manager/supervisor AI should behave the way you would’ve behaved and tried to continue like you to focus on the things you would’ve cared about.<p>The first time you run Overnight, it’ll try to scrape all your Claude Code chat history from that project and build up a profile of you as well as your work patterns. As you use Overnight and Claude Code more, you will build up a larger and more accurate profile of how you prompt, design and engineer, and this serves as rich prediction data for Overnight to learn from execute better on your behalf. It’s designed so that you can always work on the project in the day to bring things back on track if need be and to supplement your workflow.<p>The code is completely open source and you can bring your own Anthropic or OpenAI compatible API keys. If people like this project, I’ll create a subscription model for people who want to run this on the cloud or don’t want to manage another API key.<p>All of overnights work are automatically committed to new Git branches so when you wake up, you can choose to merge or just throwaway its progress.<p>It is designed with 4 modes you can Shift Tab through depending on how adventurous you are feeling:<p>1. tidy — cleanup only, no functional changes. Dead code, formatting, linting.
2. refine — structural improvement. Design patterns, coupling, test architecture. Same features, better code.
3. build — product engineering. Reads the README, understands the value prop, derives the next feature from the business case.
4. radical — unhinged product visionary. "What if this product could...?" Bold bets with good engineering. You wake up delighted or terrified.
Hope you like this project and find it useful!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47501042">https://news.ycombinator.com/item?id=47501042</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 24 Mar 2026 11:20:08 +0000</pubDate><link>https://workovernight.com</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=47501042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47501042</guid></item><item><title><![CDATA[Show HN: Ptero, a Svelte Alternative to Docusaurus]]></title><description><![CDATA[
<p>Hey guys, happy to share a passion project I’ve been working on. It’s called Ptero (short for pterodactyl, get it? haha) and is a Svelte based alternative to Docusaurus so you can now build your dev docs page in svelte!
* Github: <a href="https://github.com/yail259/ptero" rel="nofollow">https://github.com/yail259/ptero</a>
* Landing page & dogfood demo: <a href="https://ptero.yaoke.pro/" rel="nofollow">https://ptero.yaoke.pro/</a>
Is this project necessary when Astro, Docusaurus and all the other documentation frameworks exist? Not really. 
Did I really want to unify my docs and landing page into a single site using my go to tool Svelte and spent a long time and couldn’t find a good quality existing option? Yes.
It certainly lacks the professional polish of tools like Docusaurus as it’s a brand new solo project but I think it’s got a few neat features. 
1. It’s installed as components via a CLI, think Shadcn, this way you can manipulate the components however you want. You can init a new site or install into your existing SvelteKit site.
2. Comes with a modern 3 pane design and all the goodness that comes with that out of the box.
3. Fuse.js search which works pretty well.
4. MDsveX support out of the box
5. Docs versioning 
6. A UI that doesn’t look like we are trapped in the 2000s
Honestly it’s not the best tested or polished project but it’s working ok for me so I figured I’d just share it. It’s open source and MIT license so feel free to do whatever you want with it. Feel free to make PRs and if they are reasonable I’ll get Claude Code to work on it :).
Thanks for taking a look, hope you get some value out of this!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47286526">https://news.ycombinator.com/item?id=47286526</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 07 Mar 2026 11:07:37 +0000</pubDate><link>https://github.com/yail259/ptero</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=47286526</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47286526</guid></item><item><title><![CDATA[Show HN: TypeScript runtime that syncs state for your multiplayer app/game]]></title><description><![CDATA[
<p>I’ve been experimenting with Phaser for small web games and found that even simple multiplayer logic becomes complicated fast. I built Martini-Kit (<a href="https://github.com/BlueprintLabIO/martini" rel="nofollow">https://github.com/BlueprintLabIO/martini</a>) to reduce that overhead.<p>It’s open source, written in TypeScript, and lets you structure your game logic almost like a single-player project while the library handles state syncing. It provides first-class Phaser support and aims to be much simpler than alternatives like Colyseus or Nakama.<p>I’m a hobby game developer and would appreciate feedback, criticism, or suggestions from the community.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46159685">https://news.ycombinator.com/item?id=46159685</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 05 Dec 2025 11:04:16 +0000</pubDate><link>https://martini-kit.com/</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=46159685</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46159685</guid></item><item><title><![CDATA[New comment by yaoke259 in "Show HN: MTXT – Music Text Format"]]></title><description><![CDATA[
<p>pretty cool!</p>
]]></description><pubDate>Thu, 04 Dec 2025 12:32:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46146931</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=46146931</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46146931</guid></item><item><title><![CDATA[Show HN: Martini-Kit, create multiplayer games without writing networking code]]></title><description><![CDATA[
<p>I was working on a multiplayer racing game and kept hitting the same issues. State desyncs where players would see different positions. Race conditions when two players interacted with the same object. The usual stuff.<p>The frustrating part was that these bugs only showed up with multiple real players. Can't reproduce them locally, can't easily test fixes, and adding logging changes the timing enough that bugs disappear.<p>After rebuilding networking code for the third time across different projects, I noticed something: most multiplayer bugs come from thinking about networking instead of game logic.<p>## The approach<p>In single-player games, you just write:
```typescript
player.x += velocity.x;
player.health -= 10;
```<p>So I built martini-kit to make multiplayer work the same way:<p>```typescript
const game = defineGame({
  setup: ({ playerIds }) => ({
    players: Object.fromEntries(
      playerIds.map(id => [id, { x: 100, y: 100, health: 100 }])
    )
  }),<p><pre><code>  actions: {
    move: (state, { playerId, dx, dy }) => {
      state.players[playerId].x += dx;
      state.players[playerId].y += dy;
    }
  }</code></pre>
});
```<p>That's it. No WebSockets, no serialization, no message handlers. martini-kit handles state sync, conflict resolution, connection handling, and message ordering automatically.<p>## How it works<p>Instead of thinking about messages, you think about state changes:<p>1. Define pure functions that transform state
2. One client is the "host" and runs the authoritative game loop
3. Host broadcasts state diffs (bandwidth optimized)
4. Clients patch their local state
5. Conflicts default to host-authoritative (customizable)<p>Those race conditions and ordering bugs are structurally impossible with this model.<p>## What's it good for<p>- Turn-based games, platformers, racing games, co-op games: works well
- Fast-paced FPS with 60Hz tick rates: not ideal yet
- Phaser adapter included, Unity/Godot adapters in progress
- Works with P2P (WebRTC) or client-server (WebSocket)
- Can integrate with Colyseus/Nakama/etc for matchmaking and auth<p>## Try it<p>[Interactive playground](<a href="https://martini.blueprintlab.io/preview" rel="nofollow">https://martini.blueprintlab.io/preview</a>) - test multiplayer instantly in your browser<p>Or install:
```bash
npm install @martini-kit/core @martini-kit/phaser phaser
```<p>Links:
- Website: <a href="https://martini.blueprintlab.io/" rel="nofollow">https://martini.blueprintlab.io/</a>
- Docs: <a href="https://martini.blueprintlab.io/docs" rel="nofollow">https://martini.blueprintlab.io/docs</a>
- GitHub: <a href="https://github.com/BlueprintLabIO/martini" rel="nofollow">https://github.com/BlueprintLabIO/martini</a>
- npm: <a href="https://www.npmjs.com/package/@martini-kit/core" rel="nofollow">https://www.npmjs.com/package/@martini-kit/core</a><p>Open to feedback and curious if anyone else has hit similar issues with multiplayer state management.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46044897">https://news.ycombinator.com/item?id=46044897</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 25 Nov 2025 11:45:37 +0000</pubDate><link>https://martini.blueprintlab.io/</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=46044897</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46044897</guid></item><item><title><![CDATA[New comment by yaoke259 in "[dead]"]]></title><description><![CDATA[
<p>would be cool but rn just looks like normal glassmorphism?</p>
]]></description><pubDate>Mon, 13 Oct 2025 04:56:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=45564802</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=45564802</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45564802</guid></item><item><title><![CDATA[New comment by yaoke259 in "AI getting gold in IMO is not that surprising"]]></title><description><![CDATA[
<p>First blog post on HN!</p>
]]></description><pubDate>Mon, 13 Oct 2025 04:55:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=45564795</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=45564795</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45564795</guid></item><item><title><![CDATA[AI getting gold in IMO is not that surprising]]></title><description><![CDATA[
<p>Article URL: <a href="https://yaoke.pro/blogs/AI%20getting%20gold%20in%20IMO%20is%20not%20that%20surprising">https://yaoke.pro/blogs/AI%20getting%20gold%20in%20IMO%20is%20not%20that%20surprising</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45564794">https://news.ycombinator.com/item?id=45564794</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 13 Oct 2025 04:55:16 +0000</pubDate><link>https://yaoke.pro/blogs/AI%20getting%20gold%20in%20IMO%20is%20not%20that%20surprising</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=45564794</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45564794</guid></item><item><title><![CDATA[New comment by yaoke259 in "Show HN: Prompts to make AI impersonate 10 programming legends"]]></title><description><![CDATA[
<p>Why? It's like saying celebrity impersonations is unethical. Why is impersonating someone inherently bad?</p>
]]></description><pubDate>Sat, 11 Oct 2025 09:20:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=45547732</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=45547732</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45547732</guid></item><item><title><![CDATA[Show HN: Prompts to make AI impersonate 10 programming legends]]></title><description><![CDATA[
<p>I put together a free, open-source collection of text prompts that make AI impersonate 10 programming legends. The inspiration came when I asked an AI to impersonate Garry Tan to roast my startup idea and the honest feedback was surprisingly useful.<p>The prompts work by giving the AI specific context about each legend's communication style, technical philosophy, and personality traits. This pushes the AI beyond generic responses into more opinionated, stylized feedback that reflects their actual perspectives on code and architecture. Instead of "that's a great idea, but..." you get responses like "this is fundamentally broken because..." or "you're missing the point entirely..." - the kind of direct, opinionated feedback these legends are known for.<p>What it is:
1. Collection of prompts for 10 programming legends (not an AI tool itself)
2. Each prompt includes context about their communication style and technical views
3. Completely free and open source<p>Just copy-paste the prompts into any AI chat. The key is how the prompts frame the persona so there is enough context to make the AI adopt their actual communication patterns and technical stances.<p>Questions:
1. Have you tried persona-based prompting to get more opinionated responses?
2. Which programming legend would you want feedback from?
3. Do you think stylized prompts lead to better technical insights?<p>Would love to hear what you think!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45547570">https://news.ycombinator.com/item?id=45547570</a></p>
<p>Points: 3</p>
<p># Comments: 2</p>
]]></description><pubDate>Sat, 11 Oct 2025 08:29:48 +0000</pubDate><link>https://ai-impersonator.blueprintlab.io/</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=45547570</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45547570</guid></item><item><title><![CDATA[Show HN: Time-aware utilities for LLM prompts (TypeScript)]]></title><description><![CDATA[
<p>TL;DR: A lightweight TS library to parse natural-language dates and inject temporal context into LLM prompts. It turns vague phrases like "tomorrow" into precise, timezone-aware dates to reduce ambiguity in agents, schedulers, and chatbots.<p>Why you might care:
- Fewer ambiguous instructions ("next Tuesday" -> 2025-09-23)
- Works across timezones/locales
- Choose formatting strategy: preserve, normalize, or hybrid<p>Quick example:<p>```
enhancePrompt("Schedule a demo next Tuesday and remind me tomorrow")
→ "Schedule a demo next Tuesday (2025-09-23) and remind me tomorrow (2025-09-16)"
```<p>Links:
- Project: <a href="https://time-ai.blueprintlab.io" rel="nofollow">https://time-ai.blueprintlab.io</a>
- GitHub: <a href="https://github.com/BlueprintLabIO/time-ai" rel="nofollow">https://github.com/BlueprintLabIO/time-ai</a>
- NPM: <a href="https://www.npmjs.com/package/@blueprintlabio/time-ai" rel="nofollow">https://www.npmjs.com/package/@blueprintlabio/time-ai</a><p>Would love feedback on real-world prompts, tricky date phrases, and missing patterns.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45261780">https://news.ycombinator.com/item?id=45261780</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 16 Sep 2025 13:12:23 +0000</pubDate><link>https://time-ai.blueprintlab.io</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=45261780</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45261780</guid></item><item><title><![CDATA[New comment by yaoke259 in "Show HN: A minimal TS library that generates prompt injection attacks"]]></title><description><![CDATA[
<p>I have significantly improved both the library and the demo page, hope this is more useful now!</p>
]]></description><pubDate>Sun, 31 Aug 2025 13:02:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=45082837</link><dc:creator>yaoke259</dc:creator><comments>https://news.ycombinator.com/item?id=45082837</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45082837</guid></item></channel></rss>