NOTICE: This channel is no longer actively logged.
[01:12:53] *** goussx has joined #bittorrent [01:17:36] <ChoyKloun> keys must appear in sorted order? [01:17:39] <ChoyKloun> you say what? [01:18:14] <ChoyKloun> i just got anotehr reason to hate bencode :P [01:18:25] <ChoyKloun> had no idea but my output seems to work regardless of sorting [01:18:38] <The_8472> it matters for infohashes [01:18:50] <ChoyKloun> and uhm i havent noticed any sort of order in many responess from other clients [01:18:55] <The_8472> in most other cases it's less problematic, but still sohould be done [01:19:17] <ChoyKloun> what sort of retarded decoding do people do ?! [01:19:45] <ChoyKloun> yet another detail in bencode crap i have to fix :( [01:20:02] <The_8472> we people with proper programming languages just dump it into a map/dictionary/associative array [01:20:52] <The_8472> and then (hopefully) sort the keys on serialisation [01:21:13] <ChoyKloun> well ive been too lazy to do proper encoding [01:21:26] <ChoyKloun> so the code just outputs entry by entry [01:21:49] <ChoyKloun> or well.. thats not exactly a bad/wrong way of doing it in most cases [01:22:00] <The_8472> well, if the entries are in the order of the examples then they should be sorted. because the examples are sorted too ^^ [01:22:06] <ChoyKloun> it would take MORE code when outputting to stick it in a table [01:22:25] <ChoyKloun> no they arent [01:22:31] <ChoyKloun> not all of them and not consistently [01:22:42] <The_8472> the examples? yes they are [01:22:51] <The_8472> you might get confused by the nested dictionaries though ;) [01:23:12] * The_8472 doublechecks [01:24:25] <The_8472> yep, the example bencoding output is sorted http://bittorrent.org/beps/bep_0005.html [01:25:04] *** waldorf_ has joined #bittorrent [01:32:18] *** ProperNoun has quit IRC [01:34:42] *** ProperNoun has joined #bittorrent [01:53:22] <alus> ChoyKloun: most parsers accept any sorting. the canonical way to output is to sort keys. if you're going to hash the data, this matters [01:53:48] <alus> ChoyKloun: it's a neat property of bencode that there is a canonical way to output, not a bug [01:54:44] <alus> ChoyKloun: because in reality, no one cares that "dictionaries" are unsorted. real world dictionaries are sorted, and printed the OED out of order would be pretty freaking useless [02:01:16] <ChoyKloun> aaah ya [02:01:26] <ChoyKloun> for hashing it certainly does [02:01:29] <ChoyKloun> i wasnt reading the full context [02:02:13] <ChoyKloun> i was starting to think some parsers were optimized in ways that made them mess up on unsorted dicts :) [02:02:38] <ChoyKloun> the_8472: examples yes, my impementations no :) [02:02:52] <The_8472> RTFM [02:03:08] <ChoyKloun> well obviously it doesnt matter in any way whatsoever for what im doing [02:03:23] <ChoyKloun> if i ever need to output data that will be sorted i'll do it the proper way obviously [02:03:57] <The_8472> <alus> ChoyKloun: it's a neat property of bencode that there is a canonical way to output, not a bug <- except for lists [02:04:30] <ChoyKloun> oh right, no keys [02:04:30] <ChoyKloun> heh [02:04:50] <ChoyKloun> shouldnt the list entries be treated as keys then [02:05:06] <alus> The_8472: hm? lists have order [02:05:13] <The_8472> the problem is when you have composite values in your lists [02:05:20] <alus> such as? [02:05:39] <The_8472> idk... paths [02:05:51] <ChoyKloun> a neater solution is often to have the sorting done at hashing time [02:06:21] <ChoyKloun> like hash all elements individually, sort THAT and then hash it [02:06:55] <ChoyKloun> or well s/is often/could often be/ [02:07:02] <alus> that makes computing the hash stateful [02:07:12] <alus> but sure, it's an option [02:07:17] <ChoyKloun> 99.999% of the times i hash network data its HMAC or similar [02:07:29] <The_8472> well, the info dictionary needs an overhaul imo. it allows too many different combinations per single set of identical files [02:07:32] <ChoyKloun> uhm like hash algorithms arent stateful alredy .. ? :) [02:07:48] <The_8472> i think he means stream processing / single pass hashing [02:08:15] <alus> you don't even need a bencoder if you're going to hash the whole thing [02:08:23] <ChoyKloun> <tease>but maybe all you real language with associative array coders know about hashing is "lets call sha1()"</tease> :-) [02:08:53] <alus> uh, uTorrent is written in C++ [02:09:01] <alus> and we don't use the STL [02:09:02] <The_8472> not really, we have a highly optimized SHA1 implementation in Az [02:09:23] <ChoyKloun> ya you werent part of the conversation where that was brought up :) [02:10:00] <ChoyKloun> when i did my usual complaining about bencode and it erupted into the usual small language wars :) [02:10:55] <The_8472> http://fisheye1.atlassian.com/browse/azureus/azureus2/org/gudy/azureus2/core3/util/SHA1.java?r=1.7#l59 [02:11:00] <ChoyKloun> when i actually has too much free time on my hands i sooo ahve to write an optimized bencode parser in asm :) [02:11:35] <ChoyKloun> highly optimized java.. isnt that like deep-fried snow? [02:11:36] <ChoyKloun> :-) [02:11:44] <ChoyKloun> oh well, time for a nap before heading to wrok [02:11:52] <The_8472> java compiles to native code at runtime... [02:11:52] <ChoyKloun> my sleeping habits are so messed up (like usual) [02:12:10] <The_8472> so arithmetic instructions are practically the same as if written in C [02:13:35] <ChoyKloun> that one looks good but isnt a dword load + bswapl faster than 4xbyte load + shift + OR on x86 ? [02:13:42] <The_8472> and modern JIT compilers do a good job, in some (admittedly rare) cases they can be even faster than C++ due to aggressive runtime optimizations that a static compiler can't do [02:14:17] <The_8472> no unions. though the compiler can reorder the fetches [02:14:40] <ChoyKloun> oh well. time to nap and then head to the brain-mine [02:15:01] <ChoyKloun> and yet another day of being exposed to the horrors of php [02:17:08] <The_8472> i pity you [02:17:19] <The_8472> PHP is such a horrible language [02:21:55] *** goussx_ has joined #bittorrent [02:22:35] *** mxs has quit IRC [02:27:44] *** mxs has joined #bittorrent [02:37:53] *** goussx has quit IRC [02:37:53] *** goussx_ is now known as goussx [02:41:36] *** BentMyWookie has quit IRC [02:43:57] *** waldorf_ has quit IRC [03:43:36] *** bbelt16ag has quit IRC [03:51:46] *** BentMyWookie has joined #bittorrent [04:07:08] *** The_8472 has quit IRC [04:07:34] *** The_8472 has joined #bittorrent [04:11:56] *** wholepair has joined #bittorrent [04:16:28] *** wholepair has quit IRC [04:24:30] *** ChoyKloun has quit IRC [04:30:44] *** K`Tetch has quit IRC [04:35:53] *** K`Tetch has joined #bittorrent [04:44:15] *** goussx has quit IRC [04:44:32] *** goussx has joined #bittorrent [05:28:57] <burris> what's horrible about php? [05:35:35] *** nGTHK has joined #bittorrent [05:36:52] *** chelz has joined #bittorrent [05:49:04] *** GTHK has quit IRC [05:50:35] *** ajaya has joined #bittorrent [05:53:11] *** nGTHK has quit IRC [05:53:57] *** GTHK has joined #bittorrent [06:05:02] *** tris has quit IRC [06:06:14] *** nGTHK has joined #bittorrent [06:17:40] *** nGTHK has quit IRC [06:25:25] *** GTHK has quit IRC [06:25:52] *** tris has joined #bittorrent [06:34:24] *** GTHK has joined #bittorrent [06:35:16] *** KyleK_ has joined #bittorrent [06:40:27] *** bt42 has joined #bittorrent [06:48:31] *** init0 has quit IRC [06:50:43] *** init0 has joined #bittorrent [06:57:15] *** MassaRoddel has quit IRC [07:00:39] *** bittwist has quit IRC [07:03:02] *** KyleK_ has quit IRC [07:17:07] *** MassaRoddel has joined #bittorrent [07:19:19] *** mxs has quit IRC [07:19:24] *** mxs_ has joined #bittorrent [07:21:04] *** nGTHK has joined #bittorrent [07:23:59] *** GTHK has quit IRC [07:36:42] *** tris has quit IRC [07:49:47] *** nGTHK has quit IRC [07:49:59] *** GTHK has joined #bittorrent [07:52:15] *** tris has joined #bittorrent [08:11:31] *** nGTHK has joined #bittorrent [08:14:50] *** mxs_ has quit IRC [08:14:53] *** mxs has joined #bittorrent [08:16:13] *** bittwist has joined #bittorrent [08:23:28] *** GTHK has quit IRC [08:23:36] *** nGTHK has quit IRC [08:34:29] *** bt42 has quit IRC [08:38:49] *** chelz has quit IRC [08:46:23] *** bbelt16ag has joined #bittorrent [08:53:39] *** GTHK has joined #bittorrent [08:56:52] *** Andrius has joined #bittorrent [08:59:08] *** mxs has quit IRC [08:59:09] *** mxs_ has joined #bittorrent [09:32:17] *** mxs_ has quit IRC [09:32:23] *** mxs has joined #bittorrent [09:54:28] *** mxs has quit IRC [09:54:28] *** mxs_ has joined #bittorrent [09:56:36] *** Switeck has quit IRC [10:21:27] *** tris has quit IRC [10:35:46] *** tris has joined #bittorrent [10:36:17] *** lioux_ is now known as lioux [10:37:17] *** goussx_ has joined #bittorrent [10:53:27] *** goussx has quit IRC [10:53:27] *** goussx_ is now known as goussx [11:11:59] *** cyb2063 has joined #bittorrent [11:42:11] *** bbelt16ag has quit IRC [11:46:01] *** bbelt16ag has joined #bittorrent [12:02:34] *** Elrohir has joined #bittorrent [12:06:24] *** Elrohir has quit IRC [12:12:13] *** bbelt16ag has quit IRC [12:18:54] *** GTHK has quit IRC [13:00:43] *** lioux_ has joined #bittorrent [13:04:22] *** bt42 has joined #bittorrent [13:15:13] *** bittwist has quit IRC [13:18:48] *** lioux has quit IRC [13:28:07] *** L337hium has joined #bittorrent [13:28:10] *** mxs_ has quit IRC [13:38:49] *** mxs has joined #bittorrent [13:43:18] *** ajaya has quit IRC [13:44:21] *** ajaya has joined #bittorrent [13:45:18] *** ajaya has quit IRC [13:56:37] *** bbelt16ag has joined #bittorrent [14:02:40] *** bbelt16ag has quit IRC [14:18:06] *** MassaRoddel has quit IRC [14:47:11] <The_8472> charles, ETA of 1.8? [15:06:13] *** L337hium has quit IRC [15:56:20] *** waldorf_ has joined #bittorrent [16:15:34] *** Elrohir has joined #bittorrent [16:29:04] *** dojo has joined #bittorrent [16:29:40] <dojo> does anyone know of a good lightweight client with a small footprint (like utorrent) that lets you ban hosts? [16:32:12] <dojo> k cool im sure you are all busy [16:32:14] *** dojo has left #bittorrent [16:37:44] <Andrius> no, we're just waiting 5 minutes before answering to let you leave so that we don't have to answer at all [17:04:17] *** andar2 has joined #bittorrent [17:08:14] *** MassaRoddel has joined #bittorrent [17:41:48] *** cyb2063 has quit IRC [17:46:16] *** KyleK_ has joined #bittorrent [18:24:54] *** The_8472 has quit IRC [18:25:15] *** wadim has joined #bittorrent [18:25:17] *** wadim is now known as The_8472 [18:32:30] *** Miller` has quit IRC [18:39:27] *** Miller` has joined #bittorrent [18:40:28] *** goussx has quit IRC [19:08:27] *** HandheldPenguin` is now known as HandheldPenguin [19:10:24] <TheSHAD0W> http://www.computerworld.com/s/article/9140561/Home_networking_How_to_avoid_traffic_jams?taxonomyId=12 [19:10:46] <TheSHAD0W> FARK headline: "How to keep your kids' torrents from interfering with your porn" [19:13:15] <charles> you QoS the damn kids [19:16:29] <Andrius> local peer discovery might help [19:18:37] *** ajaya has joined #bittorrent [19:20:55] *** goussx has joined #bittorrent [19:22:28] *** Gunni^ has joined #bittorrent [19:22:38] <The_8472> hahaha [19:22:40] <Gunni^> is there someone in here that can help me with some bencoding ? [19:23:09] <The_8472> why don't you just ask your actual question? [19:23:15] <Gunni^> i need to send the client a interval and a failure reason [19:24:12] <The_8472> that's not a question [19:25:17] <Gunni^> lol nvm got it [19:25:43] <Gunni^> d8:intervali86400e15:warning message18:Down: site is down5:peerslee [19:26:31] <The_8472> you can do that. nobody will ever see that message though [19:26:39] <Gunni^> yes they will :) [19:26:45] *** Elrohir has quit IRC [19:26:48] <Gunni^> and their clients stop spamming my server [19:27:09] <The_8472> clients don't prase "warning message", thus they won't display it [19:28:01] [19:28:07] <Gunni^> i see it in my client [19:28:08] <TheSHAD0W> Some clients support "warning message". Mine does. [19:28:26] <The_8472> hrmpf, and why did nobody add it to bep3? [19:28:38] <TheSHAD0W> ... [19:28:40] <Gunni^> also with the warning i can make it use the interval [19:28:54] <TheSHAD0W> Because I added it to my client before the BEP system was introduced? :-) [19:28:57] <The_8472> you also might want to set the min_interval [19:29:17] <The_8472> well,it's the first timei hear about it [19:29:25] <TheSHAD0W> Sorry. [19:29:32] <Gunni^> http://wiki.theory.org/BitTorrentSpecification#Tracker_Response [19:29:36] <Gunni^> its all there [19:29:42] <The_8472> that's not the official spec you know [19:29:46] <The_8472> http://bittorrent.org/beps/bep_0000.html [19:30:37] <The_8472> but i retract my earlier statement then [19:30:55] <The_8472> though i think clients also parse interval/min_interval on failure reason [19:31:16] <The_8472> at least some do ^^ [19:31:16] <TheSHAD0W> Checking back, it dates from S-5.8.x. [20:44:51] *** TheSHAD0W is now known as BoredSHAD0W [21:34:11] *** bt42 has quit IRC [22:00:17] *** HandheldPenguin is now known as HandheldPenguin` [22:07:26] *** Elrohir has joined #bittorrent [22:10:22] *** BoredSHAD0W is now known as TheSHAD0W [22:26:31] *** bittwist has joined #bittorrent [23:14:50] *** deltab has quit IRC [23:32:09] *** Elrohir has quit IRC [23:55:07] *** Switeck has joined #bittorrent