Home | Notifications | New Note | Local | Federated | Search | Logout

Note Detail


feld@feld@friedcheese.us (2026-02-26 02:59:18)
> there's a Rust rewrite of dnstracer, dnstracer-rs

>> it appears to be actively developed. But this is kind of a solved problem, so why so many releases?

>>> "lock file maintenance" and bumping dependencies


MEANWHILE the C version has been frozen in time for decades because it has no external dependencies or compiler updates it needs to chase all the time
---Reply--- feld@feld@friedcheese.us (2026-02-26 03:00:17) let's analyze this futher!

The Rust version:

> du -sh `which dnstracer`
1.1M /usr/local/bin/dnstracer

> ldd `which dnstracer`
/usr/local/bin/dnstracer:
libthr.so.3 => /lib/libthr.so.3 (0x3df3fbeeb000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x3df3fe3a1000)
libc.so.7 => /lib/libc.so.7 (0x3df3ff0a8000)
libm.so.5 => /lib/libm.so.5 (0x3df3ff9d8000)
libsys.so.7 => /lib/libsys.so.7 (0x3df3fdc84000)
[vdso] (0x3df3fb325000)


The C version:

> du -sh `which dnstracer`
21K /usr/local/bin/dnstracer

> ldd `which dnstracer`
/usr/local/bin/dnstracer:
libc.so.7 => /lib/libc.so.7 (0x269ec858a000)
libsys.so.7 => /lib/libsys.so.7 (0x269ec6fb5000)
[vdso] (0x269ec69fa000)



Why is this considered progress? Why do we keep doing this to ourselves?
Reply