Skip to content

Instantly share code, notes, and snippets.

View naltun's full-sized avatar
🕊️
Free/Libre Software to the rescue

Noah naltun

🕊️
Free/Libre Software to the rescue
View GitHub Profile
@sMezaOrellana
sMezaOrellana / xv6kernel.md
Last active January 8, 2026 15:14
Extending The xv6 Kernel - Adding A System Call

Extending The xv6 Kernel - Adding A System Call

This document show how you can extend the xv6 kernel by a new system call, getppid(). We do this by modifying the syscall.h, syscall.c and sysproc.c files in the kernel code and modifying user.h and usys.S in the user space code.

Introduction

The xv6 kernel, henceforth referred to as the kernel, is a re-implementation of the unix version 6 kernel. Originally written by Dennis Ritchie and Ken Thompson in 1975 using the C programming language. The kernel targets two architectures: x86 and risc-v . this document focuses on the x86 version. Xv6 is an operating system developed in 2006 by MIT for educational purposes. It is used in MIT’s undergraduate course: CS 6.1810: Operating Systems Engineering . The complete implementation of xv6 is around 6000 lines of code which makes it ideal to study and understand the main concepts of an (unix) operating system.

Installation & Building

If you want to play around with the kernel you will need the f

@aalmiramolla
aalmiramolla / traceroute.py
Last active June 26, 2024 09:09 — forked from inaz2/traceroute.py
Python implementation of traceroute
# references:
# Learning by doing: Writing your own traceroute in 8 easy steps (Ksplice Blog)
# https://blogs.oracle.com/ksplice/entry/learning_by_doing_writing_your
# Edited by: Alejandro Almira <laboral at alejandroalmira.com>
import datetime
import socket
import sys
@ityonemo
ityonemo / test.md
Last active January 17, 2026 18:44
Zig in 30 minutes

A half-hour to learn Zig

This is inspired by https://fasterthanli.me/blog/2020/a-half-hour-to-learn-rust/

Basics

the command zig run my_code.zig will compile and immediately run your Zig program. Each of these cells contains a zig program that you can try to run (some of them contain compile-time errors that you can comment out to play with)

@graninas
graninas / What_killed_Haskell_could_kill_Rust.md
Last active December 27, 2025 05:35
What killed Haskell, could kill Rust, too

At the beginning of 2030, I found this essay in my archives. From what I know today, I think it was very insightful at the moment of writing. And I feel it should be published because it can teach us, Rust developers, how to prevent that sad story from happening again.


What killed Haskell, could kill Rust, too

What killed Haskell, could kill Rust, too. Why would I even mention Haskell in this context? Well, Haskell and Rust are deeply related. Not because Rust is Haskell without HKTs. (Some of you know what that means, and the rest of you will wonder for a very long time). Much of the style of Rust is similar in many ways to the style of Haskell. In some sense Rust is a reincarnation of Haskell, with a little bit of C-ish like syntax, a very small amount.

Is Haskell dead?

@afresh1
afresh1 / openbsd-httpd-fastcgi-notes.md
Created July 12, 2020 21:26
Notes on how OpenBSD's httpd handles its FastCGI parameters. Debugging it with slowcgi.

These examples all live in a default server block in your httpd.conf(5).

server "default" {
	listen on * port 80
	... # all the location blocks can together right here
}

We'll be using slowcgi(8) as the example, because with the -d flag it helpfully spits out the FastCGI environment it got from httpd(8) and what it's planning to do with that.

@llandsmeer
llandsmeer / libtccdemo.c
Created March 9, 2020 20:38
LibTCC demo - usage example for live c code compilation & execution
#include <stdio.h>
#include <stdlib.h>
#include <libtcc.h>
void callme(int x) {
printf("hello, %d\n", x);
}
void error_func(void * user, const char * msg) {
printf("TCC Error: %s\n", msg);
@ausfestivus
ausfestivus / AzureRegionData.md
Last active September 18, 2025 10:55
A list of the Azure regions

List of Azure Regions

A list of all the region names and locations for Azure

Creating the list

You can recreate the list anytime using this command:

az account list-locations -o table
@janlelis
janlelis / irb.rb
Last active April 8, 2024 09:21
Minimal Ruby REPL
ruby -e'_,__="",binding;loop do$><<">> "if$/>_
puts"=> %p"%[__.eval(_+=gets||exit!),_=""]
rescue Exception
puts"\e[31m%p\e[0m"%[$!,_=""]if/d e|ee/!~"#$!"end'
@ClaesBas
ClaesBas / OpenBSD_on_SmartOS_with_BHYVE
Last active December 25, 2025 17:50
How to install OpenBSD on SmartOS with bhyve hypervisor (OpenBSD65 and SmartOS 20190424)
How to install OpenBSD with bhyve-vm on SmartOS (20190424):
tl;dr:
Create a bhyve vm with an empty disk, where you put an install image with dd afterwards.
"bhyve_extra_opts": "-w"
"bootrom": "uefi"
"vcpus": 1 (is needed too, some say..)
Change to serial console when booting the install image
Do it like this:
@lisawolderiksen
lisawolderiksen / git-commit-template.md
Last active December 26, 2025 19:04
Use a Git commit message template to write better commit messages

Using Git Commit Message Templates to Write Better Commit Messages

The always enthusiastic and knowledgeable mr. @jasaltvik shared with our team an article on writing (good) Git commit messages: How to Write a Git Commit Message. This excellent article explains why good Git commit messages are important, and explains what constitutes a good commit message. I wholeheartedly agree with what @cbeams writes in his article. (Have you read it yet? If not, go read it now. I'll wait.) It's sensible stuff. So I decided to start following the