I2P dev meeting, August 5, 2003 @ 21:02 UTC

Quick recap

  • Present:

hezekiah, jeremiah, jrand0m, mihi, nop, thecrypto,

Full IRC Log

<nop>	ok, meeting started
<nop>	what's on the agenda
-->	logger (logger@anon.iip) has joined #iip-dev
-->	Anon02 (~anon@anon.iip) has joined #iip-dev
<hezekiah>	Tue Aug  5 21:03:10 UTC 2003
<hezekiah>	Welcome to the Nth iip-dev meeting.
<hezekiah>	What's on the agenda?
<thecrypto>	Tue Aug  5 21:02:44 UTC 2003
<thecrypto>	synced to a NTP stratum 2 :)
<hezekiah>	Tue Aug  5 21:03:13 UTC 2003
-->	ptm (~ptm@anon.iip) has joined #iip-dev
<hezekiah>	Just synced to NIST. :)
<mihi>	this sync does not help w/ iip delays ;)
<jrand0m>	nop: things I want to see covered: java dev status, java crypto
	  status, python dev status, sdk status, naming service
<hezekiah>	(We're going into the naming service _already_?)
<jrand0m>	not design you wanker, thats co's schpeel.  just talk about stuff
	  if there's stuff to talk about.
<hezekiah>	Ah
*	jrand0m puts LART away
<jrand0m>	anything else on the agenda?
<jrand0m>	or shall we dig in?
<hezekiah>	Well, I can't think of anything else to add.
<hezekiah>	Ah!
<hezekiah>	Oh!
<jrand0m>	ok.  java dev status:
<hezekiah>	Good.
<--	mrflibble has quit (Ping timeout)
<nop>	ok
<nop>	agenda
<nop>	1) Welcome
<jrand0m>	as of today, there is a java client API with a stub java router
	  that can talk to each other.  in addition, there is an application called ATalk
	  allowing anonymous IM + file transfer.
<nop>	2) IIP 1.1 blackouts
<nop>	3) I2P
<nop>	4) The End with comments and stuff
*	jrand0m goes back to corner
<nop>	sorry
	  joeyo jrand0m Aug 05 17:08:24 * hezekiah gives jrand0m a dunce hat to wear in
	  the corner. ;-)
<nop>	sorry about that
<nop>	didn't see you started there
<nop>	maybe I should go in corner
<hezekiah>	lol
<jrand0m>	no worry.  item 1)
*	hezekiah hands nop a dunce hat too. :)
<nop>	ok welcome everybuddy
<nop>	blah blah
<nop>	2) IIP 1.1 blackouts
-->	mrflibble (mrflibble@anon.iip) has joined #iip-dev
<hezekiah>	52nd iip-dev meeting and all that good rot!
<nop>	the server recently had some issues with the hard drive sectors and has
	  been replaced
<nop>	I plan to be moving the darn server into a more stable environment with
<nop>	and possibly lend out control of multiple ircd servers
<nop>	dunno
<nop>	that's something to be discussed
<--	Anon02 has quit (EOF From client)
<nop>	hopefully our servers should stay up now since the harddrive was replaced
<nop>	sorry about the inconvenience folks
<nop>	3) I2P - Jrand0m take it away
<nop>	come out of the corner jrand0m
*	hezekiah goes over to the corner, pulls jrand0m off his chair, drags him
	  to the podium, takes away his dunce hat, and hands him the mic.
*	nop goes into that corner to fill his place
<hezekiah>	lol!
<jrand0m>	sorry, back
*	nop grabs dunce hat from hezekiah
*	nop puts it on his head
*	nop applauds for jrand0m
*	jrand0m just watches the show
<jrand0m>	er... um ok
<hezekiah>	jrand0m: i2p, java status, etc. Talk man!
<jrand0m>	so, as of today, there is a java client API with a stub java
	  router that can talk to each other.  in addition, there is an application called
	  ATalk allowing anonymous IM + file transfer.
<hezekiah>	File transfer already!?
<jrand0m>	si sr
<hezekiah>	Wow.
<hezekiah>	I'm sure behind the times.
<jrand0m>	but not the most graceful
<hezekiah>	lol
<jrand0m>	it takes a file and tosses it in a message
<hezekiah>	Ouch.
<nop>	how long did 1.8 mb local transfer take?
<jrand0m>	I've tested with a 4K file and a 1.8Mb file
<jrand0m>	a few seconds
<nop>	nice
<nop>	:)
<hezekiah>	Does the java stuff do real encryption yet, or does it still
	  fake that?
<nop>	fake
<nop>	even I know that
<nop>	:)
<jrand0m>	I warmed it up by talking to myself first [e.g. one window to
	  another, saying hi] so it didn't deal with the overhead of the first elg
