Timestamps are in GMT/BST.
[0:00] <thelema> I do want to have the ability to check status of live requests; that's something that other p2p programs build in from the get-go, but we still don't have.
[0:00] <thelema> with all the reams of useless diagnostics, we still can't check status of live requests.
[0:01] <jay> heh true
[0:01] <toad_> thelema: queued requests too. the big issue here: we can't just queue client requests. they'll timeout and be replaced by reqs for different chunks. but we NEED to limit the clients.
[0:02] <toad_> and it'd be nice for one client to correspond to a rate limiting unit
[0:02] <toad_> rather than all clients
[0:02] <salahx> FCP is currently stateless though
[0:02] <toad_> and i don't think that muxing HAS to be a massive complexity gain
[0:02] <toad_> if well designed
[0:11] * Ash-Foxeus (Hal-9000@abd124.neoplus.adsl.tpnet.pl) Quit (Connection timed out)
[0:15] <salahx> ugh
[0:16] <salahx> now I understand the 8- and 16- bit thing
[0:21] <thelema> toad_: good night.
[0:22] * Byte_Me (~Pheonix@ip68-99-9-148.om.om.cox.net) has joined #freenet
[0:24] <Byte_Me> Hallo... I was wondering if I could get some/a refrence node besides the public ones?
[0:24] <KenMan> what's toad doing up THIS late ??!
[0:24] <salahx> stable or unstable ?
[0:24] <Byte_Me> I guess anything that will get me started.
[0:25] <Byte_Me> wait.... the node or my build?
[0:26] <KenMan> 32x more keys means the opportunity exists to develop 32x better routing. I'll wait until I see evidence of that happening ! Not to be a pessimist or anything.
[0:26] <thelema> Byte_Me: your build.
[0:27] <Byte_Me> stable I guess... should I go unstable?
[0:27] * Zorix (Brandon@fl-64-45-226-120.dyn.sprint-hsd.net) has joined #freenet
[0:28] <thelema> no, stay stable.
[0:34] * Hamled|Erp| (~hamled@pool-68-163-53-37.phil.east.verizon.net) has joined #freenet
[0:35] <KenMan> yo hablero Hamled !
[0:35] <KenMan> I mean, 'good eehveneeng' ...
[0:35] <Byte_Me> so does anyone have a ref they can spare? I've really had no luck with the public ones for a few hours with the new build.
[0:36] <KenMan> Byte_Me: for stable ? I can give you mine, if you like
[0:36] <Byte_Me> yea, stable
[0:37] <KenMan> web-posting now, will be a minute or two...
[0:38] <Byte_Me> cool
[0:38] <Byte_Me> thanks
[0:39] <KenMan> 1.6MB is moving realll slowww ... must be all that free net consuming my bandwidth or something ...
[0:39] <Byte_Me> lol
[0:42] <KenMan> http://mywebpages.comcast.net/jkcorson/FreeNet/noderefs.txt - for stable (5091)
[0:43] <KenMan> rename to seednodes.ref and start'cher node ...
[0:45] <KenMan> that's odd, only 41 nodes in that file, yet i have 60 peers. I guess some are not worthy of sharing or something...
[0:46] <Byte_Me> heh
[0:50] <thelema> hmm, how to do a binary search of a circular buffer...
[0:51] <KenMan> how is it stored ? vector ? just use offsets then
[0:51] <KenMan> (idx + offset)%size
[0:51] <thelema> it's a sorted array, but it's been rotated (so the smallest element isn't necessarily at positio 0.
[0:52] * Hamled|Erp (~hamled@pool-68-163-53-37.phil.east.verizon.net) Quit (Read error: 110 (Connection timed out))
[0:53] <thelema> and things are easiest if I don't have to know the offset beforehand.
[0:53] <KenMan> (idx + start_position)%size gets you there . unless you are permitting empty elements :(
[0:53] <thelema> no, it's full.
[0:54] <KenMan> just work in translated 'space' - every time you want to look at sorted item #idx , use the above
[0:54] <thelema> oh well, It's time for me to sleep.
[0:55] <salahx> ok
[0:55] <thelema> (I was hoping I could do it without knowing the translation)
[0:55] <thelema> good night.
[0:55] <KenMan> rest that brain of yours... night
[0:55] * salahx is racking by brain
[0:55] * thelema is now known as thelema|away
[0:55] <KenMan> judicious use of memcpy then...
[0:56] <KenMan> you only have to align it once, you don't have to move it afterwards, just the circular 'start' pointer...
[0:59] <KenMan> hmm, using the RT to compute the *true* average incoming MRI, they have gone up quite a bit. That is not good. incomingRequestInterval is a useless diagnostic, it gets too many redundant/irrelevant reports so as to skew the average...
[1:00] <thelema|away> KenMan: I'm trying to optimize out the rotations from BucketStore
[1:01] <KenMan> do you know that they are frequent enough to be of concern ?
[1:02] <KenMan> for example, the true averageMRI over all my routes is ~400s . But , incomingRequestInterval computes ~236s, because it is receiving approximately 100 MRI values for each request that is actually sent down a particular route :o
[1:02] <KenMan> if that is not an extreme example of 'updating the MRIs too often' I don't know what is...
[1:03] <KenMan> to use message counts (on my incoming side) for a reference, I've sent out 1040532 MRI values, but only taken in 13302 requests . OOooph.
[1:03] * jay (jcl@ool-18bf6dac.dyn.optonline.net) Quit ("Client exiting")
[1:04] <thelema|away> KenMan: so MRI shouldn't be part of every message, but instead updated once every 10s or so?
[1:11] <KenMan> in a true model of 'rate control' a node shouldn't need to adjust MRI (send it out) more than a few times an HOUR per route.
[1:11] <KenMan> assuming that both nodes actually desired rate control. Rate limiting is a misnomer, because it uses the word rate.
[1:12] <KenMan> is it better-termed query limiting, in my sarcastic opinion.
[1:14] <KenMan> how can a requestor be expected to respond to 2000 MRI updates per hour, without losing all its hair ??
[1:15] <KenMan> and how can ANYONE expect this to produce reasonable behavior ? and yet, in *some* ways, it does.
[1:16] <KenMan> "wait, WAIT !!! Before you give me another request, let me change the rules, several hundred times"
[1:17] <salahx> Numeric fields was something I was not taught in school...
[1:17] <KenMan> previously , my biggest objection was that the MRI had no constraint on the rate of change (or "query rate acceleration/deceleration")
[1:18] <KenMan> but come on, 100 updates on MRI for each single request ? that just seems too silly to be taken seriously.
[1:18] <salahx> well I figfure the mRI woudln't change much
[1:18] <salahx> why is it changing so much, anyway ?
[1:19] <KenMan> that's even worse. It doesn't. How many times must I tell you my name before you remember it ??
[1:19] <KenMan> often 10 or 20 MRI updates are not updates at all, just bandwidth wasters...
[1:19] <KenMan> 10 or 20 sequential, to a specific requestor, that is.
[1:19] * duck (~duck@the.dogs.bollo.cx) has joined #freenet
[1:19] <salahx> it woud lprobably be better only to update the mRI in steps
[1:20] <KenMan> well, i'm just complaining to hear myself complain :)
[1:20] <salahx> like rounging it up to nearest 100ms or so
[1:20] <KenMan> sometimes that is fun to do.
[1:20] <KenMan> makes me feel all superior, or something. I guess.
[1:21] * duck (~duck@the.dogs.bollo.cx) has left #freenet
[1:28] <salahx> if the mRI is relatively contant it pprobably would make sense to round it to come convient number and only change if it goes more than 1 "step" away
[1:29] <KenMan> you are right, precision is not too important. We could save 4 bytes per MRI communication by converting our doubles to an int. And still have ms precision.
[1:29] <salahx> its only a (bad?) estimate anyway; it can probably fudged withotu too muc htrouble
[1:29] <KenMan> no, it is not an estimate. It is a command.
[1:29] <KenMan> It is an order to be obeyed.
[1:29] <salahx> A lot of places in Freenet there too much precision
[1:30] <KenMan> true, but better than having too little ... :)
[1:30] <salahx> Precision is important when target misles ot counties with opposing idealogies
[1:30] <salahx> but this is Freenet. I don;t think it'll ever be wired to a missle guidence system
[1:33] <KenMan> well, we want to do the best we can, especially in the area of NGR and estimation of a route's 'targetting'
[1:35] <KenMan> there are software systems upon which lives depend. Heart & lung machines. Space shuttles. And weapons of war. But when the software methodologies are done right (and the US space shuttle *software* is honestly a terrific example) , they should be held up as a standard to be strived towards.
[1:36] <KenMan> if you want to do a ''good enough" job, you *still* have to set some bar for performance.
[1:37] <KenMan> The team that builds the space shuttle software is absolutely unbelievable. They are not to be blamed for some bolt on a launch pad crippling and killing the shuttle. They are to be credited with building a completely hands-off automated flight control system.
[1:37] <salahx> yeah
[1:37] <salahx> never heard of a shuttle blescreening
[1:38] <KenMan> heh
[1:38] <Hamled|Erp|> atleast not more than twice
[1:39] <KenMan> in the first case, the computers detected the O-ring leak(s) and reacted immediately. But it was already too late.
[1:39] <KenMan> well, within under 100ms, anyway
[1:39] <KenMan> my point is, the software reacted correctly. Software can only do so much.
[1:47] <KenMan> actually, after doing some reading, it seems that the shuttle was undergoing 'manual' throttle adjustment at the time of the explosion.
[1:47] <salahx> hmmm
[1:47] <KenMan> fully automated flight control is new sometime in the last 10 years
[1:47] <KenMan> i think
[1:48] <salahx> yeah, planes pratically fly themselves, the only thing they ca'nt do yet is take off and land (well, in one piece anyway!)
[1:48] <mazzanet> bring bring
[1:48] <Byte_Me> not really true.
[1:49] <Byte_Me> The only reason they go to manual is because there's more /faith/ in the manual. If 10000 ft up then you have some time to correct a failure if something goes wrong with the auto pilot.
[1:49] <Byte_Me> But when your landing you really don't have that chance.
[1:50] <Byte_Me> If they trusted the autopilot in the air, then they would allow the pilots to sleep in the cabin, but they don't.
[1:51] <KenMan> for the past 5 or 10 years, in the case of the space shuttle anyway, the people in charge have placed their faith in total software autopilot. The team that develops it has won awards.
[1:51] <KenMan> They are at the highest level of software process control achievable, and they are always looking for ways to better themselves.
[1:51] <KenMan> They are my heroes.
[1:52] <Byte_Me> that's what 100 testers to every programer will bring you.
[1:52] <KenMan> they do a lot of their own testing. It is a group of around 20 people , i believe. Sure, they have 1000's of support personnel, that do a little more than your ordinary systems admin, but the core group is pretty damned impressive
[1:53] <KenMan> the knowledge base is both shared and consolidated
[1:54] <Byte_Me> Yea
[1:55] <Byte_Me> As an AF programmer... we only aim for third normal form. They can except anything but fifth. The advantage they have is they don't have to worry about the "small" stuff like testing.
[1:55] <KenMan> heehee
[1:56] <Byte_Me> *can't accept anythin
[1:56] <Byte_Me> *sigh* it's early
[1:58] <Byte_Me> ... I guess it works the other way though
[1:59] <Byte_Me> I'm still not getting anything yet... atleast my load is higher (15% over 2%)
[1:59] * salahx (salahx@sc1-24.217.174.147.charter-stl.com) Quit ()
[2:06] <Byte_Me> night all
[2:06] * Byte_Me (~Pheonix@ip68-99-9-148.om.om.cox.net) has left #freenet
[2:46] * Zorix (Brandon@fl-64-45-226-120.dyn.sprint-hsd.net) Quit (Read error: 110 (Connection timed out))
[2:59] * theLostFloppy (~michaelku@fia41-111.dsl.hccnet.nl) has joined #freenet
[4:03] * Hamled|Erp (~hamled@pool-68-163-53-37.phil.east.verizon.net) has joined #freenet
[4:07] * Zorix (Brandon@fl-64-45-226-120.dyn.sprint-hsd.net) has joined #freenet
[4:21] * Hamled|Erp| (~hamled@pool-68-163-53-37.phil.east.verizon.net) Quit (Read error: 110 (Connection timed out))
[4:27] * Hobxmob (~Hobxmob@194.143.23.36) has joined #Freenet
[4:28] <Hobxmob> Morning
[4:31] <Hobxmob> I wouldn't make anonymity a priority toad. I mean this isn't a new issue.
[4:33] <Ash-Fox> freenet = anonymity
[4:49] * Kyon (~Kyon@pcd396122.netvigator.com) Quit (Read error: 60 (Operation timed out))
[5:04] * Hobxmob (~Hobxmob@194.143.23.36) Quit (Remote closed the connection)
[5:14] <leex-Zzzzz> new ver ??
[5:15] * leex-Zzzzz is now known as leex-work
[5:24] * robilad (~topic@mpiat2313.ag2.mpi-sb.mpg.de) Quit (Read error: 110 (Connection timed out))
[5:29] <leex-work> ts working agane
[5:29] <leex-work> will my node reject old vers of freenet unstable
[5:35] * tyesinclair (~tyesincla@170.252.64.1) has joined #freenet
[5:35] * tyesinclair (~tyesincla@170.252.64.1) has left #freenet
[5:40] * theLostFloppy feeds his paper shredder
[5:43] * theLostFloppy pats his paper shredder "Good boy"
[5:53] * robilad (~topic@mpiat2313.ag2.mpi-sb.mpg.de) has joined #freenet
[5:54] * piranha (~piranha@192.220.223.16) has joined #freenet
[6:03] <theLostFloppy> 5091 crashes at startup :-(
[6:04] <theLostFloppy> toad_, can I dcc you my log?
[6:41] <Ash-Fox> I have proof the dodo isn't extinct..
[6:41] <Ash-Fox> 8/12/2004 12:58:30 PM - ( 184) EHLO dodo.freenetproject.org
[6:41] <theLostFloppy> Hehe
[6:42] * jokern (~virus@213.184.217.12) has left #freenet
[7:21] * Hamled|Erp| (~hamled@pool-68-163-53-37.phil.east.verizon.net) has joined #freenet
[7:26] * lostlogic (~lostlogic@node-402418b2.mdw.onnet.us.uu.net) has joined #freenet
[7:26] * lostlogic (~lostlogic@node-402418b2.mdw.onnet.us.uu.net) Quit (Read error: 104 (Connection reset by peer))
[7:27] * piranha_ (piranha@3ffe:b80:1ca1:0:0:0:deca:fbad) has joined #freenet
[7:27] * piranha (~piranha@192.220.223.16) Quit (Nick collision from services.)
[7:27] * piranha_ is now known as piranha
[7:39] * Hamled|Erp (~hamled@pool-68-163-53-37.phil.east.verizon.net) Quit (Read error: 110 (Connection timed out))
[7:47] * Gunnar (~gunnar@34.80-203-209.nextgentel.com) Quit (niven.freenode.net irc.freenode.net)
[7:47] * greycat (~wooledg@192.35.79.70) has joined #freenet
[7:51] * Gunnar (~gunnar@34.80-203-209.nextgentel.com) has joined #freenet
[8:05] * guido^pe (~unknown@dsl-213-023-232-216.arcor-ip.net) has joined #freenet
[8:20] * Hory (~Miranda@81.196.25.110) has joined #FreeNet
[8:28] * jokern (~virus@213.184.217.12) has joined #freenet
[8:29] <jokern> Anybody alive in here?
[8:30] <vsalento> hi
[8:31] <jokern> hi vsalento
[8:32] <vsalento> jokern: need help or just chat?
[8:32] <jokern> I was hoping for toad_ or some of the devs
[8:33] * guido^pe (~unknown@dsl-213-023-232-216.arcor-ip.net) Quit (Read error: 110 (Connection timed out))
[8:33] <jokern> I don`t need help, but have question to ask.
[8:33] <vsalento> I can try to answer it
[8:33] * guido^pe (~unknown@dsl-213-023-232-131.arcor-ip.net) has joined #freenet
[8:34] <jokern> oki, here it comes, when restarting node it dumped/deleted 5000 keys. WHY?
[8:34] <vsalento> is your store full?
[8:35] <jokern> nope
[8:35] <jokern> from http://127.0.0.1:8888/servlet/nodeinfo/internal/env
[8:36] <jokern> before restart :Total keys 20664 after restart: Total keys 15459
[8:36] <jokern> That is crazy,
[8:37] <jokern> Free space 2,121,356 KiB ( Store) ( disk free 65Gb)
[8:38] * sanity (~ian@81-178-89-164.dsl.pipex.com) has left #freenet
[8:38] <vsalento> hmmm... what store size have you specified on configurations?
[8:39] <jokern> 9486Mb
[8:39] <jokern> It was set by installer, 10% ? I think
[8:40] <vsalento> how much space does the current keys take?
[8:40] * lolo-laptop (~lostlogic@68.251.84.226) has joined #freenet
[8:40] <jokern> Used space 7,592,308 KiB
[8:41] <vsalento> what is the exact full line in configurations? e.g. 'storeSize=9486M' or what?
[8:42] <jokern> just a sec
[8:42] * lolo-laptop (~lostlogic@68.251.84.226) Quit (Remote closed the connection)
[8:42] <jokern> storeSize=9486M
[8:43] <jokern> pasted from conf
[8:43] * lolo-laptop (~lostlogic@68.251.84.226) has joined #freenet
[8:44] <vsalento> it shouldn't delete keys then... odd
[8:44] <jokern> Thats why I am asking :\
[8:44] <vsalento> you on windows or linux? stable or unstable network? exact version?
[8:45] <jokern> was on 5090/stable upgraded to 5091. But nothing with that combo, the keyloss have been there for along time. Not as massive as this one...
[8:46] <jokern> and it is winxp / ntfs fs
[8:47] <vsalento> so you have been running Freenet for a while so that store was propably full when you restarted it, right?
[8:48] <jokern> Uptime was 3 days+ but store was not full
[8:48] <vsalento> 7592308/1024/15459 * 20664 = 9910 which is close enough to 9486M considering that you reported used space
[8:49] <vsalento> not full? odd since if the key size distribution would have not changed radically then your store took too much space before restart
[8:49] <jokern> k, in that case the reporting on http://127.0.0.1:8888/servlet/nodeinfo/internal/env is totally wrong.
[8:50] <vsalento> Hmm... i haven't node running at the moment so I cannot verify whether the env reports the same value as what is really used
[8:52] <jokern> I guess it is just another joke from fred :) just to make us wonder what is going on
[8:52] <vsalento> well you can also consider it as 'anonymizer' feature if it removes some of the keys randomly on every restart :)
[8:53] <vsalento> it makes it harder to see where you have been
[8:53] <jokern> :) oook, then it good
[8:53] <jokern> Let`s se wht windows report on disk use
[8:54] <vsalento> well toad will read the irc logs when he gets back and will propably know whats the problem
[8:55] <jokern> Filesize 7,14 GB (7?675?844?812 bytes) 7,19 GB (7?721?668?608 bytes) Size on disk
[8:55] <jokern> Fred`s report : Used space 7,622,240 KiB
[8:56] <jokern> Anyway, thnx for trying :)
[9:07] <Iakin5> [07:34] <KenMan> "wait, WAIT !!! Before you give me another request, let me change the rules, several hundred times"
[9:07] <Iakin5> Hehe
[9:16] * Hobxmob (~Hobxmob@194.143.23.36) has joined #Freenet
[9:18] <Hobxmob> Hello!
[9:18] * Hobxmob (~Hobxmob@194.143.23.36) has left #Freenet
[9:18] <Iakin5> [14:54] <jokern> before restart :Total keys 20664 after restart: Total keys 15459
[9:18] <Iakin5> jokern: Have you tried deleting the 'index' file and then restarting again?
[9:25] <jokern> Iakin5: Nope, I`ll try that
[9:32] <jokern> Before del index: Total keys 15646 -After restart and new index: Total keys 15536
[9:37] <jokern> Iakin5: Could it be something with tempfiles?
[9:37] <jokern> Anyway,, gotta go now.
[9:39] <jokern> heh, nice one : 15:53:40 WTF? queryRejected causing negative searchFailed time:
[9:41] * tyesinclair (~tyesincla@170.252.64.1) has joined #freenet
[9:41] * tyesinclair (~tyesincla@170.252.64.1) has left #freenet
[10:02] * Ash-Fox (Hal-9000@aao173.neoplus.adsl.tpnet.pl) Quit (Nick collision from services.)
[10:02] * Ash-Foxeus (Hal-9000@aao173.neoplus.adsl.tpnet.pl) has joined #FreeNET
[10:25] * robilad (~topic@mpiat2313.ag2.mpi-sb.mpg.de) Quit (Read error: 110 (Connection timed out))
[10:28] * thelema|away is now known as thelema
[10:28] <KenMan> yello, thelema
[10:32] <thelema> hi ken
[10:43] * Zorix (Brandon@fl-64-45-226-120.dyn.sprint-hsd.net) Quit (Read error: 110 (Connection timed out))
[10:47] <Iakin5> toad_: You here?
[10:50] * supermann (~kdfjk@213.39.249.77) has joined #freenet
[10:55] <toad_> Iakin5: yes now
[10:55] <toad_> Iakin5: my xfer timeouts were all over the files
[10:57] <Iakin5> Over the files?
[10:57] <toad_> they were not at the end of the first segment
[10:57] <Iakin5> ok..
[10:57] <supermann> are the stable and unstable networks isolated from each other?
[10:57] <Iakin5> This is what I have noticed:
[10:58] <Iakin5> Seems like all of my 16405 timeouts consists of 4*4096 chunks + a 21 byte chunk
[10:59] <toad_> Iakin5: well duh
[10:59] <toad_> that's what i was saying - one segment
[10:59] <Iakin5> Ah
[10:59] <Iakin5> ok
[10:59] <toad_> supermann: yes
[10:59] <toad_> Iakin5: something messes up after the first segment
[10:59] <toad_> most likely on the sender side
[10:59] <Iakin5> Right
[10:59] <toad_> but when i checked my logs, they were distributed all over
[11:00] <toad_> so maybe it's something that's changed in the last few builds?
[11:00] <Iakin5> I have read through quite a bit of the sender code but I cannot find anything..
[11:00] <Iakin5> toad: I have has this for _ages_
[11:01] <Iakin5> toad: is one segment 16k or 16k+21?
[11:01] <supermann> are there any statistics comparing the population of stable vs unstable? am i right that unstable performs better? perhaps because there are more users using it?
[11:01] <toad_> more users on stable
[11:01] <toad_> therefore unstable works better :)
[11:02] <toad_> Iakin5: 16 k data + 20 bytes hash + 1 byte control bytes
[11:02] <supermann> toad_ that's odd, the more users there are the poorer the performance?
[11:02] <toad_> bbiab, got to restart X
[11:04] * toad_ (toad@82-32-16-91.cable.ubr03.azte.blueyonder.co.uk) Quit (Remote closed the connection)
[11:05] * toad_ (toad@82-32-16-91.cable.ubr03.azte.blueyonder.co.uk) has joined #freenet
[11:06] * toad_ back
[11:07] <toad_> okay, first the IRC log then the email
[11:07] <supermann> what might be the cause of 0 incoming connections open
[11:08] <toad_> supermann: your node hasn't been up long enough to have any, or your node is firewalled and detected the IP wrong, or you specified the IP manually and got it wrong or..?
[11:08] <toad_> generally something to do with firewalling...
[11:09] <supermann> okay
[11:09] <toad_> <salahx> Connections open (Inbound/Outbound/Limit) 27 (22/5/200)
[11:09] <toad_> <salahx> Transfers active (Transmitting/Receiving) 175 (106/69)
[11:09] <toad_> <salahx> Whoa
[11:09] <toad_> <salahx> and my I'm not runnign anything!
[11:09] <toad_> that's a little odd...
[11:10] * Hamled|Erp (~hamled@pool-68-163-53-37.phil.east.verizon.net) has joined #freenet
[11:10] <supermann> i thought if you ran in transient mode you didn't need an accurate IP setting
[11:10] <toad_> <thelema> 454K in 152 xfers. meaning the average xfer doesn't have much data to send. - I don't think it works that way now
[11:10] <toad_> supermann: perhaps not but you won't get any connections incoming either
[11:11] <toad_> however transient or not it ought to detect your IP from the outgoing connections you have
[11:11] <toad_> did you set ipAddress?
[11:11] <toad_> what does http://127.0.0.1:8888/servlet/nodeinfo/internal/env say?
[11:11] <toad_> under the box "Addresses Detected by the Network" ?
[11:11] <supermann> interesting, yes it detected it
[11:11] <supermann> despite me being behind a NAT
[11:12] <toad_> ok, so you didn't forward the port?
[11:12] <supermann> nope
[11:12] <toad_> <thelema> so why aren't the transfers finishing? maybe the 23 K of StoreData? - by the time it waits for StoreData the transfer has terminated
[11:12] <toad_> supermann: no you didn't?
[11:12] <supermann> right
[11:12] <toad_> well if you don't forward the listenPort then obviously you won't get any incoming conns
[11:13] <supermann> this is weird how the new versions grey out the option to switch to transient. you have to edit it manually in the .ini
[11:13] <toad_> supermann: it's meaningless
[11:13] <toad_> transient doesn't exist any more
[11:13] <supermann> oh
[11:14] <supermann> modifying router ports... might get d/c
[11:15] <toad_> <salahx> there are no 1k keys in my datastore
[11:15] <toad_> <salahx> maybe there's an off-by-1 error somewhere
[11:15] <toad_> i think so
[11:15] <toad_> supermann: huh?
[11:15] <toad_> might get what?
[11:15] <toad_> you don't have to forward the ports of course
[11:15] <thelema> toad_: what does "data waiting to send" or whatever mean?
[11:16] <toad_> but it'll work better (at least from the network's perspective, and for bootstrapping) if you do
[11:16] <toad_> thelema: iirc it's just MESSAGES waiting to be sent
[11:16] <toad_> including trailer packets
[11:16] <toad_> but not the whole trailer
[11:16] * supermannn (foobar@in.theory.org) has joined #freenet
[11:16] <supermannn> ok that worked
[11:17] <supermannn> Connections open (Inbound/Outbound/Limit) 14 (7/7/200)
[11:17] <toad_> KenMan hates trying to learn how things are 'supposed to work' by reading fred's source code
[11:17] <toad_> <KenMan> it's never any more accurate than the 3 conflicting responses you can find here in this channel :p
[11:17] <toad_> <thelema> feh, of course it is; as long as you read it right.
[11:17] <toad_> <KenMan> well, source code IS the ultimate reference, but sometimes it is not the intended logic :(
[11:17] <toad_> KenMan pulls out his rose colored shades :)
[11:17] <toad_> <thelema> it's a bit harder than reading the channel.
[11:17] <toad_> LOL
[11:17] <toad_> <KenMan> my last job assumed that all engineers were perfectly interchangable and replaceable, thus they demanded we spend 4 times more on design than implementation. And 8 times sitting in meetings , watching non-technical people assert their superiority...
[11:17] <toad_> heh
[11:17] <toad_> <KenMan> design and documentation. The typical "but if you got hit by a bus, how would we make the software run?" without much concern for the thing that slowed the bus
[11:17] <toad_> hah
[11:18] <thelema> toad_: oh, so it is just queued data.
[11:18] <toad_> <thelema> salahx: part of it was they were having way too much fun making freenet as java as possible (using reflection and nesting classes many many deep) - true imho, we shouldn't use reflection for creating classes unless we NEED to
[11:19] <toad_> <KenMan> interfaces are wonderful when used in certain contexts. And not so wonderful when over-applied. - I like interfaces
[11:20] <toad_> and I DO write the impls
[11:20] <toad_> <KenMan> which means, if you chop 1M keys into 32 little 32KB keys, well, then you have 32 times as many keys that need to be pushed around
[11:20] <thelema> toad_: I vote against using reflection at all. Write a proper state engine without using magic (which is what reflection is)
[11:21] <toad_> okay, what I was trying to say yesterday: 32 times as many requests = routing learns 32 times faster
[11:21] <toad_> thelema: there are occasions where it is useful. but constructing messages from their types isn't one i'd especially endorse.
[11:21] <KenMan> has an opportunity to learn more , anyway
[11:22] <toad_> BTW there may be a spanner in the works with queueing...
[11:22] <toad_> either we use the raw estimates or the normalized ones
[11:22] <toad_> if we use the normalized ones, we route wrong for big keys
[11:22] <toad_> if we use the raw ones, we seriously favour small keys
[11:22] <toad_> big keys may just RNF
[11:22] <KenMan> okay, whatever learning routing does, it will be accellerated.
[11:22] <toad_> OTOH maybe that's not such a bad thing...
[11:22] <toad_> KenMan: rate limiting too
[11:23] <toad_> KenMan: and that's good for bootstrapping and good for testing and good for everything
[11:23] <toad_> KenMan, thelema, opinions on what I just said re queueing?
[11:23] <toad_> you've read my description of it on devl, thelema?
[11:23] <KenMan> It is unclear that this will produce a qph 32 times higher , or 5 times lower, or ...
[11:24] <toad_> KenMan: if it doesn't produce a qph 32x higher, then we're in deep deep trouble
[11:24] <toad_> unless it makes up for it by improved success rate which would be doublepluscool ;)
[11:24] <KenMan> :)
[11:24] <toad_> <jay> i don't fully understand routing
[11:24] <toad_> <jay> my CS theory is pretty bad
[11:24] <toad_> <KenMan> don't worry jay , apparently none of us do just yet :(
[11:24] <toad_> agreed!
[11:25] * sanity (~ian@81-178-89-164.dsl.pipex.com) has joined #freenet
[11:25] * ChanServ sets mode +o sanity
[11:25] <toad_> <KenMan> some really really respectable and important paper written by some dude with a degree said that 128KB was the exact perfect answer for all P2P systems, regardless of the topology. Aren't YOU impressed ? - he's an idiot. We share lots of stuff smaller than 128kB.
[11:25] <toad_> sanity: hi
[11:25] <toad_> sanity: are you actually here?
[11:26] <toad_> sanity: there's a problem with queueing. Either we break routing slightly for big files or we make big files much more likely to RNF than small ones. I doubt this is a problem with our current usage but it's an interesting point.
[11:26] <toad_> <KenMan> at least, that's how i understand it - 5 minutes idle time is the chopping point - correct
[11:27] <toad_> <jay> im focused on other mundane things for the moment including fcplib - what are you working on on fcplib?
[11:27] <thelema> <toad_> okay, what I was trying to say yesterday: 32 times as many requests = routing learns 32 times faster - You're making a assumption, that routing learns at all.
[11:27] * hirvox (~hirvox@cs181027153.pp.htv.fi) Quit ()
[11:28] <toad_> thelema: indeed
[11:28] <toad_> if it doesn't, we're scr00d
[11:28] <toad_> but testnet work suggests it does
[11:28] <thelema> as for queueing, use raw estimates.
[11:29] <toad_> thelema: yes, i think raw estimates are best, as 50%+ of all keys are 1MB, I don't think the bias will be a problem
[11:29] <toad_> any opinions on acceptable queueing times?
[11:30] <thelema> I'm not sure I like how often we'll have to rebuild and re-index your 2d grid (mise well be a heap instead of a grid), but other than that problem, I think the plan is valid.
[11:30] <thelema> I liked your 10s per meg value.
[11:31] <thelema> It'll hopefully be enough to help things, and it won't be too much to clog the system.
[11:31] <thelema> (maybe on the second one)
[11:31] <toad_> thelema: well, I'm not planning to implement it exactly that way
[11:31] <toad_> I think it'd be too much CPU if I did
[11:31] <thelema> good.
[11:31] <toad_> if we have any significant number of requests waitig
[11:31] <toad_> but that's the BEHAVIOUR
[11:31] <thelema> also, did you note how many times mRI is updated?
[11:31] <toad_> I explained how I'd optimize it
[11:32] <toad_> thelema: well, it's how often it CHANGES that matters, if anything
[11:32] <thelema> I don't think the row/column totals will work for what you want.
[11:32] <toad_> no? why not?
[11:32] <toad_> not totals, minima
[11:32] <thelema> the object is to find the min value.
[11:32] <toad_> yup
[11:32] <thelema> these times are constantly going to be changing.
[11:32] <toad_> keep the minimum value for each
[11:32] <toad_> how often does the MRI change for a single node?
[11:33] <toad_> I know it's updated constantly...
[11:33] * supermann (~kdfjk@213.39.249.77) Quit (Remote closed the connection)
[11:33] <toad_> probably it changes on every request
[11:33] * toad_ wonders if there's something worth pursuing there...
[11:34] <toad_> if we quantise its movement, then we don't give away when requests happen
[11:34] <toad_> but we have quantization error
[11:34] <toad_> and related issues
[11:34] <thelema> when you remove one value, you'll have to update all the rws (at least check them all, one or more will need a full scan of the row to find the min)
[11:34] <jokern> I noticed here that when starting node it is using one of the libs from i2p? Does that do some wrong?
[11:34] <thelema> not veery request. is it recalculated every time it's sent?
[11:35] <thelema> jokern: no, that's normal; it's a Native Biginteger Library for better crypto performance
[11:35] <toad_> globalQuota is updated no more than every 5 seconds
[11:35] <toad_> jokern: huh?
[11:35] <jokern> INFO: Optimized native BigInteger library 'net/i2p/util/jbigi-windows-pentium4.dll' loaded from resource
[11:35] <thelema> toad_: sop there's no need to resend mRI more than once every 5 seconds.
[11:36] <jokern> thelema: oki
[11:36] <toad_> outgoing MRI for each node changes every time node.globalQuota, node.getActualRequestsPerHour, or ph's requests per hour, or the number of connections, changes
[11:36] * hirvox (~hirvox@cs181027153.pp.htv.fi) has joined #freenet
[11:37] <toad_> hi hirvox
[11:37] <toad_> that means:-
[11:37] <toad_> - every 5 seconds
[11:37] * KenMan notices that the average incoming MRI drifts rather high on stable - 1381441 :o hopefully it is just one node with *heavy* overload
[11:37] <toad_> - every time we receive a request on the specific PH
[11:37] * Hamled|Erp| (~hamled@pool-68-163-53-37.phil.east.verizon.net) Quit (Connection timed out)
[11:37] <toad_> - every time we receive a request globally!
[11:37] <toad_> KenMan: you could calculate geometric mean as well
[11:38] <toad_> and maybe median
[11:38] <KenMan> yes, the geometric mean is 844902
[11:38] <toad_> and especially you want the total quota in an hour across all nodes
[11:38] * moskau23 (~Miranda@dsl-082-082-237-021.arcor-ip.net) Quit (No route to host)
[11:38] <KenMan> rather higher than I've seen it in the past
[11:38] <hirvox> hi
[11:38] <toad_> now, updating MRI every time we receive a request globally is a little disturbing
[11:38] <KenMan> Instant outbound qph capacity = 145 - i must be computing that one wrongly :)
[11:39] <toad_> KenMan: what does that mean?
[11:39] <KenMan> i forget
[11:39] <toad_> KenMan: we're discussing slowing down MRI change, your favourite topic!
[11:39] <KenMan> i see, i watch...
[11:40] <toad_> KenMan: okay, does that mean the number of qph you can send on the current conns?
[11:40] <toad_> open conns?
[11:40] <toad_> including or excluding those backed off
[11:40] <toad_> ?
[11:40] <toad_> (it should include)
[11:40] <thelema> biab
[11:40] <toad_> ok, should we quantise changes in MRI?
[11:40] <toad_> what effect will that have on rate limiting?
[11:40] * TLF (francisco@173.Red-81-40-116.pooles.rima-tde.net) has joined #freenet
[11:41] <toad_> we already quantise globalQuota - we don't calculate it more than every 5 seconds
[11:41] <toad_> but I suspect you could determine the exact times of incoming requests remotely from watching individual node MRIs...
[11:42] <toad_> well, if you get the MRI, you know totalRequestsThisNode
[11:42] <toad_> you know globalQuota only changes every 5 seconds
[11:42] <toad_> lets see...
[11:42] <toad_> you take minRequestInterval
[11:42] <toad_> turn it into thisNodeQuota
[11:43] <toad_> then you have thisNodeQuota = min(thisNodeOrigQuota, thisNodeMinQuota)
[11:43] <KenMan> let's say you have 100 requesters. And you tell each of them, at independent times, to "obey this single MRI for the next 10 minutes ..." - do you think you could handle the wild variations in incoming traffic that would result from such an approach ?
[11:44] <toad_> where thisNodeOrigQuota = globalQuota - totalRequests + totalRequestPerHour
[11:44] * supermannn (foobar@in.theory.org) has left #freenet
[11:44] <toad_> thisNodeMinQuota = (globalQuota*2 - totalRequests) / # conns
[11:44] <toad_> KenMan: I think that would produce significant quantisation artifacts
[11:44] <toad_> i think calculating it constantly was a bad idea though
[11:45] <toad_> now, if it equals thisNodeMinQuota, on a relatively idle node (which can easily be arranged)...
[11:45] <KenMan> can you describe, just slightly further, what you might expect in regards to quantisation artifacts...
[11:46] <toad_> and we have a number of MRIs to watch...
[11:46] <toad_> then we know globalQuota is static for some 5 second period
[11:46] <toad_> and totalRequests varies constantly
[11:46] <toad_> and # conns varies more slowly (assuming we can't traffic analyse and see how many conns...)
[11:46] <toad_> so we can probably recover both variables!
[11:47] <toad_> and from there we can get the exact times of arrival of requests
[11:47] <toad_> KenMan: okay
[11:47] <toad_> quantisation artifacts
[11:47] <toad_> basically, if we get it wrong, we go into overload or underload for an interval at a time
[11:47] <toad_> resulting in sharper oscillations
[11:48] <KenMan> meaning, you are uncomfortable making a 'prediction' that the outgoing side will be able to handle a certain load in queries ? or what ?
[11:49] <toad_> now, it's even easier if it's equal to thisNodeOrigQuota = globalQuota - totalRequests + totalRequestsThisNode ... we know totalRequestsThisNode, so we can recover globalQuota - totalRequests. If we know globalQuota is static over some period, and we see it change, we can recover the delta in totalRequests; correlating that with old data we can recover both variables
[11:49] <toad_> KenMan: yes
[11:50] <toad_> 10 minutes is a loooong time
[11:50] <toad_> if the MRIs last for 10 minutes the cycles will be insanely long
[11:50] <KenMan> ahh, i see. You are bothered that one requestor may deviate slightly from the rigid MRI/quota/rate value, and through the whole system into a state of instability.
[11:50] <toad_> and there will be cycles
[11:50] <KenMan> why will there be cycles ?
[11:50] <toad_> because that's how these systems work
[11:50] <toad_> why are there cycles in body temperature?
[11:50] <toad_> there are always cycles!
[11:51] <KenMan> like the flapping of a butterfly causing a monsoon half a world away ?
[11:51] <toad_> you try to make them damp down
[11:51] <KenMan> You are taking a singular point of view here...
[11:52] <KenMan> if I say, "please send queries to me at a rate of 1 every 3723 ms" , I should expect that to produce a wildly varying and unpredictable pattern of load from that requestor ?
[11:52] <KenMan> one from which I could not possibly expect any stability in the system, without ANY cycles ?
[11:52] * KenMan is being sarcastic
[11:53] <toad_> okay, so this is the scenario: if you are an attacker, you manage to connect to this node, and you request a nice long trailer from it so you get constant packets and MRIs, then you can probably recover the incoming traffic of the node - not just level but reasonable approximation of arrival times - and the globalQuota, so you can then get the rate limiting load, although maybe not exactly
[11:53] <toad_> KenMan: there is more than one requestor
[11:53] <toad_> and the resource utilization on our end may change faster than that
[11:53] <KenMan> surely. But how many of them will go insane, and throw wildly non-conformant patterns of queries at me ??
[11:53] <toad_> all of them :)
[11:53] <toad_> I'm just not happy about it
[11:54] <thelema> back
[11:54] <KenMan> that's the spirit :) from one with the experience :)
[11:54] <toad_> if you want to set up some sort of test and prove that we can make it work with updates only every 10 minutes... fine
[11:54] <toad_> but I'm not happy
[11:54] <KenMan> bb10
[11:54] <toad_> however from the above analysis, I think we have to quantize it a little...
[11:55] <toad_> which is annoying because one of the advantages of the latest rate limiting scheme was that it can be calculated continually...
[11:55] <toad_> but a) it's easier to handle and b) it's harder to attack, so...
[11:55] <KenMan> the premise is, if I specify a fixed rate, I do not expect the average rate from a requestor to change significantly. We could argue over whether the number should represent an average or a max, but in either case...
[11:55] <toad_> hopefully updating no more than once every 5 seconds is reasonable
[11:56] <toad_> KenMan: maybe, but you will get other requestors, and you will find that existing requestors vary in utilization
[11:56] <toad_> and you will have local load sources
[11:56] <toad_> and requests will complete
[11:56] <toad_> and all sorts of things will happen
[11:56] <KenMan> the silly part is, it takes several requests in order to speak of a 'rate' ... so how does request interval compare to MRI update interval...
[11:57] <thelema> every 5 seconds we could queue a message to every node about what the new mRI is.
[11:57] <toad_> huh??
[11:57] <toad_> thelema: we could, but it's easier to add one to an existing packet
[11:57] <toad_> and only queue one if the node is idle and the value has changed significantly
[11:57] <toad_> well not easier, better
[11:57] <toad_> easier with the current code though :)
[11:59] * toad_ thinks: 1) Add a minimum update interval to PH.getRequestInterval(). 2) Change that and the node's one to randomize it on every cycle to hurt attackers. 3) Never send an MRIPacketMessage if the MRI hasn't changed since last time (except for the occasional connection openness check messages)
[11:59] <toad_> 4) Watch the network melt down...
[11:59] <toad_> :)
[12:00] <thelema> small messGES DO GET ADDED TO PACKETS, RIGHT?
[12:00] <thelema> (sorry about the caps)
[12:00] <toad_> thelema: hmm?
[12:00] <toad_> thelema: we make the biggest packet we can send from the queued messages
[12:00] <thelema> if we sent a small message to every peer, wouldn't it get sent in the same packet as other messages to those peers?
[12:00] <toad_> we add an MRIPacketMessage if there's nothing with an MRI on it
[12:01] <toad_> and we add padding if needed
[12:01] <toad_> thelema: maybe
[12:01] <toad_> thelema: only if the link is hot
[12:01] <toad_> some of them aren't
[12:01] <toad_> also i prefer some random element
[12:01] <thelema> so just change the logic to only adding a mRIPM if no mRI and last mriPM was >= 5 sec ago
[12:01] <toad_> but then i suppose you can have that either way
[12:01] <toad_> thelema: I'd change it to add an MRIPM if the MRI has changed
[12:02] <thelema> link is hot means that there's data queued?
[12:02] <toad_> thelema: if the link is idle, then we will occasionally send MRI messages if the MRI has changed quickly, or if we haven't sent any messages for a minute
[12:02] <thelema> nah, just only send one every 5 sec.
[12:03] * Zorix (Brandon@fl-64-45-226-120.dyn.sprint-hsd.net) has joined #freenet
[12:03] <thelema> that way you can still adapt to load by changing mri quickly,
[12:03] <thelema> and some nodes get the new value sooner than others...
[12:03] <toad_> thelema: "if it has changed" does what we want because we only update it every N seconds :)
[12:03] <toad_> thelema: no, two reasons: - 1) idle links, 2) bandwidth usage
[12:04] <toad_> don't want to send one to EVERY node every 5 seconds
[12:04] <toad_> if half the links are idle (and it's probably more than that), then that means 50-100 * 160 bytes
[12:05] <toad_> (because of padding)
[12:05] <toad_> (which I am not going to revert)
[12:05] <thelema> I think mRI will be easier to send infrequently than to update infrequently. And the user will want to know what the *current* mRI because of load is.
[12:05] <toad_> <thelema> one nice side-effect of the xor-style FEC that is specced in the metadata standard is that it doesn't require such overheads; decoding can be done in little memory. - yes, but is there a nice algo that does minimal space overhead, any number of blocks and isn't patented?
[12:06] <toad_> thelema: eh?
[12:06] <toad_> thelema: it's easy to make a method only change its return value every 5 seconds
[12:06] <toad_> trivial
[12:06] * IRCMonkey25 (~chatzilla@pcp02285889pcs.mchncb01.pa.comcast.net) has joined #freenet
[12:06] <toad_> bode.getGlobalQuota() does it
[12:06] <toad_> node.
[12:07] <thelema> all right, I guess it's not that big of a deal.
[12:07] <thelema> as far as the FEC question, the space overhead of xor-style FEC is for a completely different scenario than we have in freenet.
[12:08] <thelema> The paradigm FEC is measured in is that of an erasure channel, one where the sender chooses what blocks to send and the reciever has a fixed probability of getting a <Erased message> message instead of the actual message.
[12:10] <thelema> With freenet, the reciever chooses what blocks get requested/sent, and there's a probability that a given block won't be found / sent. Retries in freenet aren't as useful as in an erasure channel, but similarly the reciever knows which blocks they are missing and which blocks can be requested to recover them.
[12:10] <thelema> So the space overhead of any xor-style code is irrelevant.
[12:11] <thelema> As to patent issues, the Tornado code patent is so broad, it'd probably cover (with a good enough lawyer) making one check block by xoring all your data blocks together.
[12:11] <thelema> I've read it. It's not possible for me to determine exactly what's covered.
[12:12] <toad_> I mean the space overhead on receive
[12:12] <toad_> do we need to request a lot more blocks than we need to read to reconstruct?
[12:12] <KenMan> The Occasional Graphs - http://mywebpages.comcast.net/jkcorson/FreeNet/5090bw.png and 5090c.png - toad are you making these yet ?
[12:13] <thelema> As for that, I've already independently developed and implemented an algorithm to do very efficient incremental decoding that doesn't matter how the encoding graph is set up.
[12:13] <toad_> thelema: so anything based on XOR is probably patented?
[12:13] <thelema> as for needing more blocks, whatever the simulations say, we'll beat that.
[12:13] <thelema> probably by a lot, but it really depends on how lossy freenet is.
[12:13] <toad_> we will have to ship something, and it'll be used a lot, so we will need something patent-free
[12:14] <toad_> thelema: well, right now, if you insert a file of 128M, you need to retrieve exactly 128M to reconstruct it
[12:14] <thelema> toad_: swinging on a swing sideways is patented.
[12:14] <toad_> further that's ANY 128M
[12:14] <toad_> thelema: so what?
[12:14] <toad_> we have to get the job done
[12:14] <toad_> the job is not fighting every battle at once
[12:14] <toad_> we have to avoid patent litigation if we possibly can
[12:14] <thelema> so we don't have a patent lawyer to determine what is and isn't patented.
[12:15] <toad_> yes, but we are still potentially in violation
[12:15] <toad_> and the non-profit is located in the US, where swpats are valid
[12:15] <toad_> and most of the devs are in the US or the EU, where swpats will soon be valid probably
[12:15] <thelema> I have some good code that shouldn't be covered by their patent because it uses constructions that are in the public domain.
[12:15] * tyesinclair (~tyesincla@170.252.64.1) has joined #freenet
[12:15] <toad_> patents are permitted to steal from the public domain
[12:15] <KenMan> shouldn't patent violation include some stipulation that the violator profits from his actions ?
[12:15] <thelema> but as I'm not a patent lawyer, I can't say one way or the other.
[12:16] * tyesinclair (~tyesincla@170.252.64.1) has left #freenet
[12:16] <toad_> KenMan: it hasn't generally
[12:16] <toad_> anyway, WE DO!
[12:16] <KenMan> profits financially i mean
[12:16] <toad_> also profit is interpreted as ANY benefit of any kind usually by the courts
[12:16] <toad_> KenMan: we do
[12:16] <toad_> we profit financially from writing freenet
[12:16] <thelema> my opinion is that before you can start worrying too much about patents, you have to have patent lawyers.
[12:16] <toad_> therefore we would profit financially form incorporating patented algorithms
[12:17] <KenMan> you are paid to build something, but the results of what you build don't influence your pay... :o
[12:17] <toad_> thelema: my opinion is that we can't afford a court battle that isn't directly related to what we are trying to do
[12:17] <toad_> KenMan: actually they do
[12:17] <thelema> toad_: the patent for tornado codes says something along the lines of "we patent this and anything you think of after you've read this"
[12:17] <KenMan> it could be argued either way, depending on how much your solicitor costs
[12:17] <toad_> if what I build doesn't work, people stop donating, I don't get paid
[12:18] <toad_> well, if you know of any countries that haven't got swpats and still won't in 10 years, where they have cheap broadband and you don't need a private army...
[12:18] <KenMan> so if incorporating a patented piece of shoftware makes the system work better, does that result in increased pay for you ?
[12:18] <thelema> I'm going to tanzania in a month.
[12:18] <toad_> KenMan: it could certainly be argued
[12:18] <toad_> thelema: cheap broadband?
[12:18] <thelema> No cheap broadband, but the rest exists.
[12:18] <toad_> don't need a private army?
[12:19] <toad_> possible to do ANY tech work?
[12:19] <thelema> not unless you bother with the tanzanite mining.
[12:19] <KenMan> heh
[12:19] <toad_> some expectation of due process rather than being shot by a merc employed by The Man?
[12:19] * moskau23 (~Miranda@dsl-213-023-251-027.arcor-ip.net) has joined #freenet
[12:19] <toad_> people get KILLED by megacorps in third world countries
[12:19] <KenMan> try not to get sucked into that Diamonds for Terror deal, thelema...
[12:19] <thelema> I don't know about that last one. It is a third world country.
[12:19] <toad_> it happens, usually they get away with it
[12:20] <toad_> I'd rather be in a 1st world country if I'm gonna piss people off
[12:20] <KenMan> where is the independent spirit in that ?
[12:20] <toad_> ANYWAY
[12:20] <toad_> the point:
[12:20] <toad_> Vandermonde codes aren't patented
[12:20] <toad_> at least we believe they aren't
[12:21] <toad_> we can continue to use them
[12:21] <KenMan> hurray
[12:21] <toad_> if worst comes to worst
[12:21] <toad_> but we will have problems with redundancy if we have to use thousands of chunks
[12:21] <KenMan> so let's patent them ourselves, in the name of free speech
[12:21] <thelema> Just use rateless codes with a small amount of extra data (not the infinite one they want)
[12:21] <toad_> thelema: I was told rateless codes were royalty free...
[12:22] <toad_> or even patent free...
[12:22] <toad_> in any case, of course we'd have a finite amount
[12:22] <thelema> then we'll use their constructions.
[12:22] <toad_> the question then becomes the technical one: How much must be retrieved to reconstruct the original?
[12:22] <KenMan> i don't know... FEC aside, I wonder how success rates will be impacted by requiring that 32 items get found for every one we manage to squeeze out of the system today...
[12:22] <thelema> you only need to worry about constructinos/patents to encode.
[12:23] <toad_> KenMan: I don't see what you are worrying about
[12:23] <KenMan> good
[12:23] <thelema> KenMan: only for large files.
[12:23] <toad_> thelema: well sadly we will need to ship encoders too
[12:23] <KenMan> then you shalt not be blinded by pessimism
[12:24] <KenMan> thelema, what's that ? only for 97% of all the requests in this new 32K model ?
[12:24] <thelema> toad_: yeah, but the good news is that even if we have to remove the encoder from our code, the data will still be decodable.
[12:24] <toad_> technical question: If we insert a file that divides into 1000 blocks, say a 32MB MP3 divided into 32kB blocks
[12:24] <toad_> how many blocks do you need to push and how many do you need to request and can you get them entirely randomly?
[12:24] <thelema> KenMan: a lot less large files will be shared if they're bazillions of keys.
[12:24] <KenMan> now that is pure optimism :)
[12:25] <toad_> thelema: perhaps so but requiring every flogger to violate patent law is not something i'd like to inflict on the community
[12:25] <toad_> apart from not being able to test the code
[12:25] <toad_> :)
[12:25] <toad_> thelema: huh?
[12:25] <toad_> <thelema> KenMan: a lot less large files will be shared if they're bazillions of keys.
[12:25] <toad_> what do you mean?
[12:25] <thelema> toad_: it depends on how much redundancy you want (how many blocks you expect to not be retrievable), 1000 (maybe slightly more, like 1003-1010), and almost yes. If you get them randomly, you likely will get useless blocks at the end.
[12:26] <toad_> thelema: if we don't get them randomly, then some blocks will be more retrievable than others by design
[12:26] <toad_> and that will REALLY suck
[12:26] <thelema> toad_: I mean that if freenet becomes less suitable for large file sharing, large file sharers will use other means than freenet.
[12:26] <toad_> thelema: well, I don't think we should try to discourage large file sharing over freenet
[12:27] <KenMan> that's how i interpretted you thelema, and perhaps you are right
[12:27] <toad_> especially as it's something freenet can actually be pretty good at
[12:27] <toad_> and it provides a hell of a lot of cover traffic
[12:27] <toad_> and there ARE politically interesting large files
[12:27] <thelema> toad_: would it suffice to get 90+% of the blocks randomly, and the last few targeted? (based on what you need after getting 90+% of blocks?)
[12:27] <KenMan> can a redirect file span more than one key ? what is the limit of keys in a redirect list for a splitfile ?
[12:27] <toad_> thelema: probably
[12:27] <thelema> toad_: then that will be the method.
[12:27] <toad_> KenMan: we'll need to make significant changes on the client level
[12:28] <toad_> thelema: based on that, we need how many blocks?
[12:28] <thelema> KenMan: "can a redirect file span more than one key"? Do you mean can you split control documents?
[12:28] <KenMan> yeahm i think that's what i meant
[12:28] <toad_> are all the usable algorithms apart from vandermonde that picky?
[12:28] <thelema> toad_: less than 2% overhead.
[12:28] <toad_> not at present
[12:29] <toad_> but we will have to if we go to small keys
[12:29] <thelema> the metadata spec allows for such, but I don't know whether clients have implemented it properly yet.
[12:29] <toad_> thelema: how? nested splitfiles?
[12:29] <toad_> ahhh
[12:29] <thelema> toad_: it'll vary, many times 0% overhead, sometimes 2%
[12:29] * tyesinclair (~tyesincla@170.252.64.1) has joined #freenet
[12:30] <toad_> we'll probably want to support gzipped metadata as well
[12:30] <thelema> have a splitfile that is all metadata.
[12:30] <toad_> or possibly binary metadata
[12:30] * tyesinclair (~tyesincla@170.252.64.1) has left #freenet
[12:30] <thelema> I'm all for alternate presentations of metadata.
[12:30] <toad_> thelema: what if there's a say 20% chance of not getting the specific block we want, regardless of the number of retries?
[12:31] <thelema> then we better insert more than 20% extra blocks.
[12:31] <toad_> also we'll have to change the splitfile UI, of course
[12:31] <toad_> thelema: do you support abolition of HTL in favour of probabilistic termination?
[12:32] <KenMan> yeekies
[12:32] <thelema> toad_: no. I lke having limits on the amount of work a request will do. It works for TCP.
[12:32] <toad_> thelema: TCP isn't anonymous
[12:32] <thelema> toad_: and premix routing will take care of the annoying anonymity issues.
[12:32] <toad_> and you evidently haven't read my recent emails to devl :(
[12:33] <thelema> I have. I don't agree with everything you said.
[12:33] <toad_> and it's not that straightforward to implement premix routing
[12:33] <toad_> and we will need one or the other BEFORE we do fixed keysizes :|
[12:33] <thelema> I know. But that doesn't mean we should screw up the rest of the protocol until we do implement it.
[12:34] <toad_> thelema: well, why didn't you reply to them, if you disagreed with them? these things are usually best discussed on the list
[12:35] <toad_> thelema: re FEC, you can fetch randomly from the entire set for the first 90% ?
[12:35] <thelema> because I didn't want to stop progress. Just like the mRI thing an hour ago. I stopped arguing because your way was "good enough" and if I kept arguing with you, it'd never get coded.
[12:36] <thelema> toad_: yes, you can fetch randomly until you get to the very end. Once you're almost completely decoded, there's only a much smaller number of blocks that are useful.
[12:36] <toad_> thelema: so you don't have a major problem with abolition of htl?
[12:36] <toad_> and you can very cheaply determine which blocks are good candidates at any given point?
[12:37] <toad_> thelema: obviously queueing is the next step
[12:37] <thelema> I'd rather you not get rid of HTL, but if you really really want to, I'm not going to stop you.
[12:39] <thelema> you can easily say a block is useful if it checks for a data block you don't have yet.
[12:39] <toad_> well, the main problem with getting rid of HTL is inserts...
[12:39] <toad_> as I explained on the list
[12:39] <toad_> of course oskar hasn't explained how we would deal with inserts with no HTL...
[12:40] <thelema> I remember that. And I don't have a good solution for that. I encourage you not to get rid of HTL. I encourage you to just put premix routing on top of ian's original network and implement that as best as possible.
[12:40] <toad_> thelema: well there are a stack of issues with premix routing, I hope we can do it reasonably safely...
[12:40] * Kyon (~Kyon@pcd396122.netvigator.com) has joined #freenet
[12:40] <toad_> the obvious one: We'd have to use nodes from the routing table...
[12:42] <toad_> KenMan: http://mywebpages.comcast.net/jkcorson/FreeNet/noderefs.txt - can I include that in the global seednodes?
[12:42] <KenMan> i don't see why not...
[12:42] <KenMan> just don't count on this website /files to stay there indefinitely
[12:43] <toad_> of course not
[12:43] <toad_> it'd be nice if you put a cronjob in to update it
[12:43] <toad_> <thelema|away> KenMan: I'm trying to optimize out the rotations from BucketStore
[12:44] <toad_> uh oh...
[12:44] <KenMan> well, i could do something like that. It might not get updated every 2 hours, but I could make it stay 'recent' anyway...
[12:44] <toad_> every day would be fine if it updates at a different time to everyone else's :)
[12:44] <KenMan> are you hoping to slave a script to it, or process it by hand ?
[12:45] <toad_> KenMan: it goes into a script
[12:45] <KenMan> oh... well, I just don't want to commit to making sure it is regularly updated. I can make an effort though...
[12:45] * TLF (francisco@173.Red-81-40-116.pooles.rima-tde.net) Quit ("http://www.vitaliano.esp.cc || Adi?s a todos y a todas y que les vaya bien.")
[12:46] <KenMan> could your script check the date on the URL ?
[12:46] <toad_> <KenMan> often 10 or 20 MRI updates are not updates at all, just bandwidth wasters... - well often because of padding they don't actually USE any bandwidth!
[12:46] * Hory (~Miranda@81.196.25.110) Quit (Read error: 104 (Connection reset by peer))
[12:46] <KenMan> circular logic strikes again :)
[12:46] <toad_> eh?
[12:46] <KenMan> the padding is free, eh ?
[12:46] <toad_> yup
[12:47] <toad_> because they're added to a message that contains one request
[12:47] <toad_> and would have been padded to one padding interval
[12:47] <toad_> it is still padded to one padding interval
[12:47] <toad_> so it doesn't use any bandwidth :)
[12:47] <KenMan> don't worry, i'm just being picky...
[12:47] <toad_> same applies to trailer chunks
[12:47] <toad_> they're of size such that they snugly fit with an MRI message in a single padding interval
[12:49] <toad_> <KenMan> in the first case, the computers detected the O-ring leak(s) and reacted immediately. But it was already too late. - woah
[12:49] <toad_> shame they couldn't detect it before launch...
[12:49] <thelema> toad_: if it makes you feel any better, I'm re-implementing KeyMath using BigInts. And it really does make BucketStore much more readable.
[12:50] <toad_> uhh, re fly-by-wire, UAVs have much much more accidents than piloted craft...
[12:50] <toad_> thelema: okay. What's concerning is that it took me and KenMan HOURS to get the wrap-around related code exactly right
[12:51] <KenMan> you and thelema, you mean...
[12:51] <toad_> e.g. the code to adjust a point according to a new request (move it in the right direction)
[12:51] <toad_> me and KenMan and thelema
[12:51] <toad_> or was it me and thelema
[12:51] <toad_> okay
[12:51] <toad_> whatever :)
[12:51] * toad_ withdraws his concern, just be careful
[12:51] * KenMan missed an opportunity to take credit, where credit is not due
[12:52] <KenMan> ;)
[12:52] <toad_> <Byte_Me> As an AF programmer... we only aim for third normal form. They can except anything but fifth. The advantage they have is they don't have to worry about the "small" stuff like testing.
[12:52] <toad_> what is third normal form?
[12:53] <toad_> <Hobxmob> I wouldn't make anonymity a priority toad. I mean this isn't a new issue. - well, I certainly don't want to make it WORSE
[12:53] <toad_> <theLostFloppy> toad_, can I dcc you my log? - sure
[12:54] * toad_ hmm re jokern's issues with losing keys on startup...
[12:55] <thelema> toad_: I know. And by using a modular type, I reduced moveTowardsKDirectional to three lines.
[12:55] <thelema> and they're really easy to understand.
[12:55] <toad_> thelema: if it works, major simplifications == very cool
[12:56] * jay (jcl@ool-18bf6dac.dyn.optonline.net) has joined #freenet
[12:56] <toad_> <vsalento> well you can also consider it as 'anonymizer' feature if it removes some of the keys randomly on every restart :)
[12:56] <toad_> <vsalento> it makes it harder to see where you have been
[12:56] <toad_> LOL
[12:57] <toad_> <jokern> Iakin5: Could it be something with tempfiles? - very likely, check disk usage of temp
[12:57] <toad_> <jokern> heh, nice one : 15:53:40 WTF? queryRejected causing negative searchFailed time: - if you see this, send me a stack trace...
[12:57] <hirvox> thelema:would your rewrite benefit from NativeBigInteger?
[13:00] <thelema> hirvox: not really; I'm not planning on using modPow in KeyMath.
[13:00] <KenMan> 1st through 5th normal forms are increasing levels of rules governing the consistency of a database schema
[13:01] <thelema> hirvox: this isn't for all mathematical manipulations on keys. This is for dealing with them as values in the modular space that the routing table sees them in.
[13:03] <KenMan> jokern likely got hit by an NTP reset 'stepping' the clock as opposed to slewing it...
[13:04] <KenMan> at least, that's my best guess... the 'item in store has timestamp in future' code works just great :( except it prevents fred from running...
[13:04] <KenMan> some kind of unhandled exception. Anyway, don't worry about it, it will only mess up people who can't run NTP properly...
[13:05] * KenMan hasn't had a clock-step since Aug 6...
[13:06] <toad_> <thelema> hirvox: not really; I'm not planning on using modPow in KeyMath. - what about doubleValue?
[13:08] <toad_> Hello,
[13:08] <toad_> I was very interresteing in your project but causeI ve got a new girl...I can't
[13:08] <toad_> +follow you in your plan.
[13:08] <toad_> Good Luck to All
[13:08] <toad_> BENMASTER
[13:08] <toad_> ROFL
[13:11] <KenMan> well, at least his priorities (or something) are in the right place(s) ...
[13:11] <KenMan> ahh, but this too shall pass...
[13:11] * ninja_ (im10ninjas@82-133-111-67.dyn.gotadsl.co.uk) has joined #freenet
[13:15] <jay> benmaster?
[13:15] <jay> i can't do anything cause of this girl
[13:15] <jay> is he 16?
[13:17] <thelema> toad_: true, I do use doubleValue; I guess I could use NBI for that.
[13:19] * nicktastic (~nicktasti@c-24-3-155-148.client.comcast.net) has joined #freenet
[13:19] * nicktastic (~nicktasti@c-24-3-155-148.client.comcast.net) has left #freenet
[13:30] <KenMan> jay - perhaps he found a girl like 'mother' - one who is controlling and dominating :o
[13:33] <jay> nightmare
[13:33] <toad_> jay: he has no time for freenet because he wants to spend time with her, and he's working, and so on
[13:33] <jay> women love to dominate men
[13:33] <jay> toad_: heh
[13:34] <toad_> I replied that ian once said that girlfriends are more of a danger to the project than the MPAA, RIAA and NSA put together
[13:34] <jay> women in general are
[13:34] <jay> toad_: don't get me started ;)
[13:35] <toad_> jay: well, we once got a $1K donation from a woman
[13:35] <jay> reason is irrelevant
[13:35] <jay> they're not all pure evil
[13:35] <jay> just occasionally
[13:36] <toad_> bbiab, going to get food
[13:36] <toad_> after that will be out for a while
[13:36] <toad_> back ~ 10-11
[13:36] <jay> you go out?
[13:36] <jay> bs
[13:36] <jay> heh
[13:36] <toad_> yes, either to aikido or homegroup (or shopping!) or walking
[13:36] <toad_> or combinations of the above
[13:36] <toad_> bbl
[13:37] * toad_ will have to stay at home tomorrow night to get enough freenet work done this week
[13:37] * TLF (francisco@106.Red-81-40-113.pooles.rima-tde.net) has joined #freenet
[13:39] <Iakin> [19:34] <thelema> toad_: true, I do use doubleValue; I guess I could use NBI for that.
[13:39] <Iakin> thelma: You ought to..
[13:39] <Iakin> two reasons.. one is that it is more efficent..
[13:40] <Iakin> the other is that there is a JVM-static lock inside Sun's doubleValue() method..
[13:41] <Iakin> ..wich _every_ thread in the JVM that uses .doubleValue() contends for
[13:53] <thelema> oh my.
[13:54] <thelema> that is bad.
[13:54] * Hamled|Erp (~hamled@pool-68-163-53-37.phil.east.verizon.net) Quit (Read error: 104 (Connection reset by peer))
[13:54] * sanity (~ian@81-178-89-164.dsl.pipex.com) Quit (Read error: 104 (Connection reset by peer))
[13:55] * sanity (~ian@81-178-89-164.dsl.pipex.com) has joined #freenet
[13:55] * ChanServ sets mode +o sanity
[13:55] * interrupt (~chatzilla@64.122.23.213) has joined #freenet
[13:59] <Iakin> it sure is :)
[13:59] <Iakin> toad: You here?
[14:02] <jay> <toad_> bbiab, going to get food
[14:02] <jay> <toad_> after that will be out for a while
[14:02] <jay> <toad_> back ~ 10-11
[14:04] <jay> is 'ant javadoc' supposed to work?
[14:04] <jay> it tells me i need junit which i already have
[14:07] * Hory (~Miranda@81.196.25.110) has joined #FreeNet
[14:10] * TLF (francisco@106.Red-81-40-113.pooles.rima-tde.net) Quit ("http://www.vitaliano.esp.cc || Adi?s a todos y a todas y que les vaya bien.")
[14:12] <leex-work> lo
[14:12] * leex-work is now known as leex-home-heh
[14:13] <thelema> jay: is it in your lib directory (with freenet-ext?)
[14:13] * leex-home-heh is now known as leex-H
[14:15] <jay> yeah it's in there
[14:15] <jay> the test is looking for a class that i cannot find in the Jar
[14:16] <jay> and it assumes the file is named: file="${lib}/junit-gpl.jar"
[14:16] <jay> in build.xml
[14:16] * Tril (tril@bespin.org) has joined #freenet
[14:17] <jay> <available classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask" property="junit.present"/>
[14:17] <jay> that class isn't in the .jar file
[14:21] <thelema> I wish I could help, but I must go. Talk to you later.
[14:21] * thelema is now known as thelema|away
[14:22] <jay> lates
[14:36] * TLF (francisco@198.Red-81-40-113.pooles.rima-tde.net) has joined #freenet
[14:44] <jokern> Heh, snort is going crazy with this msg :
[14:44] <jokern> Date: 08/12 21:01:42 Name: (spp_rpc_decode) Multiple RPC Records
[14:44] <jokern> From mynode/port to another ip
[14:48] <leex-H> your node dosing it
[14:48] * Superfan (francisco@154.Red-81-40-116.pooles.rima-tde.net) has joined #freenet
[14:49] <leex-H> 12-Aug-2004 20:09:47 (freenet.support.io.NIOInputStream, YThread-96, NORMAL): waited more than 120000ms in NIOIS.read() tcp/connection: 4243>220.0.4.54:64144,freenet.transport.tcpConnection@90d6e:freenet.support.io.NIOInputStream@50c651- closing
[14:49] <leex-H> java.lang.Exception: debug
[14:49] <leex-H> getting lots of them
[14:50] * TLF (francisco@198.Red-81-40-113.pooles.rima-tde.net) Quit (Nick collision from services.)
[14:50] <leex-H> mosty to/from the sime ip
[14:51] <leex-H> unstable
[14:51] * Superfan is now known as TLF
[15:03] <leex-H> what is Entropy
[15:07] <jay> it tried to be freenet in C
[15:07] <jay> 2nd try afaik
[15:07] <leex-H> seems more cleaner
[15:08] <jay> well run it and then judge it
[15:08] <jay> im not even sure it works
[15:09] <leex-H> 20 users
[15:12] * Ash-Foxeus is now known as Ash-Fox
[15:15] <leex-H> 12-Aug-2004 20:29:44 (freenet.MuxTrailerReader, Network reading thread, ERROR): Got a trailer chunk ahead of our time!: message starts 318504, stream currently at 311880 from freenet.TrailerChunkPacketMessage@171f614@freenet.PeerHandler@1ce0eca (DSA(1c63 be8d 9f0b 961b 70dc dff0 3fa5 898e e312 df73),tcp/219.61.16.15:9740, sessions=1, presentations=3, ID=DSA(1c63 be8d 9f0b 961b 70dc dff0 3fa5 898e e312 df73), version=Fred,0.6,1.51,601
[15:15] <leex-H> 12-Aug-2004 20:29:44 (freenet.node.states.request.TransferReply, YThread-86, NORMAL): Upstream node connection died for freenet.node.states.request.TransferReply@25006419: key=a7eedf3a6ce83126942bd0b721c1b740c53ea778140302, hopsToLive=2, id=4727b6a30c62c29b, routes=freenet.node.rt.NGRouting@d01b61 (a7eedf3a6ce83126942bd0b721c1b740c53ea778140302,request), EstimateList=freenet.node.rt.ForgettingEstimateList: length=136, at=32, noConnCo
[15:15] <leex-H> 12-Aug-2004 20:29:44 (freenet.node.states.request.TransferReply, YThread-127, NORMAL): Failed to send data with CB 0x83 (CB_RECV_CONN_DIED), for freenet.node.states.request.TransferReply@25006419: key=a7eedf3a6ce83126942bd0b721c1b740c53ea778140302, hopsToLive=2, id=4727b6a30c62c29b, routes=freenet.node.rt.NGRouting@d01b61 (a7eedf3a6ce83126942bd0b721c1b740c53ea778140302,request), EstimateList=freenet.node.rt.ForgettingEstimateList: le
[15:15] <leex-H> fs
[15:21] <leex-H> does not seem to been deveped any more
[15:22] <leex-H> it connected to 8 peers tho
[15:25] <jay> no one is maintaining it currently
[15:35] <leex-H> it works out of the box
[15:36] * piranha (piranha@3ffe:b80:1ca1:0:0:0:deca:fbad) Quit (Read error: 60 (Operation timed out))
[15:39] <KenMan> maybe this helps, maybe it confuses, anyway it's neat to look at - http://mywebpages.comcast.net/jkcorson/FreeNet/requests.png
[15:44] * TLF (francisco@154.Red-81-40-116.pooles.rima-tde.net) Quit ("http://www.vitaliano.esp.cc || Adi?s a todos y a todas y que les vaya bien.")
[15:57] * unknown__ (~unknown@dsl-213-023-239-046.arcor-ip.net) has joined #freenet
[15:59] * guido^pe (~unknown@dsl-213-023-232-131.arcor-ip.net) Quit (Read error: 113 (No route to host))
[16:08] * jay (jcl@ool-18bf6dac.dyn.optonline.net) Quit (".")
[16:12] <KenMan> the governor of New Jersey is presently announcing his resignation. He suddenly realizes he is homosexual, thus he must quit his job.
[16:12] <KenMan> Personally, I think the mafia has him under their thumb, and this was the most embarassing manner in which they chose to make him step down.
[16:13] <greycat> should I bother asking how his sexual preference is related to his governorship?
[16:13] <KenMan> to the conspiracy nuts, i am suggesting he is *not* gay, rather, that he is/was a tool of the mafia.
[16:14] <KenMan> he is an American politician. We do not permit homosexuals in political positions.
[16:14] -lilo- [Global Notice] Hi all. See freenode news (http://freenode.net/news.shtml) for scheduled downtime. Thanks!
[16:14] <greycat> oh, of course, silly me.
[16:14] <greycat> there I go thinking we have freedom again.
[16:15] <KenMan> From the 1996-97 period, it should be apparent that we only grudging accept individuals who engage in heterosexual behavior, as well.
[16:16] <KenMan> People in positions of power should not engage in human behaviors. Our expectations are that they engage in no behaviors, whatsoever.
[16:17] <KenMan> :p
[16:19] * Traderx (~heheh@80.65.74.251) has joined #freenet
[16:22] <leex-H> getting some page time out ?
[16:35] * Ash-Fox (Hal-9000@aao173.neoplus.adsl.tpnet.pl) Quit (Nick collision from services.)
[16:35] * Ash-Foxeus (Hal-9000@aae52.neoplus.adsl.tpnet.pl) has joined #FreeNET
[16:39] * chbug (~fred@adsl-62-167-204-113.adslplus.ch) has joined #freenet
[16:42] * greycat (~wooledg@192.35.79.70) Quit ("Lick Bush in '04")
[16:47] * Traderx (~heheh@80.65.74.251) Quit (Client Quit)
[16:48] <chbug> hi folks. what exactly does "couldn't connect to the network" mean ? I've a fresh install (5091), and for a while this is all I could get. Now I can access certain keys, but I still get this error often...
[17:00] * TLF (francisco@167.Red-81-40-116.pooles.rima-tde.net) has joined #freenet
[17:04] * chbug (~fred@adsl-62-167-204-113.adslplus.ch) Quit ("Leaving")
[17:23] * duralisis (~Phobos@24-197-211-153.roc.mn.charter.com) has joined #freenet
[17:24] <duralisis> I'm getting lots of java debugging info in my log, what version of Java should I be using?
[17:36] <theLostFloppy> JVM 1.4
[17:36] <theLostFloppy> I'd recommend the Sun one
[17:37] <mazzanet> bring bring
[17:37] <theLostFloppy> ??
[17:37] * salahx (salahx@sc1-24.217.174.147.charter-stl.com) has joined #freenet
[17:38] <theLostFloppy> No new messages at frost? Mmm
[17:40] <theLostFloppy> I am beginning to distrust my RAM strips...
[17:42] * Zorix (Brandon@fl-64-45-226-120.dyn.sprint-hsd.net) Quit (Read error: 110 (Connection timed out))
[17:44] <salahx> oj?
[17:44] <salahx> oh?
[17:44] <theLostFloppy> Strange things happening
[17:45] <theLostFloppy> I do a $ rar a -t -r -m0 -k SOMEARCHIVE SOMEFILES/* and it always fails with crc errors. What do you say to that?
[17:49] <KenMan> http://mywebpages.comcast.net/jkcorson/FreeNet/routecaps.png
[17:50] <KenMan> theLostFloppy: you should run some sort of memory testing program. A well known one is called memtest86 , search for it.
[18:00] <theLostFloppy> KenMan, I have it on my Gentoo disc. I'm going to run it for an hour or 5
[18:00] <theLostFloppy> KenMan, what do you think of the rar case?
[18:03] * interrupt (~chatzilla@64.122.23.213) Quit ("Chatzilla 0.9.64b [Mozilla rv:1.7/20040707]")
[18:08] * theLostFloppy (~michaelku@fia41-111.dsl.hccnet.nl) Quit ()
[18:37] * duralisis (~Phobos@24-197-211-153.roc.mn.charter.com) Quit ("Leaving")
[18:42] * lolo-laptop (~lostlogic@68.251.84.226) Quit ("Client exiting")
[19:00] * Zorix (Brandon@fl-64-45-226-120.dyn.sprint-hsd.net) has joined #freenet
[19:06] <KenMan> doggonit, my node on stable died with one of these 'Unexpected Signal : 11'
[19:06] <salahx> that shouldn't happen
[19:10] * TLF (francisco@167.Red-81-40-116.pooles.rima-tde.net) Quit ("http://www.vitaliano.esp.cc || Adi?s a todos y a todas y que les vaya bien.")
[19:16] * toad_ back, hi ppl
[19:16] <salahx> wb toad_
[19:16] <KenMan> yotoad
[19:16] <KenMan> how are things ?
[19:19] <toad_> thingish
[19:20] * toad_ can't find his jack-plug gender bender
[19:20] <KenMan> how very zen of you :o
[19:20] <toad_> which is irritating
[19:20] <toad_> KenMan: ewww buddhism
[19:20] <toad_> :)
[19:20] * KenMan has a buddhist-friend
[19:21] <KenMan> he cancelled our lunch today due to work demands...
[19:21] * KenMan doesn't have that problem :(
[19:23] <toad_> <KenMan> he is an American politician. We do not permit homosexuals in political positions. - LOL! you enjoy their music, their software, you ordain them as bishops, but you don't permit them political authority :)
[19:23] <KenMan> strange, isn't it ?
[19:24] <toad_> :)
[19:25] <toad_> now where were we?
[19:25] <KenMan> you were fixing things and other people were complaining, business as usual
[19:27] <toad_> KenMan: even the popular press admits that buddhism is a popular celebrity substitute religion that allows you to think your cat has a soul and doesn't demand any particular response
[19:30] <toad_> :)
[19:31] * lostlogic (~lostlogic@node-402418b2.mdw.onnet.us.uu.net) has joined #freenet
[19:34] <KenMan> hi 'B' !
[19:40] * toad_ ugh, "low rate limiting" - this guy didn't give me satisfactory answers last time, what makes me think he will this time?
[19:45] <lostlogic> Hey, KenMan
[19:45] <lostlogic> how's it going?
[19:45] <KenMan> life is good, you know, ups and downs.
[19:45] <lostlogic> of course
[19:46] <KenMan> I wonder who is complaining about 'low rate limiting' to the toad ?!
[19:46] <KenMan> lostlogic: found yourself a new woman yet ?
[19:46] <lostlogic> KenMan: maybe...
[19:47] <lostlogic> http://share.lostlogicx.com/camera_images/p8100016.400.jpg (remove the 400 for a bigger version)
[19:47] <KenMan> terrific - i have noticed lately that they seem to be everywhere
[19:47] <KenMan> hey, quite a good looker
[19:47] <lostlogic> KenMan: must be an end of summer thing... is that the human mating season or somethign?
[19:48] <KenMan> i'm not sure. I suspect that women have been around for a long time, and somehow I just never paid enough attention :(
[19:48] <lostlogic> hehe
[19:49] <KenMan> spring is the usual time for most mammals, but for humans I would imagine spring and fall are popular, due to the changing weather...
[19:51] <lostlogic> nod
[19:54] <KenMan> http://clawww.lmu.edu/faculty/lswenson/AnimBehav351/351SiiterOutlineC11.htm - this didn't seem to help explain it very well, but the pictures are cute
[19:56] <lostlogic> heh
[19:57] <toad_> lol
[19:57] <toad_> okay
[19:57] <toad_> now that i've done the comms bit
[19:57] <toad_> i suppose i should do the RealWork bit
[19:59] <toad_> or i could go to bed
[19:59] <KenMan> did i do a good job with my artwork of peers and quota ? or could it be portrayed better ??
[19:59] <toad_> if i think of any improvements i'll tell you
[20:00] <toad_> curious, trailer in the log that refuses to die
[20:00] <toad_> MRI violations and unrecognized trailer ID's so far...
[20:01] <toad_> i don't think tracking the latter down will be very fruitful
[20:01] <toad_> i know what i'll do... have a bath
[20:01] <toad_> bbl
[20:02] <KenMan> it's a curious thing, the mind of a toad...
[20:02] <KenMan> maybe he does his best thinking in the tub
[20:02] <salahx> well toad and water usually go together :)
[20:07] <KenMan> and he likes a steady diet of bugs, keeps his coat, err, skin looking good
[20:13] * unknown__ (~unknown@dsl-213-023-239-046.arcor-ip.net) Quit (Remote closed the connection)
[20:42] * Hory (~Miranda@81.196.25.110) Quit ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org")
[20:44] * Krepta3k (~krepta@ip68-2-117-29.ph.ph.cox.net) has joined #freenet
[20:45] <Krepta3k> Hello
[20:45] * greycat (rfc1413@wooledge.org) has joined #freenet
[20:45] * Krepta3k wonders if winamp's now playing notification would irritate people on this chan.
[20:45] <salahx> Hi Krepta3k
[20:45] <Krepta3k> Hi Salahx
[20:45] <mikeDOTd_> Krepta3k: i think that's a safe bet
[20:45] <Krepta3k> :)
[20:46] * mikeDOTd_ is now known as mikeDOTd
[20:46] * Krepta3k really likes his internet radio station.
[20:46] * Krepta3k wonders if others would try it and like it.
[20:47] <Krepta3k> Zort!
[20:48] <Krepta3k> So how is the new incarnation of the Freenet network doing?
[20:48] <Krepta3k> Has it stopped hemorhaging?
[20:49] <Krepta3k> Anyone ever tried Peercast?
[20:49] <salahx> what's that ?
[20:50] <Krepta3k> It's an internet audio broadcast system that is peer to peer. Listeners to a stream are also providers of stream connections to other listeners.
[20:50] <Krepta3k> It greatly reduces the strain on a single broadcasting server.
[20:50] <salahx> nifty
[20:50] <Krepta3k> But, I tried it, and it wouldn't work at all. :(
[20:50] <Krepta3k> I don't know why.
[20:51] <Krepta3k> Kind of like Bit Torrent, that's what I think.
[20:52] <salahx> looks like it uses the Gnutella protocol
[20:52] <Krepta3k> Ooo
[20:52] <Krepta3k> But it needs to connect to some kind of controlling server, and it won't connect. :(
[21:00] * Zorix (Brandon@fl-64-45-226-120.dyn.sprint-hsd.net) Quit (Read error: 110 (Connection timed out))
[21:08] <salahx> no clue, FReent already saturated 105% of my bandwidth
[21:08] * goatee (~goatee@ip216-239-87-183.vif.net) Quit (Read error: 104 (Connection reset by peer))
[21:08] * goatee (~goatee@ip216-239-87-183.vif.net) has joined #freenet
[21:16] <leex-H> same here
[21:16] <leex-H> keeps flooding me internet
[21:16] <leex-H> but any way
[21:16] * leex-H is now known as leex-ZZz
[21:24] <Krepta3k> I'm trying Streamer P2P right now. The only way I could get it to work was to tell it to relay the stream coming from my Shoutcast server, but it wants to broadcast that stream at double the bitrate that Shoutcast is broadcasting.
[21:25] <toad_> Krepta3k: peercast sounds really cool
[21:25] <toad_> there's definitely a need for p2p software to enable streaming-on-a-budget
[21:25] <salahx> Be something nice to implement over i2p one day
[21:25] <Krepta3k> Yup
[21:25] <toad_> salahx: or freenet
[21:26] <Krepta3k> Too bad I never got peercast to work. :(
[21:26] <toad_> if you don't mind a 2 minute delay imho we'll probably be able to do it one day
[21:26] <salahx> yeah I remember that
[21:26] <Krepta3k> Heehe, more like an hour delay with today's internet and p2p systems. LOL
[21:26] <toad_> <KenMan> and he likes a steady diet of bugs, keeps his coat, err, skin looking good - :)
[21:27] <Krepta3k> Anyway, the stream seems to be working and being made available on the p2p network.
[21:27] <toad_> actually if we can ever make freenet work well, it'll be very useful just for hosting large sites e.g. minor game mods
[21:28] <salahx> ahhh
[21:28] <salahx> or SP2 :)
[21:28] <toad_> salahx: we really need legit content. imho the only way to get it is to make freenet really fast
[21:28] <toad_> although i'm not prepared to compromize on reasonable anonymity to get to it
[21:29] <toad_> anyway
[21:29] <toad_> anyone got any freenet related questions, bug reports, anything?
[21:29] <Krepta3k> What we really need is a completely seperate network from the standard internet infrastructure that is much faster and more eficient.
[21:29] <greycat> and flying cars that run on nitogen!
[21:30] <toad_> Krepta3k: build it and they will come :)
[21:30] <Krepta3k> Yah!
[21:30] <greycat> and pills that make us live 500 years!
[21:30] <Krepta3k> Woot!
[21:30] <toad_> actually I've had some comms with the local wireless folks...
[21:30] <toad_> they're pretty cool
[21:30] <Krepta3k> :)
[21:30] <toad_> not sure i have time to attend the meetings though as there seems little i can do with them at the moment
[21:31] <Krepta3k> How about building a totaly secret network that uses existing power polls and stuff, but the networking hardware is hidden and hard to find. :)
[21:31] <toad_> heh
[21:31] <toad_> then it'll never get big
[21:31] <Krepta3k> LOL
[21:32] <salahx> something like the Linksys COmmunity Network? :)
[21:32] <Krepta3k> Oooo
[21:33] <Krepta3k> P2P wireless networks, all add-hoc, no routers or internet providers. How about that?
[21:34] <toad_> of course there are routers
[21:34] <toad_> and fully ad-hoc doesn't scale
[21:35] <toad_> and you need a way to get people onto the network. that means acces to the real inet.
[21:35] <Krepta3k> Surprisingly, I actualy agree with President Bush on a few things. And I am distressed at Kerry's truthfulness. I'm not sure I can trust him to be Honest.
[21:35] <Krepta3k> Woof
[21:35] <Krepta3k> Why can't we get Ian Clark to run for President?
[21:36] <toad_> Krepta3k: because he's not a citizen
[21:36] <Krepta3k> Oh, that sucks
[21:36] <Krepta3k> We should let people from Mars be president, as long as they are trustworthy and will do a good job.
[21:36] <Krepta3k> What politician is trustworthy?
[21:36] <salahx> a dead one ?
[21:37] <Krepta3k> Yah, I guess.
[21:37] <salahx> maybe one form some parallel world ?
[21:37] <Krepta3k> Honestly, guys, I really am a rotting corpse, I wasn't cremated at all.
[21:37] <Krepta3k> LOL
[21:37] <Krepta3k> Yah
[21:37] <greycat> I wouldn't trust the dead ones too far either. Wills. Family.
[21:37] <Krepta3k> Zort
[21:38] <Krepta3k> How about we just vote for Trees, and let the mindless morons decide which lying thief get's to be president next.
[21:39] <Krepta3k> Better yet, lets find the most Insane person in the country, and make Him, or Her, the real president, and make some bumbling fool the public figurehead president. :)
[21:40] <Krepta3k> Narf
[21:40] <Krepta3k> I don't want to be president, too much stress.
[21:41] * |UK-Monster| (~bbtt@cpc2-warr1-5-0-cust27.bagu.cable.ntl.com) has joined #freenet
[21:41] <toad_> bbl zzz
[21:47] <Krepta3k> riiibit
[21:50] * Krepta3k is bored beyond belief
[21:50] <Krepta3k> Death knocks at my door all the time, I throw my shoes at him and tell him to take a hike.
[21:51] <Krepta3k> That's because he doesn't have proper shoes for hiking of his own.
[21:52] <Krepta3k> lof krp szd
[21:57] <toad_> Krepta3k: got freenet working?
[21:57] <toad_> got a freesite?
[21:58] <toad_> understand Life, the Universe, and Freenet ?
[21:58] * toad_ just bouncing ideas for becoming un-bored
[21:58] * leex-ZZz (~bbtt@cpc2-warr1-5-0-cust27.bagu.cable.ntl.com) Quit (Read error: 110 (Connection timed out))
[21:58] <toad_> to Krepta3k
[21:58] * toad_ bbl zzz again :)
[22:01] <Krepta3k> Nope, can't run a freenet node unless I use mom's laptop, and she won't let me. :(
[22:01] <Krepta3k> Besides, freenet hasn't worked very well for me in the past. Don't really trust it.
[22:07] * Krepta3k (~krepta@ip68-2-117-29.ph.ph.cox.net) Quit ()
[22:10] * verl (~verlverl@h165n2fls33o877.telia.com) Quit ()
[22:10] * greycat (rfc1413@wooledge.org) Quit ("Lick Bush in '04")
[22:15] * benxor (~a@c211-30-79-122.belrs2.nsw.optusnet.com.au) has joined #freenet
[22:15] <benxor> could someone help me in upgrading the windows freenet-java-webinstall version of freenet to the build < 6xxx series?
[22:16] <benxor> i downloaded the normal one (which said it was build 5091 or something of the like) but when i did an 'update version' from the option in the start menu, it was still a 5xxx series build, not a 6xxx one
[22:16] <salahx> right
[22:16] <salahx> if you want the "unstable" build, you'll have to download it manually
[22:16] <benxor> ah, okay
[22:17] <benxor> from snapshots? which one? is there an unstable package for windows?
[22:17] <salahx> no
[22:17] <salahx> here's waht you need to do:
[22:17] <salahx> download this file: http://www.freenetproject.org/snapshots/unstable.ref
[22:17] <salahx> errr
[22:18] <salahx> this one: http://www.freenetproject.org/snapshots/freenet-unstable-latest.jar
[22:18] * Vix- (meow_@cae88-49-083.sc.rr.com) has joined #freenet
[22:18] <salahx> rename it to freenet.jar and overwrite the existing freenet.jar with it
[22:18] <benxor> k, done
[22:18] <salahx> Then, you'll need seednodes for unstable
[22:18] <benxor> okay, i see
[22:19] <benxor> hang on i'll reinstall the standard freenet again so i can do this
[22:19] <salahx> download this file: http://www.freenetproject.org/snapshots/unstable.ref
[22:19] <salahx> ok
[22:20] <benxor> k, downloading/installing now
[22:20] <benxor> so i'll only need to replace freenet.jar? not freenet-ext.jar or anything else?
[22:21] <benxor> and seednodes obviously
[22:21] <salahx> just freenet.jar
[22:21] <benxor> cool
[22:22] <benxor> okay, done
[22:22] <salahx> if your node was on "stable" before, you may want to change the listenPort (optional) - don't forgot to open the appropate hole(s) in your ffirewall, if applicaable
[22:23] <salahx> then just start up your node
[22:23] <benxor> cool, build 60913 =)
[22:23] <benxor> okay
[22:23] <benxor> no replaced the node completely
[22:23] <salahx> ok that's fine
[22:23] <Vix-> Hmm maybe someone can help me, I have a question about an error I keep getting that has freenet crippled on my computer. What does the error "MergeConfig failed: Couldn't find defaults file" mean?
[22:24] <benxor> where are the options btw? freenet.ini?
[22:24] <salahx> Yes
[22:24] <benxor> cool
[22:24] <salahx> MergeConfig failed? That'a new one...
[22:24] <Vix-> yea
[22:24] <salahx> Windows or Linux ?
[22:24] <Vix-> Windows
[22:24] <Vix-> It's worked before too on windows (2000)
[22:25] <salahx> there shoudl be a file called default.ini, where freenet.ini is located
[22:25] <Vix-> hmmm let me try a reinstall again real quick
[22:25] <salahx> if not, copy freenet.ini to default.ini and that should fix it...
[22:25] <benxor> salahx: the 'ipaddress' option, is just the address of my default gateway, or my computer's external IP, or my computer NAT IP, or....?
[22:26] <salahx> ipAddress shoudl be your IP as the Internet sees it; if you're behind nat; don't worry, it'll auto-config to the correct value
[22:26] <benxor> cool =)
[22:26] <benxor> thankyou for all your help =)
[22:26] <salahx> however, you SHOULD open up listenPort on your NAT
[22:26] <benxor> done
[22:26] <benxor> always do that
[22:27] <salahx> ok, you;re fine that
[22:27] <salahx> automitic IP address detection was something recently added to Freenet. No more mangling with dsynamic DNS anymore
[22:27] <benxor>
[22:27] <benxor> Couldn't connect to the network. Are you sure you have configured Freenet correctly? Also make sure that you are connected to the internet.
[22:27] <benxor> Retrying...
[22:28] <benxor> i'm assuming that's not good
[22:28] <salahx> that's normal
[22:28] <salahx> the unstable network is much smaller then teh stable one
[22:28] <benxor> oh, so that just means 'freenet is underfunded and piss-slow until you've been on for 6 days'?
[22:28] <salahx> and it takes abortu a day for your node to "settle in"
[22:28] <benxor> ah, k
[22:28] <benxor> mine's transient though, will that mean i have no chance of getting settled in?
[22:28] <salahx> there is no more "Transient/permement" anymore
[22:29] <benxor> meaning they're all permanent now?
[22:29] <salahx> Connection are now bidirectional
[22:29] <salahx> Yep
[22:29] <benxor> i've set my transient option to true though from %transient=false
[22:29] <benxor> will that make a diff?
[22:30] <salahx> urt has no effexr
[22:30] <benxor> cool
[22:30] <benxor> why aren't they coming up with a screen to let you change the HTL anymore?
[22:31] <Vix-> there should be one
[22:31] <benxor> hmm
[22:31] <Vix-> Might be in adv. mode
[22:31] <benxor> just that 'couldn't connect to network' one
[22:31] <benxor> ah, k
[22:31] <benxor> that makes sense, i usually change it to advanced, but havent done that yet for this install
[22:33] <benxor> so, since all nodes are 'permanent' now, does this mean that i'll be getting 2gb of incoming traffic a day whether i like it or not? because i only have 12gb/month
[22:33] <benxor> download, thankgod, not total transfer
[22:37] <Vix-> Ok salahx, copying/renamind the one freenet.ini file did not work
[22:39] <salahx> brb
[22:39] <Vix-> ah k
[22:49] * benxor (~a@c211-30-79-122.belrs2.nsw.optusnet.com.au) Quit ()
[23:17] <salahx> yaknow, the ASCII art stuff is really getting out of control on Frost...
[23:22] * Ash-Foxeus (Hal-9000@aae52.neoplus.adsl.tpnet.pl) Quit (niven.freenode.net irc.freenode.net)
[23:22] * sanity (~ian@81-178-89-164.dsl.pipex.com) Quit (niven.freenode.net irc.freenode.net)
[23:22] * ninja_ (im10ninjas@82-133-111-67.dyn.gotadsl.co.uk) Quit (niven.freenode.net irc.freenode.net)
[23:22] * jokern (~virus@213.184.217.12) Quit (niven.freenode.net irc.freenode.net)
[23:22] * hobx (~hobx@h196n1fls21o1077.bredband.comhem.se) Quit (niven.freenode.net irc.freenode.net)
[23:22] * bluephile (bluephile@69-160-205-193.clvdoh.adelphia.net) Quit (niven.freenode.net irc.freenode.net)
[23:23] * lostlogic (~lostlogic@node-402418b2.mdw.onnet.us.uu.net) Quit ("Going to the moon")
[23:23] * Vix- (meow_@cae88-49-083.sc.rr.com) Quit (niven.freenode.net irc.freenode.net)
[23:23] * hirvox (~hirvox@cs181027153.pp.htv.fi) Quit (niven.freenode.net irc.freenode.net)
[23:23] * mazzanet (~mazzanet@mazzanet.registered) Quit (niven.freenode.net irc.freenode.net)
[23:23] * Hadaka (naked@naked.iki.fi) Quit (niven.freenode.net irc.freenode.net)
[23:23] * thelema|away (~thelema@adsl-65-65-203-187.dsl.stlsmo.swbell.net) Quit (niven.freenode.net irc.freenode.net)
[23:23] * Zv2S (~rfc1413@213.146.114.96) Quit (niven.freenode.net irc.freenode.net)
[23:23] * sanity (~ian@81-178-89-164.dsl.pipex.com) has joined #freenet
[23:23] * Ash-Foxeus (Hal-9000@aae52.neoplus.adsl.tpnet.pl) has joined #freenet
[23:23] * ninja_ (im10ninjas@82-133-111-67.dyn.gotadsl.co.uk) has joined #freenet
[23:23] * jokern (~virus@213.184.217.12) has joined #freenet
[23:23] * hobx (~hobx@h196n1fls21o1077.bredband.comhem.se) has joined #freenet
[23:23] * bluephile (bluephile@69-160-205-193.clvdoh.adelphia.net) has joined #freenet
[23:24] * omar (~chatzilla@CPE00055dd1cc0f-CM014080208730.cpe.net.cable.rogers.com) has joined #freenet
[23:24] * Vix- (meow_@cae88-49-083.sc.rr.com) has joined #freenet
[23:24] * hirvox (~hirvox@cs181027153.pp.htv.fi) has joined #freenet
[23:24] * mazzanet (~mazzanet@mazzanet.registered) has joined #freenet
[23:24] * Hadaka (naked@naked.iki.fi) has joined #freenet
[23:24] * thelema|away (~thelema@adsl-65-65-203-187.dsl.stlsmo.swbell.net) has joined #freenet
[23:24] * Zv2S (~rfc1413@213.146.114.96) has joined #freenet
[23:25] <Vix-> Anyone around for Freenet support?
[23:26] * mazzanet (~mazzanet@mazzanet.registered) Quit (Connection reset by peer)
[23:26] * mazzanet (~mazzanet@mazzanet.registered) has joined #freenet
[23:30] * omar (~chatzilla@CPE00055dd1cc0f-CM014080208730.cpe.net.cable.rogers.com) Quit (Read error: 104 (Connection reset by peer))
[23:45] <salahx> i'm here
[23:47] <Vix-> ah k
[23:47] <Vix-> well that renaming thing didn't work
[23:47] <salahx> you should make a copy, not rename
[23:47] <Vix-> er well i did, copied freenet.ini and renamed that copy
[23:47] <salahx> ohh ok
[23:47] <salahx> Well maybe the config file is corrrupt
[23:48] <Vix-> Well i doubt that
[23:48] <salahx> Delete it and re-create with the node confiuration utility
[23:48] <Vix-> I pulled a working copy of freenet off my laptop and put it on this computer and i still got the same wierd error
[23:48] <salahx> what version of Java are you running ?
[23:49] <Vix-> er heh that might be the problem let me see
[23:49] <Vix-> 1.4.2_05
[23:50] <Vix-> hmm
[23:50] <Vix-> let me see if i can reinstall java
[23:50] <salahx> ok
[23:51] <Vix-> My laptop has 1.4.1, Freenet only requires 1.4.1 and higher yea?
[23:54] <salahx> right
[23:55] <Vix-> hmm need to restart
[23:55] <Vix-> brb
[23:55] <salahx> ok
[23:55] * Vix- (meow_@cae88-49-083.sc.rr.com) Quit (""There are three kinds of death in this world. There's heart death, there's brain death, and there's being off the network." )
[23:55] * salahx (salahx@sc1-24.217.174.147.charter-stl.com) Quit ()
[23:58] * Vix- (meow_@cae88-49-083.sc.rr.com) has joined #freenet
These logs were automatically created by Jay Oliveri with his gimp hapi on irc.freenode.net.