2014-07-17 00:01 wolfspraul has joined #qi-hardware 2014-07-17 00:02 wolfspraul: downloads.qi-hardware.com has amnesia again :( (volume not mounted) 2014-07-17 00:04 heh. i have root there ! fixed ;-) 2014-07-17 00:20 dandon has joined #qi-hardware 2014-07-17 00:29 pcercuei has quit [Quit: dodo] 2014-07-17 03:42 Textmode has joined #qi-hardware 2014-07-17 05:23 nicksydney has joined #qi-hardware 2014-07-17 06:30 dandon_ has joined #qi-hardware 2014-07-17 06:33 kanzure_ has joined #qi-hardware 2014-07-17 06:33 qi-bot6 has joined #qi-hardware 2014-07-17 06:34 idundidit has quit [Ping timeout: 240 seconds] 2014-07-17 06:34 kanzure has quit [Ping timeout: 240 seconds] 2014-07-17 06:34 wpwrak has quit [Ping timeout: 240 seconds] 2014-07-17 06:34 jow_lapt1p has joined #qi-hardware 2014-07-17 06:34 dandon has quit [Ping timeout: 240 seconds] 2014-07-17 06:34 jow_laptop has quit [Ping timeout: 240 seconds] 2014-07-17 06:34 qi-bot has quit [Ping timeout: 240 seconds] 2014-07-17 06:34 zear has quit [Ping timeout: 240 seconds] 2014-07-17 06:34 dandon_ is now known as dandon 2014-07-17 06:34 wpwrak has joined #qi-hardware 2014-07-17 06:35 idundidit has joined #qi-hardware 2014-07-17 06:36 zear has joined #qi-hardware 2014-07-17 06:36 qi-bot6 is now known as qi-bot 2014-07-17 06:57 wej_ has joined #qi-hardware 2014-07-17 07:00 wej has quit [Ping timeout: 250 seconds] 2014-07-17 07:01 jekhor has joined #qi-hardware 2014-07-17 07:09 xiangfu has joined #qi-hardware 2014-07-17 07:22 haha :-) 2014-07-17 07:26 two functions in the kernel, round_down() and rounddown() both behave differently... 2014-07-17 07:31 different results or different algorithms? 2014-07-17 07:31 if the results are different, i would argue that one of these functions is incorrect :) 2014-07-17 07:33 one of them only works correctly when the divisor is a power of two 2014-07-17 07:33 but now try to rememeber which is which 2014-07-17 07:33 and then there is also ALIGN() 2014-07-17 07:33 which does the same, but also only works with a power of two 2014-07-17 07:35 talking about quality in linux kernel.. 2014-07-17 07:36 I've given up on that long time ago ;) 2014-07-17 07:36 the 'good' news is the BSDs which pride themselves in quality are usually worse 2014-07-17 07:38 yea, now that I'm using the right function my driver works again 2014-07-17 07:39 i suppose that they may pay more attention to quality, but then they just have fewer eyes to look at their code.. So despite that there is no "real" quality control in linux development, there are more eyes (like yours) that catch things that don't suppose to happen 2014-07-17 07:39 are you going to bug report this? :) 2014-07-17 07:41 fixing this will take some time, but a quick grep revealed that there are other places that use round_down with non-power-of-twos 2014-07-17 07:44 ..and probably rely on incorrect behaviour 2014-07-17 07:51 sometimes the incorrect behaviour just goes unoticed. e.g. in my case the divisor could be 4 or 3, if it was 4 everything works fine 2014-07-17 07:53 (( yea, now that I'm using the right function my driver works again)) hehe :-) 2014-07-17 07:54 guys, read this http://lists.infradead.org/pipermail/barebox/2014-July/020065.html 2014-07-17 07:54 round_up/round_down are optimized to (and only work with) 2014-07-17 07:54 power-of-2 arguments. 2014-07-17 07:55 yep, that's what I'd expect, hearing the story above 2014-07-17 07:55 oh, so it's "documented"! 2014-07-17 07:56 very well :) 2014-07-17 07:56 note: that's not the linux kernel :-) 2014-07-17 07:56 and a general rule: never replace a function in a lib or kernel, particularly not with a "bugfixed" version. Somebody might rely and depend on that particular bug 2014-07-17 07:57 kyak: It is documented for barebox 2014-07-17 07:57 not in the kernel 2014-07-17 07:58 in the kernel also 2014-07-17 07:58 include/linux/kernel.h 2014-07-17 07:59 https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/linux/kernel.h?id=refs/tags/v3.16-rc5#n56 2014-07-17 08:00 barebox adapt kernel driver interface, so it's mostly copy&paste do add a new driver to the bootloader 2014-07-17 08:00 but barebox has no irq framework :/ 2014-07-17 08:01 the implementation of round_* is interesting. How does it work? 2014-07-17 08:01 power-of to are always 1 and followed by many zeros 2014-07-17 08:02 so you get a mask if you substract one 2014-07-17 08:02 and then do a little bit magic :/ 2014-07-17 08:03 let me think about it :) 2014-07-17 08:03 I mean, all 4 divided numbers are 0xXXXXX4 2014-07-17 08:03 and all 0x400 divided numbers are 0xXXXX400 2014-07-17 08:03 and all POWER_OF_TWO divided numbers are 0xXXXXPOWER_OF_TWO 2014-07-17 08:04 something like that 2014-07-17 08:04 * eintopf can't explain it 2014-07-17 08:04 kyak: round_down() basically set the ilog2(n) lower bits in the word to zero 2014-07-17 08:04 round_up() sets them to one and then adds one 2014-07-17 08:06 round_up is a bit ineffcient though, it uses 3 arithmetic instructions while it can be done in two 2014-07-17 08:06 larsc: send-patches 2014-07-17 08:06 maybe 2014-07-17 08:07 ok, i take 2^3 = 8 (1000) for example as y. Then y-1 is 0111. ~(y-1) is 1000 (that is, y) - so what's the point? 2014-07-17 08:08 kyak: it is ...111111111000 2014-07-17 08:08 ah.. you are ight.. because it is casted to type of x? 2014-07-17 08:09 ~ is xor 2014-07-17 08:09 no 2014-07-17 08:09 it's not 2014-07-17 08:09 it's 'not' 2014-07-17 08:10 kyak: ~ inverts all bits in the word 2014-07-17 08:10 yes :-) 2014-07-17 08:10 that's not xor 2014-07-17 08:10 yes :( 2014-07-17 08:11 I mean it's like setting register bits reg &= ~(foo) 2014-07-17 08:11 yep, so the word is type of x in this case, not type of y, therefore we get extra "ones" 2014-07-17 08:11 ehm, clearing register bits 2014-07-17 08:12 kyak: by default in C the type of 8 is int 2014-07-17 08:13 so ~(8-1) != 8, even without a typecast 2014-07-17 08:14 right, but what about uint4_t a=8; ~(a-1) ? :) 2014-07-17 08:14 4= 0x100, next larger power of 2 is 8= 0x1000. So all < 8 = 5,6, 7 become 4 on round down. 0x101, 0x110 and 0x111 -> 0x100 2014-07-17 08:15 i have a feeling there should be an easier way to zero down the set amount of lower bits... 2014-07-17 08:15 8 = 0x1000 -1= 0x111, mask lower 1s: 0x100; 0x100 & 0x1xx -> 0x100 2014-07-17 08:17 some CPUs even have an opcode for this 2014-07-17 08:18 for rounding down to nearest power of two? 2014-07-17 08:18 wait, that raises a question 2014-07-17 08:19 why would anyone require the second argument, y? 2014-07-17 08:19 it's not the nearest power of two 2014-07-17 08:19 what is the use case of rounding down to an arbitraty powwer of two? 2014-07-17 08:19 it's the power of two you specify for y 2014-07-17 08:20 could it be that the sole reason of argument y is because it is used in calculations? 2014-07-17 08:21 e.g. if you hardware is only able to process objects which size is a multiple of a certain power of two 2014-07-17 08:24 err sorry. I actually don't get it what "round down X to 2^n" is useful for. Isn't the result always 2^n unless X < 2^n? 2014-07-17 08:24 ok, i see. But if you round down "further away" than the nearest power of two, you are loosing to much information. It would mean that your implementation is probably wronf 2014-07-17 08:25 you might as well just always output that required power of two and not calculate anything :) 2014-07-17 08:25 my point 2014-07-17 08:26 unless X < 2^n# 2014-07-17 08:26 -# 2014-07-17 08:26 my guess is that the 'y' is an argument because it is used to calculate the mask 2014-07-17 08:27 so round_down is actually a range limiting aka clipping function 2014-07-17 08:27 and than my another point that there should be an easier implemention of round_down 2014-07-17 08:27 without requiring y and round to nearest power of two 2014-07-17 08:27 for a 16bit argument X make sure it's 0< X<2^n 2014-07-17 08:28 yep 2014-07-17 08:28 it should be called range_lim 2014-07-17 08:28 or whatever 2014-07-17 08:28 with n anything between 15 and 1 2014-07-17 08:29 err 15 and 0 actually 2014-07-17 08:29 kyak: exactly 2014-07-17 08:30 for a round_down I'd expect 5->4 and 3->2 2014-07-17 08:30 really the question is whether this behaviour is intended by round_down() authors or it is just an effect of their implementation 2014-07-17 08:31 actually 7,6,5->4 2014-07-17 08:32 clipping functions are widely used, and as I said are available as opcode in several ISA 2014-07-17 08:32 :o 2014-07-17 08:33 jow_lapt1p is now known as jow_laptop 2014-07-17 08:33 can't recall the usual name of c/whatever high level language of that function 2014-07-17 08:33 it's prolly not max() 2014-07-17 08:35 language name of that function. Pardon my french 2014-07-17 08:35 i wonder how round_down() would behave if we supply y > x... 2014-07-17 08:35 returns 0 2014-07-17 08:35 as it should 2014-07-17 08:36 * eintopf used round_down() in some kernel code 2014-07-17 08:36 anyway, i conclude that this function is weird :) 2014-07-17 08:36 eintopf: do you use it to round down to nearest power of two or to arbitraty power of two? 2014-07-17 08:36 I guess usually the compiler converts that functio (let's call it max(x, y) ) into code rather than a function call 2014-07-17 08:37 and the question is - how do you know what's that 'nearest' in advance? 2014-07-17 08:38 but actually I wonder how compiler would know that y is always a power of 2 so it can create optinized code 2014-07-17 08:38 I use it for the nearest 2014-07-17 08:38 to use this function, the developer must know in advance the value he wants to round down to.. that's weird 2014-07-17 08:38 some RFC payload attributes use the nearest divide by 8 2014-07-17 08:39 kyak: the value you want to round down to is your upper limit of range 2014-07-17 08:39 kyak: round_down() returns the nearest value that is smaller or equal to x and is also a multiple of y 2014-07-17 08:40 e.g. clip values calculated in a 32bit register to 16bit 2014-07-17 08:40 or 15 bit when the target is a signed int16 2014-07-17 08:40 DocScrutinizer05: that would be clamp() 2014-07-17 08:41 sounds good 2014-07-17 08:41 aiui round_down is doing exactly that 2014-07-17 08:41 ok, it's more clear now 2014-07-17 08:42 actually a clamp diode does exactly that for a voltage on an input pin :-) 2014-07-17 08:43 DocScrutinizer05: round_down() does something else 2014-07-17 08:43 then I didn't get the explanation what round_down is doing 2014-07-17 08:44 round_down(x, y) return a value z for which x >= z > x-y and z is a multiple of y 2014-07-17 08:44 ooh 2014-07-17 08:44 thanks! 2014-07-17 08:45 round_up(x, y) return a value z for which x <= z < x+y and z is a multiple of y 2014-07-17 08:46 jekhor has quit [Ping timeout: 256 seconds] 2014-07-17 08:46 that makes sense 2014-07-17 08:47 though for y=2^n... 2014-07-17 08:49 pcercuei has joined #qi-hardware 2014-07-17 08:51 I can't find a non-negative value x for arbitrary y=2^n where round_down(x, 2^n) is _not_ identical to clip(x, 2^n) 2014-07-17 08:52 maybe lack of coffee 2014-07-17 08:53 send patches, somebody of the global review will scream if it's not identical 2014-07-17 08:53 err clamp 2014-07-17 08:53 :-) 2014-07-17 08:53 DocScrutinizer05: x=5 y=2 2014-07-17 08:54 round_down(5, 2) = 4 2014-07-17 08:54 clamp(5,2) = 2 2014-07-17 08:54 lack of coffee, evidently 2014-07-17 08:54 thanks, and sorry for the noise 2014-07-17 08:58 ok, to correct myself: I never seen round_down() in any ISA 2014-07-17 08:59 if y is a constant the compiler will internally compute ~(y - 1) so the whole operation boils down to a simple and 2014-07-17 09:00 :nod: 2014-07-17 09:00 * DocScrutinizer05 ponders more coffee 2014-07-17 09:01 maybe I'm simply over the top with coffee, and rather need a walk and sth to eat 2014-07-17 09:09 nicksydney has quit [Remote host closed the connection] 2014-07-17 09:14 xiangfu has quit [Remote host closed the connection] 2014-07-17 09:42 jekhor has joined #qi-hardware 2014-07-17 09:49 round_down(56,8) is 56 2014-07-17 09:49 now i'm confused again 2014-07-17 09:50 ah, because 56 is multiple of 8 2014-07-17 09:52 Textmode has quit [Quit: "It was one dev, naked in a room with a carton of cigarettes, a thermos full of coffee and bourbon, and all his summoned angels."] 2014-07-17 09:53 or, in other words, 56 already has it's 3 lower bits cleared 2014-07-17 09:53 larsc: what's your use case for this function? 2014-07-17 09:56 only reading whole data sets from a sample fifo 2014-07-17 09:56 in the fifo I have X,Y and Z data 2014-07-17 09:56 and I want to make sure that I only read complete sets of data 2014-07-17 09:57 so I read the number of samples in the fifo and then rounddown() to the nearest multiple of 3 2014-07-17 09:58 i see, so you only grab XYZ, XYZ, XYZ. But what happens to the remaining X or XY, if they are in fifo? 2014-07-17 09:58 i mean, do you discard those samples by rounding? 2014-07-17 10:05 jekhor has quit [Ping timeout: 250 seconds] 2014-07-17 10:06 linux.h is a treasury of things like that :) 2014-07-17 10:06 jekhor has joined #qi-hardware 2014-07-17 10:06 why the hell they need a do-while loop in swap()? 2014-07-17 10:07 maybe because to turn off compiler optimization 2014-07-17 10:07 if it's a do { } while (0); 2014-07-17 10:08 yes , so the while loop basically doesn't exist 2014-07-17 10:09 what would compiler try to optimize here and what would be the consequences of this optimization? 2014-07-17 10:09 it's not optimization 2014-07-17 10:09 it's more turn off compiler weird things :-) 2014-07-17 10:10 I don't know it exactly 2014-07-17 10:10 i can only hope that they know :) 2014-07-17 10:10 maybe generate assembler code 2014-07-17 10:10 with and without 2014-07-17 10:10 then you know more 2014-07-17 10:10 there are separate macros for max and max3 (for three arguments), and same for min/min3. Wouldn't it be possible to create a universal macro for any number of arguments? 2014-07-17 10:11 eintopf: or maybe just a line of comment in source code would help. Maybe this is some stupid workaround for gcc v 1.0 2014-07-17 10:11 i am not a compiler expert, sry 2014-07-17 10:12 99.99% of people aren't. So leave a sensible comment, god damn them 2014-07-17 10:12 comment is the code :-) 2014-07-17 10:12 :X 2014-07-17 10:13 min_not_zero - return the minimum that is _not_ zero, unless both are zero 2014-07-17 10:13 oh, common! 2014-07-17 10:13 are they going to come up with a separate function for every unpossible use case? 2014-07-17 10:13 like the family of clamp_* functions 2014-07-17 10:14 actually, i have troubles understanding this phrase even in human language "minimum that is _not_ zero, unless both are zero" 2014-07-17 10:14 this requires some thinking :) 2014-07-17 10:15 and i imaging one day i would require such function, and then i would have no fucking clue that such exists in priceless linux.h 2014-07-17 10:24 it is acutally a quite useful function which helps to eliminate a lot of boilderplate code 2014-07-17 10:25 it is not that rare that for settings where 0 does not make sense it is regarded as infinity 2014-07-17 10:27 but this function can still return 0, despite of it's name 2014-07-17 10:28 and despite that you treat 0 as infinity 2014-07-17 10:28 only if both a and b is 0 2014-07-17 10:28 yes, sure 2014-07-17 10:28 which is correct 2014-07-17 10:28 min_zero_is_infitiy() is a guly name ;) 2014-07-17 10:28 min_but_zero_counts_as_infinity() 2014-07-17 10:28 anyway, i'm just too far away from this.. if you say it's useful, i trust you :) 2014-07-17 10:30 min_not_zero_except_both_zeros() 2014-07-17 10:30 --) 2014-07-17 10:32 larsc: so what happens to data in fifo that didn't fit into your multiple of three series? 2014-07-17 10:33 also, would it be possible to just read() from fifo in series of three? 2014-07-17 10:37 12:06 < kyak> why the hell they need a do-while loop in swap()? < http://kernelnewbies.org/FAQ/DoWhile0 2014-07-17 10:40 ysionneau: oh, thanks@ 2014-07-17 10:41 kyak: the data stays in the fifo until a full set is available 2014-07-17 10:42 Jay7 has quit [Ping timeout: 240 seconds] 2014-07-17 10:45 larsc: but if you've already read the data from fifo (including the incomplete set), how do you put it back in fifo? 2014-07-17 10:45 I read the number of samples from the hardware 2014-07-17 10:45 then round that down to the nearest multiple of three 2014-07-17 10:45 and read that many samples from the fifo 2014-07-17 10:45 ok, i got it 2014-07-17 10:51 (( i mean, do you discard those samples by rounding?)) those stay in FIFO for next time 2014-07-17 10:51 yep, that's clear now 2014-07-17 10:54 oops, seen larsc answered it a few lines up 2014-07-17 10:54 he did :) 2014-07-17 10:55 Jay7 has joined #qi-hardware 2014-07-17 10:55 a FIFO usually implemented as ring buffer, with a pointer to data start and one to data end 2014-07-17 10:56 you fill the FIFO by incrementing pointer to end, and after reading n from pointer to start, you increment the pointer to start accordingly 2014-07-17 11:00 hw does same 2014-07-17 11:49 jekhor has quit [Read error: Connection reset by peer] 2014-07-17 12:04 jekhor has joined #qi-hardware 2014-07-17 12:09 jekhor has quit [Ping timeout: 256 seconds] 2014-07-17 12:21 jekhor has joined #qi-hardware 2014-07-17 14:52 jekhor_ has joined #qi-hardware 2014-07-17 14:52 jekhor has quit [Read error: Connection reset by peer] 2014-07-17 14:57 jow_lapt1p has joined #qi-hardware 2014-07-17 15:02 jow_laptop has quit [*.net *.split] 2014-07-17 15:46 rz2k has joined #qi-hardware 2014-07-17 16:04 jekhor has joined #qi-hardware 2014-07-17 16:05 jekhor_ has quit [Ping timeout: 250 seconds] 2014-07-17 16:11 jekhor has quit [Ping timeout: 245 seconds] 2014-07-17 16:12 jow_lapt1p has quit [Ping timeout: 264 seconds] 2014-07-17 16:41 jow_laptop has joined #qi-hardware 2014-07-17 17:32 wej_ has quit [Ping timeout: 245 seconds] 2014-07-17 17:38 wej has joined #qi-hardware 2014-07-17 17:58 qwebirc49265 has joined #qi-hardware 2014-07-17 17:59 wolfspraul has quit [Ping timeout: 264 seconds] 2014-07-17 18:03 qwebirc49265 has quit [Ping timeout: 246 seconds] 2014-07-17 18:27 wolfspraul has joined #qi-hardware 2014-07-17 18:30 pcercuei has quit [Quit: leaving] 2014-07-17 19:11 pcercuei has joined #qi-hardware 2014-07-17 21:02 newcup has joined #qi-hardware 2014-07-17 22:44 Textmode has joined #qi-hardware 2014-07-17 22:51 pcercuei has quit [*.net *.split] 2014-07-17 22:51 wolfspraul has quit [*.net *.split] 2014-07-17 22:51 rozzin has quit [*.net *.split] 2014-07-17 22:51 uwe_mobile has quit [*.net *.split] 2014-07-17 22:52 Textmode has quit [*.net *.split] 2014-07-17 22:52 zear has quit [*.net *.split] 2014-07-17 22:52 tumdedum has quit [*.net *.split] 2014-07-17 22:52 Ornotermes has quit [*.net *.split] 2014-07-17 22:52 apelete has quit [*.net *.split] 2014-07-17 22:52 DocScrutinizer05 has quit [*.net *.split] 2014-07-17 22:52 DocScrutinizer51 has quit [*.net *.split] 2014-07-17 22:52 ysionneau has quit [*.net *.split] 2014-07-17 22:52 rz2k has quit [*.net *.split] 2014-07-17 22:52 newcup has quit [*.net *.split] 2014-07-17 22:52 dos1 has quit [*.net *.split] 2014-07-17 22:52 rodgort has quit [*.net *.split] 2014-07-17 22:52 jow_laptop has quit [*.net *.split] 2014-07-17 22:52 qi-bot has quit [*.net *.split] 2014-07-17 22:52 Guest53419 has quit [*.net *.split] 2014-07-17 22:52 hozer has quit [*.net *.split] 2014-07-17 22:52 kyak has quit [*.net *.split] 2014-07-17 22:52 uwe_ has quit [*.net *.split] 2014-07-17 22:52 panda|z has quit [*.net *.split] 2014-07-17 22:52 lindi- has quit [*.net *.split] 2014-07-17 22:52 roh has quit [*.net *.split] 2014-07-17 22:52 eintopf has quit [*.net *.split] 2014-07-17 22:52 freespace has quit [*.net *.split] 2014-07-17 22:52 whitequark has quit [*.net *.split] 2014-07-17 22:52 mirko has quit [*.net *.split] 2014-07-17 22:52 ChanServ has quit [*.net *.split] 2014-07-17 22:52 wej has quit [*.net *.split] 2014-07-17 22:52 idundidit has quit [*.net *.split] 2014-07-17 22:52 larsc has quit [*.net *.split] 2014-07-17 22:52 dandon has quit [*.net *.split] 2014-07-17 22:52 Luke-Jr has quit [*.net *.split] 2014-07-17 22:52 kanzure_ has quit [*.net *.split] 2014-07-17 22:52 mth has quit [*.net *.split] 2014-07-17 22:52 porchao has quit [*.net *.split] 2014-07-17 22:52 woakas has quit [*.net *.split] 2014-07-17 22:53 newcup has joined #qi-hardware 2014-07-17 22:53 jow_laptop has joined #qi-hardware 2014-07-17 22:53 Textmode has joined #qi-hardware 2014-07-17 22:53 wej has joined #qi-hardware 2014-07-17 22:53 kanzure_ has joined #qi-hardware 2014-07-17 22:53 qi-bot has joined #qi-hardware 2014-07-17 22:53 zear has joined #qi-hardware 2014-07-17 22:53 rz2k has joined #qi-hardware 2014-07-17 22:53 mth has joined #qi-hardware 2014-07-17 22:53 dandon has joined #qi-hardware 2014-07-17 22:53 idundidit has joined #qi-hardware 2014-07-17 22:53 lindi- has joined #qi-hardware 2014-07-17 22:53 Luke-Jr has joined #qi-hardware 2014-07-17 22:53 hozer has joined #qi-hardware 2014-07-17 22:53 Guest53419 has joined #qi-hardware 2014-07-17 22:53 panda|z has joined #qi-hardware 2014-07-17 22:53 uwe_ has joined #qi-hardware 2014-07-17 22:53 kyak has joined #qi-hardware 2014-07-17 22:53 dos1 has joined #qi-hardware 2014-07-17 22:53 rodgort has joined #qi-hardware 2014-07-17 22:53 mirko has joined #qi-hardware 2014-07-17 22:53 whitequark has joined #qi-hardware 2014-07-17 22:53 freespace has joined #qi-hardware 2014-07-17 22:53 eintopf has joined #qi-hardware 2014-07-17 22:53 roh has joined #qi-hardware 2014-07-17 22:53 porchao has joined #qi-hardware 2014-07-17 22:53 larsc has joined #qi-hardware 2014-07-17 22:53 ChanServ has joined #qi-hardware 2014-07-17 22:53 apelete has joined #qi-hardware 2014-07-17 22:53 ysionneau has joined #qi-hardware 2014-07-17 22:53 DocScrutinizer05 has joined #qi-hardware 2014-07-17 22:53 DocScrutinizer51 has joined #qi-hardware 2014-07-17 22:53 tumdedum has joined #qi-hardware 2014-07-17 22:53 woakas has joined #qi-hardware 2014-07-17 22:53 Ornotermes has joined #qi-hardware 2014-07-17 22:53 pcercuei has joined #qi-hardware 2014-07-17 22:53 wolfspraul has joined #qi-hardware 2014-07-17 22:53 uwe_mobile has joined #qi-hardware 2014-07-17 22:53 rozzin has joined #qi-hardware 2014-07-17 22:54 dandon has quit [*.net *.split] 2014-07-17 22:54 Luke-Jr has quit [*.net *.split] 2014-07-17 22:55 kanzure_ has quit [*.net *.split] 2014-07-17 22:55 mth has quit [*.net *.split] 2014-07-17 22:55 porchao has quit [*.net *.split] 2014-07-17 22:55 woakas has quit [*.net *.split] 2014-07-17 22:55 dos1 has quit [Read error: Connection reset by peer] 2014-07-17 22:55 dandon has joined #qi-hardware 2014-07-17 22:55 Luke-Jr has joined #qi-hardware 2014-07-17 22:56 kanzure_ has joined #qi-hardware 2014-07-17 22:56 mth has joined #qi-hardware 2014-07-17 22:56 woakas has joined #qi-hardware 2014-07-17 22:56 porchao has joined #qi-hardware 2014-07-17 22:58 jow_lapt1p has joined #qi-hardware 2014-07-17 22:58 jow_laptop has quit [Write error: Broken pipe] 2014-07-17 23:08 dos1 has joined #qi-hardware 2014-07-17 23:42 nicksydney has joined #qi-hardware 2014-07-17 23:57 pcercuei has quit [Quit: dodo] 2014-07-17 23:57 wolfspraul has quit [Ping timeout: 245 seconds] 2014-07-17 23:59 wolfspraul has joined #qi-hardware