<jrand0m>	right, its faked largely
<thecrypto>	most of the encryption is fake
<thecrypto>	that's being worked on though
<hezekiah>	Of course. :)
<jrand0m>	definitely.
<jrand0m>	on that front, wanna give us an update thecrypto?
<thecrypto>	well, right now i'm done with ElGamal and SHA256
<thecrypto>	right now I'm working on generating primes for DSA
<thecrypto>	I'll send out 5 and then we can just pick one
<hezekiah>	nop: Didn't you have prime(s) coming for use with DSA?
<thecrypto>	We also have some benchmarks on ElGamal and SHA256
<thecrypto>	And they are all fast
<jrand0m>	latest benchmarks w/ elg:
<jrand0m>	Key Generation Time Average: 4437	total: 443759	min:
	  872	   max: 21110	   Keygen/second: 0
<jrand0m>	Encryption Time Average    : 356	total: 35657	min:
	  431	   max: 611	   Encryption Bps: 179
<jrand0m>	Decryption Time Average    : 983	total: 98347	min:
	  881	   max: 2143	   Decryption Bps: 65

<hezekiah>	min and max: are they in seconds?
<jrand0m>	note that the Bps isn't really useful, as we only encrypt/decrypt
	  64 bytes
<thecrypto>	ms
<jrand0m>	no, sorry, those are all milliseconds
<hezekiah>	Cool. :)
<hezekiah>	And this is done in java?
<thecrypto>	yes
<thecrypto>	pure java
<hezekiah>	OK. I am officiall impressed. :)
<jrand0m>	100%.  P4 1.8
<thecrypto>	they are about the same on my 800 Mhz
<hezekiah>	How can I do the same tests?
<jrand0m>	sha256 benchmark:
<jrand0m>	Short Message Time Average  : 0 total: 0	min: 0	max:
	  0  Bps: NaN
<jrand0m>	Medium Message Time Average : 1 total: 130	min: 0	max:
	  10 Bps: 7876923
<jrand0m>	Long Message Time Average   : 146	total: 14641	min:
	  130	   max: 270	   Bps: 83037
<thecrypto>	run the ElGamalBench program
<hezekiah>	OK.
<hezekiah>	I'll go find it.
<jrand0m>	(short size: ~10 bytes, medium ~10KB, long ~ 1MB)
<jrand0m>	java -cp i2p.jar ElGamalBench
<jrand0m>	(after running "ant all")
<hezekiah>	jrand0m: Thanks. :)
<jrand0m>	np
<thecrypto>	The NaN thing means it's so fast that we end up dividing by 0
	  it's so fast :)
<hezekiah>	What's the sha bench?
<jrand0m>	java -cp i2p.jar SHA256Bench
-->	Neo (anon@anon.iip) has joined #iip-dev
<hezekiah>	OK.
<jrand0m>	we'll probably want to move those to be main() methods of the
	  associated engines, but they're good where they are atm
<hezekiah>	Let's see how fast all this is on an AMD K6-2 333MHz (which is
	  a chip not well know for its integer math.)
<jrand0m>	heh
<jrand0m>	ok so we have DSA and AES left, right?
<jrand0m>	this is all wikked thecrypto.  nice work.
<thecrypto>	yup
<jrand0m>	can I nag you for an ETA on the other two?  ;)
<hezekiah>	If this is anywhere near as fast on my box as it is on yours,
	  you have to show me how you do that. ;-)
<thecrypto>	DSA should be done almost as soon as i have primes ready
<nop>	hezekiah have you tried the sslcrypto for python
<thecrypto>	copying some code around from the prime generator and things like
	  that and it's done
<nop>	the one off that link
<hezekiah>	nop: sslcrypto won't do us any good.
<hezekiah>	nop: It doesn't implment ElGamal _or_ AES _or_ sha256.
<thecrypto>	AES is mostly done except that there is some error somewhere that
	  i'm still trying to pick out and destroy, once i have that, it'll be done
<jrand0m>	thecrypto> so by friday, DSA keygen, sign, verify, and AES encrypt,
	  decrypt for arbitrary size inputs?
<nop>	the one on McNab's site does not?
<thecrypto>	yeah
<nop>	darn
<thecrypto>	should be friday
<thecrypto>	most likey thursday
<jrand0m>	thecrypto> does that include the UnsignedBigInteger stuff?
<thecrypto>	i'll be missing next weeks meeting because of summer camp, and
	  i'll be back after that
<thecrypto>	jrand0m: prolly not
<jrand0m>	ok.
<jrand0m>	so for the time being, interoperability between java and python
	  is b0rked.
<jrand0m>	for crypto, that is.
---	Notify: jeremiah is online (anon.iip).
-->	jeremiah (~chatzilla@anon.iip) has joined #iip-dev
<jrand0m>	(aka for signatures, keys, encryption, and decryption)

