Youtube

OSDEV[0x1]: Studying Strategy (for Writing an Operating System)


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.

OSDev[0x0]: Writing an Operating System


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.

I'm in the Business of Ideation

People have been responding to emacs and my beard.

comments

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.

My Emacs Journey

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.

Emacs is also the core of my first major youtube breakthrough.

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.

Consumption Update

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.

Common Lisp : The Series - 0.1 : Representing Programs

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).



Further reading

Call to collaborate

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.

My Creation and Publishing Pipeline

This is an auxilliary post collating resources for the recent video I posted …

The Pipeline

  1. All the ideas, resources that I want to process, any miscellaneous questions I have, are fed into the input-queue in the buffer
  2. All the manipulation takes place in these buffers - they’re org-files and I use org-roam to maintain the connections
  3. whenever a node set ripens and is worth sharing, I write a post or publish a video.
  4. 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.