I think I said I signed up for Claude Code. I thought you people might
be interested in how it has been going.
Years ago I wrote a program that sat on my e-mail server and let me
create new e-mail aliases on the fly by sending a specially formatted
e-mail to a special address. It would set up the alias and send a
success e-mail to the new alias as a demonstration that it worked.
When I put up a second e-mail server, with the two acting as I live
pair, this simple little program wasn't going to work anymore. I didn't
get around to replacing it because with two servers (that might come and
go per the whims of residential internet service) the problem is MUCH
more complicated.
So I had Claude Code write the replacement. The problem is still
complicated, but this time I just worried about the complications, I had
Claude Code do the actual programing.
I started out heavy on the specs, deferring any programming, I wanted it
to be correct. After a few days, I was feeling good about how it was
going, so I set myself an ambitious goal: Could I make it run correctly
the /first/ time? Unit testing, integration testing, etc., is allowed,
but only in controlled, repeatable, permutable, and synthetic
environments. No trying it against reality until 1.0.0.
Could I do it?
Turns out...
...no.
But I came *close*:
* 1.0.0: had problem building the .deb file, something about paths
starting with a "/" or not.
* 1.0.1: expected the right libc would be just waiting for us on the
target.
* 1.0.2: the human couldn't follow installation instructions, and the
program was silent about saying what went wrong, so we improved the
silent part.
* 1.0.3: misunderstood what the parameters would be when Postfix
handed off the special e-mail to us. This was the only real runtime
error.
* 1.0.4: Works! It installed and seems to be running happily in Boston
and Los Angeles, using mTLS to talk between the two, keeping aliases
in sync.
The core code of the program itself seems to have been correct back at
1.0.0. The problems were all with poorly defined sharp bits around the
edges.
Having 7,500 lines of Rust code (including for install "scripts" in the
.deb), and being that close correct the first time. I think that's
pretty good. How big a victory can I claim?
-kb, the Kent who had never been part of building a .deb before.
_______________________________________________
Discuss mailing list
[email protected]
https://lists.blu.org/mailman/listinfo/discuss