<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: noone_youknow</title><link>https://news.ycombinator.com/user?id=noone_youknow</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 18 Apr 2026 09:24:35 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=noone_youknow" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by noone_youknow in "Show HN: Anos – a hand-written ~100KiB microkernel for x86-64 and RISC-V"]]></title><description><![CDATA[
<p>It isn’t, actually.</p>
]]></description><pubDate>Tue, 07 Apr 2026 17:13:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47678434</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=47678434</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47678434</guid></item><item><title><![CDATA[New comment by noone_youknow in "Show HN: Anos – a hand-written ~100KiB microkernel for x86-64 and RISC-V"]]></title><description><![CDATA[
<p>There would likely be value in a POSIX layer as you describe, at least from the point of view of porting existing programs. And perhaps it will happen, if I get far enough along, but it will never be a kernel feature - it would be an entirely userspace concept intended only to speed up porting and building out said user space.<p>Perhaps in the fullness of time essential software can be rewritten to Anos’ “native API”, or perhaps that’s a pipe dream and not worth the work, but the option will be there.</p>
]]></description><pubDate>Tue, 07 Apr 2026 16:45:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47678075</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=47678075</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47678075</guid></item><item><title><![CDATA[New comment by noone_youknow in "Show HN: Anos – a hand-written ~100KiB microkernel for x86-64 and RISC-V"]]></title><description><![CDATA[
<p>Thank you! A project like this is all about compounding small wins for sure, just building one thing on top of the previous thing until (hopefully) one day it’s a complete thing :D<p>I’m glad you found some inspiration and really appreciate your kind comment :)</p>
]]></description><pubDate>Tue, 07 Apr 2026 16:42:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47678022</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=47678022</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47678022</guid></item><item><title><![CDATA[New comment by noone_youknow in "Show HN: Anos – a hand-written ~100KiB microkernel for x86-64 and RISC-V"]]></title><description><![CDATA[
<p>I agree that for it to be generally useful, it’ll need to be easy to port existing software to. But I don’t think I’ll need a translation layer at the syscall level (unless I want to expose a Linux-compatible ABI as you suggest, which is totally a non-goal).<p>You can get surprisingly far in this area with a decent libc implementation - once you have that porting a lot of things becomes possible. There will always be harder problems (e.g. anything that hard-depends on fork) but with enough work pretty much anything in user-space should be possible to port eventually.<p>I’m using newlib for libc, with a custom Anos-specific libgloss that mostly talks to SYSTEM via IPC to get stuff done, and uses syscalls where needed (and a process has the appropriate capabilities). I’m filling out that low-level interface as I go, and will be using porting of exiting BSD or Linux software to drive that implementation :)</p>
]]></description><pubDate>Tue, 07 Apr 2026 11:32:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47673567</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=47673567</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47673567</guid></item><item><title><![CDATA[New comment by noone_youknow in "Show HN: Anos – a hand-written ~100KiB microkernel for x86-64 and RISC-V"]]></title><description><![CDATA[
<p>Haha that quote felt pretty much obligatory :D Non-POSIX is definitely keeping things fun, letting me explore different ideas without having to fit into an existing interface design :)</p>
]]></description><pubDate>Tue, 07 Apr 2026 07:15:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47671717</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=47671717</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47671717</guid></item><item><title><![CDATA[New comment by noone_youknow in "Show HN: Anos – a hand-written ~100KiB microkernel for x86-64 and RISC-V"]]></title><description><![CDATA[
<p>Thanks! I haven't thought much about long term to be honest, right now my immediate goal is to get enough USB HID to be able to make it interactive, with the medium term goal of porting enough software for it being self-hosting.</p>
]]></description><pubDate>Tue, 07 Apr 2026 07:13:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47671711</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=47671711</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47671711</guid></item><item><title><![CDATA[New comment by noone_youknow in "Show HN: Anos – a hand-written ~100KiB microkernel for x86-64 and RISC-V"]]></title><description><![CDATA[
<p>> We live in an age of AI overinvestment. I would reserve judgement until they prove they actually have something.<p>Haha yes, that's a very fair comment!</p>
]]></description><pubDate>Tue, 07 Apr 2026 06:34:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=47671462</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=47671462</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47671462</guid></item><item><title><![CDATA[New comment by noone_youknow in "Show HN: Anos – a hand-written ~100KiB microkernel for x86-64 and RISC-V"]]></title><description><![CDATA[
<p>There's ideas in here from various other kernels - some of the capability stuff is inspired by (but simpler than) seL4, and the message passing IPC and how I'll avoid priority inversion is based on ideas from QNX. Generally as a learning process I've tried to keep as open a mind as possible, without trying to reinvent all the wheels at once...<p>SYSTEM has a tiny arch-specific assembly trampoline which just sets up the initial stack pointer for new processes that it creates and makes the jump, but other than that it's source-compatible across architectures.<p>The platform detail extraction isn't yet complete, such that devices management on non-ACPI platforms isn't finished, but the idea is the abstraction will be enough that drivers for (at least) MMIO devices will be trivially portable.</p>
]]></description><pubDate>Tue, 07 Apr 2026 06:33:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47671452</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=47671452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47671452</guid></item><item><title><![CDATA[New comment by noone_youknow in "Show HN: Anos – a hand-written ~100KiB microkernel for x86-64 and RISC-V"]]></title><description><![CDATA[
<p>That's a good way to look at it, and on reflection I feel the same way.<p>It's certainly useful _to me_ and has helped me really nail down concepts I thought I already understood, but it turns out I didn't.<p>I just hope that, in an age where it feels like code, and maybe even deep technical knowledge have diminishing value, projects like this don't become completely anachronistic.</p>
]]></description><pubDate>Tue, 07 Apr 2026 06:24:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47671388</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=47671388</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47671388</guid></item><item><title><![CDATA[New comment by noone_youknow in "Show HN: Anos – a hand-written ~100KiB microkernel for x86-64 and RISC-V"]]></title><description><![CDATA[
<p>Ahem, well, that's embarrassing! :D</p>
]]></description><pubDate>Tue, 07 Apr 2026 06:16:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47671329</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=47671329</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47671329</guid></item><item><title><![CDATA[Show HN: Anos – a hand-written ~100KiB microkernel for x86-64 and RISC-V]]></title><description><![CDATA[
<p>I pretty much always have a kernel project going on, and have been that way for decades. Over the past couple of years, that's been Anos, which has gotten further along than any of my previous hobby kernels, supporting IPC, multitasking, SMP (x86-64 only right now) and running on real hardware.<p>LLMs (mostly Claude Code) have been used during development, but I learned early on that it's not _great_ at code at this level, so I've restricted its use to mostly documentation and tests. There's _a little_ AI code in the user space, but I have a strict "no AI code" rule in the kernel itself. I find this helps not only with the quality / functionality of the code, but also with learning - for example, even though I've written multiple kernels in the past, it wasn't until Anos that I _truly_ grokked pagetable management and what was possible with a good VMM interface, and if I'd outsourced that implementation to an LLM I probably wouldn't have learned any of that.<p>In terms of approach, Anos avoids legacy platform features and outdated wiki / tutorial resources, and instead tries to implement as much as possible from manuals and datasheets, and it's definitely worked out well so far. There's no support for legacy platform features or peripherals, with all IO being memory mapped and MSI/MSI-X interrupts (no PIC), for example,  which has helped keep the codebase focused and easy to work on. The kernel compiles to about 100KiB on x86-64, with enough features to be able to support multitasking and device drivers in user space.<p>As a hobby project, progress ebbs and flows with pressures of my day job etc, and the main branch has been quiet for the last few months. I have however been working on a USB stack as time allows, and hopefully will soon have at least basic HID support to allow me to take the next step and make Anos interactive.<p>I don't know how useful projects like Anos are any more, given we now live in the age of AI coding, but it's a fun learning experience and helps keep me technically grounded, and I'll carry on with it for as long as those things remain true.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47636579">https://news.ycombinator.com/item?id=47636579</a></p>
<p>Points: 115</p>
<p># Comments: 32</p>
]]></description><pubDate>Sat, 04 Apr 2026 06:58:03 +0000</pubDate><link>https://github.com/roscopeco/anos</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=47636579</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47636579</guid></item><item><title><![CDATA[Bring receipts from your Claude Code sessions]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/chrishutchinson/claude-receipts">https://github.com/chrishutchinson/claude-receipts</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46917942">https://news.ycombinator.com/item?id=46917942</a></p>
<p>Points: 4</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 06 Feb 2026 20:49:06 +0000</pubDate><link>https://github.com/chrishutchinson/claude-receipts</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=46917942</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46917942</guid></item><item><title><![CDATA[New comment by noone_youknow in "Show HN: MyraOS – My 32-bit operating system in C and ASM (Hack Club project)"]]></title><description><![CDATA[
<p>It is hard, and things are messy in some areas. But in my experience it’s less hard than writing a lot of the existing documentation would’ve been (because good datasheets and documentation are more available now) and actually less messy (with some exceptions) than things were back in the days of the legacy hardware most existing wikis etc focus on.<p>Finding people with the knowledge, time and willingness to proof-read is also hard - but surely not insurmountable if we collectively decide it’s an endeavour we want to pursue.</p>
]]></description><pubDate>Tue, 28 Oct 2025 08:13:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=45730262</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=45730262</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45730262</guid></item><item><title><![CDATA[New comment by noone_youknow in "Show HN: MyraOS – My 32-bit operating system in C and ASM (Hack Club project)"]]></title><description><![CDATA[
<p>This is really great work! Always impressed to see hobby OS projects that get this far, well done.<p>That said, I’m once again reminded that we sorely need some updated resources for aspiring OS developers in 2025. Targeting 32-bit x86 and legacy devices that haven’t been “the norm” for decades suggests to me a heavy influence from resources like the osdev wiki which, while occasionally useful, are increasingly outdated in the modern world and lead to many questionable choices early on.<p>I have come to believe (through multiple iterations of my own OS projects) that there’s more value in largely ignoring resources such as osdev and focusing instead on first-principles design, correct layering, and building based on modern platforms (be that x86_64 or something else) and ignoring legacy devices like the PIT and PS2 etc.<p>I just wish we had good introductory documentation resources to reflect that, and that outdated resources weren’t overwhelmingly surfaced by search engines and now AI “summaries”.<p>None of the above is intended to take away from OPs achievement, which is fantastic, or from the work done over the years by the osdev community, who I’m sure largely do the best they can with what they have.</p>
]]></description><pubDate>Mon, 27 Oct 2025 07:45:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=45718330</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=45718330</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45718330</guid></item><item><title><![CDATA[New comment by noone_youknow in "How to create an OS from scratch"]]></title><description><![CDATA[
<p>Well put! This succinctly sums up the crux of my argument in my other comments.</p>
]]></description><pubDate>Tue, 30 Sep 2025 05:02:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=45422080</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=45422080</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45422080</guid></item><item><title><![CDATA[New comment by noone_youknow in "How to create an OS from scratch"]]></title><description><![CDATA[
<p>Even taking only x86_64 as an example, going from real to long modes is primarily of concern to those writing firmware these days - a modern operating system will take over from UEFI or a bootloader (itself usually a UEFI executable). The details of enabling A20, setting up segmentation and the GDT, loading sectors via BIOS etc are of course historically interesting (which is fine if that’s the goal!) but just aren’t that useful today.<p>The primary issue with most tutorials that I’ve seen is they don’t, when completed, leave one in a position of understanding “what’s next” in developing a usable system. Sticking with x86_64, those following will of course have set up a basic GDT, and even a bare-bones TSS, but won’t have much understanding of why they’ve done this or what they’ll need to do to next to support syscall, say, or properly layout interrupt stacks for long mode.<p>By focusing mainly on the minutiae of legacy initialisation (which nobody needs) and racing toward “bang for my buck” interactive features, the tutorials tend to leave those completing it with a patchy, outdated understanding of the basics and a simple baremetal program that is in no way architected as a good base upon which to continue toward building a usable OS kernel.</p>
]]></description><pubDate>Tue, 30 Sep 2025 04:57:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=45422038</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=45422038</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45422038</guid></item><item><title><![CDATA[New comment by noone_youknow in "How to create an OS from scratch"]]></title><description><![CDATA[
<p>While I agree this might be a fun resource and useful example code for various aspects of legacy x86 interfacing, I would urge anyone who hopes to actually get into OS development to ignore this (and in fact every other tutorial I’ve ever seen, including those hosted on the popular sites).<p>For all the reasons stated in the link from the README [1] and agreed by the author, this project should not be followed if one wants to gain an understanding of the design and implementation of operating systems for modern systems. Following it will likely lead only to another abandoned “hello world plus shell” that runs only in emulation of decades old hardware.<p>My advice is get the datasheets and programmers’ manuals (which are largely free) and use those to find ways to implement your own ideas.<p>[1] <a href="https://github.com/cfenollosa/os-tutorial/issues/269" rel="nofollow">https://github.com/cfenollosa/os-tutorial/issues/269</a></p>
]]></description><pubDate>Tue, 30 Sep 2025 00:57:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=45420765</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=45420765</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45420765</guid></item><item><title><![CDATA[New comment by noone_youknow in "Show HN: I wrote an OS in 1000 lines of Zig"]]></title><description><![CDATA[
<p>Sorry for the confusion, I was referring to the putchar not being implemented in OPs code, I got yours working right away (nice work btw).<p>What you mention about VGA being common on x86 was what got me curious, since it’s not a thing on riscv. In my own OS project I’m using a framebuffer to show a graphical terminal on both x86 and riscv64 so I wondered if OP was doing similar or was really using SBI output.</p>
]]></description><pubDate>Mon, 22 Sep 2025 17:45:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=45336925</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=45336925</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45336925</guid></item><item><title><![CDATA[New comment by noone_youknow in "Show HN: I wrote an OS in 1000 lines of Zig"]]></title><description><![CDATA[
<p>Thanks! I see that you’re using the SBI routines, which is what I was expecting here but couldn’t find - the reference to “output text to VGA” in the post made me curious.<p>I did see the putchar stub in the user.zig but, lacking understanding of zig, wasn’t sure how that could work given common.zig is looking for putChar in kernel.zig as far as I could tell.<p>I just jumped through a couple of hoops to get zig 0.13 installed and see an error about “root struct of file ‘kernel’ had no member named ‘putchar’” so I guess maybe it’s not implemented here at all.</p>
]]></description><pubDate>Mon, 22 Sep 2025 04:48:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=45329172</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=45329172</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45329172</guid></item><item><title><![CDATA[New comment by noone_youknow in "Show HN: I wrote an OS in 1000 lines of Zig"]]></title><description><![CDATA[
<p>Nice work! Looks like most of the basics are covered, and meanwhile in my current kernel the RISC-V <i>entrypoint</i> is >700 lines (of C) just to get to the arch-independent entrypoint!<p>I was just looking around for your input/output code, I don’t know zig but I expected to find putChar in kernel.zig based on the import in common.zig, but I don’t see it, should I be looking somewhere else? I didn’t see any simple command line processing either as mentioned in the README?<p>Mostly just looking around since your README mentioned VGA (and you seem to have a BIOS boot) which struck me as interesting on a RISC-V project, I was curious if you were actually using the SBI routines or had actually mapped in a VGA text mode buffer?</p>
]]></description><pubDate>Sun, 21 Sep 2025 22:30:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=45327257</link><dc:creator>noone_youknow</dc:creator><comments>https://news.ycombinator.com/item?id=45327257</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45327257</guid></item></channel></rss>