This video is the second part (0x1) of a series on writing an operating system. The creator, Raj, details the comprehensive studying and logging strategy he has designed to tackle this long-term project. The goal is to create a structured approach that fosters deep understanding, maintains motivation, and effectively manages the vast scope of the endeavor.
This video serves as an announcement and introduction to a new, long-term project: Operating System Development (OSDev). The creator, Raj, explains his motivations for taking on this formidable challenge, his plan for documenting the journey, and the tools he intends to use.
Why OSDev? The Motivation for a New Challenge
[00:00:15] Raj explains he’s been feeling bored with typical software engineering projects, which often feel too easy, especially with the rise of powerful LLMs.
[00:01:21] He was seeking a “formidable project” that would genuinely challenge him and couldn’t be easily solved by an AI tool.
[00:03:00] A primary driver is a personal quest to feel competent. He believes that successfully building an operating system will cement his confidence as an engineer.
[00:04:36] He wants to move beyond being a “hand-wavish” software engineer and gain a deep, fundamental understanding of the systems he uses daily, such as systemd.
[00:05:43] The project also serves as an opportunity to get back into reading textbooks and explore “old-school” computing concepts, which he enjoys.
Project Plan and Documentation
[00:02:40] The video series will be unstructured, presented as work logs and journals rather than polished tutorials. He compares the process to exploring an “open-world RPG.”
[00:02:47] His entire journey, including notes and logs, will be version-controlled and publicly available in a GitHub repository.
[00:10:48] He plans for a continuous, podcast-style format with at least one video per week (Saturdays), supplemented by shorter, micro-video updates for milestones to maintain a tight feedback loop with his audience.
Tooling and Workflow
[00:06:21] Emacs will be the central hub for the project, used for coding, note-taking, journaling, and as an LLM client.
[00:07:44] He will use Tmux for terminal management and work within an openSUSE Tumbleweed environment.
[00:10:14] The project will involve programming in C and Assembly, which he sees as a return to the fundamentals of programming.
Channel Direction and Future Goals
[00:09:44] Raj wants to shift his channel’s focus from showcasing tools in a “glass case” to demonstrating them in a real-world, complex application.
[00:13:00] OSDev provides a natural, unforced use case to explore and evaluate different tools and programming philosophies.
[00:11:15] He hopes the documented journey can serve as a guide for others who might want to start OSDev from scratch in the future.
Conclusion
Raj concludes by expressing his excitement for this new, challenging venture. He emphasizes that this project is as much for his personal growth and learning as it is for creating content. He plans to be much more regular with his uploads and invites viewers to follow along on this ambitious journey.
People have been responding to emacs and my beard.
For a while I thought I did not have a lot to say. Turns out a lot of other humans are quite interested in the much of the same things that I’m into: my hatred for the mouse, and the consequent love for efficient workflows being some of them.
I’ll give the people what they want: I get to enjoy esoteric tech and spread the word, growing a cult, while other humans have enlightened experiences (believe me I do talk like this in person) and continue propogating the techno-propaganda about enjoying computer science.
Emacs has been a trustworthy companion of mine for around 4+ years now. We’ve shared some highs and lows. I owe a major fraction of whatever conceptual depth I maintain in computer science to messing around with my tools.
I haven’t yet explored the emacs niche completely and will be investing more time into honing my repertoire and understanding what sort of mindset the tooling expects from you rather than just fitting emacs into my thoughts.
Two days ago I found myself scrolling mindlessly for half an hour and
I decided I need to decide for real as to how I’m going to deal with
this issue.
The problem with such a habit is that it is very convenient, engaging
and it slices into precious time that I’d rather spend doing something
more difficult and rewarding like reading.
While devising a strategy to deal with this behaviour, I concluded
that videos themselves (long and short form) are the culprit to these
new time sinks that I’ve been experiencing.
What makes lisp so unique is the way its code is structured - you
definitely can’t miss all those parentheses. In this section of the
series, I discuss the cause for such a representation and how that
makes lisp unique in terms of how it views its code as data as code (aka homo-iconicity).
If you’re someone who shares the dream of making lisp popular and
mainstream so that we can use it for our jobs and don’t have to switch
to blubs to make a living (without denting its charm of course) ,
consider contributing to the notes and hit me up via mail or any of
the other media I’m present on.
This is an auxilliary post collating resources for the recent video I
posted …
The Pipeline
All the ideas, resources that I want to process, any miscellaneous
questions I have, are fed into the input-queue in the buffer
All the manipulation takes place in these buffers - they’re
org-files and I use org-roam to maintain the connections
whenever a node set ripens and is worth sharing, I write a
post or publish a video.
It can go both ways : I can force a set into maturity if I wish to
publish something specific or I may chance upon a concept when
observing connections.
Observations
I use org-roam-ui to
visualize the buffer and check for linkages that might result in
something useful. I also want to publish this graph (demonstrated in
video) but there’s no explicit solution for that yet and I’m planning
to build one myself with rust and webassembly as a compilation
target.