![/proc](/drawings/thumbnails/proc.jpeg)
Hello! I'm Julia. I blog at jvns.ca. Here are some drawings about programming.
I don't update this site anymore: nothing has been added since 2018. You can find hundreds more of my comics at wizardzines.com/comics.
![/proc](/drawings/thumbnails/proc.jpeg)
![Signals](/drawings/thumbnails/signals.jpeg)
![File descriptors](/drawings/thumbnails/filedescriptors.jpeg)
![Unix domain sockets](/drawings/thumbnails/unixdomain.jpeg)
![Sockets](/drawings/thumbnails/sockets.jpeg)
![Productive conversations](/drawings/thumbnails/productiveconversations.jpeg)
![rr: time travelling debugger](/drawings/thumbnails/rr.jpeg)
![Unix permissions](/drawings/thumbnails/unixpermissions.jpeg)
![Linux tracing tools](/drawings/thumbnails/linux-tracing.png)
![ACID](/drawings/thumbnails/acid.png)
![Scenes from Kubernetes](/drawings/thumbnails/scenes-from-kubernetes-page1.png)
![BPF filters](/drawings/thumbnails/bpf.png)
![no feigning surprise](/drawings/thumbnails/surprise.png)
![Inter-process communication](/drawings/thumbnails/ipc.png)
![Bash tips](/drawings/thumbnails/bashtips.png)
![Computers are fast](/drawings/thumbnails/computers-are-fast.png)
![Two factor authentication!](/drawings/thumbnails/2fa.png)
![CSRF](/drawings/thumbnails/csrf.png)
![libc](/drawings/thumbnails/libc.png)
![Amazing interfaces to instrument](/drawings/thumbnails/interfaces.png)
![Blogging principles](/drawings/thumbnails/blogging-principles.png)
![cross-origin resource sharing](/drawings/thumbnails/cors.png)
![Copy on write](/drawings/thumbnails/copyonwrite.png)
![The page table](/drawings/thumbnails/pagetable.png)
![User space vs kernel space](/drawings/thumbnails/userspace.png)
![Assembly](/drawings/thumbnails/assembly.png)
![Mutexes](/drawings/thumbnails/mutexes.png)
![CPU scheduling](/drawings/thumbnails/scheduling.png)
![Networking layers](/drawings/thumbnails/layers.png)
![Networking concepts](/drawings/thumbnails/networking.png)
![Anatomy of a packet](/drawings/thumbnails/packet.png)
![What's the stack?](/drawings/thumbnails/stack.png)
![What's a MAC address?](/drawings/thumbnails/mac-address.png)
![Floating point numbers](/drawings/thumbnails/float.png)
![TCP basics!](/drawings/thumbnails/tcp-1.png)
![Threads!](/drawings/thumbnails/threads.png)
![Man pages are amazing](/drawings/thumbnails/man.png)
![Pipes](/drawings/thumbnails/pipes.png)
![Memory allocation](/drawings/thumbnails/malloc.png)
![The CAP theorem](/drawings/thumbnails/cap.png)
![IPv6](/drawings/thumbnails/ipv6.png)
![Network address translation](/drawings/thumbnails/nat.png)
![What's in a process?](/drawings/thumbnails/process.png)
![How does DNS work?](/drawings/thumbnails/dns.png)
![Why are big directories slow?](/drawings/thumbnails/directories.png)
![What's an inode?](/drawings/thumbnails/inodes.png)
![What's slow on a computer?](/drawings/thumbnails/fastcomputer.png)
![How I got better at debugging](/drawings/thumbnails/better-debugging.png)
![The senior engineer](/drawings/thumbnails/the-senior-engineer.png)
![Ways I want my team to be](/drawings/thumbnails/team.png)
![Distributed systems](/drawings/thumbnails/distributed-systems.png)
![What does your OS even do?](/drawings/thumbnails/os-responsibilities.png)
![The filesystem cache](/drawings/thumbnails/filesystem-cache.png)
![How to talk to your operating system](/drawings/thumbnails/syscalls.png)
![How to be a wizard programmer](/drawings/thumbnails/wizard-programmer.png)
Hello! I'm Julia. I blog at jvns.ca. Here are some drawings about programming.
I don't update this site anymore: nothing has been added since 2018. You can find hundreds more of my comics at wizardzines.com/comics.