Top all-time · #4203
Powered by Feabhas
Company blog · blog.feabhas.comprogramminghardware
Powered by Feabhas is the company blog at blog.feabhas.com, writing about programming and hardware. Since 2012, 18 different Hacker News readers have linked it 43 times, most often “CMake Part 2 – Release and Debug Builds”. The last post was in 2024, but the archive is still widely read.
Too few sampled comments (3) to say how often HN recommends it.?
Why HN links it
HN readers link Feabhas's Sticky Bits posts on embedded C and Cortex-M hardware, such as an explanation of the ARM MPU and a piece on abusing the C switch statement. The comments cite them without judging the writing.
Summarised by Claude from a sample of 3 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
A blog looking at developing software for real-time and embedded systems
Most-linked posts?
- CMake Part 2 – Release and Debug Builds3 people · 4 mentions · first linked 2021-07-23
- CMake Part 1 – The Dark Arts3 people · 3 mentions · first linked 2021-07-08
- Becoming a Rule of Zero Hero2 people · 2 mentions · first linked 2015-11-05
- ‘Abusing’ the C switch statement – beauty is in the eye of the beholder2 people · 2 mentions · first linked 2017-02-02
- Custom Allocators in C++2 people · 2 mentions · first linked 2019-03-14
- C++20 Modules with GCC112 people · 2 mentions · first linked 2021-08-18
What Hacker News says?
The "new hardware protection mechanism called MPU available on some new ARM Cortex-M microcontrollers" is a device which lets the operating system define up to eight memory regions (sixteen on the M7), optionally with holes in them. In each region, permissions can be set for read, write, and execute, and the policy for cacheing and sharing between cores can be controlled (although this is presumably not really relev…
Comment linking /2013/02/setting-up-the-cortex-m34-armv7-m-memory-protection-unit-mpu/
on “Experiences Building an OS in Rust”Submitted ‘Abusing’ the C switch statement – beauty is in the eye of the beholder as a story · 237 points
HN discussionIs't spagetti code a design pattern? One can make use of design patterns, clean code and separation of concerns and still get working spaghetti code without all the hacky stuff. Much less effort if use C. Engineered C case studies as goto solutions! https://blog.feabhas.com/2017/02/abusing-c-switch-statement-... https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html Just have to impliment the program as if it…
Comment linking /2017/02/abusing-c-switch-statement-beauty-eye-beholder/
on “Ask HN: How do I write quick and dirty, spaghetti code?”Submitted A convenient untruth: Array notation in C is a lie as a story · 180 points
HN discussionThe only modern language that gets it right is Swift: Apple did a fairly good job with unicode string handling starting in Cocoa and Objective-C, by providing methods to get the number of code points and/or bytes: https://stackoverflow.com/questions/15582267/cfstring-count-... I feel that this support of both character count and buffer size in bytes is probably the way to go. But Python 3 went wrong by trying to abs…
Comment linking /2019/02/python-3-unicode-and-byte-strings/
on “The Absolute Minimum Every Software Developer Must Know About Unicode in 2023”Submitted VSCode, Dev Containers and Docker as a story · 178 points
HN discussionSubmitted C++20 Modules with GCC11 as a story · 139 points
HN discussionSubmitted CMake Part 1 – The Dark Arts as a story · 99 points
HN discussionSubmitted On the evolution of programming style: How far C++ has moved from its C roots as a story · 98 points
HN discussionSubmitted Demystifying C++ lambdas as a story · 28 points
HN discussionSubmitted Memory consistency made simple(ish) as a story · 27 points
HN discussionSubmitted CMake: The Dark Arts as a story · 8 points
HN discussionSubmitted An Introduction to Docker for Embedded Developers – Part 2 Building Images as a story · 8 points
HN discussionSubmitted Function Parameters and Arguments on 32-bit ARM as a story · 6 points
HN discussionSubmitted CMake Part 4 – Windows 10 Host as a story · 4 points
HN discussionSubmitted A brief introduction to C++ Concepts as a story · 4 points
HN discussionSubmitted C++20 Modules with GCC11 as a story · 3 points
HN discussionSubmitted CMake Part 2 – Release and Debug Builds as a story · 3 points
HN discussionSubmitted We Need Build Systems as a story · 3 points
HN discussionSubmitted Using final in C++ to improve performance as a story · 2 points
HN discussionSubmitted Working with Strings in Embedded C++ as a story · 2 points
HN discussionSubmitted CMake Part 3 – Source File Organisation and Subsystems as a story · 2 points
HN discussionSubmitted Side effects and sequence points; why volatile matters as a story · 2 points
HN discussionSubmitted Contract Killing (In Modern C++) as a story · 2 points
HN discussionSubmitted Developing a Generic Hard Fault Handler for ARM Cortex-M3/Cortex-M4 Using GCC as a story · 2 points
HN discussionSubmitted C++: Seeing stars. And dots. And arrows as a story · 2 points
HN discussionSubmitted Rapid Application Development with Python as a story · 2 points
HN discussionSubmitted Raspberry Pi First Impressions and RaspBMC as a story · 2 points
HN discussionSubmitted Disassembling a Cortex-M raw binary file with Ghidra as a story · 1 points
HN discussionSubmitted TDD in C with Ceedling and WSL2: performance issues as a story · 1 points
HN discussion