[{"content":"Hey there. Welcome to the official BoredOS blog.\nIf you\u0026rsquo;ve somehow stumbled here without knowing what BoredOS is: it\u0026rsquo;s a general-purpose UNIX-like operating system built entirely from scratch. No Linux under the hood, no borrowed kernel. Just a lot of C, a lot of late nights, and a growing community of people who apparently enjoy this kind of suffering as much as I do.\nWhat this blog is for This isn\u0026rsquo;t a marketing page. It\u0026rsquo;s a dev log - a place where the people building BoredOS can write about what they\u0026rsquo;re working on, what broke, what they learned, and what\u0026rsquo;s coming next.\nSome posts will be deep technical dives. Some will be retrospectives. Some might just be \u0026ldquo;here\u0026rsquo;s a weird thing I found in the codebase and here\u0026rsquo;s why it\u0026rsquo;s like that.\u0026rdquo; The goal is to document the project in a human way, not just through commits and changelogs.\nWhere we\u0026rsquo;ve been BoredOS has been going for just over three years now. What started as me following a bad GRUB tutorial in late 2023 has grown into a real operating system: 380,000+ lines of code, 12 contributors, 3 maintainers, and nearly 200 GitHub stars. If you want the full origin story, I wrote about it in detail here: BoredOS: Three years of building an OS from scratch (And loving every minute of it).\nWho\u0026rsquo;s writing here For now, that\u0026rsquo;s mostly me (Christiaan). But this blog is open to all contributors. If you\u0026rsquo;ve sent a PR, opened an issue, or just been part of the community, you have something worth writing about.\nIf you want to contribute a post, reach out or open a PR on the blog repo.\nWhere to find us The main project lives at github.com/BoredOS/BoredOS. Issues, discussions, and PRs are always welcome. If you\u0026rsquo;re curious about the project or want to get involved, that\u0026rsquo;s the place to start.\nThanks for reading. More posts coming soon.\n— Christiaan\n","permalink":"http://blog.boredos.dev/posts/firstpost/","summary":"What this blog is, who it\u0026rsquo;s for, and why we decided to start writing.","title":"Welcome to the BoredOS Blog"},{"content":"My name is Christiaan, the founder of BoredOS, and somewhere in late 2023 I followed a terrible tutorial on how to boot with GRUB and print text to the screen. That was a mistake. A wonderful, consuming, life-ruining mistake.\nI got hooked immediately. Not because the tutorial was good (it wasn\u0026rsquo;t), but because something clicked when I saw those first characters appear on a screen running code I had written, on a machine that didn\u0026rsquo;t know it was supposed to do anything at all. I started poking at things I didn\u0026rsquo;t understand. I made some genuinely awful decisions. I shipped jank I\u0026rsquo;m still slightly embarrassed about. And I couldn\u0026rsquo;t stop.\nFlash forward three years: BoredOS has grown from that boot stub into a real UNIX-like operating system, over 380,000 lines of code, 12 contributors, 3 maintainers, nearly 200 GitHub stars, and 24 forks. It\u0026rsquo;s had more name changes than I care to admit.\nWhat it actually does BoredOS is a GP (General Purpose) operating system, and was always intended as such. It boots on real hardware (of course), drops you into a TTY using the Bored Shell (bsh) It has support for PS/2 inputs, framebuffer/VGA video, pcspk audio, IDE, AHCI, Networking, etc etc. Point is, it\u0026rsquo;s a lot. In BoredOS i\u0026rsquo;m working on getting the syscalls as minimal as possible and using the VFS as much as i can. This VFS is of course, very UNIX like: /dev for devices, /proc for processes etc. Bog standard. Some recent additions to the kernel are: shm (Shared memory) and PTY\u0026rsquo;s (Pseudo terminals.)\nWhat i got wrong (and learned from) No OS journey is perfect, of course. Neither was mine. For some godforsaken reason, a few years ago, i decided to write all applications as header files, literally just C header files and have them directly into the kernel.. Really, what was i even thinking. Luckily this is no longer the case. BoredOS since recent actually grabs the whole userland (custom libc, coreutils, netutils etc.) from other repo\u0026rsquo;s and puts these inside of external/. Once i actually got my userspace working years ago, i was using syscalls for just about everything. Even to interface with specific devices.. This now luckily all goes through the VFS and the only syscall left for a device is for the pcspk.. That\u0026rsquo;s still on my list.. So yeah, it\u0026rsquo;s not perfect. And there\u0026rsquo;s no reason for it to be.\nThe people who made it real. I didn\u0026rsquo;t expect anyone else to care about this, though I made some TikToks here and there showing off my OS, just to see what would happen. And then, out of nowhere, contributors started showing up. I still remember the surprise of seeing that first PR from a stranger - Someone who had just found the project and actually wanted to help it grow. That made me genuinely happy in a way I didn\u0026rsquo;t expect. First came Lucas (Lluciocc), a French guy who made some amazing PRs and is now a maintainer. Then the contributors just kept pouring in. Now sitting at 12 contributors and 3 maintainers. Me, Lluciocc, and Mellurboo. I\u0026rsquo;m so grateful to all of these amazing people.\nWhere it\u0026rsquo;s going. BoredOS started with goals that were, honestly, all over the place. That\u0026rsquo;s still very true - and i\u0026rsquo;ve made peace with it. Passion projects don\u0026rsquo;t need a roadmap. They simply need dedication and love.\nIf any of this sounds interesting, the repo is Available on GitHub. Contributions are welcome, questions and suggestions even more so. (Especially if it\u0026rsquo;s pointing out the jank i need to fix.) This article is originally from https://blog.boreddev.nl\n","permalink":"http://blog.boredos.dev/posts/boredos/","summary":"The story of how a bad tutorial turned into a three-year (and ongoing) obsession.","title":"BoredOS: Three years of building an OS from scratch (And loving every minute of it)"},{"content":"Hiya, I\u0026rsquo;m Chris, the BoredOS founder. If you\u0026rsquo;ve been following my work on boredOS, you know that I\u0026rsquo;ve been building the operating system entirely from scratch. Recently, that journey led me down the rabbit hole of creating my own custom network stack and even a bespoke web browser.\nBut once you have a scratch-built browser, you quickly run into a massive problem: the modern internet is incredibly heavily bloated. Loading today\u0026rsquo;s JavaScript-heavy websites on a minimalist, homebrew browser is a nightmare, but I still really wanted an easy way to actually surf the web from within my own OS.\nEnter BoredFind.\nWhat is BoredFind? BoredFind is a ridiculously lightweight search engine and web proxy. Under the hood, it hooks into DuckDuckGo to grab search results, but before it sends any website back to the browser, it aggressively strips the page down to the absolute bare minimum.\nIt rips out the styling, scripts, and heavy DOM elements, converting complex websites into simple text and HTML 2.0-style hyperlinks. It even aggregates news from RSS feeds! Everything is constrained and normalized so that it renders perfectly and beautifully within my OS\u0026rsquo;s VGA font limitations.\nBoredfind also includes some RSS news feed functionality allowing you to read the latest news from various sources, including the BBC, NOS and the NPR.\nWhy Build It? I actually didn\u0026rsquo;t want to build this at first. My original plan was to point my browser at FrogFind, an awesome project created by Action Retro (whose channel and work I absolutely love) designed to let vintage computers browse the modern internet.\nIt sounded like the perfect fit for boredOS. Unfortunately, when I tried it, I found that FrogFind wasn\u0026rsquo;t able to load any searches and I remember it having a lot of sites it couldn\u0026rsquo;t parse before it completely broke.\nSince I had already built my own OS, my own TCP/IP stack, and my own browser\u0026hellip; I figured I might as well build my own proxy, too.\nI whipped up BoredFind in PHP. It acts as the perfect middleman, taking the chaos of the 2026 internet and digesting it into a hyper-simple format that my browser can easily parse and display.\nThere is something so satisfying about doing a web search when you wrote the OS, the network stack, the browser, and the search proxy. It\u0026rsquo;s the ultimate giga chad coding experience.\nCheck boredFind out for yourself!\nAlso have a look at the BoredOS Project. This article is originally from https://blog.boreddev.nl\n","permalink":"http://blog.boredos.dev/posts/boredfind/","summary":"\u003cp\u003eHiya, I\u0026rsquo;m Chris, the BoredOS founder.\nIf you\u0026rsquo;ve been following my work on \u003cstrong\u003eboredOS\u003c/strong\u003e, you know that I\u0026rsquo;ve been building the operating system entirely from scratch. Recently, that journey led me down the rabbit hole of creating my own custom network stack and even a bespoke web browser.\u003c/p\u003e\n\u003cp\u003eBut once you have a scratch-built browser, you quickly run into a massive problem: the modern internet is incredibly heavily bloated. Loading today\u0026rsquo;s JavaScript-heavy websites on a minimalist, homebrew browser is a nightmare, but I still really wanted an easy way to actually surf the web from within my own OS.\u003c/p\u003e","title":"Introducing BoredFind: Browsing the Modern Web from a Scratch-Built OS"},{"content":"Hi, I\u0026rsquo;m Chris! ","permalink":"http://blog.boredos.dev/about/","summary":"\u003ch1 id=\"hi-im-chris\"\u003eHi, I\u0026rsquo;m Chris!\u003c/h1\u003e","title":"About"}]