I'm off to learn Rust

Eric S. Raymond esr at thyrsus.com
Sun Jan 8 20:59:51 UTC 2017


As previously noted, the C cleanup is nearly done. The sockaddr_u
elimination is within a couple of hours of complete; the removal
of interface scanning is a larger problem, but most efficiently tackled
when I can pick Danel's brain about it after the 15th.

This leaves me a gap of 6 or 7 days this week - conveniently at the
same time Susan Sons will be on vacation.  And Mark had already approved
me going off to learn Rust in the near future as project-relevant.

Susan and I have decided to revive an old idea we were originally going
to do in Python and implement it in Rust instead - a better IRC
server.  Susan has years of field experience with IRC servers written
in C and says they're kludgy and terrible inside. A symptom is that
they tend to stall out at ridiculously low user counts; this is one
reason they have to be federated.

We considered reimplementing rsync in Rust, but after spending a
couple of hours on Friday taking a close look at the C code together
we abandoned that idea.  It's not in as dire shape as we feared; at
the microlevel the code seems pretty good. The way that it *is* in bad
shape is way, way too many behavioral options and too much shared
global state as a result. This is not a problem Rustifying it can fix,
it's a design issue that needs to be addressed at the design level.

I briefly considered writting a fully open-source competitor to Disqus
to be used on the project blog, but rapidly concluded this was was -
while doable - too large for a learning project.

We expect the combination of my sysarch skills with Susan's domain
expertise will be quite effective.  An additional goal is to further
her apprenticeship - she's trying to learn from me to think like a
systems architect, and neither of us believes there is any better way to
do this than direct collaboration on a non-toy project.

What this means for NTPsec is that, while I won't be completely
unavailable, my concentration will be mostly elsewhere until the 15th.
Please try to thin out the tracker issues in my absence.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

To stay young requires the unceasing cultivation of the ability to
unlearn old falsehoods.
	-- Lazarus Long 


More information about the devel mailing list