# C

C is a programming language standardized as ISO/IEC 9899.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Libreboot build system audit plus next-release plans

DevFeed: [Libreboot build system audit plus next-release plans](<https://devfeed.tech/articles/libreboot-build-system-audit-plus-next-release-plans-32661.md>)

Original publisher: [Read original article](<https://libreboot.org/news/audit.html>)

Author: Leah Rowe

Published: 2026-09-17T04:32:50.666044Z

Content type: news

Language: en

Sources: [News about Libreboot releases and development](<https://devfeed.tech/sources/news-about-libreboot-releases-and-development.md>)

Topics: [libreboot](<https://devfeed.tech/topics/libreboot.md>), [coreboot](<https://devfeed.tech/topics/coreboot.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [releases](<https://devfeed.tech/topics/releases.md>), [C](<https://devfeed.tech/topics/c.md>)

Tags: [audit](<https://devfeed.tech/tags/audit.md>), [bios](<https://devfeed.tech/tags/bios.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [c](<https://devfeed.tech/tags/c.md>), [canoeboot](<https://devfeed.tech/tags/canoeboot.md>), [coreboot](<https://devfeed.tech/tags/coreboot.md>), [free-software](<https://devfeed.tech/tags/free-software.md>), [libre](<https://devfeed.tech/tags/libre.md>), [libreboot](<https://devfeed.tech/tags/libreboot.md>), [opensource](<https://devfeed.tech/tags/opensource.md>), [release](<https://devfeed.tech/tags/release.md>), [shell](<https://devfeed.tech/tags/shell.md>), [testing](<https://devfeed.tech/tags/testing.md>), [uefi](<https://devfeed.tech/tags/uefi.md>)

### AI overview

Libreboot reports that more than 200 changes have been made to its lbmk automated build system since the previous release. The article describes an audit, extensive testing, cleanup, and ongoing work toward a future release.

### Source excerpt

Article: Libreboot build system audit plus next-release plans Web link: https://libreboot.org/news/audit.html

## A quick overview of atomics in C

DevFeed: [A quick overview of atomics in C](<https://devfeed.tech/articles/a-quick-overview-of-atomics-in-c-29428.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/09/09/a-quick-overview-of-atomics-in-c/>)

Author: Daniel Lemire

Published: 2026-09-09T20:41:53Z

Content type: tutorial

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [atomics](<https://devfeed.tech/tags/atomics.md>), [c](<https://devfeed.tech/tags/c.md>), [join](<https://devfeed.tech/tags/join.md>), [ordering](<https://devfeed.tech/tags/ordering.md>), [posix](<https://devfeed.tech/tags/posix.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [systems](<https://devfeed.tech/tags/systems.md>), [thread](<https://devfeed.tech/tags/thread.md>), [threads](<https://devfeed.tech/tags/threads.md>)

### AI overview

This tutorial introduces atomics in C, explaining data races on shared non-atomic variables, atomic accesses, instruction reordering, and memory-ordering models including relaxed, release, and acquire semantics. It also discusses C11 threads and platform support limitations.

### Source excerpt

If you write in C, by default, you use a single thread. Extra cores do not help until you create more threads. However, if you include the header <threads.h>, you can pass a function to thrd_create, and wait for it with thrd_join. #include <threads.h> #include <stdio.h> int worker(void *arg) { printf("hello from thread %d\n", *(int ... Continue reading A quick overview of atomics in C

## A C File Runs a 744B Model, Cloudflare Maps Agentic Traffic, and Karpathy's $48 GPT-2 - The Tokenizer Edition #36

DevFeed: [A C File Runs a 744B Model, Cloudflare Maps Agentic Traffic, and Karpathy's $48 GPT-2 - The Tokenizer Edition #36](<https://devfeed.tech/articles/a-c-file-runs-a-744b-model-cloudflare-maps-agentic-traffic-and-karpathy-s-48-gpt-2-the-tokenizer-edition-36-18330.md>)

Original publisher: [Read original article](<https://newsletter.artofsaience.com/p/a-c-file-runs-a-744b-model-cloudflare>)

Author: Sairam Sundaresan

Published: 2026-09-09T00:00:40Z

Content type: article

Language: en

Sources: [Gradient Ascent](<https://devfeed.tech/sources/gradient-ascent.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [C](<https://devfeed.tech/topics/c.md>), [Cloudflare](<https://devfeed.tech/topics/cloudflare.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [agentic](<https://devfeed.tech/tags/agentic.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-ml](<https://devfeed.tech/tags/ai-ml.md>), [c](<https://devfeed.tech/tags/c.md>), [cloudflare](<https://devfeed.tech/tags/cloudflare.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

A curated weekly roundup of AI resources covering research papers, videos, articles, developer tools, and learning materials. Featured items include a C program that streams a 744-billion-parameter model from disk, Cloudflare's analysis of human and agent web sessions, and a low-cost GPT-2-class model training project.

### Source excerpt

This week's most valuable AI resources

## Architecting for 6 Billion Daily Requests: Inside Wix's Media Platform

DevFeed: [Architecting for 6 Billion Daily Requests: Inside Wix's Media Platform](<https://devfeed.tech/articles/architecting-for-6-billion-daily-requests-inside-wix-s-media-platform-22630.md>)

Original publisher: [Read original article](<https://www.wix.engineering/post/architecting-for-6-billion-daily-requests-inside-wix-s-media-platform>)

Author: Wix Engineering

Published: 2026-09-08T08:24:05Z

Content type: article

Language: en

Sources: [Wix Engineering](<https://devfeed.tech/sources/wix-engineering.md>)

Topics: [Caching](<https://devfeed.tech/topics/caching.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Compression](<https://devfeed.tech/topics/compression.md>), [data](<https://devfeed.tech/topics/data.md>), [C](<https://devfeed.tech/topics/c.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [cache](<https://devfeed.tech/tags/cache.md>), [caching](<https://devfeed.tech/tags/caching.md>), [compression](<https://devfeed.tech/tags/compression.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [data](<https://devfeed.tech/tags/data.md>), [go](<https://devfeed.tech/tags/go.md>), [latency](<https://devfeed.tech/tags/latency.md>), [technical](<https://devfeed.tech/tags/technical.md>)

### AI overview

Wix describes engineering challenges in its media platform, which processes images, video, and audio at large scale. The supplied text explains how the team used unsafe pointers to reduce Go/C memory-copy overhead for AVIF encoding and a tiered Masters cache to reduce CPU work during image resizing.

### Source excerpt

At Wix, "Media" isn't just about storing files. It's about processing streams of information - images, video, and audio - at an immense scale. We host over 300 million websites and serve more than 6 billion media requests every single day. To handle dozens of petabytes of data while keeping costs low and latency minimal, we had to treat media handling as a complex engineering discipline. Below are five specific technical challenges we faced and the architectural solutions we implemented to...

## Blue Proton Initiative: four 17-year-olds are building AI-powered livestock monitoring with Arduino

DevFeed: [Blue Proton Initiative: four 17-year-olds are building AI-powered livestock monitoring with Arduino](<https://devfeed.tech/articles/blue-proton-initiative-four-17-year-olds-are-building-ai-powered-livestock-monitoring-with-arduino-13646.md>)

Original publisher: [Read original article](<https://blog.arduino.cc/2026/08/27/blue-proton-initiative-four-17-year-olds-are-building-ai-powered-livestock-monitoring-with-arduino/>)

Author: Arduino Team

Published: 2026-08-27T13:18:53Z

Content type: article

Language: en

Sources: [Arduino Blog](<https://devfeed.tech/sources/arduino-blog.md>)

Topics: [Arduino](<https://devfeed.tech/topics/arduino.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Computer vision](<https://devfeed.tech/topics/computer-vision.md>), [Neural Network](<https://devfeed.tech/topics/neural-network.md>), [object-detection](<https://devfeed.tech/topics/object-detection.md>), [C](<https://devfeed.tech/topics/c.md>), [datasets](<https://devfeed.tech/topics/datasets.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-powered-livestock-monitoring](<https://devfeed.tech/tags/ai-powered-livestock-monitoring.md>), [arduino](<https://devfeed.tech/tags/arduino.md>), [computer-vision](<https://devfeed.tech/tags/computer-vision.md>), [data](<https://devfeed.tech/tags/data.md>), [livestock-monitoring](<https://devfeed.tech/tags/livestock-monitoring.md>), [model-training](<https://devfeed.tech/tags/model-training.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [neural-networks](<https://devfeed.tech/tags/neural-networks.md>), [uno-q](<https://devfeed.tech/tags/uno-q.md>), [yolo](<https://devfeed.tech/tags/yolo.md>)

### AI overview

An Arduino Blog article profiles four 17-year-olds in Italy developing an AI-powered livestock monitoring system with the UNO Q. The project uses computer vision, custom-trained neural networks, and diverse image data to identify animals, count them, and detect possible health problems in real time.

### Source excerpt

Pietro Maria Piazza, Alessandro Nesci, Davide Santucci, and Matteo Angiolillo are not waiting to finish school before starting to build something real. Based in Forlì, Italy, the four friends behind Blue Proton Initiative strive to develop an AI-powered livestock monitoring system designed to help farmers identify individual animals and detect early signs of health problems [...] The post Blue Proton Initiative: four 17-year-olds are building AI-powered livestock monitoring with Arduino appeared first on Arduino Blog.

## A revised algorithm for converting Gregorian dates to day counts

DevFeed: [A revised algorithm for converting Gregorian dates to day counts](<https://devfeed.tech/articles/counting-the-days-revisited-36232.md>)

Original publisher: [Read original article](<https://dotat.at/@/2026-08-09-rata-die.html>)

Published: 2026-08-09T02:29:48Z

Content type: article

Language: en

Sources: [Tony Finch's blog](<https://devfeed.tech/sources/tony-finch-s-blog.md>)

Topics: [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>), [C](<https://devfeed.tech/topics/c.md>), [Code](<https://devfeed.tech/topics/code.md>), [function](<https://devfeed.tech/topics/function.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [data-type](<https://devfeed.tech/tags/data-type.md>), [function](<https://devfeed.tech/tags/function.md>), [range](<https://devfeed.tech/tags/range.md>)

### AI overview

The article revisits an algorithm for converting Gregorian dates into Julian Day numbers or related day counts such as rata die. It explains the March-based month pattern, leap-year corrections, integer arithmetic, and limitations caused by overflow in the output data type.

### Source excerpt

Many years ago I wrote about how to convert Gregorian dates to Julian Day numbers or similar counts such as rata die as used in Calendrical Calculations. This algorithm is the core of C's mktime() function that converts a broken-down date-time into linear time_t. I recently learned from Ben Joffe that I was missing a few tricks, and my old code wasn't as good as it could have been. Here's a better version (using conventional not C numbering): if m > 2 { m -= 2; } else { m += 10; y -= 1; } y*365 + y/4 - y/100 + y/400 + m*979/32 + d - 336 the main idea Julian years Gregorian correction the month pattern the epoch domains and ranges leap year test length of month the main idea There's a helpful coincidence in the Gregorian calendar. Although the month lengths aren't obviously regular, there's a repeating 5 month pattern that becomes easier to see when you start from March, as illustrated by the table below. This pattern resets at the end of February, midway through its third repeat, coincidentally at the same point that leap days occur. Thus the first line of the code above adjusts the month and year numbers so that January and February are counted at the end of the previous year, and the coincidental alignment occurs at the boundary between the adjusted year numbers. I'll explain the details of the adjustment as I discuss the relevant parts of the second line March 31 days April 30 days May 31 days June 30 days July 31 days August 31 days September 30 days October 31 days November 30 days December 31 days January 31 days February 28 or 29 Julian years The first part of the main formula counts the number of days before the start of year y, in terms of normal years and leap days. y * 365 + y / 4 The adjustment subtracts one from the year in January and February. The effect is that the leap day in year 4 is counted as a day before the start of the adjusted beginning of year 4, i.e. before March, i.e. exactly the right place. I previously combined this part of the express

## Creator of Lua: Scripting, Programming Languages, Predictions | Roberto Ierusalimschy

DevFeed: [Creator of Lua: Scripting, Programming Languages, Predictions | Roberto Ierusalimschy](<https://devfeed.tech/articles/creator-of-lua-scripting-programming-languages-predictions-roberto-ierusalimschy-18087.md>)

Original publisher: [Read original article](<https://www.developing.dev/p/creator-of-lua-scripting-programming>)

Author: Ryan Peterman

Published: 2026-08-03T13:05:15Z

Content type: article

Language: en

Sources: [The Developing Dev](<https://devfeed.tech/sources/the-developing-dev.md>)

Topics: [Lua](<https://devfeed.tech/topics/lua.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [C](<https://devfeed.tech/topics/c.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [lua](<https://devfeed.tech/tags/lua.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>), [python](<https://devfeed.tech/tags/python.md>), [scripting](<https://devfeed.tech/tags/scripting.md>)

### AI overview

A conversation with Lua creator Roberto Ierusalimschy explains how Lua works as an embeddable scripting language alongside C or C++, including how applications can call Lua or Lua can call C. The discussion also covers Lua's use in games such as World of Warcraft and Roblox and recommendations for learning other programming languages.

### Source excerpt

When I worked at Instagram, most of the codebase was in Python but occasionally I'd see these bindings into C++.

## How ParparVM Reached Performance Parity with Warmed Java 25

DevFeed: [How ParparVM Reached Performance Parity with Warmed Java 25](<https://devfeed.tech/articles/how-we-beat-hotspot-performance-by-cheating-but-not-like-that-19212.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/beating-hotspot-performance/>)

Author: Shai Almog

Published: 2026-07-10T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Code generation](<https://devfeed.tech/topics/code-generation.md>), [C](<https://devfeed.tech/topics/c.md>), [Project Valhalla](<https://devfeed.tech/topics/project-valhalla.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [c](<https://devfeed.tech/tags/c.md>), [java](<https://devfeed.tech/tags/java.md>), [memory](<https://devfeed.tech/tags/memory.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [project-valhalla](<https://devfeed.tech/tags/project-valhalla.md>)

### AI overview

This article explains how ParparVM, an ahead-of-time virtual machine that compiles Java bytecode to C, improved from 4.21x slower than warmed Java 25 to geometric-mean parity across ten benchmarks. It describes changes involving heap layout, code generation, allocation, and collection, with correctness checked against HotSpot.

### Source excerpt

ParparVM went from 4.21x slower than warmed Java 25 to geomean parity, with peak memory below the JVM's. The architecture behind it, in C terms.

## Static linking support

DevFeed: [Static linking support](<https://devfeed.tech/articles/static-linking-support-22392.md>)

Original publisher: [Read original article](<https://www.red-lang.org/2026/06/static-linking-support.html>)

Author: Nenad Rakocevic (noreply@blogger.com)

Published: 2026-06-29T18:39:33Z

Content type: release

Language: en

Sources: [Red](<https://devfeed.tech/sources/red.md>)

Topics: [Red](<https://devfeed.tech/topics/red.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [C](<https://devfeed.tech/topics/c.md>), [parquet](<https://devfeed.tech/topics/parquet.md>), [MSVC](<https://devfeed.tech/topics/msvc.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [codex](<https://devfeed.tech/topics/codex.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [c](<https://devfeed.tech/tags/c.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [codex](<https://devfeed.tech/tags/codex.md>), [compression](<https://devfeed.tech/tags/compression.md>), [mod-player](<https://devfeed.tech/tags/mod-player.md>), [msvc](<https://devfeed.tech/tags/msvc.md>), [soundtracker](<https://devfeed.tech/tags/soundtracker.md>), [static-linking](<https://devfeed.tech/tags/static-linking.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>)

### AI overview

The Red toolchain now supports statically linking C libraries, allowing Red/System programs to be distributed as single self-contained executables. The article explains the linker's handling of object formats, symbols, sections, and relocations, and demonstrates the process with the miniz compression library.

### Source excerpt

We must free ourselves of the hope that the sea will ever rest. We must learn to sail in high winds. -Aristotle Onassis The coding agents revolution is taking the world by storm and we are right in the middle of it. Like most of you, we have experimented with the agent's amazing (and frustrating) capabilities, pondering the role of Red and our vision in that new world. The conclusion is (un)surprisingly clear, Red is still very relevant and will be even more so as we improve it to better work with agents. In the meantime, here are some treats, starting with expanding our toolchain to support static linking of libraries written in C, allowing you to distribute single executables with all dependencies packed inside. This work has been done with the heavy assistance of frontier models and local harnesses (Claude Code and Codex). You might expect that to be a small addition, but a static linker has to read each platform's object format, pull in just the pieces it needs, fold duplicated sections, resolve system symbols and patch relocations by hand, so there was quite a bit of machinery to put together. The reward is the result everyone wants: a single, self-contained binary, with nothing to install beside it. A simple example Let's compress some data without shipping a compression library next to our program. For something concrete we will use miniz, a small, MIT-licensed library that implements the well-known zlib and deflate APIs. It is distributed as a single `miniz.c` / `miniz.h` pair, which makes it especially convenient to compile and link. The first step is to compile miniz into a static library. There are only two things to keep in mind. Red/System currently produces 32-bit code, so the object has to be 32-bit too; and it helps to switch off a couple of compiler extras (C++ exception tables and stack canaries) that would otherwise make the object reference runtime helpers we do not need. On Windows, with MSVC: cl /c /MT /GS- /EHs-c- /GR- miniz.c lib /out:miniz.l

## Documenting the manual: how curiosity and robotic arms led to a career in open source

DevFeed: [Documenting the manual: how curiosity and robotic arms led to a career in open source](<https://devfeed.tech/articles/documenting-the-manual-how-curiosity-and-robotic-arms-led-to-a-career-in-open-source-34308.md>)

Original publisher: [Read original article](<http://opensource.googleblog.com/2026/06/documenting-the-manual-how-curiosity-and-robotic-arms-led-to-a-career-in-open-source.html>)

Author: Google Open Source (noreply@blogger.com)

Published: 2026-06-22T18:30:00Z

Content type: article

Language: en

Sources: [Google Open Source Blog](<https://devfeed.tech/sources/google-open-source-blog.md>)

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Linux Kernel](<https://devfeed.tech/topics/linux-kernel.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [C](<https://devfeed.tech/topics/c.md>), [Undocumented feature](<https://devfeed.tech/topics/undocumented-feature.md>), [Network](<https://devfeed.tech/topics/network.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [communities](<https://devfeed.tech/tags/communities.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [linux](<https://devfeed.tech/tags/linux.md>), [linux-kernel](<https://devfeed.tech/tags/linux-kernel.md>), [linux-man-pages](<https://devfeed.tech/tags/linux-man-pages.md>), [network](<https://devfeed.tech/tags/network.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [sponsorship](<https://devfeed.tech/tags/sponsorship.md>), [undocumented-feature](<https://devfeed.tech/tags/undocumented-feature.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

This article profiles Alejandro "Alex" Colomar's path from working with robotic arms to maintaining Linux Kernel documentation. It explains how documenting the previously undocumented SO_TIMESTAMPNS feature led to his first man-pages patch and eventually to a career focused on clarity in open source communities. Google sponsors his work on the Linux Kernel man-pages project.

### Source excerpt

by Daryl Ducharme, Google Open Source When you think of "innovation" in open source, your mind probably jumps to the latest AI model or a revolutionary new framework. You might not immediately think of manual pages. Even Alejandro "Alex" Colomar, who spends his days maintaining Linux Kernel documentation, jokingly admits that some might find the work "boring" because it focuses on fixing existing issues and documenting new features rather than flashy inventions. But as any developer knows, the most powerful code is only as good as the documentation behind it. At Google, we believe that investing in the success of projects we don't own is a core part of being a good open source citizen. That is why we are proud to sponsor Alejandro's work on the Linux Kernel man-pages project--supporting the critical infrastructure that many of our own systems rely on every day. Documentation is the gift you give to your future self and your whole community. The precision of a robot Alejandro's journey into the world of essential documentation started at university. He was working with robotic arms that used a proprietary scripting language. Wanting more control, he decided to write a C library to communicate with the robots over the network by sniffing packets with Wireshark. It worked, but it was slow--he had to wait seconds between commands to ensure the robot had finished moving. To make the movements smooth, he needed to understand the messages the robot was sending back in real-time. This required high-precision timing. He found SO_TIMESTAMP, which provided microsecond precision, but he noticed a macro called SO_TIMESTAMPNS in the header files that promised nanosecond resolution. The problem? It wasn't documented in the manual page. The first patch After figuring out how to use the undocumented feature by looking at the kernel source code, Alejandro decided to ensure the next person wouldn't have to struggle. He cloned the man-pages repository, wrote a new paragraph based on exis

## Developing a Zephyr IoT app with AI

DevFeed: [Developing a Zephyr IoT app with AI](<https://devfeed.tech/articles/developing-a-zephyr-iot-app-with-ai-13779.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2026/06/zephyr-coding-with-ai/>)

Author: John Lee

Published: 2026-06-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Embedded Software Dev](<https://devfeed.tech/topics/embedded-software-dev.md>), [Internet of things](<https://devfeed.tech/topics/iot.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [cursor](<https://devfeed.tech/topics/cursor.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [C](<https://devfeed.tech/topics/c.md>), [Git](<https://devfeed.tech/topics/git.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [real-time](<https://devfeed.tech/topics/real-time.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [blog](<https://devfeed.tech/tags/blog.md>), [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [cursor](<https://devfeed.tech/tags/cursor.md>), [development](<https://devfeed.tech/tags/development.md>), [drivers](<https://devfeed.tech/tags/drivers.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [esp](<https://devfeed.tech/tags/esp.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [espressif](<https://devfeed.tech/tags/espressif.md>), [experiment](<https://devfeed.tech/tags/experiment.md>), [firmware](<https://devfeed.tech/tags/firmware.md>), [git](<https://devfeed.tech/tags/git.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [iot](<https://devfeed.tech/tags/iot.md>), [llm](<https://devfeed.tech/tags/llm.md>), [m5stack](<https://devfeed.tech/tags/m5stack.md>), [testing](<https://devfeed.tech/tags/testing.md>), [workflow](<https://devfeed.tech/tags/workflow.md>), [zephyr](<https://devfeed.tech/tags/zephyr.md>)

### AI overview

This article describes applying an AI-agent workflow to develop a Zephyr-based IoT application on the ESP DualKey kit from M5Stack. It emphasizes specifications, project boundaries, Git discipline, testing, and bench validation while moving the implementation from ESP-IDF and Rust to Zephyr C.

### Source excerpt

Still on improving our AI-based, embedded software workflow, this article applies the same AI-agent discipline to Zephyr. Using the same ESP Dualkey kit from M5Stack, specs, integration rules, plan->execute->commit->test, reusable modules, journals, and Git - without redefining the product.

## Parsing JSON at compile time with C++26 static reflection

DevFeed: [Parsing JSON at compile time with C++26 static reflection](<https://devfeed.tech/articles/parsing-json-at-compile-time-with-c-26-static-reflection-29412.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/06/14/parsing-json-at-compile-time-with-c26-static-reflection/>)

Author: Daniel Lemire

Published: 2026-06-14T14:59:44Z

Content type: tutorial

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [JSON](<https://devfeed.tech/topics/json.md>), [C](<https://devfeed.tech/topics/c.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [gcc](<https://devfeed.tech/topics/gcc.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [json](<https://devfeed.tech/tags/json.md>), [library](<https://devfeed.tech/tags/library.md>), [parsing](<https://devfeed.tech/tags/parsing.md>)

### AI overview

This tutorial demonstrates parsing a fixed JSON configuration file at compile time with C++26 static reflection and GCC 16. It explains embedding the file's bytes in the executable, using simdjson to synthesize a typed C++ object, and detecting malformed JSON during compilation instead of at startup.

### Source excerpt

Suppose that you have a configuration file in JSON. Something like this: { "width": 1920, "height": 1080, "fullscreen": true, "title": "My Game", "volume": 0.8 } Normally you ship this file alongside your program, open it at startup, read it, and parse it. That is a lot of work for data that never changes. What if ... Continue reading Parsing JSON at compile time with C++26 static reflection

## TempleOS, mental illness, and open-source spectatorship

DevFeed: [TempleOS, mental illness, and open-source spectatorship](<https://devfeed.tech/articles/the-circus-freaks-of-open-source-20791.md>)

Original publisher: [Read original article](<https://drewdevault.com/blog/Circus-freaks-of-FOSS/>)

Author: June 5

Published: 2026-06-05T00:00:00Z

Content type: opinion

Language: en

Sources: [Drew DeVault](<https://devfeed.tech/sources/drew-devault.md>)

Topics: [Operating system](<https://devfeed.tech/topics/operating-system.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [C](<https://devfeed.tech/topics/c.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [operating-systems](<https://devfeed.tech/tags/operating-systems.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>)

### AI overview

An opinion article on TempleOS argues that its public prominence stemmed less from its technical achievements than from attention to its creator's mental illness. It describes TempleOS as a self-hosted hobby operating system written in a bespoke C dialect, with an editor, interpreter, compiler, and original games.

### Source excerpt

The masterwork of Terry A. Davis is his eclectic operating system, TempleOS, which he worked on until his tragic death in 2018. In terms of technical excellence, TempleOS rates well in some respects and poorly in others. For example, it earns the achievement, coveted in OS dev circles, of being self-hosted.1 TempleOS is written in Terry's own bespoke dialect of C and includes an editor, interpreter, and compiler, as well as a number of original games. In other respects, it compares poorly to many hobby OS projects, some of which have achieved significantly greater levels of technical excellence and sophistication. I would place TempleOS somewhere in, say, the lower middle-class of hobbyist operating systems. Among hobbyist operating systems, TempleOS stands out as one of the most well-known, having attracted considerably more press coverage and a much larger fan-base than any other hobby operating system can boast. The reason TempleOS stands out from the crowd is not due to its modest technical achievements, but because it is clearly the product of severe untreated schizophrenia.2 What makes TempleOS special is that Terry built it to talk to God. Every feature and each technical decision re-enforces his schizophrenic delusions, from its implementation language ("HolyC") to its prophetic "oracle" app. Enthusiasts of TempleOS are drawn to it in part because it affords an opportunity to explore the unique, creative masterwork of a person suffering from mental illness in a way that deeply impacts that work. A curious onlooker will find TempleOS interesting and engaging for the space of perhaps one afternoon before moving on. However, for the less scrupulous fans, turning one's attention to Terry himself never failed to entertain. Terry's public life put his mental illness on display, through frequent outbursts, conspiracy theories, rants and nonsensical discourse, all of which was often laced with slurs, racism, and homophobia, endearing him in particular to the 4chan c

## I Will Not Add Query Strings to Your URLs

DevFeed: [I Will Not Add Query Strings to Your URLs](<https://devfeed.tech/articles/i-will-not-add-query-strings-to-your-urls-37669.md>)

Original publisher: [Read original article](<https://susam.net/no-query-strings.html>)

Published: 2026-05-09T00:00:00Z

Content type: opinion

Language: en

Sources: [Susam Pal](<https://devfeed.tech/sources/susam-pal.md>)

Topics: [Web Development](<https://devfeed.tech/topics/web-development.md>), [CSS](<https://devfeed.tech/topics/css.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [C](<https://devfeed.tech/topics/c.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [console](<https://devfeed.tech/topics/console.md>), [file](<https://devfeed.tech/topics/file.md>)

Tags: [blog-post](<https://devfeed.tech/tags/blog-post.md>), [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [css](<https://devfeed.tech/tags/css.md>), [developer](<https://devfeed.tech/tags/developer.md>), [html](<https://devfeed.tech/tags/html.md>), [query](<https://devfeed.tech/tags/query.md>)

### AI overview

The article reflects on Chris Morgan's opposition to query strings in URLs and connects that discussion to the author's experiences learning web development, CSS, HTML, and building the self-hosted Wander Console.

### Source excerpt

Last evening, a short blog post appeared in my feed reader that felt as if it spoke directly to me. It is Chris Morgan's excellent post I've banned query strings. Contents Wisdom on the Web Wander on the Web Misfeature Broken URLs Qualms Conclusion Wisdom on the Web Chris is someone whose Internet comments I have been reading for about half a decade now. I first stumbled upon his comments on Hacker News, where he left very detailed feedback on a small collection of boilerplate CSS rules I had shared there. I am by no means a web developer. I have spent most of my professional life doing systems programming in C and C++. However, developing websites and writing small HTML tools has been a long-time hobby for me. I have learnt most of my web development skills as a hobbyist by studying what other people do: first by viewing the source of websites I liked in the early 2000s and later by occasionally getting possessed by the urge to implement a new game or tool and searching MDN Web Docs to learn whatever I needed to make it work. One problem with learning a skill this way is that you sometimes pick up habits and practices that are fashionable but not necessarily optimal or correct. So it was really valuable to me when Chris commented on my collection of boilerplate CSS rules. It helped me improve my CSS a lot. In fact, a few of the lessons from his comment have really stuck with me; I keep them in mind whenever I make a hobby HTML project: always retain underlines in links and retain purple for visited links. I have been following Chris's posts and comments on web-related topics since then. He often posts great feedback on web-related projects. Whenever I come across one, I make sure to read them carefully, even when the project isn't mine. I always end up learning something nice and useful from his comments. Here is one such recent example from the Lobsters story Adding author context to RSS. Wander on the Web A couple of months ago, I created a new project called Wan

## Checking multiplication overflow

DevFeed: [Checking multiplication overflow](<https://devfeed.tech/articles/checking-multiplication-overflow-29405.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/05/06/checking-multiplication-overflow/>)

Author: Daniel Lemire

Published: 2026-05-06T20:15:20Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [go](<https://devfeed.tech/tags/go.md>)

### AI overview

This article derives a condition for detecting multiplication overflow when an unsigned variable is multiplied by a non-zero constant. It concludes that overflow occurs if and only if the variable exceeds the relevant integer-division threshold, while noting that a direct comparison is likely more efficient and that the Go compiler does not perform this conversion.

### Source excerpt

Suppose that x is a variable of an unsigned type. In C/C++, it could be of type size_t for example. You have an expression like 6 * x and you want to know whether 6 * x overflows. That is, you want to know if 6 * x exceeds the range of values that can ... Continue reading Checking multiplication overflow

## OpenCL Cooperative Matrix Extensions Are Here

DevFeed: [OpenCL Cooperative Matrix Extensions Are Here](<https://devfeed.tech/articles/opencl-cooperative-matrix-extensions-are-here-15116.md>)

Original publisher: [Read original article](<https://www.khronos.org/blog/opencl-cooperative-matrix-extensions-are-here>)

Author: jphilips (jeff@khronosgroup.org)

Published: 2026-04-29T13:00:00Z

Content type: release

Language: en

Sources: [Blogs Khronos Blog](<https://devfeed.tech/sources/blogs-khronos-blog.md>)

Topics: [AI Inference](<https://devfeed.tech/topics/ai-inference.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [C](<https://devfeed.tech/topics/c.md>), [LLVM](<https://devfeed.tech/topics/llvm.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [arm](<https://devfeed.tech/tags/arm.md>), [blog-opencl-spirv-machinelearning-llv](<https://devfeed.tech/tags/blog-opencl-spirv-machinelearning-llv.md>), [c](<https://devfeed.tech/tags/c.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [intel](<https://devfeed.tech/tags/intel.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [opencl](<https://devfeed.tech/tags/opencl.md>), [qualcomm](<https://devfeed.tech/tags/qualcomm.md>), [spir](<https://devfeed.tech/tags/spir.md>), [vulkan](<https://devfeed.tech/tags/vulkan.md>)

### AI overview

The OpenCL Working Group has published a working draft of the cl_khr_cooperative_matrix extension, developed with Arm, Intel, and Qualcomm. The extension brings cooperative matrix operations for ML inference to OpenCL, while a companion OpenCL C extension is also being developed. Community feedback is requested before the standards are finalized.

### Source excerpt

The OpenCL Working Group has published a draft extension (cl_khr_cooperative_matrix) that brings cooperative matrix operations--a key technology for accelerating ML inference--to OpenCL, developed in collaboration with Arm, Intel, and Qualcomm. A companion extension to expose these capabilities directly in the OpenCL C language is also in progress, and the community is invited to review both drafts and provide feedback before they are finalized.

## Why do developers count from zero?

DevFeed: [Why do developers count from zero?](<https://devfeed.tech/articles/why-do-developers-count-from-zero-39319.md>)

Original publisher: [Read original article](<https://kt.academy/article/index_zero>)

Published: 2026-04-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [C](<https://devfeed.tech/topics/c.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [The Julia Language](<https://devfeed.tech/topics/julia.md>), [Lua](<https://devfeed.tech/topics/lua.md>), [MATLAB](<https://devfeed.tech/topics/matlab.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [developers](<https://devfeed.tech/tags/developers.md>), [history](<https://devfeed.tech/tags/history.md>), [lua](<https://devfeed.tech/tags/lua.md>), [matlab](<https://devfeed.tech/tags/matlab.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

This video explains why zero-based indexing became common. It discusses efficient use of numeric values and the simpler memory-address formula for arrays, while noting that MATLAB, Lua, and Julia use one-based indexing.

### Source excerpt

Why do developers count from zero? Short history and reasoning behind this convention.

## A brief history of C/C++ programming languages

DevFeed: [A brief history of C/C++ programming languages](<https://devfeed.tech/articles/a-brief-history-of-c-c-programming-languages-29400.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/04/09/a-brief-history-of-c-c-programming-languages/>)

Author: Daniel Lemire

Published: 2026-04-09T14:58:53Z

Content type: opinion

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Java](<https://devfeed.tech/topics/java.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Fortran](<https://devfeed.tech/topics/fortran.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [c-c-plus-plus](<https://devfeed.tech/tags/c-c-plus-plus.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [garbage-collection](<https://devfeed.tech/tags/garbage-collection.md>), [go](<https://devfeed.tech/tags/go.md>), [history](<https://devfeed.tech/tags/history.md>), [languages](<https://devfeed.tech/tags/languages.md>), [memory](<https://devfeed.tech/tags/memory.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>)

### AI overview

This article presents a brief history of C and C++, explaining how C emerged for low-level systems programming and how C++ added object-oriented, generic, and compile-time metaprogramming features. It then contrasts their portability challenges with Java and discusses JavaScript, Python, C#, and Go. The supplied text ends mid-sentence.

### Source excerpt

Initially, we had languages like Fortran (1957), Pascal (1970), and C (1972). Fortran was designed for number crunching and scientific computing. Pascal was restrictive with respect to low-level access (it was deliberately "safe", as meant for teaching structured programming). So C won out as a language that allowed low-level/unsafe programming (pointer arithmetic, direct memory access) ... Continue reading A brief history of C/C++ programming languages

## ESP-IDF v6.0: Default libc Switches from Newlib to PicolibC

DevFeed: [ESP-IDF v6.0: Default libc Switches from Newlib to PicolibC](<https://devfeed.tech/articles/esp-idf-v6-0-default-libc-switches-from-newlib-to-picolibc-13762.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2026/04/esp-idf-6-default-libc-picolibc/>)

Author: John Lee

Published: 2026-04-02T00:00:00Z

Content type: article

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [C](<https://devfeed.tech/topics/c.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Streams](<https://devfeed.tech/topics/streams.md>), [Library](<https://devfeed.tech/topics/library.md>), [POSIX](<https://devfeed.tech/topics/posix.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [architectures](<https://devfeed.tech/tags/architectures.md>), [blog](<https://devfeed.tech/tags/blog.md>), [c](<https://devfeed.tech/tags/c.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [firmware](<https://devfeed.tech/tags/firmware.md>), [libc](<https://devfeed.tech/tags/libc.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [memory](<https://devfeed.tech/tags/memory.md>), [migration](<https://devfeed.tech/tags/migration.md>), [newlib](<https://devfeed.tech/tags/newlib.md>), [performance](<https://devfeed.tech/tags/performance.md>), [picolibc](<https://devfeed.tech/tags/picolibc.md>), [posix](<https://devfeed.tech/tags/posix.md>), [streams](<https://devfeed.tech/tags/streams.md>), [systems](<https://devfeed.tech/tags/systems.md>), [toolchains](<https://devfeed.tech/tags/toolchains.md>)

### AI overview

ESP-IDF v6.0 changes its default C library from Newlib to PicolibC. The article compares the libraries' memory usage, standard I/O behavior, compatibility, and migration considerations, including measurements on ESP32-C3.

### Source excerpt

ESP-IDF v6.0 switches the default C library from Newlib to PicolibC. This article compares both libraries in terms of memory usage, stdio behavior, compatibility, and migration tradeoffs, and explains when keeping Newlib still makes sense.

## Mongoose: Preauth RCE and mTLS Bypass on Millions of Devices

DevFeed: [Mongoose: Preauth RCE and mTLS Bypass on Millions of Devices](<https://devfeed.tech/articles/mongoose-preauth-rce-and-mtls-bypass-on-millions-of-devices-41273.md>)

Original publisher: [Read original article](<https://www.evilsocket.net/2026/04/02/Mongoose-Preauth-Remote-Code-Execution-and-mTLS-Bypass/>)

Author: Simone Margaritelli

Published: 2026-04-01T22:00:00Z

Content type: article

Language: en

Sources: [evilsocket](<https://devfeed.tech/sources/evilsocket.md>)

Topics: [Mongoose](<https://devfeed.tech/topics/mongoose.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Security](<https://devfeed.tech/topics/security.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [Internet of things](<https://devfeed.tech/topics/iot.md>), [C](<https://devfeed.tech/topics/c.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [MQTT](<https://devfeed.tech/topics/mqtt.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>)

Tags: [authentication-bypass](<https://devfeed.tech/tags/authentication-bypass.md>), [buffer-overflow](<https://devfeed.tech/tags/buffer-overflow.md>), [c](<https://devfeed.tech/tags/c.md>), [cesanta](<https://devfeed.tech/tags/cesanta.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [cve](<https://devfeed.tech/tags/cve.md>), [cve-2026-5244](<https://devfeed.tech/tags/cve-2026-5244.md>), [cve-2026-5245](<https://devfeed.tech/tags/cve-2026-5245.md>), [cve-2026-5246](<https://devfeed.tech/tags/cve-2026-5246.md>), [cybersecurity](<https://devfeed.tech/tags/cybersecurity.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [embedded-devices](<https://devfeed.tech/tags/embedded-devices.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [exploit](<https://devfeed.tech/tags/exploit.md>), [heap-overflow](<https://devfeed.tech/tags/heap-overflow.md>), [http](<https://devfeed.tech/tags/http.md>), [https](<https://devfeed.tech/tags/https.md>), [industrial-control](<https://devfeed.tech/tags/industrial-control.md>), [iot](<https://devfeed.tech/tags/iot.md>), [iot-security](<https://devfeed.tech/tags/iot-security.md>), [library](<https://devfeed.tech/tags/library.md>), [mdns](<https://devfeed.tech/tags/mdns.md>), [mips](<https://devfeed.tech/tags/mips.md>), [mongoose](<https://devfeed.tech/tags/mongoose.md>), [mqtt](<https://devfeed.tech/tags/mqtt.md>), [mtls](<https://devfeed.tech/tags/mtls.md>), [rce](<https://devfeed.tech/tags/rce.md>), [responsible-disclosure](<https://devfeed.tech/tags/responsible-disclosure.md>), [security](<https://devfeed.tech/tags/security.md>), [stack-overflow](<https://devfeed.tech/tags/stack-overflow.md>), [tls](<https://devfeed.tech/tags/tls.md>), [vulnerability-research](<https://devfeed.tech/tags/vulnerability-research.md>)

### AI overview

The article reports three independently exploitable vulnerabilities in Mongoose v7.20, an embedded C networking library used in IoT devices: an mTLS authentication bypass, a preauthentication heap-overflow RCE through client public-key parsing, and a preauthentication RCE through mDNS over UDP. Mongoose v7.21 reportedly includes patches for the issues, which were assigned CVE-2026-5244, CVE-2026-5245, and CVE-2026-5246.

### Source excerpt

So, Mongoose. I

## Introducing the SPIFFS component

DevFeed: [Introducing the SPIFFS component](<https://devfeed.tech/articles/introducing-the-spiffs-component-13757.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2026/03/introducing-spiffs-component/>)

Author: John Lee

Published: 2026-03-23T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>), [Streams](<https://devfeed.tech/topics/streams.md>), [C](<https://devfeed.tech/topics/c.md>), [POSIX](<https://devfeed.tech/topics/posix.md>), [ESP32](<https://devfeed.tech/topics/esp32.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [beginner](<https://devfeed.tech/tags/beginner.md>), [blog](<https://devfeed.tech/tags/blog.md>), [c](<https://devfeed.tech/tags/c.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [filesystem](<https://devfeed.tech/tags/filesystem.md>), [guide](<https://devfeed.tech/tags/guide.md>), [posix](<https://devfeed.tech/tags/posix.md>), [spiffs](<https://devfeed.tech/tags/spiffs.md>), [storage](<https://devfeed.tech/tags/storage.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This practical guide introduces the SPIFFS component bundled with ESP-IDF for storing files on SPI NOR flash. It explains how SPIFFS works with the VFS layer and standard C and POSIX file APIs, describes features such as wear levelling, consistency checks, and format-on-mount, and outlines a basic flow for mounting, writing, renaming, and reading files. It also points to SPIFFSgen and an official working example.

### Source excerpt

Learn what the ESP-IDF SPIFFS component is, how it works with the VFS layer and standard C file APIs, and how to use the SPIFFSgen tool to embed files. This article is a practical guide with references to the official example.

## GNU/Hurd developments and fixes in Q1 2026

DevFeed: [GNU/Hurd developments and fixes in Q1 2026](<https://devfeed.tech/articles/2026-q1-32749.md>)

Original publisher: [Read original article](<http://www.gnu.org/software/hurd/news/2026-q1.html>)

Published: 2026-03-02T06:07:00Z

Content type: news

Language: en

Sources: [GNU Hurd](<https://devfeed.tech/sources/gnu-hurd.md>)

Topics: [GNU/Hurd](<https://devfeed.tech/topics/gnu-hurd.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [kernels](<https://devfeed.tech/topics/kernels.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [bug](<https://devfeed.tech/topics/bug.md>), [C](<https://devfeed.tech/topics/c.md>), [Deadlock](<https://devfeed.tech/topics/deadlock.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [qemu](<https://devfeed.tech/topics/qemu.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [bug](<https://devfeed.tech/tags/bug.md>), [c](<https://devfeed.tech/tags/c.md>), [claude](<https://devfeed.tech/tags/claude.md>), [deadlock](<https://devfeed.tech/tags/deadlock.md>), [debian](<https://devfeed.tech/tags/debian.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [gnu-hurd](<https://devfeed.tech/tags/gnu-hurd.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [linux](<https://devfeed.tech/tags/linux.md>), [qemu](<https://devfeed.tech/tags/qemu.md>)

### AI overview

A Q1 2026 GNU/Hurd project update reports debugging and fixes across SMP, threading, filesystem, IPC, networking, and related components, along with wiki documentation and hardware-installation guidance.

### Source excerpt

Hello! Welcome to a new qoth. This qoth covers new and interesting GNU/Hurd developments in Q1 of 2026! Details. Brent W. Baccala debugged some x86_64 SMP issues with a Claude AI bot. The bot did not contribute any code. It just found some incorrect code that Damien then fixed. It did get some things wrong, but it was incredibly helpful pointing out several problems. You can read its report here. Joshua Branson tweaked the hurd wiki. The most helpful addition is this page, which documents how to flash a working qemu hurd image directly to an HDD or SSD. This is a really easy way to install the Hurd on real hardware! Buy a supported machine from this page and give it a shot! Consider this another reminder that the Hurd project could use more documentation writers. It's an easy way to contribute. As a fun fact, Joshua wrote this qoth on the Hurd running on a T420 with 12 GB of RAM! Running Debian GNU/Hurd on bare metal these days is largely fairly stable. Emacs, i3, netsurf, and luakit all work just fine and most of the Debian package archive compiles without issue on the Hurd. Etienne Brateau fixed a compilation error. He also provided a simple test program that exposed a rather serious threading bug, which Samuel promptly fixed. This is a good reminder that writing simple C test programs that successfully run on Linux, but fail on the Hurd can have a large impact. Gianluca Cannata worked on our httpfs translator. Diego Nieto Cid added a daemon-wait option for console-client. This can help users with slow machines avoid a broken Hurd console. He also fixed a rumpdisk compilation issue. Mike Kelley fixed a deadlock in SMP enabled GNU Mach kernels. He also fixed a page fault in amd64 SMP kernels. He fixed another deadlock in the alarm () function. He fixed a panic when running large builds without the mach-defpager. He also fixed some of our signal related code. He worked with Samuel to investigate an odd bug. Their detailed investigation uncovered and lead to a fix in

## Error Handling in C, Go, Rust, and Google's Absl

DevFeed: [Error Handling in C, Go, Rust, and Google's Absl](<https://devfeed.tech/articles/ow-my-foot-39417.md>)

Original publisher: [Read original article](<https://n8z.dev/posts/ow-my-foot/>)

Author: Nevin Zheng

Published: 2026-02-28T00:00:00Z

Content type: opinion

Language: en

Sources: [nevzheng](<https://devfeed.tech/sources/nevzheng.md>)

Topics: [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [Microcontroller](<https://devfeed.tech/topics/microcontroller.md>), [C](<https://devfeed.tech/topics/c.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [errors](<https://devfeed.tech/tags/errors.md>), [go](<https://devfeed.tech/tags/go.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [microcontrollers](<https://devfeed.tech/tags/microcontrollers.md>), [opinions](<https://devfeed.tech/tags/opinions.md>), [rust](<https://devfeed.tech/tags/rust.md>), [stm32](<https://devfeed.tech/tags/stm32.md>)

### AI overview

An opinionated survey of error handling across C, Go, Rust, and Google's Absl. The article traces error recovery from hardware status registers, interrupts, watchdog timers, and resets to modern language features and libraries, with particular attention to firmware, embedded systems, and microcontrollers.

### Source excerpt

Errors, opinions, and the rakes I've stepped on.

## Bit-field layout

DevFeed: [Bit-field layout](<https://devfeed.tech/articles/bit-field-layout-31124.md>)

Original publisher: [Read original article](<https://maskray.me/blog/bit-field-layout>)

Published: 2026-02-22T08:00:00Z

Content type: tutorial

Language: en

Sources: [MaskRay](<https://devfeed.tech/sources/maskray.md>)

Topics: [implementation](<https://devfeed.tech/topics/implementation.md>), [C](<https://devfeed.tech/topics/c.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [clang](<https://devfeed.tech/topics/clang.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [LLVM](<https://devfeed.tech/topics/llvm.md>), [MSVC](<https://devfeed.tech/topics/msvc.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [clang](<https://devfeed.tech/tags/clang.md>), [codegen](<https://devfeed.tech/tags/codegen.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [compiler-optimization](<https://devfeed.tech/tags/compiler-optimization.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [msvc](<https://devfeed.tech/tags/msvc.md>)

### AI overview

This article explains how C and C++ bit-field layout is implementation-defined and governed primarily by platform ABIs. It distinguishes ABI-defined storage layout from compiler code generation, focusing on the Itanium ABI and describing differences in the Microsoft ABI.

### Source excerpt

The C and C++ standards leave nearly every detail to the implementation. C23 §6.7.3.2: An implementation may allocate any addressable storage unit large enough to hold a bit-field. If enough space remains, a bit-field that immediately follows another bit-field in a structure shall be packed into adjacent bits of the same unit. If insufficient space remains, whether a bit-field that does not fit is put into the next unit or overlaps adjacent units is implementation-defined. The order of allocation of bit-fields within a unit (high-order to low-order or low-order to high-order) is implementation-defined. The alignment of the addressable storage unit is unspecified C++ is also terse -- [class.bit]p1: Allocation of bit-fields within a class object is implementation-defined. Alignment of bit-fields is implementation-defined. Bit-fields are packed into some addressable allocation unit.

[Next page](<https://devfeed.tech/topics/c.md?cursor=WyIyMDI2LTAyLTIyVDA4OjAwOjAwKzAwOjAwIiwgIjNlNmI0MmJlLWVhNTctNDQ0YS1iOTQzLTgwOGQ3YmVmYzhjZiJd>)