I2P dev meeting, August 17, 2004

Quick recap

  • Present:

aum, deer, duck, hypercubus, jrandom, kaji, MikeW,

Full IRC Log

14:05 < jrandom> 0) hi
14:05 < jrandom> 1) Network status and 0.3.4.3
14:05 < jrandom> 2) Stasher
14:06 < jrandom> 3) ???
14:06 < jrandom> 0) hi
14:06  * jrandom waves to all the i[2i]p &amp; freenode gang
14:06  * hypercubus waves
14:06 < jrandom> weekly status notes posted a few seconds ago to http://dev.i2p.net/pipermail/i2p/2004-August/000409.html
14:06 < deer> <oOo_itwop> It's Show Time !
14:07 < deer> <mule> seems i2p irc doesn't love me. or it wants to keep me hot longer by regular interruptions
14:07 < jrandom> heh, yeah, that actually leads us in to 1) Network status and 0.3.4.3 :)
14:07 < jrandom> the network is pretty shitty right now
14:07 < kaji> yep
14:08 < jrandom> the problems are showing up largely from incompatabilities with the different releases that people are running, which has been injecting all sorts of neat ways to break things
14:09 < jrandom> if you check the links in the email, you can see the flooding and netDb DoS that has gone on, but it has largely subsided
14:09 < jrandom> we still do have a half dozen people running old releases (and probably 20-25 people running vanilla 0.3.4.2, with its own problems)
14:10 < jrandom> i appreciate your patience as we move forward on this.  i dont want to rush a new release without first being able to effeciently route around bad nodes
14:10 < jrandom> in the past we have been able to route around bad nodes that merely perform poorly, but havent had to deal with nodes who do Bad Things
14:11 < deer> <oOo_itwop> Guinea pigs bows to jrandom !
14:11 < duck> will the next release be backward compatible?
14:11 < jrandom> perhaps duck.  if we can work around those old nodes, there's no reason to make it incompatible
14:12 < duck> cool
14:12 < jrandom> anyway, there's lots of activity going on, even though y'all aren't seeing any new releases yet
14:13 < jrandom> i dont know when 0.3.4.3 will be out.  perhaps tomorrow, or perhaps later this week.
14:14 < jrandom> anyone have any questions / comments / concerns they'd like to bring up wrt network status?
14:14 < kaji> will *.3 have hyper's new gui install?
14:14 < jrandom> probably not
14:14 < deer> <mule> the network looks good to me in the profiles of my boxes, just that i frequently drop
14:15 < jrandom> yeah, i understand mule.  the irc con has been pretty bad for me too, but its been getting better lately
14:15 < deer> <mule> but i missed most of your discussion, so i'll shut up for now
14:15 < jrandom> if you want to try pulling from CVS, that should have an improvement, but there are frequent updates so you may want to wait until the release
14:16 < jrandom> ok anything else?  if not, moving briskly along to 2) Stasher
14:16 < kaji> woot stasher
14:17 < jrandom> stasher is looking pretty cool.  still quite limited functionality, but its making progress
14:17 < jrandom> if aum were awake he could give us an update...
14:17 < jrandom> aum: ping?  :)
14:17 < kaji>  /kick aum
14:18 < jrandom> (its early for him though, so he is probably still sleeping)
14:18 < duck> how selfish
14:18 < hypercubus> i'm impressed by it so far
14:18 < jrandom> Anyway, installing and running stasher is pretty painless, so if you can help him test it out, that'd be great
14:18 < jrandom> yeah, mos' def'
14:18 < hypercubus> it has allowed me to pull off mass goatse'ing
14:19 < jrandom> and whats an app without a goatse, 'eh?  
14:19 < hypercubus> you gotta love an app that lets you upload goatse to someone's drive ;-)
14:19 < aum> pong
14:19 < jrandom> w0ah 
14:19 < jrandom> 'mornin aum
14:19 < deer> <ardvark> quick question: do I get stasher via i2p CVS?
14:19 < aum> hi all
14:19 < jrandom> ardvark: in i2p/apps/stasher/
14:19 < aum> ardvark: hi!!!! :) long time!
14:20 < deer> <ardvark> yes hi aum! good to see you mate!
14:20 < aum> ardvark: prolly easier via tarball - http://stasher.i2p or http://www.freenet.org.nz/python/stasher
14:21 < deer> <ardvark> ok aum, I got the tarball but needs other stuff it says?  I'll not hold back the meeting, maybe I can contact you?
14:21 < aum> sure thing
14:22 < hypercubus> so, any update on stasher aum? ;-)
14:23 < aum> small update, i've added a '-l' option which allows local-only get/put
14:23 < aum> also, thinking of implementing a 'put' option which returns immediately 
14:24 < aum> last night, was thinking thru issues of implementing freenet keytypes
14:24 < hypercubus> i'd like to request that successful put operations return a status... scp and many other command line net apps do this
14:24 < jrandom> SSK would quite kick ass
14:25 < jrandom> (while CHK is of course what imho is most essential)
14:25 < MikeW> One thing I always found interesting about freenet was: It would tell you why there could be high CPU usage. Sometimes (usually at startup for a minute or two) and randomly, CPU usage spikes to 100%, perhaps a estimation why it thinks java is eating my cpu?
14:25 < deer> <oOo> Splitfiles ^^
14:26 < jrandom> MikeW: if i2p is eating your CPU there is most certainly something broken going on
14:26 < aum> i've tentatively implemented splitfiles already, but haven't enabled it - want to test locally first
14:26 < jrandom> MikeW: you can tell exactly whats going on in your router by looking at the 'current job' in the router console, which is (almost always) where the CPU crunch is
14:26 < jrandom> ah cool aum
14:27 < aum> due to a recursive algo, the splitfiles thing should allow unlimited file sizes when it's done
14:27 < deer> <oOo> Great, splitfiles are mandatory for serious goatse and pr0n stuff...
14:27 < deer> <identiguy> aum: does that include FEC?
14:27 < aum> fec not needed
14:27 < aum> fec is only required on flaky networks
14:27 < deer> <identiguy> Ah, I see.
14:27 < aum> i'm using kademlia, which has far better retrievability guarantee
14:27 < duck> unless nodes go down
14:28 < aum> plus, i can't be fscked doing fec anyway, it's a pain
14:28 < aum> duck: there's redundancy - refer the 'k' value in kademlia
14:28 < jrandom> duck: with a k of 20, even without any republishing it'd be ok ;)
14:28 < duck> heh, okay
14:28 < deer> <mule> aum: fec might help in case a number of nodes are removed
14:28 < jrandom> (and with republishing, it'd only hurt if all k died at the same time)
14:28 < aum> naah, i'll just increase k
14:28 < jrandom> k of 20 imho is pretty substantial
14:29 < jrandom> (since that means you have 20 full replicas of the file)
14:29 < hypercubus> users can always use standalone fec tools
14:29 < MikeW> jrandom: Under JobQueue, runners:1, active jobs:0, just finished:1, ready/waiting: 0, timed: 28
14:29 < aum> that means 20 goatses, guys :P
14:29 < hypercubus> and publish the results
14:29 < duck> what about the britneyspears effect?
14:29 < duck> of very popular keys ending up on 1 node
14:29 < jrandom> (aka insert a 740MB file and you get 14.8GB of data you need to send)
14:30 < aum> duck: popularity is not a concept in kademlia
14:30 < duck> (ofcourse with 32KB keys that might not be terrible)
14:30 < jrandom> ok cool MikeW, but is i2p eating your CPU now?
14:30 < deer> <ardvark> all these kademlia messages I see on i2p are stasher related?
14:30 < MikeW> jrandom: yes
14:30 < aum> duck: and kademlia has no relaying
14:30 < hypercubus> ardvark: the stuff in the router console is the netdb kad implementation
14:31 < aum> the ideas of 'relaying', 'popularity', 'caching' etc are for freenet, which has to expose itself naked to the world, without the cloaking of I2P
14:31 < deer> <ardvark> runnin i2p and tor here and my cpu usage is at 3% now so :/  *shrug*
14:31 < jrandom> MikeW: then your router is unable to maintain connections and is gobbling CPU doing lots of concurrent connection establishment
14:31 < duck> ok, my brain is rotten by freenet
14:31 < duck> please have mercy :)
14:31 < deer> * shendaras comforts.
14:31 < jrandom> MikeW: if you can hang around after the meeting to debug, that'd be great
14:32 < MikeW> will do
14:32 < jrandom> ok cool aum, anything people can do to help?
14:32 < jrandom> or should we just kick the tires and file bugs?
14:33 < duck> I am trying to get used to leo
14:33 < aum> yep, file bugs to the list, if that's ok people
14:33 < duck> already like it more than eclipse
14:33 < hypercubus> what's leo?
14:33 < jrandom> (uh oh, here comes the rant ;)
14:33 < aum> duck: i use nothing but leo these days - except emacs for quick hacks, and zile for even quicker hacks
14:34 < hypercubus> as long as you're not using vi or emacs ;-)
14:34 < aum> http://leo.sf.net - gives you an outline view of your code
14:34 < hypercubus> but i'll have to try this leo myself
14:34 < aum> leo even integrates with emacs if you want
14:34 < hypercubus> it's not an editor?
14:35 < aum> <bile>
14:35 < aum> fucking msvc - it allows __int64 for 64-bit ints, but doesn't allow 'LL' or 'ULL' for 64-bit int literals
14:35 < aum> !!
14:35 < aum> </bile>
14:35 < hypercubus> ah i see
14:37 < jrandom> ok, if thats that, then we've got nothing left and can move to 3) ???
14:37 < jrandom> anyone have anything else they want to bring up?
14:37 < hypercubus> yeah i guess i'll say a bit about the new direction of the installer
14:37 < jrandom> ok word
14:38 < hypercubus> from 0.4 onward, command line users will merely grab the i2p tarball and unpack it, then run a script to start the router and pop open the router console in lynx or whatever
14:39 < hypercubus> so not much has changed, except you don't have to go through a silly Q/A session with an installer
14:39 < hypercubus> you do all the configuration in the router console
14:39 < hypercubus> for GUI users, we have something spiffy
14:39 < jrandom> (w00t)
14:40 < hypercubus> which you can preview at http://files.hypercubus.i2p/install.jar
14:40 < jrandom> or from cvs (ant pkg ; java -jar install.jar) right?
14:40 < aum> hypercubus: how are you going with the winstaller? does it autodetect/autodownload/autoinstall java ?
14:41 < hypercubus> menu shortcuts are forthcoming, as well as systray integration and a way to install the router as a daemon
14:41 < aum> daemon? as in windows 'service' ?
14:41 < hypercubus> no, at least not for the forseeable future, they will need to click on a link on the i2p site that takes them to the official java download page
14:42 < hypercubus> the installer requires java, but that's ok since i2p does as well
14:42 < aum> hypercubus: sorry, but that'll lose 80% of users
14:42 < hypercubus> name one java project that doesn't do that
14:42 < jrandom> we'll have it eventually.
14:42 < jrandom> just not now.
14:42 < aum> freenet did it well - their winstaller takes you through the download
14:43 < jrandom> (we have so many other more important fish to fry.  we dont *want* thousands upon thousands of users now)
14:43 < hypercubus> that's a consideration for 1.0
14:43 < hypercubus> i have most of the code to pull it off done already
14:43 < aum> jrandom: i thought you said it would be for 0.4
14:43 < deer> <mule> so you should require that java is built from source :)
14:44 < jrandom> the new installer will be for 0.4
14:44 < hypercubus> we have scrapped all the code i have written thus far
14:44 < hypercubus> in favor of IzPack
14:44 < hypercubus> http://izpack.sf.net
14:44 < jrandom> we can offer a 15MB download bundling the two as one, but most users who will use i2p prior to 1.0 will know what "java" is
14:45 < hypercubus> this gives me time to perfect a fully public domain java installer framework which i eventually hope to move i2p back to
14:45 < hypercubus> but the priority right now is to get rid of the awful current installer ;-)
14:46 < hypercubus> (no offense to whoever hacked it together)
14:46 < deer> <shendaras> Got a 404....
14:46 < duck> http://www.izforge.com/izpack/
14:46 < hypercubus> http://www.izforge.com/izpack/
14:47 < hypercubus> sorry about that
14:47 < hypercubus> anyhow, i would appreciate feedback on the preview installer i've put up on my eepsite
14:48 < hypercubus> it's been tested on *nix and windows, it should work on os x and solaris too
14:48 < jrandom> r0x0r
14:48 < duck> its sweet
14:48 < jrandom> yeah, it kicks ass
14:49 < hypercubus> i may hack izpack to remove those dorky icons from the buttons
14:49 < deer> <mule> hypercubus: will it destroy existing configurations or preserve them?
14:49 < hypercubus> there are no config files contained in the package
14:49 < hypercubus> so it will only overwrite jars and wars
14:49 < jrandom> (at the moment ;)
14:49 < hypercubus> well, we'll take configs into account
14:49 < deer> <mule> k, thanks
14:49 < duck> how will one start the whole jetty thang?
14:50 < duck> still a sh/bat ?
14:50 < jrandom> yes
14:50 < jrandom> the router will start w/ a script, and/or a service (calling that script)
14:50 < hypercubus> yes, and i'll throw in an exe for win users
14:50 < jrandom> w00t
14:50 < hypercubus> that will launch from the Start menu
14:50 < hypercubus> the Windows Start menu
14:51 < hypercubus> should have jetty working as a windows service by tomorrow
14:51  * jrandom mumbles *its not jetty, its i2p*
14:51 < hypercubus> ah right ;-)
14:52 < hypercubus> jetty comes with a win32 service wrapper though
14:52 < hypercubus> we can use it to wrap anything
14:52 < jrandom> yeah, there are 3-4 PD/BSD java service wrappers out there
14:52 < hypercubus> yeah, there are probably some for linux too
14:53 < jrandom> well, linux service == init script :)
14:53 < hypercubus> yeah but linux services are handled differently among even the major distros
14:53 < hypercubus> for example, gentoo uses the rc-setup script scheme
14:54 < jrandom> w3rd
14:54 < hypercubus> anyhow, i'll get it working for all the major distros and *bsd's
14:54 < hypercubus> if not more
14:55 < hypercubus> oops, s/rc-setup/rc-update/
14:55 < hypercubus> ok, that covers everything i guess
14:55 < hypercubus> you guys can wake up now ;-)
14:55 < deer> * shendaras yawns
14:55 < jrandom> cool, thanks hyper, sounds good.
14:56 < jrandom> anyone else have anything they want to bring up?
14:56 < aum> sorry if i missed earlier discussion, but..
14:56 < aum> what's the weather like vis a vis datagram latency etc?
14:57 < jrandom> i dont know about datagrams - the only apps i use run on top of datagrams via streams
14:57 < jrandom> network status is still pretty bad - see status notes @ http://dev.i2p.net/pipermail/i2p/2004-August/000409.html
14:58 < aum> k
14:58 < jrandom> ok, if there's nothing else...
14:58  * jrandom winds up
14:59  * jrandom *baf*s the meeting closed