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

    Fefe

    fefe.de · Personal blog · on HN since 2009

    Fefe, a German programmer and blogger, writes about software, security, and politics, and wrote dietlibc, gatling, and libowfat.

    Visit blogHN submissions
    Systems & PerformanceSecurityOpen Source & Linux
    What HN says

    Commenters say he has good taste in software and link his tools, including dietlibc and ncp, and his compiler optimization talk.

    Stats for nerds
    62HN people shared it
    23linked in comments
    523story points
    Dec 2025last shared
    2009people per year2025

    Top posts on HN

    1. 1
      The Dark Side of C++ (2007) [pdf]
      2 people · 171 points · first shared 2011 · 53 comments on HN
    2. 2
      Catching Integer Overflows in C
      6 people · 137 points · first shared 2011 · 70 comments on HN
    3. 3
      Dietlibc – a Libc optimized for small size
      11 people · 91 points · first shared 2010 · 40 comments on HN
    4. 4
      Please do not port software to Windows (2001)
      4 people · 66 points · first shared 2014 · 42 comments on HN
    5. 5
      Gatling – a high performance web server
      10 people · 39 points · first shared 2009 · 16 comments on HN
    6. 6
      Time to Market is not a good metric
      4 people · 9 points · first shared 2019 · 2 comments on HN
    7. 7
      Writing Small and Fast Software (2001) [pdf]
      3 people · 7 points · first shared 2015 · Discussion on HN
    8. 8
      Random-numbers: All DVDCSS player keys announced (1999)
      1 person · 2 points · first shared 2015 · Discussion on HN
    9. 9
      Libowfat (reimplement libdjb) (2016)
      5 people · 1 points · first shared 2017 · Discussion on HN
    10. 10
      Djb
      5 people · first shared 2009

    What HN people wrote when they linked it

    • chubotJan 2014

      Yeah, a lot of good programmers have alternatives to libc, either for reasons of history or taste.

      I was just reading DJB's daemontools (less than 6K LOC, very tidy!), and he doesn't use libc. Actually his code has been collected in libdjb, which seems quite nice:

      http://www.fefe.de/djb/

      And also the Plan 9 / Go guys don't use ANSI libc as far as I remember.

      Those are two examples of people who don't even use the ANSI libc interface. But there are plenty of people who don't use GNU libc, and use uclibc or various other source-compatible alternatives. I think Debian switched to eglibc awhile ago.

    • oso2kJan 2015

      Thanks for this Ryan. I'll reference this gist too. I remember starting with something like this early on (w/o your sysdef) but wanted argc, argv, envp and to separate syscall* from the startup code.

      Part of the reason I've started this is that libc suffers from bad design (in von Leitner's definition [0]). I find c0's & djb's APIs better designed [1][2]. *printf is a prime example of bad design. Heck, pretty much everything in stdio.h & string.h has a design flaw)

      [0] http://www.fefe.de/dietlibc/diet.pdf

      [1] http://c0.typesafety.net/tutorial/Strings.html

      [2] http://www.fefe.de/djb/

    • panziApr 2014

      But did you secure it against endless parser loops? At least older g++ versions have a problem with this:

      template<class T> struct Loop { Loop<T*> operator->(); };
      Loop<int> i, j = i->hooray;

      And on older gcc versions this eats a gig RAM and a takes couple of hours:

      struct a{typedef int foo;};struct a1:a{};struct a2:a{};
      #define X(b,a) struct a##1:b##1,b##2{};struct a##2:b##1,b##2{};
      X(a,b)X(b,c)X(c,d)X(d,e)X(e,f)X(f,g)X(g,h)X(h,i)X(i,j)X(j,k)X(k,l)
      X(l,m)X(m,n) n1::foo main(){}

      From slide 11 and 12 of this presentation: http://www.fefe.de/c++/c%2B%2B-talk.pdf

    • fosapJul 2013

      something that was not necessary. Init scripts can be nice and clean [1]. And yes, I'm all for a init replacement. Something new, nice and clean. But I take the shell script hackery over a dbus dependency. But that's just my personal opinion.

      I have neither used it nor looked at the code, but [2] seems to be what I want. It's by the libdietc author, so i expect the code to be small, elegant and not maintained very well.

      [1] http://www.freebsd.org/doc/en/articles/rc-scripting/rcng-dummy.html

      [2] http://www.fefe.de/minit/

    • tom_fitzhenryDec 2012

      You can use DNS NOTIFY rather than sending an email. When the primary is updated, DNS NOTIFY will tell each secondary about the change.

      DNS NOTIFY is standardised in: https://tools.ietf.org/rfc/rfc1996.txt

      BIND 8+ supports it by default, according to http://docstore.mik.ua/orelly/networking_2ndEd/dns/ch10_03.htm

      There is a perl script to achieve the same thing in djbdns, according to http://www.fefe.de/djbdns/#notify (which joe_bleau alluded to).

    • mhdJun 2016

      One man's trivial is another man's bother. I consider 30k (less than some images or the rather popular fonts) to be quite trivial for most purposes, and if it gives me a nicer syntax for common operations, it's probably worth it.

      On the other hand, I've seen actual backlash against printf implementations in libs and the bloat they're causing, never mind potential bugs [1].

      So there you go.

      [1]: https://www.fefe.de/dietlibc/FAQ.txt

    Related

    Fefes Blogblog.fefe.de76 people

    Fefe is back

    Fefes Blog
    Personal · last shared 2026
    Justin Cormackcloudatomiclab.com17 people

    Fuzz rising

    Justin Cormack
    Personal · last shared 2020
    Farid Zakariafzakaria.com30 people

    Nix Derivation Madness

    Farid Zakaria
    Personal · last shared 2026
    Frew Schmidtblog.afoolishmanifesto.com21 people

    A Love Letter to Plain Text

    Frew Schmidt
    Personal · last shared 2025
    Wingologwingolog.org237 people

    FFS SSL

    Wingolog
    Personal · last shared 2026
    Alex Ionescualex-ionescu.com18 people

    Windows Internals, 7th Edition

    Alex Ionescu
    Personal · last shared 2023
    Hector Marcohmarco.org21 people

    Back to 28: Grub2 Authentication 0-Day

    Hector Marco
    Personal · last shared 2025
    Rich Felkerewontfix.com36 people

    Broken by design: systemd

    Rich Felker
    Personal · last shared 2025