Advertisement · 728 × 90

Posts by Raunak

Preview
A userspace sandbox which uses SOCKS proxy to restrict network access (inspired by oniux) A userspace sandbox which uses SOCKS proxy to restrict network access (inspired by oniux) - sockpuppet.c

Wrote a userspace sandboxing program which ensures all internet access (TCP+UDP) for child processes goes through a SOCKS proxy: gist.github.com/rrampage/92f...

This is inspired by Tor's Oniux

#linux #docker #sandbox

3 months ago 1 0 0 0

TIL that we can check public IP address via DNS lookup:
- `dig +short myip.opendns.com @resolver1.opendns.com -4`
- `dig +short AAAA myip.opendns.com @resolver1.opendns.com` (IPv6)
- dig +short ANY whoami.akamai.net @ns1-1.akamaitech.net
- `dig +short TXT o-o.myaddr.l.google.com @ns1.google.com`

3 months ago 0 0 0 0
A 193 byte ELF kernel printing Hello World to UART

A 193 byte ELF kernel printing Hello World to UART

Built a tiny Hello World ARM64 ELF kernel which boots in a UEFI shell on QEMU. It compiles to a 193 byte binary.

Learning a lot about bootloaders, ARM64 device trees, QEMU. Would love links to useful resources and tips for debugging

Code: gist.github.com/rrampage/c66...

9 months ago 2 0 0 0

Would love to give this a try!

9 months ago 0 0 1 0
strace tips for better debugging Recently, I have been building software without libc to better understand Linux syscalls and internals better. So far, I have built a minimal shell, terminal Snake game, pure ARM64 assembly HTTP serve...

My strace command is usually like `strace -fintrCDTYyy -o strace.log -v -s128`. Wrote a blog: rrampage.github.io/2025/06/13/s...

I remember a faulty rsync command causing a prod issue because of one of the options deleting files from the destination. We called it "rsink"

9 months ago 0 0 0 0
Preview
JIT calculator JIT calculator. GitHub Gist: instantly share code, notes, and snippets.

Solved the JIT calculator challenge using ARM64 assembly. This challenge helped me understand the mechanisms on executing JIT code on Linux. Learned more about the memfd_create and mmap syscalls.
Code: gist.github.com/rrampage/8d1...
Challenge: ochagavia.nl/blog/the-jit...
#linux #arm64

9 months ago 1 1 0 0
Preview
JIT calculator JIT calculator. GitHub Gist: instantly share code, notes, and snippets.

Solved the JIT calculator challenge using ARM64 assembly. This challenge helped me understand the mechanisms on executing JIT code on Linux. Learned more about the memfd_create and mmap syscalls.
Code: gist.github.com/rrampage/8d1...
Challenge: ochagavia.nl/blog/the-jit...
#linux #arm64

9 months ago 1 1 0 0
Preview
Handcrafted Elf Binary from assembly (without linker) Handcrafted Elf Binary from assembly (without linker) - teensy.S

Hand-crafted ELF in ARM64 assembly (no linker!): gist.github.com/rrampage/745...

Wrote the ELF headers in the assembly file. Uses `as` to create the object file and `objcopy` to fish out the binary which is a valid ELF. ELF headers overhead is 120 bytes. Code is 12 bytes. #linux #arm64 #elf

9 months ago 2 0 0 0
elfcat visualization of binary. Just 56 bytes of code and 176 bytes overall

elfcat visualization of binary. Just 56 bytes of code and 176 bytes overall

ARM64 implementation of `yes` utility, similar throughput as GNU yes. Compiles to 176 bytes! Code: gist.github.com/rrampage/157...

#linux #arm

9 months ago 0 0 0 0
Advertisement
strace tips for better debugging Recently, I have been building software without libc to better understand Linux syscalls and internals better. So far, I have built a minimal shell, terminal Snake game, pure ARM64 assembly HTTP serve...

Wrote up a small post on using strace to better debug Linux programs: rrampage.github.io/2025/06/13/s...

#linux #strace #debug

10 months ago 0 0 0 0

Cleaned up the C code to not rely on any standard library. Now binaries for both C and Zig are at ~5kb.

Next step, write own _start function instead of relying on the main function

11 months ago 0 0 0 0
Preview
Minimal Linux shell (C, Zig and ASM) Minimal Linux shell (C, Zig and ASM). GitHub Gist: instantly share code, notes, and snippets.

A minimal Linux shell in C and Zig: gist.github.com/rrampage/504...
- <10 kb executables (using `zig cc` for C and `- O ReleaseSmall` for Zig)
- Uses `clone3` instead of `fork`, `getdents64` to check for file name in large directories, `execveat` to open binary from `dirfd` used in getdents64
#zig

11 months ago 0 0 1 0

TIL you can start a SSH session in screen/tmux which will auto-end on detach e.g `ssh user@server -t tmux new-session -A -s S1` or `ssh user@server -t screen -d -R S1`. This will create a session "S1" if it does not exist and attach to "S1" if it exists. Useful for running commands on flaky network

1 year ago 0 0 0 0
Preview
Install NixOS on a Free Oracle Cloud VM Oracle is not a very popular cloud hosting service, but they have an unusually attractive free tier offering. You can run the following two VMs for free 24/7: 4 CPU / 24 GB RAM Ampere A1 ARM VM 1 CPU...

@mtlynch.io Followed your awesome post mtlynch.io/notes/nix-or... to get NixOS painlessly setup on OCI ARM

1 year ago 1 0 1 0

Hyderabad boi attending Hytradboi :)
#hytradboi

1 year ago 0 0 0 0
Video

📢 Episode 222 is out! 📢 In this episode, @elbeno.com and I chat with @tristanbrindle.com about graph algorithms resources 📊, tropical semirings 🌴, Stepanov stories 📖, FM2GP 📓, EOP 📙, TV shows & movies 📺 and more! adspthepodcast.com/2025/02/21/E...

1 year ago 8 5 0 0
Advertisement

Okay, these challenges are addictive! Finished the 2025.1 challenge and solved 2024.4, 2024.3 and 2024.2 challenges from Internet archive. Loved how each challenge focuses on a small set of operators and makes us use them in various devious combinations to solve the problems #APL #Dyalog

1 year ago 0 1 0 0

Okay, these challenges are addictive! Finished the 2025.1 challenge and solved 2024.4, 2024.3 and 2024.2 challenges from Internet archive. Loved how each challenge focuses on a small set of operators and makes us use them in various devious combinations to solve the problems #APL #Dyalog

1 year ago 0 1 0 0
Preview
The APL Challenge A free-to-enter competition that could change the way you think...and put $100 in your pocket.

Enjoying learning APL by doing the Dyalog APL challenge (challenge.dyalog.com) #apl

1 year ago 1 0 1 0