Bitmap Lab

bitmap-lab

Learning repository for bitmap operations and kernel near C programming. Focus on understanding memory and pixels with documentation first.

Visit Github

project info

Status
Learning
Mode
Terminal
Updated
Jan 2026

toolchain

Cgcc / clangmakelinux

bitmap-lab // documentation

Learning repository for bitmap operations and kernel-near C programming. Focus on understanding memory layout, pixel math, and low level primitives first, with documentation alongside every experiment.

repository overview

utsab@linux:~/repos/bitmap-lab

# C only, linux first, documentation driven learning

$ git clone https://github.com/utsab-adhikari/bitmap-lab

$ cd bitmap-lab

$ tree -L 1

src/ include/ test/ build/ docs/

$ make && ./build/bitmap_lab_demo

▸ runs small C programs that modify raw pixel buffers.

▸ every experiment is paired with documentation inside this site.

directories

implementation

Core C programs that work with raw pixel buffers, bit operations and small framebuffer-like abstractions.

include/headers
interfaces

Header files that define structs, function signatures and constants used across the bitmap-lab experiments.

Small, focused C programs like T01_UnderstandingShifting.c that document one concept at a time.

build/binaries
artifacts

Compiled outputs from make commands. Run these from a terminal to see behavior, then come back here to read the explanations.

learning flow

1. clone & build

git clone, cd bitmap-lab, then make to build the small demos.

▸ run binaries from build/ while reading the matching docs.

2. read tests

▸ start with test/to understand bit shifts, masks and basic operations.

▸ use each test page as a mini lab notebook entry.

3. modify src/

▸ once concepts are clear, jump into src/ to change the implementations.

▸ keep experiments small and commit frequently.

4. document as you go

▸ for any new experiment, add a short page under the relevant directory (usually test/).

▸ keep the linux/terminal feel but explain every step in plain text.