November 30, 2009  
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30


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

top