IRC channel logs

2025-12-04.log

back to list of logs

<ridley>tsyesika, I know it's been some years now but do you happen to remember what resources you looked at to make the onion netlayer?
<ridley>Do you have a recollection of how much work it was to implement?
<dthompson>I don't know if tsyesika will be responding today but cwebber might know the answer
<dthompson>the onion netlayer was already implemented by the time I joined spritely
<ridley>no worries I don't need an answer today
<cwebber>hi ridley
<cwebber>that was me who made it
<cwebber>I looked at the torspec repo!
<ridley>oh my bad I thought it was tsyesika
<ridley>thanks for the lead
<cwebber>understandable, tsyesika took the lead on ocapn after my initial work on it
<ridley>do you happen to remember how big of a task it was?
<cwebber>it's pretty easy
<ridley>Good to know
<cwebber>the racket one's netlayer code I think especially is pretty small
<cwebber>but of course guile is the contemporary one
<cwebber>it's worth looking at the goblins implementations
<ridley>I wouldn't be able to use it on every platform but maybe some people would want to use it for certain stuff
<cwebber>there's not much work to it. Really, the biggest work is having the tor daemon running at all
<cwebber>once you have that, it's simple
<ridley>I've looked at the guile implementation which is helpful to an extent but I need a bit more documentation to help me understand this one
<ridley>so I'll check the torspec repo
<cwebber>I don't remember which torspecs it was
<cwebber>but basically most of the work is in two things:
<cwebber>- asking the daemon to make onion services for you
<cwebber>which isn't that hard!
<cwebber>and you can get the command syntax from our code
<cwebber>- making the socks5 wrapper for incoming connections
<cwebber>er, outgoing?
<cwebber>I forget.
<cwebber>regardless, onion-socks.scm has it
<ridley>Okay, thanks!
<cwebber>re: ocapn, I did a huge part of ocapn's technical design and most of its core implementation, but then tsyesika took over. I had already done 3 party handoffs, distributed acyclic gc, promise pipelining. but we *only* had the onion netlayer at the time.
<cwebber>tsyesika did almost all the other netlayers and crossed hellos mitigation and wrote all the specs and the test suite and has done ongoing maintenance
<ridley>Good to know! I knew you were certainly a part of the development but did not know how much was done before tsyesika started
<cwebber>yeah this is why often tsyesika is like "oh let me ask cwebber"
<cwebber>both ocapn and goblins, I did a lot of the foundations, but the rest of the team has carried them forward
<cwebber>I didn't do any Hoot tho :)
<cwebber>also to be clear, I did a lot of that initial work, but anyone who does software dev knows that more time is spent on maintenance and careful upgrades than initial design, and even more so for documentation and test suites, and tsyesika has done far more ocapn hacking time than I have
<cwebber>hacking and spec writing and test suite writing, not to mention how she almost always puts together the minutes
<ridley>team effort!
<cwebber>yeah!