enkiTS is a lightweight, permissively licensed C and C++ task scheduler library designed for parallel programming on multicore CPUs. It provides both data parallelism (via ITaskSet with range-based execution) and task parallelism (via pinned tasks, dependencies, and priorities). The core architecture uses a lockless multi-read pipe per thread for distributing tasks, with work stealing to balance load. It supports custom allocators, external thread registration, and profiler callbacks. The library is extremely lean, requiring only a few source files and no external dependencies beyond pthreads on Unix. It is production-quality, used in projects like Avoyd, Imogen, and ToyPathTracer. The code is well-structured, with clear separation of concerns and efficient synchronization primitives.
igraph is a high-performance C library for complex network analysis and graph theory. It provides a comprehensive suite of graph algorithms including centrality measures (PageRank, betweenness, eigenvector), community detection (Leiden, Infomap, label propagation, walktrap), isomorphism (VF2, BLISS), shortest paths, flows, cliques, motifs, graph layout (Fruchterman-Reingold, Kamada-Kawai, DRL, Sugiyama), and random graph generation (Erdos-Renyi, Barabasi-Albert, stochastic block models). The library is designed for efficiency and portability, with a stable C API that serves as the backend for higher-level interfaces in R (igraph), Python (python-igraph), and Mathematica (IGraphM). The architecture is a monolithic C library with optional C++ components for performance-critical algorithms (e.g., PRPACK for PageRank, DRL layout, BLISS isomorphism). It includes a rich set of internal data structures (vectors, matrices, sparse matrices, heaps, tries, prefix sum trees) and a robust error handling framework using IGRAPH_CHECK and IGRAPH_FINALLY macros. The library supports multiple graph file formats (GML, GraphML, Pajek, LGL, NCOL, DL, DIMACS) and provides attribute handling for vertex/edge metadata. Key strengths include extensive testing (unit tests, regression tests, benchmarks, fuzzing via OSS-Fuzz), reproducible random number generation (PCG, MT19937), and a well-documented API with semantic versioning. The codebase is actively maintained with frequent releases and a clear deprecation policy. While primarily a C library, it integrates external solvers (ARPACK, LAPACK, GLPK) and bundled vendor code (cliquer, bliss, plfit) for specialized algorithms.
This repository provides a single-header C/C++ library (utf8.h) for UTF-8 string manipulation. It implements a comprehensive set of functions mirroring the standard C string.h and strings.h APIs, but operating on UTF-8 encoded strings with codepoint-aware semantics. The library includes functions for length calculation (utf8len), comparison (utf8cmp, utf8casecmp), concatenation (utf8cat), searching (utf8chr, utf8str, utf8casestr), validation (utf8valid, utf8makevalid), case conversion (utf8lwr, utf8upr), and codepoint extraction (utf8codepoint, utf8rcodepoint). It supports C++14 constexpr for many functions and C++20 char8_t. The code is highly portable, tested across multiple compilers (gcc, clang, MSVC, tcc) and platforms (Linux, macOS, Windows), and includes extensive unit tests covering edge cases like invalid sequences, truncated strings, and case mapping for Latin, Greek, and Cyrillic scripts. The library is self-contained with no external dependencies beyond the standard C library.
utest.h is a single-header unit testing framework for C and C++ that provides automatic test registration via constructor attributes, sophisticated assertion macros with expression tracking, and cross-platform support. The framework supports basic tests, fixture-based tests, and indexed/parameterized tests. It outputs results in both human-readable console format and machine-readable XML format. The implementation demonstrates high craftsmanship through its platform abstraction layer, memory-safe test registration system, and clever use of compiler-specific features to eliminate boilerplate. The core functionality is entirely self-contained within utest.h with no external dependencies beyond standard libraries.
FlatBuffers is a cross-platform serialization library developed by Google, designed for memory-efficient, zero-copy binary serialization. In production, it is used as both a schema compiler (flatc) and a set of runtime libraries for over a dozen languages including C++, Java, Rust, Swift, TypeScript, Python, Go, C#, Kotlin, and more. The flatc compiler parses .fbs schema files and generates type-safe accessor code for each target language, enabling applications to read and write serialized data without parsing overhead. The runtime libraries provide builders, readers, verifiers, and support for gRPC integration and a self-describing variant format called FlexBuffers. The architecture is split into two main components: the compiler (written in C++) and the language-specific runtime libraries. The compiler's entry point is flatc_main.cpp, which registers code generators for each language. The runtimes follow a consistent pattern across languages: a FlatBufferBuilder for constructing buffers, Table/Struct base classes for reading, and Verifier for safety checks. Data flows from schema definition to generated code, which is then used by applications to serialize/deserialize data with direct memory access. External dependencies are minimal for the core library (only standard library for most languages), but gRPC integration requires gRPC libraries. The project includes extensive testing, fuzzing, and benchmarking infrastructure to ensure correctness and performance across all supported languages.
MsQuic is Microsoft's production-grade, cross-platform implementation of the IETF QUIC transport protocol. Written primarily in C with Rust and C# bindings, it provides a high-performance, low-latency UDP-based transport with built-in TLS 1.3 encryption, multiplexed streams, and advanced congestion control (CUBIC, BBR). The library is designed for both user-mode and kernel-mode operation on Windows, Linux, and macOS, with extensive support for hardware offload (XDP, DPDK) and performance tracing via ETW/LTTng. Architecturally, MsQuic is a library with a minimal public API surface (MsQuicOpenVersion, MsQuicClose) and a rich internal state machine. Core modules include connection management, stream send/receive, packet building/parsing, loss detection, ACK tracking, and path validation. The platform abstraction layer (CxPlat*) provides OS-independent interfaces for sockets, TLS, storage, threading, and memory management. A worker thread pool with event queues handles asynchronous I/O, while partitioned global state enables lock-free concurrency. Key entry points are the public API functions in src/core/api.c, the platform-specific datapath implementations (epoll, io_uring, kqueue, raw sockets, XDP), and the TLS backends (OpenSSL, Schannel, quictls). The library is consumed by tools like secnetperf (performance testing), interop server, load balancer, and attack tool. Extensive unit tests, fuzz testing, and a debugger extension ensure reliability. External dependencies include OpenSSL/quictls for TLS, XDP for Windows kernel offload, and optional DPDK. The build system uses CMake, Cargo, and PowerShell scripts, with Docker support for cross-compilation. The codebase is actively maintained with frequent commits, CI/CD pipelines, and a comprehensive test suite.
hcc is a compiler for the HolyC language, a derivative of TempleOS HolyC. It supports both ahead-of-time (AOT) compilation to x86_64 and AArch64 assembly and just-in-time (JIT) compilation for in-memory execution. The system includes a full front-end (lexer, parser, AST, SSA-based IR), optimization passes, register allocation, and backends for x86_64 and AArch64. Additionally, it provides a REPL, a Language Server Protocol (LSP) server, an inline assembler (TempleOS-style), a disassembler, and a control-flow graph visualizer. The standard library is written in HolyC and offers data structures (lists, vectors, hash maps, red-black trees), JSON/CSV parsers, SQLite bindings, networking, threading, coroutines, and system call wrappers. The project is a self-contained, well-structured compiler toolchain with extensive tests and active development.
OBS Studio is a cross-platform live streaming and recording application. Its architecture is modular: a core library (`libobs`) provides the runtime for sources, encoders, outputs, services, and filters, all registered via a plugin system. The frontend is a Qt-based desktop GUI (`frontend/`) that manages scenes, sources, audio mixing, and output controls. Graphics rendering is abstracted across Direct3D 11, Metal, and OpenGL backends. The system ingests video/audio from capture sources (screen, window, game, camera, hardware I/O like DeckLink), processes them through filters and encoders (x264, NVENC, QSV, AMF, FFmpeg), and outputs to streaming protocols (RTMP, WHIP, SRT) or local files (FLV, MP4, MOV). External dependencies include FFmpeg, Qt, libcurl, and various hardware SDKs. The codebase demonstrates strong engineering with reusable utility libraries (dynamic arrays, strings, config files, profilers) and a well-defined plugin API, though platform-specific code and bundled third-party SDKs introduce some technical drift.
raylib is a cross-platform game development library written in C99, designed to provide a simple and easy-to-use API for creating games, prototypes, and multimedia applications. It abstracts away platform-specific details like window creation, input handling, and graphics rendering, offering a consistent interface across Windows, macOS, Linux, Android, and Web (via Emscripten). The library is modular, with core modules for shapes, textures, text, 3D models, audio, and shaders, all built on top of a low-level OpenGL abstraction layer (rlgl). It bundles its own windowing backend (a fork of GLFW) and includes numerous single-file external libraries for image loading (stb_image), audio decoding (dr_flac, dr_mp3, dr_wav, jar_mod, jar_xm), compression (sdefl, qoa, pep), and model loading (tinyobj_loader, cgltf, vox_loader). The repository contains over 200 example programs that serve as both documentation and test cases, covering everything from basic window creation to advanced shader effects and 3D rendering pipelines. The architecture follows a monolithic library pattern with a single public header (raylib.h) and several optional headers (raymath.h, rlgl.h, raygui.h). The core library is compiled from source files (rcore.c, rshapes.c, rtextures.c, rtext.c, rmodels.c, raudio.c) and platform-specific backends (rcore_desktop_glfw.c, rcore_android.c, rcore_web_emscripten.c, etc.). The library is designed to be self-contained, with no external runtime dependencies beyond the operating system's graphics drivers. Build system support includes CMake, Make, Zig, Meson, and IDE project files for Visual Studio, VSCode, CodeBlocks, and others. Key data flows involve initializing a window and graphics context, then entering a game loop where user input is polled, game state is updated, and rendering commands are issued. The library handles resource management (textures, fonts, models, audio streams) internally, with automatic cleanup on window close. The audio subsystem supports streaming, effects, and multi-channel playback. The shader system allows custom GLSL vertex and fragment shaders to be applied to 2D and 3D rendering. The library also includes utility modules for math (vectors, matrices, quaternions), easing functions, gesture recognition, and camera systems. External dependencies are minimal due to extensive bundling; the only required system libraries are OpenGL (or OpenGL ES on mobile/web) and the platform's native windowing/input APIs. The bundled GLFW fork provides a consistent windowing layer across platforms. The library is actively maintained with regular commits, CI builds for multiple platforms, and a large community of users and contributors.
LVGL (Light and Versatile Graphics Library) is an embedded GUI library written in C, providing a comprehensive widget toolkit (30+ widgets), style system, layout managers (flex, grid, split), animation framework, and multiple rendering backends (software, GPU-accelerated via VG-Lite, NanoVG, OpenGL ES, and hardware-specific backends for various MCU/MPU platforms). It is designed for resource-constrained devices with a small memory footprint (~100kB RAM for typical UIs) and supports a wide range of display drivers (SDL, Wayland, DRM, UEFI, Windows, and many embedded display controllers) and input devices (touch, keypad, mouse, gestures). The library features a public/private header pattern for encapsulation, a configurable build system via Kconfig, extensive Unity-based test suites with screenshot comparison, and a GDB plugin for runtime introspection. It is actively maintained with frequent commits, comprehensive CI/CD, and a large ecosystem of examples and demos.
Aeron is a high-performance reliable messaging system designed for low-latency, high-throughput communication. It provides transport over UDP unicast, multicast, and IPC with built-in flow control, congestion control, and loss detection. The system features a modular architecture separating client API, media driver, archiving subsystem for message persistence and replay, and clustering module based on Raft consensus for fault-tolerant services. Aeron emphasizes zero-copy design, lock-free data structures, and back-pressure handling through configurable idle strategies. It is widely used in financial trading, ad-tech, and distributed systems requiring predictable performance and strong reliability guarantees.
The Linux Kernel Module Programming Guide (LKMPG) is a comprehensive, community-maintained guide to writing Linux kernel modules. It consists of a LaTeX book and a large collection of example kernel modules that demonstrate a wide range of kernel APIs and programming patterns, including character devices, the /proc filesystem, sysfs, debugfs, system call interception, synchronization primitives (mutex, spinlock, rwlock, RCU), interrupt handling, timers, workqueues, block devices, network drivers, DMA, device tree, GPIO, and more. The repository also includes a QEMU-based development environment (devtools) that automates building a minimal kernel and initramfs, allowing developers to compile and test modules inside a virtual machine without affecting their host system. The code is well-structured, follows kernel coding conventions, and includes proper error handling and cleanup. Many examples include version guards for compatibility across different kernel versions (5.10 through 6.17+). The devtools scripts are robust, with caching, idempotency, and prebuilt binary support to speed up setup. The CI pipeline builds the book, compiles all examples, runs static analysis (cppcheck, sparse, gcc, smatch), and tests module loading/unloading in both bare-metal and QEMU environments. While primarily educational, the example modules are self-contained and can serve as templates for real kernel module development. The devtools provide a reproducible environment for kernel module testing, which is valuable for developers working on out-of-tree modules. The repository is actively maintained and targets recent Linux 5.x and 6.x kernels.
HevSocks5Tunnel is a lightweight, high-performance tun2socks proxy written in C. It creates a virtual TUN interface and forwards all TCP/UDP traffic through a SOCKS5 proxy, supporting IPv4/IPv6 dual-stack, UDP-in-UDP and UDP-in-TCP relay modes, optional local ICMP echo replies, and a mapped DNS feature for transparent DNS resolution. The architecture is monolithic but modular: a YAML-based configuration parser, platform-specific tunnel backends (Linux, FreeBSD, macOS, NetBSD, Windows via Wintun), and a session management layer built on top of lwIP and the hev-task-system cooperative multitasking library. It can be used as a standalone CLI tool, a static/shared library, or embedded via JNI on Android. The codebase demonstrates strong C craftsmanship with clean abstractions, efficient I/O patterns (ring buffer with iovec, scatter/gather), and careful platform abstraction.
NATMap is a command-line tool written in C that establishes TCP/UDP port mappings from an ISP NAT public address to a local private address. It uses STUN protocol to discover the mapped public address and maintain NAT bindings through keep-alive sessions. The architecture is built on a cooperative task-based concurrency model (hev-task-system) for efficient non-blocking I/O. It supports two modes: bind mode, where the tool keeps the port alive and notifies the user via a script, and forward mode, where it listens on the mapped port and forwards traffic to an internal target. The codebase is modular, with clear separation of concerns: configuration parsing, socket creation, STUN protocol handling, NAT session keepers (TCP/UDP), port forwarding servers, and script execution. It is highly portable, with cross-compilation support for Linux, Windows, macOS, FreeBSD, and Android across many architectures.
gcovr is a production-grade command-line tool for analyzing C/C++ code coverage data produced by GCC's gcov or LLVM's llvm-cov. It reads intermediate coverage files (.gcda, .gcov, or LLVM JSON intermediates), applies configurable filters and exclusion markers (GCOVR_EXCL_* and LCOV_EXCL_*), merges results from multiple runs, and generates reports in over a dozen formats: HTML (with interactive sorting and line visibility), Cobertura, JaCoCo, Clover, Coveralls, SonarQube, LCOV, CSV, JSON, Markdown, and plain text. The core pipeline is structured as a set of independent modules: a data model with deduplication and merging logic, a filter chain for path inclusion/exclusion, an exclusion engine that operates on lines, functions, and branches, and a format dispatcher that delegates to per-format writer handlers. The architecture is cleanly layered with well-defined boundaries; configuration is unified through CLI args, config files, and environment variables. Although not a data research project, gcovr provides rich quantitative analysis through its built-in metrics (line, branch, condition/decision, and function coverage) and diff coverage comparison, which give it a light analytical character.
lv_font_conv is a Node.js-based command-line tool (with a web interface) that converts vector fonts (TTF, OTF, etc.) into bitmap fonts optimized for embedded systems, particularly the LVGL graphics library. It processes font files using opentype.js and an Emscripten-compiled FreeType WebAssembly module to extract glyph metrics and rasterize bitmaps. The tool supports subsetting, merging multiple fonts, kerning preservation, and configurable output formats (raw binary, LVGL-specific C arrays, and debug dumps) with adjustable bits-per-pixel (1-4) and optional RLE/XOR compression. The architecture follows a modular pipeline: argument parsing delegates to font data collection, which feeds into conversion logic that builds font tables (head, cmap, glyf, loca, kern) before format-specific writers produce the final output. Key entry points are the CLI script (lv_font_conv.js) and the web interface (web/index.html via parcel/bundler).
ascii-chat is a production-grade terminal-based video conferencing application that converts live video and audio streams into real-time ASCII art rendered in the terminal. It operates in multiple modes: server (multi-client host), client (connect to server), mirror (local preview), discovery (peer-to-peer session participant), and discovery-service (session registry and NAT traversal relay). The system uses a custom binary protocol (ACIP) over TCP/WebSocket/WebRTC, with end-to-end encryption (Ed25519 + X25519 + XSalsa20-Poly1305) and support for SSH/GPG key authentication. A companion web client compiled via WebAssembly mirrors functionality in the browser. The codebase includes a standalone reusable C library (libasciichat) with a comprehensive platform abstraction layer (POSIX/Windows/WASM), a declarative options registry that auto-generates man pages and shell completions, SIMD-accelerated ASCII rendering (AVX2, NEON, SVE, SSE2), lock-free data structures, and a sophisticated logging system with crash-safe mmap output. The architecture is modular and cross-platform, with extensive unit, integration, and E2E test coverage across Linux, macOS, Windows, and WebAssembly targets.
Janus is a general-purpose WebRTC media server and gateway written in C. It provides a modular architecture with a core daemon that dynamically loads plugins for various use cases (video conferencing, audio bridging, streaming, SIP, etc.), transports (HTTP, WebSockets, MQTT, RabbitMQ, Unix sockets), and event handlers. The server handles ICE/DTLS/SRTP for WebRTC peer connections, relays RTP/RTCP media between participants, and supports advanced features like simulcast, SVC, recording, and post-processing. A JavaScript client library (janus.js) is provided for browser integration. The system is production-grade, actively maintained, and widely deployed.
simplefs is a Linux kernel module that implements a simple extent-based filesystem for educational use, accompanied by a userspace mkfs.simplefs formatter. The kernel component registers a VFS filesystem type and implements superblock, inode, file, and directory operations. The on-disk layout is a fixed 4 KiB block format: superblock, inode store, inode free bitmap, block free bitmap, and data blocks. Inodes are 72 bytes and point to an extent-index block; regular files use extents of up to 8 contiguous blocks (maximum file size around 10.65 MiB), while directories use a hashed ring of extents to support up to 40,920 entries. Functionally, the filesystem supports create, lookup, unlink, rename, hard links, symbolic links, mkdir, rmdir, and read/write. File I/O is implemented through both traditional VFS page-cache helpers and simpler direct buffer-head read/write paths, making the code a useful teaching reference for how Linux VFS callbacks and buffer management interact. External journaling is supported via the kernel's jbd2 subsystem, mounted with a journal_path or journal_dev option, though only extent metadata is journaled and the journal size is currently hardcoded. Entry points are module_init/module_exit in fs.c, the mount path through simplefs_fill_super in super.c, and main() in mkfs.c. Dependencies are Linux kernel headers, jbd2, block-device APIs, and a Linux or macOS host for mkfs. The repository includes shell-based integration tests that exercise maximum directory fill, large-file behavior, remount persistence, random create/delete, and free-block reclamation, plus CI jobs for formatting and macOS mkfs verification. The code maintains compatibility macros spanning Linux 5.10 through 7.3, reflecting active upkeep.
ircd-hybrid is a high-performance, modular IRC daemon written in C. It implements the full IRC protocol (RFC 1459, 2812, 2813) with modern IRCv3 capabilities (account-notify, extended-join, etc.), server-to-server linking (TS6), TLS support (GnuTLS, OpenSSL, wolfSSL), and a dynamic module system via GNU libltdl. The architecture is event-driven with selectable I/O backends (epoll, kqueue, poll) and a self-contained I/O abstraction library (libio) that provides networking, DNS resolution, event timers, data structures (patricia trie, doubly-linked lists, dynamic buffers), and TLS abstraction. Configuration is parsed by a Bison/Flex-generated parser supporting a rich set of server options. The codebase is well-structured with a clear separation between core daemon, library, and loadable modules, making it extensible and maintainable. Originally forked from the hybrid IRCD project in 1997, it has evolved to support modern IRC standards while maintaining backwards compatibility.