I2P dev meeting, December 9, 2003 @ 22:00 CET
Quick recap
- Present:
duck, joda, jrand0m, mrflibble, Nostradumbass,
Jurnal IRC complet
[22:02] <jrand0m> 0) welcome to $num
[22:02] <jrand0m> 1) iip status
[22:02] <jrand0m> 2) kademlia stuff + idn
[22:02] <jrand0m> 3) peer profiling stuff
[22:02] <jrand0m> 4) i2p services
[22:02] <jrand0m> 5) stuff
[22:02] <jrand0m> 0) welcome
[22:02] <jrand0m> hi
[22:03] <jrand0m> this is meeting 67 or 68...
[22:03] <jrand0m> 1) iip status
[22:03] <jrand0m> I dunno. anyone know what the situation has been as of late?
[22:04] <jrand0m> the iip devs aren't here, so... dunno.
[22:04] <jrand0m> [ping]
[22:04] <jrand0m> (last week I typed for probably 10 minutes before my client pinged me out...)
[22:05] <jrand0m> (i'm not going to type anything else until I get a p0ng, damnit ;)
[22:05] *** Nostradumbass (nostradum@anon.iip) has joined channel #iip-dev
[22:05] <jrand0m> 'lo Nostradumbass
[22:06] <Nostradumbass> hi :)
[22:06] <jrand0m> ok cool, so I haven't pinged out, people are just lurking. cool :)
[22:06] * jrand0m hops on to the next agenda item
[22:06] <Nostradumbass> how's i2p coming?
[22:06] <Nostradumbass> sorry?
[22:06] <jrand0m> good lead in ;)
[22:07] <jrand0m> agenda item 3) i2p 0.2.3 status :)
[22:07] *** nerox (~nerox@anon.iip) has joined channel #iip-dev
[22:07] <jrand0m> there's been a lot of progress, even though I'm offline. commited a truckload of code a few hours ago
[22:07] <jrand0m> that includes an implementation of the kademlia netDb
[22:08] <jrand0m> so I'm pretty confident we'll hit the release for 0.2.3 next week (which is basically kademlia netDb + a shell script)
[22:08] <jrand0m> there have been a few more variations on the kademlia proto though to make things more relevent for i2p
[22:09] <jrand0m> we will always have a very, very, /very/ sparse kademlia tree.
[22:09] <jrand0m> 2^256 possible slots, and 1-10 values per peer in the network.
[22:09] <jrand0m> so, thinking insanely overzealous, we still wont be using jack shit, and everything will be in the furthest out kbucket
[22:10] <jrand0m> so some parts of kademlia are going to be quietly ignored ;) but the basic gist stays the same, including the search algo & distance metric
[22:10] <jrand0m> idn, however, is dead in the water.
[22:11] <jrand0m> the idea that i2p's netDb code could run off the same code as a publishing DHT was a silly little idea
[22:11] <jrand0m> and has been promptly abandonded.
[22:11] <jrand0m> idn is still generally a good idea, but I'm not going to spend my i2p dev time working on it
[22:12] *** tusko (~tusko@anon.iip) has joined channel #iip-dev
[22:12] <jrand0m> but part of the 0.2.3 changes include a dramatic revamp of how we choose peers and organize router stats
[22:12] <jrand0m> heya tusko
[22:12] <jrand0m> that brings us to agenda item 3) peer profiling
[22:12] <jrand0m> I've been pretty silly...and finally did some of the math
[22:13] <jrand0m> the stats being gathered now are immense.
[22:13] <jrand0m> about 6000 data points /per peer/
[22:13] <duck> what is peer profiling?
[22:13] <jrand0m> peer profiling is where the router keeps track of the performance of each peer so that it can decide who to use in the future
[22:13] <duck> ah
[22:13] <jrand0m> (aka fast routers, reliable routers, etc)
[22:13] <duck> the process that eats up my memory :)
[22:14] <jrand0m> heh actually that part isn't toooo bad
[22:14] <jrand0m> though 6000 data points won't scale.
[22:14] <jrand0m> 1000 routers @ 6000 data points each @ 4 bytes / data point = 24Mb
[22:15] <jrand0m> though keeping detailed stats on a few hundred peers is probably fine, even as the net grows beyond that
[22:15] <jrand0m> we /don't/ need to keep stats on everyone. just routers we want to 'use' for our tunnels, garlic routing, and source routing.
[22:16] <jrand0m> we could probably get away in the long term with just keeping track of a hundred or so peers.
[22:16] <jrand0m> but, for now, I'm going to say fuckit.
[22:16] <jrand0m> keep stats on all peers
[22:16] <duck> ping
[22:16] <jrand0m> p0ng
[22:17] <duck> will it try to learn about all peers?
[22:17] <jrand0m> right now, yes
[22:17] <duck> oh wait, your last lines covered that
[22:17] <jrand0m> we also have some code for coallescing and running calculations on the peer profiles
[22:18] <jrand0m> so one of those calculators will determine what peers to drop
[22:18] <jrand0m> an example of the data set being collected: (Link: http://i2p.dnsalias.net/~jrandom/profile.txt)http://i2p.dnsalias.net/~jrandom/profile.txt
[22:19] <jrand0m> (you'll notice lots of 0s :)
[22:19] <jrand0m> I've written up a rough manifesto for peer selection and profiling, but need to get that onto the wiki
[22:20] <jrand0m> but thats all 0.3 stuff, really. 0.2.3 just uses a little of it
[22:21] <jrand0m> ok, thats it for the peer profiling. lots more later, just giving a lil view into whats up
[22:21] <jrand0m> (of course, as always, anyone who wants to get down and dirty and figure out what other stats / calculations / attacks / etc should be used would be *very* much appreciated)
[22:22] <jrand0m> ok, 4) i2p services
[22:23] <jrand0m> tc's site is awesome & really reliable! I finally got to nightblade's page as well, and its a cool blog ('plog' ;).. I just wish I could leave comments :)
[22:23] <jrand0m> there's also duck's jabber server, which works fairly easily with the instructions posted to tc's board
[22:24] <jrand0m> things sometimes act up a bit, but thats related to some bugs in the router <= 0.2.2, and have been fixed (and will roll out in 0.2.3)
[22:24] <jrand0m> the squid proxy is generally offline, since I'm offline too much to babysit my kaffe routers :/
[22:25] <jrand0m> so for the moment, the eepsites and the jabber chat is probably the most reliable things on i2p, all running on top of i2ptunnel
[22:25] <jrand0m> what services would be cool to show up next?
[22:25] <duck> I did try to run an ircd over i2ptunnel
[22:25] <duck> but before it got the full MOTD after logging in, I got ping timeouted already
[22:26] <jrand0m> d'oh
[22:26] <duck> and that was on the same router
[22:26] <duck> so in the wild performance will be even worse
[22:26] <jrand0m> on the local router it pinged out?!
[22:26] <jrand0m> local router should never ping anything out
[22:26] <jrand0m> oh, except for that race bug
[22:26] <jrand0m> (which is probably what it was, since it was local and the race is faster there)
[22:26] <duck> irc client pinged out for not responding in time
[22:27] <duck> I'll retry with 0.2.3
[22:27] <jrand0m> word
[22:27] <duck> though jabber is nice for now
[22:27] <jrand0m> totally
[22:27] <jrand0m> and long term, irc is not the way to go
[22:27] <duck> tc, jrandom and me are there to chat with!
[22:27] <jrand0m> hehe :)
[22:28] <jrand0m> we need an IM and group chat solution that doesn't give cleartext to anyone unauthorized, and doesn't require centralized choke points
[22:28] <jrand0m> (aka iip 2.0)
[22:28] <jrand0m> now would be a nice time for userx to come back into the fold ;)
[22:29] * jrand0m stops holding breath
[22:29] <jrand0m> an nntp server would /also/ really really rule.
[22:29] <duck> I'll try that tomorrow
[22:29] <jrand0m> r0x0r
[22:30] <duck> jabber is really nice to run other things over
[22:30] <duck> check out the jabber rpc specs
[22:30] <duck> (Link: http://www.pipetree.com/jabber/jrpc/)http://www.pipetree.com/jabber/jrpc/
[22:30] <duck> other services?
[22:30] <jrand0m> thats interesting - doing jabber as a naming service, essentially
[22:31] <duck> you mean:
[22:31] <jrand0m> there will always be more services to add - with mail (usenet), chat (jabber) and publishing/browsing (eepsites), there's good coverage
[22:31] <duck> name server has a jabber client through which you can register names (provided token)
[22:31] <duck> also use it to query?
[22:31] <jrand0m> naw
[22:32] <jrand0m> jabber's registry being the naming service
[22:32] <duck> ok
[22:32] <jrand0m> its centralized but it works
[22:32] <jrand0m> just like hosts.txt :)
[22:33] <duck> are there mail solutions that are better suited for there environments than smtp and pop/imap ?
[22:33] <jrand0m> thats a really good question
[22:33] <duck> cause I dont think that it will just work when you hook up mail servers
[22:34] <jrand0m> yeah, it'd probably need either a gateway (ala freemail) or the naming service doing some interesting tap dancing
[22:34] <jrand0m> or it reverts back to centralized single POP3/IMAP server with everyone on the same server
[22:35] <duck> I spoke with aum (author of freemail) yesterday
[22:35] <duck> he was talking about reimplementing fred in python
[22:35] <jrand0m> lol nice
[22:35] *** mrflibble (mrflibble@anon.iip) has joined channel #iip-dev
[22:35] <duck> so I did suggest him to work on the python routers for i2p instead
[22:35] <jrand0m> ooh that would TOTALLY rule!
[22:35] <duck> then he got totally upset about the pdf documents
[22:36] <jrand0m> hey, if he wants the openOffice originals, or even a txt export I'll export
[22:36] <duck> and I lost my patience and told him that you would also have the m$word docs if he did ask nicely
[22:36] <duck> well, you were a fuckhead for not doing a html export or something
[22:36] <jrand0m> naw, I tried that ;)
[22:36] <duck> I lost my patience and told him to talk to you
[22:36] <jrand0m> the openOffice html export SUCKS
[22:37] <duck> hm
[22:37] <mrflibble> true jr
[22:37] <jrand0m> when the specs turn 1.0 (aka when the router turns 1.0 and they're updated to match the code), they'll be on the wiki.
[22:37] <duck> wiki has most info though
[22:37] <jrand0m> exactly
[22:37] <mrflibble> i tried using that for that kevin mitnick book. it was worse than ms office
[22:37] <duck> oh well
[22:37] <jrand0m> zactly.
[22:37] <duck> he might appear here once
[22:37] <jrand0m> that'd be awesome
[22:38] <duck> but maybe it is better with his attitude to join the freenet gang
[22:38] <duck> ...
[22:38] <jrand0m> well, effort on freenet is always a good thing
[22:38] * duck goes back to beeing friendly
[22:38] <jrand0m> :)
[22:38] <duck> aums work rocks
[22:38] <duck> hopefully he'll rock on i2p
[22:39] <jrand0m> yeah whenever someone talked about searching on freenet, I always just said "well just do a McNabb"
[22:39] <jrand0m> we need the help, certainly
[22:39] <duck> which brings me to the following question:
[22:39] <duck> are the changes to I2P that you do specced?
[22:39] <duck> or is the java source the documentation for the latest info
[22:40] <jrand0m> there are notes taken in my palmpilot, filesystem, and notebook, but unfortunately I haven't updated the openoffice docs in a while
[22:40] <jrand0m> feb is doc-month for jrandom.
[22:40] <jrand0m> (and qa, and bugfixing)
[22:41] <jrand0m> ((and benders ;))
[22:41] <jrand0m> the specs are still pretty much correct, there are just more details.
[22:41] <duck> awesome
[22:41] <jrand0m> but the datastructures have had more changes
[22:42] <jrand0m> ok, anything else for services?
[22:43] <jrand0m> ok, 5) stuff
[22:43] <jrand0m> hi
[22:43] <duck> hi!
[22:43] <jrand0m> how's tricks?
[22:43] <jrand0m> [any questions / thoughts / issues / etc go here]
[22:43] <duck> the base64 tricks should be added to the i2ptricks pages
[22:44] <jrand0m> ooh good point
[22:44] <duck> might be some other tricks too that I dont know yet
[22:44] <duck> will grep the sources for 'main'
[22:44] <jrand0m> I feel guilty for not having the installer let someoene automatically fetch hosts.txt and reseed
[22:44] <jrand0m> lol
[22:44] <jrand0m> there are lots and lots of main() methods, but they're mostly test functions
[22:45] <jrand0m> oh!
[22:45] <jrand0m> one thing. DONT run the current code from cvs and expect it to work with normal routers.
[22:45] *** joda (--@anon.iip) has joined channel #iip-dev
[22:45] <joda> hi
[22:45] <jrand0m> the db messages changed :)
[22:45] <jrand0m> hi joda
[22:45] <joda> sorry, if I interrupt something
[22:45] <duck> I got a bit upset that I couldnt get cvs to work
[22:45] <duck> but then I did remember that this isnt freenet
[22:45] <joda> I was just wondering what happend to "anonymail" ?
[22:46] <duck> so you dont need latest cvs to be able to use it
[22:46] <jrand0m> joda> the user who runs it doesn't seem to be online at the moment. should be back soon
[22:46] <jrand0m> hehe duck - did it fail for you today after I committed, or do you mean from before today?
[22:46] <duck> last week somewhere
[22:46] <joda> jrand> thx :)
[22:46] <joda> cu :)
[22:46] <jrand0m> ah 'k duck
[22:46] <jrand0m> l8r joda
[22:47] <jrand0m> yeah, I only endorse running the released code
[22:47] <duck> will 0.2.3 put the version files in a directory? :)
[22:47] <jrand0m> 0.2.3 gets rid of the version files :)
[22:47] <jrand0m> (lots and lots and lots of changes)
[22:47] <jrand0m> but that means 0.2.3 (and beyond) will require g enerally correct clocks
[22:48] <jrand0m> (current Router.CLOCK_FUDGE_FACTOR = 30 minutes)
[22:48] <duck> what will the fudge facter be for 0.2.3?
[22:48] <jrand0m> probably the same
[22:49] *** joda has left #iip-dev
[22:49] <duck> oh, current = your code
[22:49] <jrand0m> that time will be used to expire db entries
[22:49] <duck> k
[22:49] <jrand0m> ah, right, yeah :)
[22:49] <jrand0m> (in 0.2.2 that clock_fudge_factor is spread out throughout half a dozen files)
[22:49] <duck> maybe the installer could be a bit more userfriendly
[22:49] <duck> as in less questions
[22:49] *** Signoff: nickthief66282 (Excess Flood)
[22:50] <duck> default phttp urls included, no bandwidth limiting etc
[22:50] <jrand0m> I guess we could autoguess random ports too
[22:50] <jrand0m> you're right
[22:50] <jrand0m> want commit privs? :)
[22:50] *** Signoff: nerox (EOF From client)
[22:50] <jrand0m> (if not I can update it for 0.2.3)
[22:51] <duck> an argument against it can be that users will take settings too easily for granted
[22:51] <duck> and everybody uses the same phttp relay
[22:51] *** nickthief24373 (~chatzilla@anon.iip) has joined channel #iip-dev
[22:51] <jrand0m> true. though 0.3.1 plans include an update to the phttp relay code to let relays talk to each other, and redirect users to a less loaded relay
[22:52] <jrand0m> i'm generally happy with the install process atm though - i built a new 0.2.2 install and was browsing tc's page in under a minute
[22:52] <jrand0m> (though thats because i know what all the text says and didn't read it...)
[22:52] <duck> I dont like the long keys
[22:53] <duck> especially not if you have to copy&paste them
[22:53] <duck> better use them as file
[22:53] <jrand0m> hmm?
[22:53] <duck> but distributing the binary files are a pain
[22:53] <duck> so you have to do the base64 trick..
[22:53] <duck> could the i2ptunnel read base64 destination keys too?
[22:53] <duck> from a file that is
[22:53] <jrand0m> I was just typing that ;)
[22:53] <jrand0m> yeah, that wouldnt be much work
[22:54] <jrand0m> perhaps even 1 line
[22:54] <duck> also, what about armouring?
[22:54] <duck> with a header&footer
[22:54] <duck> like pgp etc
[22:55] <jrand0m> true, it would be useful to have that sort of validation
[22:55] <duck> ofcourse that is a gadget
[22:55] <duck> but it could be helpful for those who want to use the tunnel
[22:55] <jrand0m> though the Destination structure itself is pretty picky
[22:55] <jrand0m> but you're right, a raw base64 isn't the most intuitive or safe thing to pass around
[22:56] <jrand0m> we need a bugzilla
[22:56] <jrand0m> so things like this can get posted as todo
[22:56] <jrand0m> i'd move off my palm's todo list for that
[22:56] <duck> bugzilla has nazi registration requirements
[22:56] <duck> with emails etc..
[22:56] <jrand0m> true
[22:57] <duck> but better as nothing
[22:57] <duck> other bugtrackers all have their shortcomings
[22:57] <jrand0m> yeah, every company i've worked at has pretty much ended building their own
[22:58] <jrand0m> we'll see. we need a bugtracker by the time we start doing full on qa (once 0.3 comes out)
[22:58] <jrand0m> so we've got a few weeks ;)
[22:58] <jrand0m> but if someone did some research and found a really nice one, that'd be great
[22:59] <jrand0m> [not you specifically duck, anyone who's reading these meeting logs at home ;)]
[22:59] <duck> so far phpBugTrackers has been okay for me
[22:59] <jrand0m> hmm haven't used that
[22:59] <duck> yes, I am not talking to jrandom either
[22:59] <jrand0m> lol
[22:59] <duck> but to the group of I2P code developers :)
[22:59] * jrand0m is actually 12 people acting under a single nym
[23:00] <jrand0m> ok, 1 hour, on the dot
[23:00] <jrand0m> anyone else have anything before I get the *baf*er out?
[23:01] * duck demands 1 more minute
[23:01] <duck> since we did start on 21:02
[23:01] <jrand0m> yeah yeah
[23:01] <jrand0m> la la la
[23:01] <jrand0m> what should i have for dinner?
[23:01] <jrand0m> there's a nice falafel place next door...
[23:01] <jrand0m> had gnocci for lunch too
[23:01] <jrand0m> hmm...
[23:01] <jrand0m> maybe a liquid dinner
[23:02] <duck> soup?
[23:02] <jrand0m> ooOooo whiskey soup!
[23:02] * jrand0m *baf*'s the meeting closed on that note