mbox  [c5 g5 eb5 ~ bb4 d5 ~ g4] [f5 eb5 c5 ~ g4 bb4 d5 ~]
 piano  <[c3 [eb3,g3] bb3 [d4,g4]] [ab2 [c3,eb3] g3 [c4,eb4]] [eb3 [g3,bb3] d4 [f4,bb4]] [bb2 [d3,f3] ab3 [c4,f4]]>
   voice  <[~ g4 ~ [c5 eb5]] [eb5 ~ [d5 c5]] [~ f4 g4 ~] [bb4 ~ [c5 d5] ~]>
 strings  <[c3,g3,eb4,bb4] [ab2,eb3,c4,g4] [eb3,bb3,g4,d5] [bb2,f3,d4,c5]>
   tick  hh
    step  rim
  heart  bd ~ ~ ~ ~ bd ~
     sub  <c2 ab1 eb2 bb1>
       drill  <[~ ~ [sd*4 sd*8]] [[mt*4 sd*4] ~ [sd*8 ~] [sd*4 mt*8]] [~ [sd*8 mt*4] ~ [sd*4 ~]]>
 flicker  ~ ~ ~ [sd*8]
home
Blog Projects Resume
Blog Projects Resume
  1. Blog
all c docker kvm linux networking personal self-hosting
Writing a Hypervisor - Part 2: UART, Interrupts & Running Linux

Writing a Hypervisor - Part 2: UART, Interrupts & Running Linux

June 7, 2026 | 13 min | 1630 words

This series of blog posts mainly records my process of trying to implement a Hypervisor.

kvm linux c
Writing a Hypervisor - Part 1: KVM, vCPU Setup & Loading Linux

Writing a Hypervisor - Part 1: KVM, vCPU Setup & Loading Linux

April 24, 2026 | 12 min | 1560 words

This series of blog posts mainly records my process of trying to implement a Hypervisor.

kvm linux c
My New Addiction Self Hosting

My New Addiction Self Hosting

March 11, 2026 | 4 min | 849 words

Falling down the rabbit hole of self-hosting, servers, and becoming an amateur sysadmin

self-hosting linux docker
Inside a Network Packet

Inside a Network Packet

January 17, 2026 | 10 min | 2050 words

A deep dive into network protocols

networking c
My Linux Journey So Far

My Linux Journey So Far

December 27, 2025 | 2 min | 392 words

My Linux journey in detail

linux personal
farhan © 2026 All rights reserved.