{% extends "_layout.html" %} {% block title %}I2P Development Meeting 103{% endblock %} {% block content %}

I2P dev meeting, August 17, 2004

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 & 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

{% endblock %}