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.

What HN saysCommenters say he has good taste in software and link his tools, including dietlibc and ncp, and his compiler optimization talk.
62HN people shared it
43linked it in comments
23stories submitted
523story points
11 months agolast shared
2009people per year2026

Most-shared posts

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

What HN people wrote when they linked it

1vuio0pswjnm7 · 2025-12-06
"Proudly made without AI, Blockchain, PHP, Java, Perl, MySQL and Postgres" He has good taste in software and has written some interesting programs of his own, including the httpd serving the blog (gatling/0.17) according the headers https://www.fefe.de https://web.archive.org/web/20250917103655if_/http://www.fefe.de/
schoen · 2017-06-27
This reminds me of the great tool http://www.fefe.de/ncp/, which seems like the same thing only without the cryptographic authentication!
mhd · 2016-06-10
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
logic · 2009-11-06
It appears that he's been updating this presentation over the years: http://www.fefe.de/know-your-compiler.pdf http://dl.fefe.de/optimizer-isec.pdf Regardless, it's a good read!
mschuster91 · 2022-07-30
Judging by the username, they may be German blogger Fefe, who has written their own libc: https://www.fefe.de/dietlibc/
pantalaimon · 2021-04-02
gatling [0] is also pretty small and fast, it also can do FTP and SMB if you need that. [0] https://www.fefe.de/gatling/
kriro · 2020-06-23
On a somewhat related note, I always thought dietlibc was a pretty cool project (basically trying to get libc to be very tiny). It's been a pretty long time since I browsed the code but I remember it being quite elegant. https://www.fefe.de/dietlibc/
namibj · 2019-12-03
Reminds me of libowfat [0]'s stralloc/buffer. It's used in gatling[1], a small (LOC/binary) http/ftp/samba server simple nonblocking IO. [0]: https://www.fefe.de/libowfat/ [1]: https://www.fefe.de/gatling/
gpvos · 2019-12-03
I tend to use libdjb[0] if I need to use strings in C. Is this library significantly easier? [0] http://www.fefe.de/djb/
gpderetta · 2019-12-03
from the top of that page: (Note: This has not been touched since 2000, use [2] instead) [1] https://www.fefe.de/libowfat/
alpaca128 · 2019-11-11
I think this is the intended(and working) link: https://www.fefe.de/timetomarket.html
jlg23 · 2019-10-18
If I remember correctly it grew out of frustration with glibc size which turned into research into how to make a libc as small as possible. No DJB involved. > Not that much happening since then, I think he's mostly CCC-ish-blogging these days. Latest release was last year and the changelog[1] suggests it was a group effort. Do I smell a personal dislike for the author? [1] http://www.fefe.de/dietlibc/changes-0.34.txt
alexhutcheson · 2019-10-18
Another factor to consider is release cadence: - musl: 4 releases so far in 2019, 2 in 2018, 3 in 2017[1] - uClibc: No releases since 2012[2] - uClibc-ng: 2 releases in 2019, 3 in 2018, 6 in 2017[3] - dietlibc: only 1 release since 2013[4] [1] https://www.musl-libc.org/releases/ [2] https://uclibc.org/ [3] https://downloads.uclibc-ng.org/releases/ [4] https://www.fefe.de/dietlibc/
api · 2017-06-27
A similar LAN or virtual network oriented tool: https://github.com/zerotier/toss ... and another less magical one: http://www.fefe.de/ncp/
JdeBP · 2017-05-06
Of course I have seen it. A lot of it is the same free Bernstein libraries that have been used by Felix von Leitner, Paul Jarc, Laurent Bercot, et al., with some of the same C1999 modernizations; and that inspired various similar libraries. * http://www.fefe.de/djb/ * http://www.skarnet.org/software/skalibs/libstddjb/ * http://untroubled.org/bglibs/ * http://www.fefe.de/libowfat/
aastronaut · 2016-05-02
i think fefes cms is written in C... [1] [1] http://www.fefe.de/poweredby.html
tobias3 · 2016-02-22
Here is how to do integer overflow checks from the same author as the OP in the bug report: https://www.fefe.de/intof.html
oso2k · 2015-01-31
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/
panzi · 2014-04-15
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
dewey · 2014-02-12
If you just want a small httpd there's also gatling and fnord. [0] http://www.fefe.de/gatling/ [1] http://www.fefe.de/fnord/
chubot · 2014-01-03
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.
fosap · 2013-07-20
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/
c-oreills · 2013-04-02
If that's your use case then have a look at ncp: http://www.fefe.de/ncp/ From the site: '"ncp" is a utility for copying files in a LAN. It has absolutely no security or integrity checking, no throttling, no features, except one: you don't have to type the coordinates of your peer.'
froseph · 2013-02-16
It reminds me of http://www.fefe.de/ncp/ It's always interesting when people come up with the same thing independently.
diginux · 2013-02-16
I made it because with the nc solution, it still required knowing the hostname. I now see though that ncp (http://www.fefe.de/ncp/) would have probably sufficed, though it is a slightly different approach. Sorry if you feel mislead.
trin_ · 2013-01-15
you'll know it when you need it ... seriously. unless you really know what you want and what you are doing the chances of outsmarting the compiler are very very slim. there's a rather old but good video about this very topic that i just remembered: http://media.ccc.de/browse/conferences/camp2007/cccamp07-en-1952-Know_… and i think these are the corresponding slides: http://www.fefe.de/know-your-compiler.pdf
tom_fitzhenry · 2012-12-31
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).
gegenschall · 2012-06-04
There is a somewhat related text by Fefe: http://www.fefe.de/intof.html
ibotty · 2012-06-03
there already is a successful (in a way) project named gatling. a very performant, very secure webserver. i thought there was news about it. http://www.fefe.de/gatling/
worldimperator · 2011-10-27
There are also smaller implementations of libc, eg. http://www.fefe.de/dietlibc/

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close