<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: simedw</title><link>https://news.ycombinator.com/user?id=simedw</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 22 Oct 2026 11:07:58 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=simedw" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by simedw in "WorldTUI: I trained a 360M model to pretend to be a terminal"]]></title><description><![CDATA[
<p>Exactly, I wonder if I'm not hitting the right WebGPU path for Firefox?</p>
]]></description><pubDate>Thu, 22 Oct 2026 10:56:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=50193692</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=50193692</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50193692</guid></item><item><title><![CDATA[New comment by simedw in "WorldTUI: I trained a 360M model to pretend to be a terminal"]]></title><description><![CDATA[
<p>Thank you.<p>The base model already have a good grasp of language, so that man pages look like coherent sentences. It also knows python and similar language well, which means that things like 1+5 or print(["hi" for _ in range(5)]) work.<p>I did try to train from scratch, but it was much weaker (also added a lot of aux losses).</p>
]]></description><pubDate>Thu, 22 Oct 2026 10:56:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=50193689</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=50193689</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50193689</guid></item><item><title><![CDATA[New comment by simedw in "WorldTUI: I trained a 360M model to pretend to be a terminal"]]></title><description><![CDATA[
<p>The first part of the context is the window width:<p>```
BOS SCREEN_START 32 96
```<p>I trained it on three different resolutions, but it should kind of work with in between ones too.</p>
]]></description><pubDate>Thu, 22 Oct 2026 10:54:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=50193666</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=50193666</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50193666</guid></item><item><title><![CDATA[New comment by simedw in "WorldTUI: I trained a 360M model to pretend to be a terminal"]]></title><description><![CDATA[
<p>That's very cool project.
I read this blog post a few days ago about one way to look at memory encoding in models <a href="https://alexwang.ai/posts/associative-memory/" rel="nofollow">https://alexwang.ai/posts/associative-memory/</a> that you might find relevant</p>
]]></description><pubDate>Thu, 22 Oct 2026 07:27:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=50192306</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=50192306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50192306</guid></item><item><title><![CDATA[New comment by simedw in "WorldTUI: I trained a 360M model to pretend to be a terminal"]]></title><description><![CDATA[
<p>Normal only keypresses invoke the next ”frame”. There is a sleep token that the runner could use to indicate that time is moving.</p>
]]></description><pubDate>Thu, 22 Oct 2026 06:39:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=50191986</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=50191986</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50191986</guid></item><item><title><![CDATA[New comment by simedw in "WorldTUI: I trained a 360M model to pretend to be a terminal"]]></title><description><![CDATA[
<p>I haven’t run extensive tests yet, but larger models also get better at memory.</p>
]]></description><pubDate>Thu, 22 Oct 2026 06:35:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=50191957</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=50191957</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50191957</guid></item><item><title><![CDATA[New comment by simedw in "Gemini 4 Argon"]]></title><description><![CDATA[
<p>It shows a good improvement on my COCO object detection benchmark: 0.504 mAP zero-shot.<p>Gemini 3 Flash was around 0.403, 2.5 Pro was around 0.34.</p>
]]></description><pubDate>Tue, 13 Oct 2026 20:07:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=50077890</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=50077890</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50077890</guid></item><item><title><![CDATA[New comment by simedw in "Gemini-3.5-Transcribe"]]></title><description><![CDATA[
<p>For some reason, in almost every test I did with Gemini 3.5 Live, it classified my Swedish (native) as Dutch. There are similarities between the languages, but still.<p>It’s pretty good at understanding my broken Mandarin, though.</p>
]]></description><pubDate>Fri, 28 Aug 2026 14:20:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=49478891</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=49478891</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49478891</guid></item><item><title><![CDATA[New comment by simedw in "Show HN: Voronoi Go"]]></title><description><![CDATA[
<p>This was neat, well done!<p>The only alternative version of Go I’ve played before was magnetic Go, where all the rules are the same except that, along the axis lines where you place a piece, like colours attract and opposite colours repel.<p>On Voronoi, I did feel like the continuous space made it really hard to judge whether there was enough room, whether the opponent could get in, etc. Maybe it would work better if it were discretized a bit? Or maybe I just need to play it more.</p>
]]></description><pubDate>Fri, 28 Aug 2026 14:10:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=49478760</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=49478760</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49478760</guid></item><item><title><![CDATA[New comment by simedw in "Show HN: I trained a 125M model to autocomplete piano on-device"]]></title><description><![CDATA[
<p>Luckily I have access to 4x RTX 4090s, so I didn’t have to pay cloud GPU prices directly. If I had, it probably would have added up quite a bit given how many training runs and experiments I ended up doing.</p>
]]></description><pubDate>Thu, 20 Aug 2026 15:21:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=49375917</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=49375917</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49375917</guid></item><item><title><![CDATA[New comment by simedw in "Show HN: I trained a 125M model to autocomplete piano on-device"]]></title><description><![CDATA[
<p>The biggest speed improvement came from changing the note representation when I switched to compound note events: roughly 5× fewer autoregressive passes per note.<p>For the current model I’m using Core ML, which optimizes the kernels the first time you run it. I haven’t actually spent that much time tuning performance beyond that.</p>
]]></description><pubDate>Thu, 20 Aug 2026 14:25:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=49375022</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=49375022</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49375022</guid></item><item><title><![CDATA[New comment by simedw in "Show HN: I trained a 125M model to autocomplete piano on-device"]]></title><description><![CDATA[
<p>Yes, some kind of planning step is on my TODO list. Another thing I want to try is generating a few continuations in parallel, picking the one that looks best, and then continuing from there. Maybe the picking could be automatic.<p>I can probably squeeze out quite a bit more than 100 notes/sec as well. I haven’t spent much time optimizing inference yet.</p>
]]></description><pubDate>Thu, 20 Aug 2026 14:00:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=49374689</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=49374689</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49374689</guid></item><item><title><![CDATA[New comment by simedw in "Show HN: I trained a 125M model to autocomplete piano on-device"]]></title><description><![CDATA[
<p>For DPO I only had around 700 preference examples, so not much data at all. That took about 12 minutes to train on a single GPU.<p>Pretraining was obviously a a lot slower, the 125M model took roughly half a day.</p>
]]></description><pubDate>Thu, 20 Aug 2026 13:57:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=49374651</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=49374651</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49374651</guid></item><item><title><![CDATA[New comment by simedw in "Show HN: I trained a 125M model to autocomplete piano on-device"]]></title><description><![CDATA[
<p>If the attribute describes the current note, I would first try adding it as another field/head on the note event. For example:<p><pre><code>  NOTE(
    pitch,
    delta_onset,
    duration,
    attack_velocity,
    release_velocity,
    ...
  )
</code></pre>
More global things might be better modelled as a control event:<p><pre><code>  NOTE(...)
  | CONTROL_SUSTAIN(delta_onset, value)
  | CONTROL_TEMPO(delta_onset, bpm)
  | CONTROL_PROGRAM(delta_onset, instrument)
</code></pre>
The harder part might actually be finding enough good training data with all of those attributes represented consistently.</p>
]]></description><pubDate>Thu, 20 Aug 2026 13:47:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=49374528</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=49374528</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49374528</guid></item><item><title><![CDATA[New comment by simedw in "Show HN: I trained a 125M model to autocomplete piano on-device"]]></title><description><![CDATA[
<p>Thank you.<p>Yes, I think I’ve gotten it to roughly a GPT-2 level: good enough to share, but with a lot of room left to improve. I think adding some kind of bar/measure token might help with rhythm, and perhaps some form of longer-term planning for the overall composition.</p>
]]></description><pubDate>Thu, 20 Aug 2026 12:32:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=49373737</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=49373737</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49373737</guid></item><item><title><![CDATA[Show HN: I trained a 125M model to autocomplete piano on-device]]></title><description><![CDATA[
<p>I trained a 125M-parameter transformer to autocomplete piano performances in real time (~108 notes/sec on an iPhone 15).<p>The idea is basically GitHub Copilot or Tabnine, except instead of prompting it with code, you prompt it by playing a few notes on a MIDI piano. The model then continues what you played, entirely on-device.<p>The app is free if anyone wants to try it. Happy to answer questions about the model, training, Core ML, or the many things that didn't work.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49373456">https://news.ycombinator.com/item?id=49373456</a></p>
<p>Points: 598</p>
<p># Comments: 117</p>
]]></description><pubDate>Thu, 20 Aug 2026 12:04:38 +0000</pubDate><link>https://simedw.com/2026/08/20/midi-autocomplete/</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=49373456</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49373456</guid></item><item><title><![CDATA[How to force AI agents to use an egress proxy]]></title><description><![CDATA[
<p>Article URL: <a href="https://simedw.com/2026/06/05/proxy-agents/">https://simedw.com/2026/06/05/proxy-agents/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48411484">https://news.ycombinator.com/item?id=48411484</a></p>
<p>Points: 4</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 05 Jun 2026 12:27:23 +0000</pubDate><link>https://simedw.com/2026/06/05/proxy-agents/</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=48411484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48411484</guid></item><item><title><![CDATA[New comment by simedw in "Show HN: Id-agent – Token efficient UUID alternative for AI agents"]]></title><description><![CDATA[
<p>Nice package, not only is using words more token-efficient [saving time and money], but weaker models are also less likely to make mistakes when providing the key, at least in my tests.<p>That said, for `createAliasMap`, don't you think you could create a deterministic mapping from and to UUIDs <-> word chains? That way, no additional state would be needed. [Might require fairly long word chains...]</p>
]]></description><pubDate>Tue, 19 May 2026 11:53:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48192135</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=48192135</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48192135</guid></item><item><title><![CDATA[New comment by simedw in "Show HN: Watch a neural net learn to play Snake"]]></title><description><![CDATA[
<p>Cool project!<p>I noticed that if you go from training to watch and then back, the training temporarily drop significantly in score.</p>
]]></description><pubDate>Fri, 15 May 2026 15:58:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48150244</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=48150244</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48150244</guid></item><item><title><![CDATA[New comment by simedw in "Building a Magic Eye Generator and Decoder"]]></title><description><![CDATA[
<p>No offense, but are you a bot?</p>
]]></description><pubDate>Tue, 10 Mar 2026 20:54:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47328664</link><dc:creator>simedw</dc:creator><comments>https://news.ycombinator.com/item?id=47328664</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47328664</guid></item></channel></rss>