<nop>	hmm maybe we should focus more on C/C++
<thecrypto>	well, once we get it working completely we can then make sure
	  both java and python can speak to each other
<jrand0m>	while you're out I'll look into the unsigned stuff.
<jeremiah>	can someone email me a backlog? jeremiah@kingprimate.com
<hezekiah>	jeremiah: Give me a minute. :)
<jrand0m>	nop> do we have devs for C/C++?
<nop>	I have one guy yes
<nop>	and Hezekiah we know could do it
<jrand0m>	or perhaps we can get a python dev status update from hezekiah +
	  jeremiah to see when we'll have more people for the c/c++ dev
<jrand0m>	right, of course.  but hez+jeremiah are working on python atm
<hezekiah>	Yeah.
<--	mrflibble has quit (Ping timeout)
<hezekiah>	I'm sort of giving poor jeremiah lots of trouble.
<nop>	I was just saying if python won't be fast speeds
<hezekiah>	Python is mainly for me to understand this network.
<nop>	ahh
<hezekiah>	Once, I get it to basically follow the complete spec, I intend
	  to hand it off to jeremiah to do with as he sees fit.
<hezekiah>	It's not meant to be a killer implementation of the spec.
<hezekiah>	(If I wanted that, I'd use C++.)
<jeremiah>	well there aren't any really processor intensive parts of the app,
	  iirc, aside from crypto, and ideally that will be handled in C anyways, right?
<jrand0m>	sure jeremiah.	all depends on the app
-->	mrflibble (mrflibble@anon.iip) has joined #iip-dev
<hezekiah>	jeremiah: In theory.
<jrand0m>	so where are we on the python side?  client api, local only
	  router, etc?
<jeremiah>	the python implementation will also let us know what optimizations
	  we could make from the start... I'd like to keep it up to date or, possibly,
	  ahead of the C implementation as I can
<hezekiah>	jrand0m: OK. Here's what I've got.
<hezekiah>	In _theory_ the router should be able to handle all non-admin
	  messages from a client.
<hezekiah>	However, I don't have client yet, so I haven't been able to debug
	  it (i.e. there are still bugs.)
<hezekiah>	I'm working on the client right now.
<jrand0m>	'k.  if you can disable signature verification, we should be able
	  to run the java client against it now
<hezekiah>	I'm hoping to have that done except for admin messages in a day
	  or two.
<jrand0m>	we can test that out after the meeting
<hezekiah>	jrand0m: OK.
<jeremiah>	I've been dealing with real-world stuff mostly since the last
	  meeting, I can work on the client API, just been trying to sync my thinking
	  with hezekiah's
<jrand0m>	cool
<hezekiah>	jeremiah: You know what, just wait.
<hezekiah>	jeremiah: I'm probably throwing in too much new stuff for you to
	  deal with right now.
<jeremiah>	hezekiah: right, what I was going to say is that you should
	  probably just go ahead and implement the base stuff
<hezekiah>	jeremiah: In a little while, it will be stabalized and you can
	  start refining it. (There are lots of TODO comments that need help.)
<jeremiah>	and then I can extend it later once I get the picture
<hezekiah>	Exactly.
<hezekiah>	You get to maintain all this code. :)
<jrand0m>	cool.  so eta 1-2 weeks for a working python router + client api?
<hezekiah>	I'm going on vacation next week so probably.
<hezekiah>	Are we going to have more details on router to router soon?
<jrand0m>	no.
<jrand0m>	well, yes.
<jrand0m>	but no.
<hezekiah>	lol
<jeremiah>	hezekiah: how long is the vacation?
<hezekiah>	1 week.
<jeremiah>	ok
<jrand0m>	(aka as soon as the SDK goes out, 100% of my time goes into I2NP)
<hezekiah>	I'm hoping to have all non-admin functionality written before I
	  go on vacation
<hezekiah>	.
<jrand0m>	but then soon after you get back you're off to college, right?
<hezekiah>	I2NP?
<hezekiah>	Right.
<jrand0m>	network proto
<hezekiah>	I have about 1 week after vacation.
<hezekiah>	Then I'm gone.
<hezekiah>	And my free time drops like a stone.
<jrand0m>	so that 1 week should only be debugging
<jeremiah>	I can work on the code while hez is gone though
<jrand0m>	word
<jrand0m>	whats your summer look like jeremiah?
<hezekiah>	jeremiah: Perhaps you can get those admin functions working?

<thecrypto>	i'll still have a month after i come back from my vaction to work
	  on things
<jrand0m>	having a life, or being like the rest of us l00sers?  :)
<jeremiah>	maybe
<hezekiah>	100sers?
<hezekiah>	What's a 100ser?
<jeremiah>	i leave for college on the 22nd, other than that I can dev
<mihi>	hezekiah: a loser
<jeremiah>	and the last week before I leave all my friends will be gone... so
	  I can go into hyperdev mode
