Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    F

    Feabhas Blog

    blog.feabhas.com · Company blog · on HN since 2012

    Feabhas, an embedded software training company, writes about C, C++, CMake, and tooling for embedded development.

    Visit blogHN submissions
    ProgrammingLanguages & CompilersHardware & Electronics
    What HN says

    HN links it for practical C and C++ posts, with commenters citing it in discussions of memory protection, strings, and code structure.

    Stats for nerds
    18HN people shared it
    40linked in comments
    1.1Kstory points
    Oct 2023last shared
    2015people per year2023

    Top posts on HN

    1. 1
      ‘Abusing’ the C switch statement – beauty is in the eye of the beholder
      2 people · 237 points · first shared 2017 · 147 comments on HN
    2. 2
      A convenient untruth: Array notation in C is a lie
      1 person · 180 points · first shared 2016 · 172 comments on HN
    3. 3
      VSCode, Dev Containers and Docker
      1 person · 178 points · first shared 2021 · 228 comments on HN
    4. 4
      C++20 Modules with GCC11
      2 people · 142 points · first shared 2021 · 108 comments on HN
    5. 5
      CMake Part 1 – The Dark Arts
      3 people · 108 points · first shared 2021 · 69 comments on HN
    6. 6
      On the evolution of programming style: How far C++ has moved from its C roots
      1 person · 98 points · first shared 2012 · 71 comments on HN
    7. 7
      Demystifying C++ lambdas
      1 person · 28 points · first shared 2014 · 9 comments on HN
    8. 8
      Memory consistency made simple(ish)
      1 person · 27 points · first shared 2016 · 4 comments on HN
    9. 9
      An Introduction to Docker for Embedded Developers – Part 2 Building Images
      1 person · 8 points · first shared 2017 · Discussion on HN
    10. 10
      CMake Part 2 – Release and Debug Builds
      3 people · 6 points · first shared 2021 · Discussion on HN

    What HN people wrote when they linked it

    • sargstuffApr 2022

      Is'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-beauty-eye-beholder/
      https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html

      Just have to impliment the program as if it was an OS. aka mix/match abstraction levels!

      Mix/match assembler / language macros / foreign language calls to other language libraries

      Use C20 ability to assign case statement(s) to a thread (mixed with remote procedure calling and/or function stacks across multiple threads)

      Mix & match unicode/non-unicode, hex, ascii, etc. where text is code that can be run.

      Mix and match C# language extensions in which same thing can be implimented different ways (e.g. strings, vectors, templating)

    • zackmorrisOct 2023

      The 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-of-characters-not-code-points-in-a-string/15582268#15582268

      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 abstract it away with encodings that have unintuitive pitfalls that broke compatibility with Python 2:

      https://blog.feabhas.com/2019/02/python-3-unicode-and-byte-strings/

      There's also the normalization issue. Apple goofed (IMHO) when they used NFD in HFS+ filenames while everyone else went with NFC, but fixed that in APFS:

      https://unicode.org/faq/normalization.html

      https://medium.com/@sthadewald/the-utf-8-hell-of-mac-osx-feef5ea42407

    • twicOct 2015

      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 relevant for single-core microcontrollers).

      http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0553a/BIHJJABA.html

      https://blog.feabhas.com/2013/02/setting-up-the-cortex-m34-armv7-m-memory-protection-unit-mpu/

      It's a bit like a normal MMU bit without virtual memory.

    Related

    Nick Desaulniersnickdesaulniers.github.io29 people

    F() vs. F(void) in C vs. C++

    Nick Desaulniers
    Personal · last shared 2026
    Vladimir Keleshevkeleshev.com25 people

    Writing a Book with Pandoc, Make, and Vim

    Vladimir Keleshev
    Personal · last shared 2026
    SIGPLAN Blogblog.sigplan.org61 people

    My First Fifteen Compilers

    SIGPLAN Blog
    Publication · last shared 2026
    Interrupt (Memfault)interrupt.memfault.com51 people

    From zero to main(): How to write a bootloader from scratch

    Interrupt (Memfault)
    Company · last shared 2026
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026
    Probably Danceprobablydance.com74 people

    Fibonacci Hashing: The Optimization That the World Forgot

    Probably Dance
    Personal · last shared 2026
    AdaCore Blogblog.adacore.com106 people

    Nvidia Security Team: “What if we just stopped using C?” (2022)

    AdaCore Blog
    Company · last shared 2025
    ThePhDthephd.dev112 people

    Embed is in C23

    ThePhD
    Personal · last shared 2026