Mark's Avatar

Mark

@offlinemark

trying hard. streaming kernel dev - http://youtube.com/@offlinemark blogging about life, art & systems programming. non-expert work: @ableton, prev @trailofbits home: offlinemark.com/about berlin, de

253
Followers
185
Following
46
Posts
07.08.2023
Joined
Posts Following

Latest posts by Mark @offlinemark

building my own operating system in c++ (week 108, kernel threads)
building my own operating system in c++ (week 108, kernel threads) (detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!Iโ€™...

week 109, streaming kernel dev right now

topic: kernel threads (cooperative)

last week, we started a basic scheduler/thread implementation and got a single kernel thread running. going to work on switching between threads today

see ya ๐Ÿ‘‹

youtube.com/live/wWDHk4...

01.03.2026 15:00 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
building my own operating system in c++ (week 103, x86_64 interrupts)
building my own operating system in c++ (week 103, x86_64 interrupts) (detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!Iโ€™...

week 104, streaming kernel dev right now

topic: x86_64 interrupts

last week we started interrupts and got the most basic divide by zero exception handler working. will continue and flesh it out with a trap frame and handling it in c++

see ya ๐Ÿ‘‹

youtube.com/live/h6HwJD...

25.01.2026 15:00 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
building my own operating system in c++ (week 102, virtual memory)
building my own operating system in c++ (week 102, virtual memory) (detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!Iโ€™...

week 103, streaming kernel dev right now

topic: x86_64 interrupts

i'm moving on to setting up interrupts. i already did this before on JOS, but now will revisit it on 64 bit to learn how that differs, including new concepts like the IST

see ya ๐Ÿ‘‹

youtube.com/live/vVzgOE...

18.01.2026 15:00 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
building my own operating system in c++ (week 101, virtual memory)
building my own operating system in c++ (week 101, virtual memory) (detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!Iโ€™...

week 102, streaming kernel dev right now

topic: virtual memory

last week we got the kernel running on its own page tables for the first time. will continue with fleshing out the kernel's virtual address space

see ya ๐Ÿ‘‹

youtube.com/live/iJMQcC...

11.01.2026 15:00 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
building my own operating system in c++ (week 101, virtual memory)
building my own operating system in c++ (week 101, virtual memory) (detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!Iโ€™...

week 101, streaming kernel dev right now

topic: virtual memory

last week we got vm unmap started. might continue with this, but also might sanity check that basic mappings work within qemu. haven't done that yet, we have only used the unit tests so far

see ya ๐Ÿ‘‹

youtube.com/live/_PH6kF...

04.01.2026 15:00 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
building my own operating system in c++ (week 100!, virtual memory)
building my own operating system in c++ (week 100!, virtual memory) (detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!Iโ€™...

week 100! streaming kernel dev

topic: virtual memory unmap

continuing with virtual memory, i start working on a function to unmap pages from an address space. tried using a TDD approach which worked well!

prerecorded since I'm at #39c3!

see ya ๐Ÿ‘‹

www.youtube.com/watch?v=rqp...

28.12.2025 14:00 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
building my own operating system in c++ (week 98, virtual memory)
building my own operating system in c++ (week 98, virtual memory) (detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!Iโ€™...

week 99, streaming kernel dev right now

topic: virtual memory

last week we started implementing support for mapping memory using page tables, along with a basic unit test. will continue with this this week!

see ya ๐Ÿ‘‹

youtube.com/live/J63PmB...

21.12.2025 15:00 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
building my own operating system in c++ (week 97, page tables)
building my own operating system in c++ (week 97, page tables) (detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!Iโ€™...

week 98, streaming kernel dev right now

topic: virtual memory

last week, we got the page table code harnessed and runnable in a unit test. still not sure that's a good idea, but will continue with implementing virtual memory

see ya ๐Ÿ‘‹

youtube.com/live/3sWoM-...

14.12.2025 15:08 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
building my own operating system in c++ (week 93, page tables)
building my own operating system in c++ (week 93, page tables) (detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!Iโ€™...

week 97, streaming kernel dev right now

topic: virt mem/page tables

continuing with virtual memory/page tables. i'm interested to see to what extent I can make my page table code unit testable, will give this a try

see ya ๐Ÿ‘‹

youtube.com/live/xJAo_p...

06.12.2025 15:33 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Raspberry Pi Compute Module is the brain of Ableton Move
Raspberry Pi Compute Module is the brain of Ableton Move Raspberry Pi Compute Module is the brain of Ableton Move, allowing anyone to make and perform musicFind out more about Ableton Move at https://www.ableton.co...

I was interviewed by @Raspberry_Pi for my dayjob embedded systems work at @Ableton!

It's about Ableton Move, which is our portable device for making music. It's powered by a Raspberry Pi Compute Module, which has been great to work with :)

Check it out:
www.youtube.com/watch?v=G85...

04.12.2025 19:36 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
building my own operating system in c++ (week 96, page tables)
building my own operating system in c++ (week 96, page tables) (detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/XsgpqpVxNuWelcome!Iโ€™...

week 96, streaming kernel dev

topic: page tables

got started on a simple virt address class that makes it easier to extract the bits needed for page table indexing. will be useful for doing page table walks

(prerecorded since I'm away)

see ya ๐Ÿ‘‹

youtu.be/LRZ40QCKUno...

30.11.2025 15:00 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Yes i made some!!

21.11.2025 06:31 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
offlinemark offlinemark

Long shot, but does anyone have an extra CCC ticket I could buy? Wasnโ€™t able to get one in the open sales :/

Iโ€™d love to organize another hobby OS dev meetup and maybe do a small kernel dev workshop for anyone interested. Could also bring some merch to sell from shop.offlinemark.com ! ๐Ÿ™

18.11.2025 15:00 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
building my own operating system in c++ (week 94, physmap)
building my own operating system in c++ (week 94, physmap) (detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/XsgpqpVxNuWelcome!Iโ€™...

week 94, streaming kernel dev

topic: physmap

Working on some unit tests for the physmap physToVirt() and virtToPhys() functions today. Testing out LLM assisted unit test generation

(Prerecorded since I'm away)

see ya ๐Ÿ‘‹

youtu.be/oXY1ylrW6GM

16.11.2025 15:00 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
building my own operating system in c++ (week 93, page tables)
building my own operating system in c++ (week 93, page tables) (detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/XsgpqpVxNuWelcome!Iโ€™...

week 93, streaming kernel dev right now

topic: virtual memory

last week we finished the bitmap allocator, complete with unit tests. will continue on whatever's next, probably using that to allocate page tables and set up virtual memory

see ya ๐Ÿ‘‹

youtube.com/live/SO7x0Z...

09.11.2025 15:02 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
building my own operating system (week 82, c++ stl)
building my own operating system (week 82, c++ stl) (detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/XsgpqpVxNuWelcome!Iโ€™...

week 82, streaming kernel dev right now

topic: c++ STL

last week we got c++ working in the cmake build. now that we have that working, continuing today with trying out some embedded/freestanding STL options

see ya ๐Ÿ‘‹

youtube.com/live/-ukB4U...

24.08.2025 14:00 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
building my own operating system (week 81)
building my own operating system (week 81) (detailed timestamps in comments)#livecoding #operatingsystem #codingNew here? Welcome info here: https://offlinemark.com/welcomediscord: https://discord.gg/...

week 81, streaming kernel dev right now

topic: lldb, c++, STL

last week we got all the clang/llvm work ported over to cmake. will continue with using lldb instead of gdb, then moving on to c++ support (hopefully including some kind of STL to use)

see ya ๐Ÿ‘‹

youtube.com/live/lJRi_h...

17.08.2025 12:30 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
chill OS/kernel hacking // code with me (week 80, clang cmake)
chill OS/kernel hacking // code with me (week 80, clang cmake) (detailed timestamps in comments)#livecoding #softwareengineering #operatingsystem discord: https://discord.gg/XsgpqpVxNuWelcome! This is my chill Operating ...

week 80, streaming kernel dev right now

topic: clang/c++ cmake

last week we got limine integrated into cmake, will continue with porting the clang/c++ support I previously worked on, into cmake

see ya ๐Ÿ‘‹

youtube.com/live/jwvHrq...

10.08.2025 14:00 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
chill OS/kernel hacking in C // code with me (week 66)
chill OS/kernel hacking in C // code with me (week 66) #livecoding #softwareengineering #operatingsystem discord: https://discord.gg/XsgpqpVxNuWelcome! This is my chill Operating Systems development "gardening" p...

week 66, streaming kernel dev right now

topic: networking

last week we finally got RX working and received network data into userspace. continuing with networking today and likely finish the networking lab

see ya ๐Ÿ‘‹

youtube.com/live/7X8WKy...

04.05.2025 14:00 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
chill kernel hacking in C // code with me (PCI network driver, DMA)
chill kernel hacking in C // code with me (PCI network driver, DMA) (detailed timestamps in comments)#livecoding #softwareengineering #operatingsystem discord: https://discord.gg/XsgpqpVxNuWelcome! This is my chill Operating ...

week 59, streaming kernel dev right now

topic: network driver

continuing with last week's work to get the nic initialized!

see ya ๐Ÿ‘‹

youtube.com/live/Gf6Y_Q...

16.03.2025 15:00 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
chill kernel hacking in C // code with me
chill kernel hacking in C // code with me (detailed timestamps in comments)#livecoding #softwareengineering #operatingsystem discord: https://discord.gg/XsgpqpVxNuWelcome! This is my chill Operating ...

week 57, streaming kernel dev right now

topic: network/NIC driver

after learning last week about qemu networking, today we're going to work on initializing the network card via PCI and accessing it via mmio

see ya ๐Ÿ‘‹

youtube.com/live/cFfENG...

02.03.2025 15:00 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
offlinemark - Twitch 5k on youtube, and now joining twitch!streaming low level programming, assembly, and operating systems internals :)

twitch: www.twitch.tv/offlinemark

23.02.2025 15:00 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
chill kernel hacking in C // code with me (week 55)
chill kernel hacking in C // code with me (week 55) (detailed timestamps in comments)#livecoding #softwareengineering #operatingsystem discord: https://discord.gg/XsgpqpVxNuWelcome! This is my chill Operating ...

week 56, streaming kernel dev right now

topic: network driver

starting the network driver, which is the final lab of the coursework I'm following

(also, multi-streaming to twitch today for the first time)

see ya ๐Ÿ‘‹

youtube.com/live/j4o7Km...

23.02.2025 15:00 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
chill kernel hacking in C // code with me (week 54)
chill kernel hacking in C // code with me (week 54) (detailed timestamps in comments)#livecoding #softwareengineering #operatingsystem discord: https://discord.gg/XsgpqpVxNuWelcome! This is my chill Operating ...

week 54, streaming kernel dev

topic: filesystem / process spawn

streaming some filesystem dev and debugging, then moving onto start process spawning

(prerecorded since i'm away today, back live next week - see ya ๐Ÿ‘‹)

www.youtube.com/watch?v=E0K...

16.02.2025 15:00 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
chill kernel hacking in C // code with me
chill kernel hacking in C // code with me (detailed timestamps in comments)#livecoding #softwareengineering #operatingsystem discord: https://discord.gg/XsgpqpVxNuWelcome! This is my chill Operating ...

week 55, streaming kernel dev right now

topic: exec / spawn syscall

now that we have a filesystem, we can try to exec programs from disk :) working on this today

see ya ๐Ÿ‘‹

youtube.com/live/-FeYOM...

09.02.2025 15:00 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
chill kernel hacking in C // code with me
chill kernel hacking in C // code with me (detailed timestamps in comments)#livecoding #softwareengineering #operatingsystem discord: https://discord.gg/XsgpqpVxNuWelcome! This is my chill Operating ...

week 53, streaming kernel dev right now

topic: filesystem

working on the core fs routines for walking the filesystem to find disk blocks

see ya ๐Ÿ‘‹

youtube.com/live/zTUK5f...

02.02.2025 15:00 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
chill kernel hacking EVERY week (week 52!!! filesystem)
chill kernel hacking EVERY week (week 52!!! filesystem) (detailed timestamps in comments)#livecoding #softwareengineering #operatingsystem discord: https://discord.gg/XsgpqpVxNuWelcome! This is my chill Operating ...

week 52! streaming kernel dev right now

topic: continue hacking on the filesystem

see ya ๐Ÿ‘‹

youtube.com/live/3o-CYb...

26.01.2025 15:00 ๐Ÿ‘ 1 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
chill kernel hacking every week (week 50, debug boot virt mem)
chill kernel hacking every week (week 50, debug boot virt mem) (detailed timestamps in comments)#livecoding #softwareengineering #operatingsystem discord: https://discord.gg/XsgpqpVxNuWelcome! This is my chill Operating ...

week 51, streaming kernel dev right now

topic: filesystem

needed to debug some boot issues last week after merging in the new lab code; will actually start the filesystem work today

see ya ๐Ÿ‘‹

youtube.com/live/bNg7oQ...

19.01.2025 15:00 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
YouTube Share your videos with friends, family, and the world

week 50! streaming kernel dev right now

topic: begin filesystem

finished the multicore/fork/IPC labs last week, beginning filesystem work this week ๐Ÿค 

see ya ๐Ÿ‘‹

youtube.com/live/kVPJ95o...

12.01.2025 15:00 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
chill kernel hacking every week
chill kernel hacking every week (detailed timestamps in comments)#livecoding #softwareengineering #operatingsystem discord: https://discord.gg/XsgpqpVxNuWelcome! This is my chill Operating ...

week 49, streaming kernel dev right now

topic: basic IPC

working on a basic IPC system so processes can send messages between each other

see ya ๐Ÿ‘‹

youtube.com/live/35QuRw...

05.01.2025 15:00 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0