{% extends "_layout.html" %} {% block title %}I2P Development Meeting 68{% endblock %} {% block content %}

Tuesday, December 9, 2003 22:00:00 CET

[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

{% endblock %}