<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: siraben</title><link>https://news.ycombinator.com/user?id=siraben</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 19 Oct 2026 23:45:48 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=siraben" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by siraben in "Bootstrappable Builds: How and Why"]]></title><description><![CDATA[
<p>Thanks, will look into this as another avenue!</p>
]]></description><pubDate>Fri, 28 Aug 2026 16:12:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=49480667</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=49480667</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49480667</guid></item><item><title><![CDATA[New comment by siraben in "Bootstrappable Builds: How and Why"]]></title><description><![CDATA[
<p>Yes, this isn't meant to be a complete port and I only started dipping into mrustc because the previous agents were going off the rails. I have mostly been throwing spare weekly quotas at this but deeper thought will be required to get an actual working Rust compiler in C. Rust is an enormously more complex language, so it might just be at the capability limit.</p>
]]></description><pubDate>Fri, 28 Aug 2026 15:00:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=49479564</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=49479564</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49479564</guid></item><item><title><![CDATA[New comment by siraben in "Bootstrappable Builds: How and Why"]]></title><description><![CDATA[
<p>Specifically the expensive part is getting a C89 port of mrustc to compile rustc 1.90.0. mrustc needs C++ right now, bootstrapping via TCC by writing it in C89 would be the shorter chain.</p>
]]></description><pubDate>Fri, 28 Aug 2026 14:26:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=49478991</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=49478991</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49478991</guid></item><item><title><![CDATA[New comment by siraben in "Bootstrappable Builds: How and Why"]]></title><description><![CDATA[
<p>I am working on this![0] But this is actually a herculean task, I've been chipping at it for weeks and even trying to cheat somewhat by translating mrustc from C++ to C89. If anyone has ideas/cheaper ways to run it I would like to know.<p>In the meantime, months ago I achieved bootstrap of TCC (then GCC 4.6) via the same path as the live-bootstrap project but replacing the Scheme part with a C compiler in Ben Lynn's Haskell dialect.[1] This was a project I wish I had time to do years ago[2] but never had the time or motivation for, and the type of things agents can do well now (they couldn't write good Haskell a year ago).<p>[0] <a href="https://github.com/siraben/mrustc/tree/siraben/cmrustc" rel="nofollow">https://github.com/siraben/mrustc/tree/siraben/cmrustc</a><p>[1] <a href="https://github.com/siraben/blynn-bootstrap" rel="nofollow">https://github.com/siraben/blynn-bootstrap</a><p>[2] <a href="https://logs.guix.gnu.org/bootstrappable/2021-05-26.log#143848" rel="nofollow">https://logs.guix.gnu.org/bootstrappable/2021-05-26.log#1438...</a></p>
]]></description><pubDate>Fri, 28 Aug 2026 04:57:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=49474510</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=49474510</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49474510</guid></item><item><title><![CDATA[New comment by siraben in "The Proof Machine (2016)"]]></title><description><![CDATA[
<p>Thank you for the feedback! Will address. Yeah, I intentionally tried to not make the UI too easy to prove things and it shows all possible actions that can be taken from the current point, so that in the future another mode could be added for writing proofs from scratch.</p>
]]></description><pubDate>Mon, 27 Jul 2026 17:06:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=49072561</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=49072561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49072561</guid></item><item><title><![CDATA[New comment by siraben in "The Proof Machine (2016)"]]></title><description><![CDATA[
<p>I've been working on an interactive click-and-prove prover that is backed by dependently typed terms.[0] The Proof Machine only goes up to some Simply-Typed Lambda Calculus terms, whereas I have the logic sufficiently powerful to support recursion and reasoning about programs and equality.<p>[0] <a href="https://touchproof.siraben.dev/" rel="nofollow">https://touchproof.siraben.dev/</a></p>
]]></description><pubDate>Mon, 27 Jul 2026 14:51:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=49070523</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=49070523</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49070523</guid></item><item><title><![CDATA[New comment by siraben in "The Zilog Z80 has turned 50"]]></title><description><![CDATA[
<p>The Z80 was how I learned assembly programming in high school.[0] Was a bit of an unusual choice, but high school students still carry these funky Z80 (or eZ80 now with the color screens) devices every day, so being able to hack on it and have plausible deniability while in class felt great :)<p>[0] <a href="https://github.com/siraben/zkeme80" rel="nofollow">https://github.com/siraben/zkeme80</a></p>
]]></description><pubDate>Fri, 17 Jul 2026 22:12:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48952783</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=48952783</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48952783</guid></item><item><title><![CDATA[New comment by siraben in "I'm a USB-C Maximalist"]]></title><description><![CDATA[
<p>I love traveling with this Anker 160W charger, which has 3 USB-C ports.[0] I just found out about GaN technology last year and I can't believe it isn't more widespread. This one can charge two MacBook Pros and an iPhone at full speed.<p>[0] <a href="https://www.anker.com/products/a2687-anker-prime-charger-160w-3-ports-gan" rel="nofollow">https://www.anker.com/products/a2687-anker-prime-charger-160...</a></p>
]]></description><pubDate>Wed, 15 Jul 2026 03:14:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48915814</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=48915814</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48915814</guid></item><item><title><![CDATA[New comment by siraben in "Croc: Securely transfer files and folders between two computers"]]></title><description><![CDATA[
<p>I use croc instead of magic wormhole as of a year ago now. In my testing the throughput is higher than magic wormhole because it uses multiple TCP connections to transfer the files.</p>
]]></description><pubDate>Sun, 12 Jul 2026 20:35:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48884520</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=48884520</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48884520</guid></item><item><title><![CDATA[New comment by siraben in "Show HN: Wyrm – Solve algebra by touch, built on an open-source soundness engine"]]></title><description><![CDATA[
<p>This is very cool! I'd like to see a version for theorem proving/equational reasoning as well because I think the ideas behind reasoning about functional programs and proving properties about them are just many cases of rule-applying but people don't staring at equations or jump straight to a theorem prover, whereas a visual interface might make the transition a lot easier.</p>
]]></description><pubDate>Fri, 10 Jul 2026 22:53:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48866343</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=48866343</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48866343</guid></item><item><title><![CDATA[New comment by siraben in "I can haz smoller NixOS ISOs?"]]></title><description><![CDATA[
<p>I got a bootable NixOS iso down to 91 MB. Pointed Claude at the Nixpkgs repo and asked it to strip things aggressively and inspect the build closure iteratively.<p>But the resulting ISO:<p>- has no network<p>- can't switch configurations<p>- doesn't have a text editor<p><a href="https://gist.github.com/siraben/a8fce9912891d85e1ec3cf74081ba4f6" rel="nofollow">https://gist.github.com/siraben/a8fce9912891d85e1ec3cf74081b...</a></p>
]]></description><pubDate>Wed, 24 Jun 2026 22:41:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48666455</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=48666455</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48666455</guid></item><item><title><![CDATA[New comment by siraben in "Full Reverse Engineering of the TI-84 Plus Operating System"]]></title><description><![CDATA[
<p>Yes, to type a TI-BASIC program you have to go through the calculator menus which directly insert the tokenized input into the buffer.<p>The <i>weird</i> thing about TI-BASIC is how seemingly innocent changes in the input can cause huge performance regressions e.g. <a href="https://siraben.github.io/ti84p-re/sub-tibasic-for-paren.html" rel="nofollow">https://siraben.github.io/ti84p-re/sub-tibasic-for-paren.htm...</a><p><pre><code>  For(I,1,N
  If 0
  1
  End
</code></pre>
is <i>much</i> slower than<p><pre><code>  For(I,1,N)
  If 0
  1
  End</code></pre></p>
]]></description><pubDate>Mon, 08 Jun 2026 21:03:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48452017</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=48452017</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48452017</guid></item><item><title><![CDATA[New comment by siraben in "Full Reverse Engineering of the TI-84 Plus Operating System"]]></title><description><![CDATA[
<p>It's highly likely that the original implementation language was assembly. The code is very idiomatic.<p>Regarding source build, I think reverse engineering it to the point where you can reconstruct the source is possibly legally problematic, so I don't plan to do this, but maybe for certain subsystems like MathPrint (equation display) which was especially fun to RE. I have a PR up for it and it will be live at<p><a href="https://siraben.github.io/ti84p-re/mathprint" rel="nofollow">https://siraben.github.io/ti84p-re/mathprint</a></p>
]]></description><pubDate>Mon, 08 Jun 2026 18:44:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48449628</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=48449628</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48449628</guid></item><item><title><![CDATA[New comment by siraben in "Full Reverse Engineering of the TI-84 Plus Operating System"]]></title><description><![CDATA[
<p>The plans are heavily subsidized by the AI companies so I didn't end up needing to do API usage or buy another subscription. I have ChatGPT Pro and Claude Code Max.</p>
]]></description><pubDate>Mon, 08 Jun 2026 18:35:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48449452</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=48449452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48449452</guid></item><item><title><![CDATA[New comment by siraben in "Full Reverse Engineering of the TI-84 Plus Operating System"]]></title><description><![CDATA[
<p>Thanks for the feedback, fixing.</p>
]]></description><pubDate>Mon, 08 Jun 2026 18:21:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48449158</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=48449158</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48449158</guid></item><item><title><![CDATA[New comment by siraben in "Full Reverse Engineering of the TI-84 Plus Operating System"]]></title><description><![CDATA[
<p>This was made collaboratively by me directing coding agents at the binary, using Ghidra MCP extensively, disassembly and also dynamic analysis with an emulator. I don't have a writeup of the process but it was definitely not fully automatable (I wish though). I might prepare a blog post with transcripts and session history and things I learned along the way.<p>Broad takeaways:<p>- Ghidra MCP is not a silver bullet. Lots of opportunities for mis-decoding especially on older instruction sets (e.g. conflating code + data), which requires user input to flag data layout/structs.<p>- Agents still need a lot of user direction otherwise the RE production is just kind of a random walk. With Z80 it's decent at reading code but I expect that it has much worse performance than reading x86 or ARM for instance. The TI-84+ has a bunch of hardware quirks as well.<p>- GPT 5.5 is better than Opus 4.8 at RE. Opus 4.8 loves plausible-sounding RE'd logic without any checking. The gold standard is actually dynamically executing the binary and comparing the logic against the prose.<p>- Maintaining consistency in style and prose is a PITA across the wiki. Hard to reconcile prose <-> code. Can be somewhat mitigated by agent loops.<p>Was also in discussions with people in the TI calculator programming space who helped provide guidance as well. We previously did not have a catalogue of every subsystem in TI-OS yet alone most subroutines in the OS.</p>
]]></description><pubDate>Mon, 08 Jun 2026 18:13:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48449018</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=48449018</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48449018</guid></item><item><title><![CDATA[Full Reverse Engineering of the TI-84 Plus Operating System]]></title><description><![CDATA[
<p>Article URL: <a href="https://siraben.github.io/ti84p-re/">https://siraben.github.io/ti84p-re/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48448493">https://news.ycombinator.com/item?id=48448493</a></p>
<p>Points: 149</p>
<p># Comments: 24</p>
]]></description><pubDate>Mon, 08 Jun 2026 17:41:33 +0000</pubDate><link>https://siraben.github.io/ti84p-re/</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=48448493</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48448493</guid></item><item><title><![CDATA[New comment by siraben in "Big-Endian Testing with QEMU"]]></title><description><![CDATA[
<p>Without installing anything, this can also be reproduced with a shell script that uses a Nix shebang to specify the cross compilers.<p><a href="https://gist.github.com/siraben/cb0eb96b820a50e11218f0152f2ecc06" rel="nofollow">https://gist.github.com/siraben/cb0eb96b820a50e11218f0152f2e...</a></p>
]]></description><pubDate>Fri, 03 Apr 2026 19:42:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47631229</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=47631229</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47631229</guid></item><item><title><![CDATA[Show HN: Nonograms – Friends-only puzzle room with replays and leaderboards]]></title><description><![CDATA[
<p>Invite code: hackernews. No email required for signup.<p>My friend group loves playing nonograms and competing against each other, but we always send each other screenshots of the solved game grid and time after the fact.<p>So from the start, I knew I wanted leaderboards, replays, and shareable links. I also added PWA support so it can be added to the home screen on mobile and an offline play mode.<p>No ads, analytics or nonsense, just nonograms.<p>Some other goodies as well such as YouTube-like scrubber and KDE-based visualization in replays.<p><a href="https://github.com/siraben/nonograms/" rel="nofollow">https://github.com/siraben/nonograms/</a><p>Tech stack: React + TypeScript on Vite, hosted on Cloudflare Pages with D1 and Workers</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47063918">https://news.ycombinator.com/item?id=47063918</a></p>
<p>Points: 5</p>
<p># Comments: 2</p>
]]></description><pubDate>Wed, 18 Feb 2026 17:53:36 +0000</pubDate><link>https://nonograms.siraben.dev/</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=47063918</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47063918</guid></item><item><title><![CDATA[New comment by siraben in "Text-based web browsers"]]></title><description><![CDATA[
<p>browsh and carbonyl[0] are such lifesavers on airplane wifi. I find that carbonyl has even better chromium rendering than browsh.<p>[0] <a href="https://github.com/fathyb/carbonyl" rel="nofollow">https://github.com/fathyb/carbonyl</a></p>
]]></description><pubDate>Tue, 13 Jan 2026 16:49:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46603565</link><dc:creator>siraben</dc:creator><comments>https://news.ycombinator.com/item?id=46603565</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46603565</guid></item></channel></rss>