<hezekiah>	mihi: Ah!
<jrand0m>	hehe
<hezekiah>	OK. So where were we on the agenda?
<hezekiah>	i.e. What's next?
<jrand0m>	sdk status
<jrand0m>	sdk == one client impl, a local only router impl, an app, and docs.
<jrand0m>	I'd like to have that out by next tuesday.
<hezekiah>	jeremiah: That backlog is on the way. Sorry I forgot you there. :)
<jeremiah>	thanks
<jrand0m>	ok, co isn't around, so the naming service stuff is prolly a bit
	  off base
<jrand0m>	we can discuss the naming service after he puts out specs or
	  he's around
<jrand0m>	ok, thats it for I2P stuff
<jrand0m>	anyone else have I2P stuff, or we on to: <nop> 4) The End with
	  comments and stuff
<hezekiah>	I can't think of anything.
<jrand0m>	I assume everyone's seen
	  http://www.cnn.com/2003/TECH/internet/08/05/anarchist.prison.ap/index.html ?
<thecrypto>	not here
<jrand0m>	(nop posted it here earlier)
<hezekiah>	The thing about the guy who got arrested for linking to a bomb
	  building site?
<jrand0m>	yes
<jrand0m>	relevence to the need to get I2P up ASAP should be aparent ;)
<hezekiah>	OK! jeremiah, those logs are now sent.
<jeremiah>	thanks
<jrand0m>	anyone have any questions / comments / thoughts / frisbees,
	  or are we having a record breaking short meeting?
*	thecrypto tosses a frisbee
<--	logger has quit (Ping timeout)
<jrand0m>	damn y'all are quiet today ;)
<mihi>	question:
<mihi>	where can non devs get yout java code?
<jrand0m>	si sr?
<thecrypto>	not yet
<mihi>	404
<jrand0m>	that'll be made available once we're release ready.  aka the
	  source will go out with the SDK
<jrand0m>	heh
<jrand0m>	yeah, we don't use SF
<hezekiah>	nop: Is it possible that we can get anonymous cvs working some tiem?
<hezekiah>	time?
<--	mrflibble has quit (Ping timeout)
<nop>	well, I would open up a non-standard port
<jrand0m>	hezekiah> we'll have that once the code has the GPL license on there
<nop>	but I am working on viewcvs
<jrand0m>	aka not now since the gpl doc hasn't been added to the code yet
<hezekiah>	jrand0m: It's in all the python code directories and all python
	  source files speceify licensing under GPL-2.
<jrand0m>	hezekiah> is that on the cathedral?
<hezekiah>	Yes.
<jrand0m>	ah word.  i2p/core/code/python ?  or a different module?
*	jrand0m hasn't seen it in there
<hezekiah>	Each python code directory has a COPYING file in it with the
	  GPL-2 and each source file has the license set a GPL-2
<hezekiah>	It's i2p/router/python and i2p/api/python
<jrand0m>	'k
<jrand0m>	so, yeah, by next tuesday we'll have the SDK + public source access.
<hezekiah>	Cool.
<hezekiah>	Or as you like to say, wikked. ;-)
<jrand0m>	heh
<jrand0m>	nada mas?
<hezekiah>	nada mas? What's that mean!?
<jeremiah>	nothing more
*	jrand0m suggests you learn a lil espanol en universidad
-->	mrflibble (mrflibble@anon.iip) has joined #iip-dev
<hezekiah>	Questions anyone?
<hezekiah>	Going once!
<--	ptm (~ptm@anon.iip) has left #iip-dev (ptm)
<hezekiah>	Going twice!
<--	mrflibble has quit (mr. flibble says "game over boys")
<hezekiah>	Speak now .. or wait until you feel like speaking later!
<thecrypto>	okay, i'm going to be optimizing the elgamal even more, so expect
	  even faster elgamal benches in the future
<jrand0m>	please focus on DSA and AES before tuning... puhleeeease :)
<thecrypto>	i will
<hezekiah>	The reason he's doing that is 'cause I'm causing trouble for
	  people again. ;-)
<thecrypto>	i'm making DSA primes
-->	mrflibble (mrflibble@anon.iip) has joined #iip-dev
<thecrypto>	well, at least making the program to make DSA primes right now
<hezekiah>	ElGamal in Java doesn't like an AMD K-6 II 333MHz.
<hezekiah>	OK.
<hezekiah>	Question round is over!
<jrand0m>	ok hez, we're done.  you wanna powow on getting the java client
	  and the python router work?
<hezekiah>	See you all next week citizens!
*	hezekiah smashes down the *baf*er