Latest News
⚑ Report a ProblemTech news from the best sources
Why Windows IPCs Fail in Harsh Telemetry Stations & How RTOS Embedded Dataloggers Solve It
TL;DR for IIoT Architects & System Integrators: Deploying consumer Mini PCs or fanless Windows Industrial PCs (IPCs) in unmanned environmental t…
From Scratch to C: My First 3 Weeks Inside Harvard’s CS50
When I attended the opening lectures of CS50x (Harvard's flagship Introduction to Computer Science course), Professor David J. Malan gave an upfront…
Why doubling makes a dynamic array O(1) (and the realloc bug almost everyone writes)
If you have used std::vector or Python lists, you have used a dynamic array. In C you have to build it yourself, and two details decide whether it i…
Removing Duplicates from a Simple Dynamic Array for C
Introduction Previously, I described a full implementation for a simple dynamic array in C that I’ve been using in my include-tidy (Tidy) project. W…
STM32: Работа с SD-картами через SDIO
Когда устройству нужна относительно большая энергонезависимая память с возможностью быстрой замены, SD или microSD-карта — один из самых удобных и д…
SimpleRPC (libsrpc): Простой RPC на Си для Linux-приложений
Есть классическая проблема: изолированные процессы — хорошо для надёжности, но хочется иногда вызвать функцию из другого процесса, как будто она леж…
Free-Up-The-Space (Part-3)
This is Part 3 of my series on memory allocation. I kept having this recurring feeling that I did not add a function to free up the memory after use…
fzgrep: A zero-dependency, OpenMP-parallelized fuzzy line matcher in C
I built fzgrep , a lightweight, OpenMP-parallelized fuzzy line matcher written in pure C with zero external runtime dependencies. The Problem In sta…
Pointers Aren't Arrows. How C and C++ Actually Talk to Hardware.
Ask any software engineer to draw a pointer on a whiteboard. Within three seconds, they will sketch two boxes and a little curved arrow pointing bet…
Код, пот и слезы: композиционный анализ проектов на С/С++
В экосистемах со сложившейся моделью пакетных индексов вроде Python, Java или JavaScript состав проекта обычно начинают анализировать с манифеста, г…
I Audited a C Graph Algorithm Project and Found 13 Bugs — Including an Auth Bypass That Was Hiding in Plain Sight
The project It's a campus tour guide system written in C. Console application, no GUI, no networking. A user logs in, picks from a menu, and queries…
A open-source contribution story!
Hello everybody, I'm writing today to share my Tuesday's update. I dedicate my Tuesdays to contributing to open-source projects. So I'm searching pr…
Линтинг C stubs для OCaml с помощью Opengrep
В статье освещается кейс по использованию SAST инструментов (Semgrep/Opengrep) для проверки корректности написанных C stubs для языка программирован…
From Access Log to Kernel Drop: Building a Single-Process WAF Ban Pipeline in C
In self-hosted Linux infrastructure, bridging L7 application security with L3/L4 network enforcement traditionally requires stitching together multi…
What Math Actually Buys You: Optimizing a Rock-Paper-Scissors Game in C
I was looking through my old projects and found a couple of Rock-Paper-Scissors games I wrote in C a few years back. Why more than one? Because prog…
The Phantom That Wasn't There: How Unreliable grep Made Us Chase Ghosts
One of the hardest stages in developing a documentation generator is alignment with legacy tools. When you migrate from an old, decades-proven propr…
Need Space? Hold My Page: The OS-to-Program Memory Boundary
Introduction Before learning anything else, I believe we have to understand memory management. As I kept allocating dynamic memory in my programs, I…