Projects

C-STLs

July 2026 — Present

STL-inspired generic container library for C

  • Designed and implemented an STL-inspired generic library for C featuring arrays, vectors, iterator abstractions and an allocator API, while preserving portability across major C compilers.
  • Actively expanding the library with additional containers, generic algorithms and comprehensive test coverage.

Tools & technologies

  • C
  • CMake
  • Make
  • GCC
  • MSVC

Repository

Language
C
Last commit
Aug 8, 2026
Updated
Aug 8, 2026

Readme fixes

[![tests](https://github.com/Csral/C-STLs/actions/workflows/tests.yml/badge.svg)](https://github.com/Csral/C-STLs/actions/workflows/tests.yml) C-STLs is a header only C11 container library providing C++ STL features in C with type safety. * A C compiler with C11 support.

GitHub API lookup

Queried live when you open this — the panel above was recorded at build time.

BasicOS

Feb 2026 — July 2026

Hobby x86 operating system kernel written from scratch in C and NASM assembly

  • Built GDT/IDT/PIC configuration, a syscall interface via int 2x:2, and ring 3 userland task switching — validated through deliberate #GP fault handling and system calls.
  • Implemented a FAT16 filesystem driver with stream-based reads and cluster-to-sector translation, a virtual keyboard driver, and custom libc-equivalent utilities.

Tools & technologies

  • C
  • x86 Assembly (NASM)
  • Custom bootloader
GitHub API lookup

Queried live when you open this — the panel above was recorded at build time.

Linux From Scratch Build

June 2026

Complete custom Linux system built from source, following the LFS methodology

  • Bootstrapped a cross-compiler toolchain and compiled a full base system, including kernel configuration via menuconfig and GRUB EFI installation.
  • Diagnosed and resolved distro-specific build failures across the toolchain — cross-compiler misconfiguration, glibc and ncurses build issues.

Tools & technologies

  • GCC cross-compilation
  • Linux kernel
  • GRUB
  • Bash

Repository details are recorded at build time; each card can re-check them live.