I2P dev meeting, DATE

Quick recap

  • Present:

jrand0m, mihi, shardy, thecrypto, w0rmus,

Full IRC Log

[22:53] <jrand0m> ok, wtf, why not.  agenda: 
[22:53] <jrand0m> 0) welcome 
[22:53] <jrand0m> 1) spec &amp; sdk release  
[22:53] <jrand0m> 2) spec &amp; sdk questions  
[22:53] <jrand0m> 3) dev status 3.1) co's NS 3.2) SDK 1.0 criteria 3.3) network simulator 3.4) other apps [IM, tunnel, etc] 3.5) more transports 3.6) java router implementation   
[22:53] <jrand0m> 4) meeting time change?   
[22:53] <jrand0m> 5) cvs administravia 
[22:54] <jrand0m> 6) shardy's stuff 
[22:54] <jrand0m> 7) peanut gallery 
[22:54] <jrand0m> thazzit. 
[22:54] <jrand0m> 0) welcome 
[22:54] <w0rmus> hihi
[22:54] <thecrypto> so welcome everyone to meeting number 55
[22:54] <thecrypto> 56
[22:55] <thecrypto> 56 is correct
[22:55] *** Signoff: mihi (EOF From client)
[22:55] <jrand0m> hi.  welcome to meeting 56 
[22:55] <jrand0m> yea 
[22:55] <jrand0m> 1) spec &amp; sdk release 
[22:55] <w0rmus> haha
[22:55] *** mihi (~none@anon.iip) has joined channel #iip-dev
[22:55] <jrand0m> the specs are out and the sdk 0.2 is out as well. 
[22:56] <jrand0m> currently, they're only available on freenet [http://localhost:8888/CHK@p1VU1U67UgXYJ7v7cS4Xqn~p4ssLAwI,RvdwV4jZyZYcJgYabpVPOQ/I2P_SDK.zip] 
[22:56] <jrand0m> but nop told me he'd have them on the normal web today, as well as an email to a few of the traditional lists to round up some reviewers 
[22:57] <jrand0m> 2) any new questions on the specs or the sdk? 
[22:58] *** nixonite (~nixonite@anon.iip) has joined channel #iip-dev
[22:58] *** terrific (terrific@anon.iip) has joined channel #iip-dev
[22:58] <jrand0m> well, first question in there is, how goes the progress /reading/ the specs?  :) 
[22:58] <w0rmus> needa do that :)
[22:58] <thecrypto> slowlyu
[22:58] <w0rmus> therefore I have no questions
[22:58] <jrand0m> heh word 
[22:59] <w0rmus> I'll start now then
[22:59] <jrand0m> suggested order of reading the PDFs is> I2POverview.pdf, then I2NP, then datastructures, then I2CP, then polling HTTP transport 
[22:59] <w0rmus> ok I'll do it in that order then
[23:00] <jrand0m> ok.  on to # 3 then, unless there are any q's on the specs 
[23:00] <jrand0m> 3.1) co's naming service proposal 
[23:00] <jrand0m> he posted rev 1.1 of his spec up to the mailing list this morning and it seems to deal with a lot of the issues brought up before 
[23:01] <jrand0m> does anyone have any comments/questions on the spec that they want to say here?  or should we just do that part on the list, since co isn't here atm? 
[23:01] <mihi> how can one get the address of a name server? ;)
[23:02] <jrand0m> OOB, but good point.  he should toss in a "bootstrapping" section 
[23:03] <thecrypto> OOB?
[23:03] <jrand0m> out of band.  e.g. from a web site or built into the software 
[23:03] <thecrypto> ahh
[23:03] *** naphtala (asdf@anon.iip) has joined channel #iip-dev
[23:04] <jrand0m> (co may actually have different ideas, I'm just assuming thats what he meant.  definitely something to mention on the list) 
[23:04] <mihi> is there any general way to make a text representation of Destinations (e.g. ascii armor)?
[23:05] <jrand0m> no, we haven't needed to spec that yet, though offhand I'd probably suggest alt-base64 the Destination object per that rfc that was just released 
[23:06] <jrand0m> perhaps that should be added to the I2P data structures spec.  good idea.   
[23:06] <jrand0m> does anyone have any qualms with base64? 
[23:07] <jrand0m> ok.  at least for now that'll get added in. 
[23:08] <jrand0m> 3.2) SDK 1.0 criteria 
[23:08] <jrand0m> SDK 0.2 does full end to end crypto for java, but there's still a lot to be done before the SDK is 1.0 ready. 
[23:09] <jrand0m> the criteria I have jotted down for the sdk 1.0: all APIs and local only routers up to spec [there are two small mods left].  full Java, C, and Python client API implementations.   
[23:09] <jrand0m> optionally, we may want to include a streaming API as well 
[23:10] <jrand0m> does anyone else have any 1.0 criteria they'd like to see in the SDK? 
[23:11] *** jnk (jnk@anon.iip) has joined channel #iip-dev
[23:11] <jrand0m> ok.  post to the list if you think of anything 
[23:11] <jrand0m> 3.3) network simulator 
[23:12] <jrand0m> sometime when someone has spare time, there should be efforts made on simulating the i2p net per i2np.  the performance models used so far are limited in that they do not take into consideration resource contention among different users 
[23:13] <jrand0m> there are good tools out there, and i've got some sketches down already of how to run this, but I'm just mentioning this now in case anyone is looking for a project ;) 
[23:14] * jrand0m utterly fails to keep a straight face wrt the likelyhood of someone jumping up and writing a simulator
[23:14] <jrand0m> ok.  3.4) other apps 
[23:14] <w0rmus> haha
[23:14] *** Signoff: mihi_backup (Ping timeout)
[23:14] * thecrypto jumps up...and writes something else
[23:14] <jrand0m> heh 
[23:15] <jrand0m> mihi> any mods/updates/plans for the i2ptunnel?   
[23:17] <mihi> nope.
[23:17] <jrand0m> cool, just checkin' in :) 
[23:17] <mihi> if someone writes a TCP layer for I2P, i might use it, but I wont write it.
[23:18] <jrand0m> ah word.  yeah, thats the streaming api thing.  no worry, using GUARANTEED works and is a perfect use for local only routers 
[23:18] *** Trifixion (~lame-o@anon.iip) has joined channel #iip-dev
[23:19] <jrand0m> and in a production environ waiting for an ACK before sending the next message is only a ~.4s delay 
[23:19] <jrand0m> <insert caveat on latency models here> 
[23:19] <jrand0m> ok.  next "other apps" 
[23:20] <jrand0m> thecrypto> IM? 
[23:20] <thecrypto> well, i'm working on a UI prototype right now
[23:20] <thecrypto> as soon as we have some way of communicating with other people, i can just put in the networking stuff
[23:20] <jrand0m> we /have/ some way of communicating with other people 
[23:21] <jrand0m> (not that I'm against doing it in pieces anyway) 
[23:21] <thecrypto> i'm going to start with just UI
[23:21] <jrand0m> wikked. 
[23:21] <w0rmus> I do wish to help thecrypto with the IM but I've some reading to do
[23:21] <thecrypto> once all the UI is done, whoever is working on this will just have to plug in the networking stuff and we'll be done'
[23:22] <jrand0m> nice 
[23:22] <thecrypto> and i thought we only had local only unless you want to tunnel?
[23:22] <jrand0m> will the UI have an address book feature for storing destinations of friends? 
[23:22] <thecrypto> buddy list
[23:23] <thecrypto> we'll have to poll the name server somehow to check when people are online
[23:23] <jrand0m> right, local only, but you can still run multiple instances and talk to itself through the SDK.  same way normal network dev goes against localhost 
[23:23] <jrand0m> hmm, the IM app will depend on the name server? 
[23:23] <jrand0m> or will the IM have a central "presence" server? 
[23:23] <thecrypto> it'll need someway to keep track of everyone
[23:23] <thecrypto> i'm trying to avoid central anything
[23:24] <thecrypto> but some sort of distributed presense would have to be thought up and it looks like the NS will do that
[23:24] <jrand0m> I don't think the NS has presence.  it only says what the Destinations are 
[23:24] <jrand0m> (for each service for each nym) 
[23:25] <thecrypto> but doesn't it have an online offline state?
[23:25] <jrand0m> no, the NS is just like DNS.  it doesn't tell you if the host is reachable. 
[23:25] <thecrypto> at least i thought it do
[23:25] *** mihi_backup (~none@anon.iip) has joined channel #iip-dev
[23:25] <thecrypto> so you have to try it to find out
[23:26] <thecrypto> then i'll have to come up with my own spec to work out that part
[23:26] <jrand0m> coo'.  perhaps start without one, and maybe add a rudimentary periodic ping, and then a fully distributed whatever ;) 
[23:27] <thecrypto> well step 1 is UI
[23:27] <jrand0m> anyway, you know best, whatever works for ya.  if there's anything anyone can do to help, just say the word 
[23:27] <jrand0m> right 
[23:27] <jrand0m> ok.  I don't have any other apps to discuss in the "other apps" section.  anyone else have app related ideas / discussion? 
[23:28] <thecrypto> well what apps do we have planned already other than IM and NS and Tunnel?
[23:29] <w0rmus> will file transfer be implemented along with IM or separately?
[23:29] <w0rmus> separately I imagine
[23:29] <thecrypto> you will be allowed to file transfer IM, but other people can come up with file transfer only protocols like FTP
[23:29] <w0rmus> ok so what you're working on will have file transfer as well
[23:29] <jrand0m> thecrypto> I'd like to see an http proxy (perhaps ripping the code from JAP), as well as a plugin for a web server to allow I2P web publishing and browsing 
[23:30] <thecrypto> IE replace freenet :)
[23:30] <jrand0m> a multiplexing "outdial" tcp tunnel would be cool too 
[23:30] <jrand0m> naw, freenet is a CDN, this would require having a server to store space on 
[23:31] <thecrypto> okay
[23:31] <jrand0m> (the outdial would probably require SOCKS integration though) 
[23:32] <jrand0m> that it for the top of my head though.  with mihi's tunnel we can already ssh and cvs over i2p 
[23:32] <jrand0m> ok.  3.5) more transports 
[23:33] <jrand0m> we need more transports (TCP, UDP, Email).  realistically, this will probably be spec'ed and implemented in line with the router reference implementation. 
[23:33] <jrand0m> but if someone wants to look at the polling HTTP transport and define some other transport, that'd be fantastic 
[23:33] <thecrypto> transports kinda like the jabber transports
[23:33] <thecrypto> translating one to another?
[23:34] <jrand0m> hmm?  transports are the actual means of sending bytes from one router to another. 
[23:34] <thecrypto> ahh okay
[23:34] *** jnk has left #iip-dev
[23:34] <thecrypto> so instead of just one method of getting the bits from one router to another there are many?
[23:34] <jrand0m> exactly. 
[23:34] <jrand0m> I2NP does /not/ specify a particular transport 
[23:35] <thecrypto> so if one is firewalled/blocked/slow/... you use another
[23:35] <jrand0m> exactly 
[23:35] <thecrypto> sweee
[23:35] <w0rmus> yah that sweet :)
[23:35] <jrand0m> ok, 3.6) java router reference implementation 
[23:36] <jrand0m> I'll probably have an architecture doc and some rapid prototypes ready this week.  nothing whatsoever will work, but it'll show how things will fit together. 
[23:36] <jrand0m> then individual subsystems can be stub'ed and implemented in turn (or in parallel).   
[23:37] *** Signoff: mihi (EOF From client)
[23:37] <jrand0m> so probably by end of week or perhaps next weeks meeting I'll be making a call out for java devs to jump in and get coding :) 
[23:37] <thecrypto> can do
[23:38] <jrand0m> w3wt 
[23:38] <w0rmus> hopefully can do :)
[23:38] <jrand0m> word 
[23:38] <jrand0m> ok.  any other dev status questions / thoughts / comments? 
[23:39] <w0rmus> thecrypto: is anyone else working on the IM with you as of now?
[23:39] <thecrypto> co should be
[23:39] <w0rmus> is co cohesion?
[23:39] <thecrypto> but right now i'm just getting the UI started
[23:39] * jrand0m thinks co will havea /LOT/ of work with the naming service
[23:39] <thecrypto> no co == whit
[23:39] <jrand0m> no, co is wiht, cohesion is a different person :) 
[23:39] <w0rmus> ok thanks
[23:40] *** mihi (~none@anon.iip) has joined channel #iip-dev
[23:40] <thecrypto> if it was cohesion then we would use tab compleletion
[23:40] <jrand0m> heh 
[23:40] <w0rmus> some people are too lazy for even that 
[23:41] <jrand0m> ok.  agenda item 4) meeting time change 
[23:41] <jrand0m> is anyone here further east than GMT+2? 
[23:41] <jrand0m> you don't need to answer that... 
[23:41] <jrand0m> er, is anyone here already pushed to their limit of lateness with 9PM GMT meeting time? 
[23:41] * mihi_backup is gmt+2
[23:42] <jrand0m> ah cool.  would later work for you mihi, or is 9p best? 
[23:42] * jrand0m doesn't go to bed until after the sun rises in gmt+2
[23:42] <mihi_backup> not much later. 8p or 7p would be better
[23:42] <jrand0m> ah 'k 
[23:42] <mihi_backup> but if i can't come; i'll read the log.
[23:43] *** Signoff: cohesion (class)
[23:43] <jrand0m> well, we have no hard reason to make it later and its good to have you here ;) 
[23:43] <thecrypto> i say it's perfect where it is
[23:44] <jrand0m> cool.  I just wanted to bring it up to possibly help out the left coast 'mericans who have jobs :) 
[23:44] <jrand0m> but 9P GMT it is and 9P GMT it stays 
[23:44] <jrand0m> ok.  item 5) cvs administravia 
[23:45] <jrand0m> well, none of the python people are here, and thecrypto and I have already spoken re: cvs module conventions :) 
[23:45] <jrand0m> we still are working on getting anon cvs 
[23:45] <jrand0m> or at the very least nightly snapshots of the cvs on the web. 
[23:45] <jrand0m> that'll be announced once its ready. 
[23:46] <thecrypto> most of the reason for limiting access to to make sure not too many people start getting at it
[23:46] <thecrypto> before it's ready
[23:46] <jrand0m> right, but the SDK has the full source of everything in the tree atm anyway ;) 
[23:47] <jrand0m> but thats a good point.  perhaps we can change perms on the dirs for the router ref impl as it progresses until its ready 
[23:47] <jrand0m> dunno though.  we'll cross that bridge when it comes  
[23:47] *** Trifixion has left #iip-dev
[23:48] <jrand0m> item 6) shardy's stuff 
[23:48] * jrand0m waves to shardy
[23:48] <shardy> hiya
[23:48] <shardy> um, I don't really have much of anything to say
[23:48] <shardy> just thought I'd say hi and all
[23:48] <shardy> seeing as how I've got myself involved in the project latey :)
[23:48] <shardy> lately.
[23:48] <w0rmus> hihi
[23:49] <shardy> I don't have a ton of time until thesis/toorcon are both done, but I'll help out with what I can do until then
[23:49] <shardy> like if you need random code debugged, or crypto implemented, or optimized
[23:49] <shardy> the next thing I'm probably going to look at is optimizing the hell out of the crypto engine... I have a lot of experience doing that kind of stuff
[23:49] <jrand0m> cool.  we'll probably want to pick your brain as the crypto gets implemented for the routers and we pull in yarrow or another prng 
[23:49] <jrand0m> nice 
[23:50] <shardy> I'll be hanging around, so grab me for whatever if you need anything.
[23:50] <thecrypto> yah
[23:50] <jrand0m> wikked. 
[23:50] <jrand0m> ok.  7) peanut gallery 
[23:50] <jrand0m> any i2p thoughts / comments / questions / concerns? 
[23:52] <jrand0m> ok then :) 
[23:52] *** naphtala has left #iip-dev
[23:52] <w0rmus> i2p is neat
[23:52] <jrand0m> heh 
[23:52] <w0rmus> ;0
[23:52] * jrand0m pulls the *baf* off the wall...
[23:53] <jrand0m> ... the wind-up 
[23:53] <jrand0m> and the *baf*