I2P dev meeting, July 27, 2004

Quick recap

  • Present:

cat-a-puss, Connelly, deer, dm, hypercubus, jrandom, Sonium,

Full IRC Log

14:02 < jrandom> 0) hi
14:02 < jrandom> 1) 0.3.3 &amp; current updates
14:02 < jrandom> 2) NativeBigInteger
14:03 < jrandom> 3) ???
14:03 < jrandom> 0) hi
14:03  * jrandom waves
14:03 < jrandom> weekly status notes up @ http://dev.i2p.net/pipermail/i2p/2004-July/000372.html
14:03 < jrandom> (thanks to hypercubus' prodding i got it out before the meeting :)
14:04 < jrandom> ok, jumping on in
14:04 < jrandom> 1) 0.3.3 &amp; current updates
14:06 < jrandom> there's a truckload of info in the email describing whats going on, and there should be a substantial reduction in bandwidth usage coming up
14:07 < jrandom> it won't be backwards compatible because it changes a lot of things, so the next release will be a bumpy upgrade as well, but c'est la vie
14:08 < jrandom> anyone have any questions wrt the 0.3.3 rev or the things posted in the status notes?
14:08  * dm waves
14:08  * jrandom is seeing 23s lag here @ freenode
14:09  * hypercubus sees 0.10 secs lag
14:09 < jrandom> ah back to normal
14:09 < jrandom> ok, if there's nthing, we can just jump in to 2) NativeBigInteger
14:10 < jrandom> Iakin3 has modified some things so it'll be simpler to deploy the crypto code out of the box, which is Good
14:10 < jrandom> every once in a while i look in the netDb and see some people with 2-400ms delays when doing ElGamal encryption, which means some people aren't using jbigi
14:11 < jrandom> (and everyone should use jbigi)
14:12 < deer> <Nightblade> how do you know they are not just on slow computers
14:12 < Sonium> why isn't it use automaticaly?
14:12 < hypercubus> because it must be custom compiled for each platform
14:12 < jrandom> we might be able to get that deployed in this next rev, but we'll see
14:12 < deer> <oOo> If the DLL is not present, the program continue using java-only code (needed for cross-platform support)
14:12 < hypercubus> and currently the platform is not detected
14:12 < jrandom> Nightblade: thats possible, of course
14:13 < jrandom> oOo right, we definitely will keep that functionality
14:13 < deer> <oOo> Nope, force the existence of the dll an .so files, even if empty or useless
14:13 < jrandom> actually, thats another one of the things we're gaining with some of the current mods i'm working on - we only need to do half as many elGamal encryptions (since the sourceRouteBlock is gone)
14:14 < jrandom> hmm oOo?
14:14 < jrandom> why would we want to do that?
14:15 < deer> <oOo> Force a check of the _existence_ of the library files. If they are not use, you most likely aren't on a x86 Win/Linux platform and are forced to use the Java code. Anyway you did your best to force the use of native stuff
14:15 < jrandom> oh, right, we have always checked for libjbigi.so / jbigi.dll, the thing Iakin's code adds is the ability to package up a whole bunch of DLL and .so files into a jar and choose the *right* one at runtime
14:16 < hypercubus> </obvious>
14:16 < jrandom> (falling back on pure java if none match)
14:17 < jrandom> anyway, thats some good stuff that'll hopefully help new users out a bunch
14:17 < jrandom> (and saves me the time of doing some ugly drop down boxes on the admin interface :)
14:18 < jrandom> ok, if there's nothing more on that, i think thats all i've got
14:18 < jrandom> so moving on to 3) ???
14:18 < jrandom> anyone else have anything they want to bring up?
14:18 < hypercubus> someone should run a spellchecker on the new website ;-)
14:19 < jrandom> you've got cvs access now... :)
14:19 < jrandom> (module: i2pwww)
14:19 < hypercubus> damn
14:19 < deer> <oOo> The corruption on big transfer, even local one, is under investigation (like grabbing several Mb from your own eepsite) ?
14:20 < hypercubus> i've had many interrupted downloads of big files, but never a corruption
14:20 < jrandom> hmm, most instances of that issue have been resolved, but i've heard reports recently about it.  i haven't gone through the app layer and audited things yet again
14:21 < jrandom> i consider interrupted downloads corrupted
14:21 < jrandom> it must work first time, all the way through
14:21 < hypercubus> well you can't help it, because that's what happens on the real WWW too ;-)
14:21 < deer> <oOo> Not when the grabber is on the same computer then the server ^^
14:22 < jrandom> oOo: can you reproduce that?
14:22 < jrandom> (or is it intermittent?)
14:22 < deer> <oOo> jrandom: Did twice, was thinking it was knowed, will try again
14:23 < jrandom> thanks.  if you can reproduce it, please let me know the details of the test and i'll dig further into it.  
14:23 < jrandom> (i've got to audit the app layer again anyway soo)
14:23 < deer> <oOo> jrandom: No problem, thanks
14:24 < jrandom> ok, anyone else have anything they want to ask/bring up?
14:25 < cat-a-puss> I'm still interested in talking about how to do myI2P
14:25 < cat-a-puss> I may be able to bring a few people in in a few months
14:25 < jrandom> awesome!
14:26 < hypercubus> a class project? ;-)
14:26 < cat-a-puss> something like that ;-)
14:27 < jrandom> i think once we get 0.4 out there with the new web interface, it should be much easier to put together apps (like myi2p) w/ a web frontend
14:27 < cat-a-puss> so you think that can be done on the purely application layer?
14:27 < jrandom> absolutely
14:28 < jrandom> what else did you have in mind?
14:28 < cat-a-puss> well the network DB could be used to store metadata
14:28 < jrandom> ahh
14:28 < cat-a-puss> would it have access to that?
14:28 < hypercubus> *cough*
14:28 < jrandom> no, nothing has access to the netDb
14:29 < jrandom> we're able to work some magic in the netDb because its quite focused just on serving as our distributed routing table
14:29 < hypercubus> cat-a-puss: what you want is the DHT that Nightblade is working on
14:29 < jrandom> myi2p (et al) could certainly use a DHT on top of i2p though
14:30 < hypercubus> (enclave)
14:30 < jrandom> what sort of metadata were you thinking about?
14:31 < cat-a-puss> well I invesioned doing something like chanels in Frost which runs off of an ssk in freenet
14:31 < cat-a-puss> so you run the ssks on the DHT on top of I2p
14:31 < jrandom> right
14:31 < jrandom> that might be a bit of an overkill for some things though
14:31 < cat-a-puss> but you still need a metakey that lists all the people's ssks that are subscribed to the channel
14:32 < dm> dht over i2p... 
14:32  * dm doesn't see that working reliable any time soon.
14:32 < Connelly> a generic DHT library would be nice
14:32 < dm> reliably
14:32 < deer> <Nightblade> what's a dht library
14:32 < cat-a-puss> that needs to work diferently ...
14:33 < jrandom> cat-a-puss: i suppose it depends on what sort of activity would go on, but while frost style boards might be good for some things, fmb style boards might be good for others, and blog aggregators might be good for still others
14:34 < Connelly> well a kademlia implementation or somesuch
14:34 < Connelly> I assume enclave would be something like it
14:34 < deer> <Nightblade> i think i'm going to do some changes on LibSAM first
14:34 < deer> <Nightblade> only two weeks of classes left, for me, counting this week
14:34 < deer> <Nightblade> then I will be able to do some stuff I hope
14:35 < jrandom> w00t!  :)
14:37 < cat-a-puss> jrandom: basicly the goal is to be all things to all people. If the network does not do everything, people will use something else. (and it needs to be better at it to attract cover traffic)
14:38 < jrandom> i've worked on too many projects that try to do the 'swiss army knife' style - if you build it, they will come
14:38 < hypercubus> the network is a transport layer, not the application layer ;-)
14:38 < jrandom> it very, very, very rarely works out.
14:38 < jrandom> the i2p transport layer should support all possible point to point comm, definitely
14:38 < jrandom> but applications on top of i2p should be user friendly - meaning they address a specific user need and help them with it
14:39 < jrandom> the masses don't want a comm layer, they want a way to talk to people, to read what people say, and to explore
14:39 < Connelly> naw, we should create an XUL, and all new Gecko system
14:39 < Connelly> then build a conglomerate of Mozilla programs on top of that
14:39 < Connelly> then integrate collaborative systems into Mozilla ;)
14:40 < cat-a-puss> great provided the app has enough control over the comm layer to make it do what it wants.
14:40 < dm> Maxthon > Mozilla
14:40 < jrandom> cat-a-puss: absolutely.  all apps using SAM, I2CP, or the SDK can do what every other app can do
14:41 < jrandom> (which should be sufficient [the functionality / API is modelled after JMS and MOMs, which has been battle tested for well over a decade in industry])
14:43 < cat-a-puss> ok, so I've essencialy got: Tcp, datagram, both of those + anonymity if I want it, and a DHT that operates above all that.
14:44 < hypercubus> you have some anonymity, whether you like it or not ;-)
14:44 < cat-a-puss> so the app cannot set the tunnel lenth to 0 even if it wants to?
14:44 < jrandom> right - i2p itself is the TCP/datagram stuff, and the enclave DHT app could be used as a base for the data store
14:44 < jrandom> absolutely
14:45 < jrandom> in fact, with 0 hop tunnels and the defense Connelly outlined last week, it can be pretty anon vs some attackers
14:45 < jrandom> er, i misread what you said.  yes the app can set the tunnel length to 0, but in fact, that still provides some degree of anonymity
14:46 < cat-a-puss> ok
14:46 < jrandom> (sufficient for some people, but insufficient vs some statistical attacks)
14:46 < hypercubus> if you wanted no anonymity, you shouldn't be running your traffic over i2p
14:47 < cat-a-puss> and different apps on the same host/port I assume are just handled with seperate keys?
14:47 < jrandom> exactly
14:47 < deer> <DrWoo> low anonymity could be popular for running p2p over I2P ?
14:47 < cat-a-puss> then the only question I have left is some sort of an "answering service"
14:47 < jrandom> right DrWoo - filesharing / etc would probably be able to use 0 hop tunnels
14:48 < deer> <DrWoo> hey soros!
14:48 < hypercubus> i'm thinking BitTorrent-style apps on i2p would likely need 0-1 hop tunnels
14:48 < Connelly> jrandom: which defense for 0 hop tunnels?
14:48 < deer> <soros> hey woo :D
14:48 < deer> <DrWoo> soros: you were hiding hehe
14:48 < cat-a-puss> IE: set something up in the i2p database where my traffic goes to someone else while I am offline, and then when I come back up I contact them and they fill me in on what I missed?
14:48 < cat-a-puss> they needn't be able to decrypt it
14:48 < deer> <soros> gave up on iip for a few months
14:48 < dm> soros and drwoo reunion...
14:48 < dm> TEAR
14:48 < hypercubus> cat-a-puss: again, app layer stuff
14:49 < jrandom> cat-a-puss: i don't know, that sort of functionality i hadn't really envisioned w/ myi2p, but there are a few ways to do it
14:49 < deer> <soros> is this going to freenode automatically ?
14:49 < deer> <soros> oops.. this is i2p sorry
14:49 < jrandom> Connelly: using strict ordering for the peers in the tunnel
14:49 < deer> <DrWoo> soros: it's a little confusing lol
14:50 < Connelly> ok
14:50 < hypercubus> we need to run a poll on the forum to vote for a new name for myI2P ;-)
14:51 < jrandom> betty
14:51 < hypercubus> MyBetty?
14:51 < dm> MY TOOPIE
14:51 < jrandom> heh
14:51 < deer> <Nightblade> how about acropolis....... was that it?
14:51 < hypercubus> Betty Toop?
14:51 < deer> <soros> MOAP2P
14:51 < deer> <DrWoo> I2P H@ME
14:51 < deer> <soros> Mother of all P2P
14:52 < hypercubus> nightblade: yeah, acropolis
14:52 < hypercubus> i like it
14:53 < dm> How about: Pipi in your face
14:53 < hypercubus> dm: you do know this is all going in the meeting log right? ;-)
14:53 < Connelly> man, I got a great idea
14:53 < deer> <DrWoo> Center of the Known I2P
14:53 < dm> hypercubus: pipi in your face
14:53 < Connelly> let's integrate a 3D user-programmable RPG into I2P H@ME
14:53 < deer> <soros> call it HyperCube.
14:54 < Connelly> and use Mozilla technology to do it :)
14:54 < dm> Maxthon pipi on mozilla
14:54 < Connelly> fine, Maxthon
14:54 < hypercubus> you on a xul kick connelly? ;-)
14:54 < Connelly> yeah!
14:55 < Connelly> but we should create a whole XML-based programming language
14:55 < Connelly> it would be more flexible that way
14:55 < jrandom> and then lets build our own hardware too
14:55 < hypercubus> i2p custom wireless mesh routers
14:55 < jrandom> and put together a distribution company with ships and trains to get 'em out there! :)
14:55 < dm> I know CPUs
14:55 < dm> I build one
14:56 < deer> <mule> plus build the chip production facilities ...
14:56 < Connelly> yeah, an anonymous shipping corporation
14:56 < hypercubus> call it WhoEx
14:56 < Connelly> and use reflectors on the moon to beam laser internet traffic to each other!
14:57 < hypercubus> time to boof the meeting i sense
14:57 < jrandom> on that not..
14:57 < jrandom> er, note
14:57 < jrandom> anything else people want to bring up?  if not, we've got the forums and the mailing list
14:57 < jrandom> (and we're here all the time ;)
14:57  * jrandom winds up
14:57 < dm> not me, I have a life.
14:57 < dm> LOSERS
14:57 < dm> NEEEEEEEEEEEEEEEERRRRRRRRRDDDDDDDSSSSS
14:57  * jrandom *baf*s dm on the head
14:58 < jrandom> (closing the meeting)