I2P dev meeting, August 5, 2003 @ 21:02 UTC
Quick recap
- Present:
hezekiah, jeremiah, jrand0m, mihi, nop, thecrypto,
Tam IRC Günlüğü
<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
redundancy
<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
(right?)
<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