01:50 < JulianAssange> heinrich5991: how did you find out who commited that dead code ? 01:50 < JulianAssange> heinrich5991: how did you find out who commited that dead code ? 01:50 01:50 < heinrich5991> JulianAssange: there's git blame< heinrich5991> JulianAssange: there's git blame 01:51 01:51 < heinrich5991> that can display who changed what last < heinrich5991> that can display who changed what last 01:51 01:51 < JulianAssange> ye i am reading it now< JulianAssange> ye i am reading it now 01:51 01:51 < heinrich5991> and then there's tig blame which has a nicer interface< heinrich5991> and then there's tig blame which has a nicer interface 01:51 01:51 < JulianAssange> but it is hard< JulianAssange> but it is hard 01:51 01:51 < heinrich5991> `tig` is a nice interface for some git commands< heinrich5991> `tig` is a nice interface for some git commands 01:52 01:52 < JulianAssange> o nvm< JulianAssange> o nvm 01:52 < JulianAssange> no wonder it wasn't working 01:52 < JulianAssange> no wonder it wasn't working 01:52 < JulianAssange> i only had --depth 1 when i cloned 01:52 < JulianAssange> i only had --depth 1 when i cloned 14:39 <@minus> rust has so many things done properly in comparison to C(++), like the whole preprocessor/include/ifdef stuff 14:39 <@minus> rust has so many things done properly in comparison to C(++), like the whole preprocessor/include/ifdef stuff 14:40 14:40 < heinrich5991> minus: still rust does so many things not good enough :(< heinrich5991> minus: still rust does so many things not good enough :( 14:40 14:40 <@minus> like?<@minus> like? 14:41 14:41 < heinrich5991> minus: like type parametrization via values< heinrich5991> minus: like type parametrization via values 14:42 14:42 < heinrich5991> or opening a udp socket non-blocking< heinrich5991> or opening a udp socket non-blocking 14:42 14:42 < EastByte> ^< EastByte> ^ 14:42 14:42 <@minus> that sounds bad<@minus> that sounds bad 14:43 14:43 < heinrich5991> (both seem to be impossible)< heinrich5991> (both seem to be impossible) 14:43 14:43 <@minus> it also didn't have coroutines, did it?<@minus> it also didn't have coroutines, did it? 14:43 14:43 < heinrich5991> I guess this could be a 'why do you need coroutines, iterators should suffice'< heinrich5991> I guess this could be a 'why do you need coroutines, iterators should suffice' 14:44 14:44 < heinrich5991> but that leads to another issue: there's mostly strong iterator support, but `yield` support isn't there< heinrich5991> but that leads to another issue: there's mostly strong iterator support, but `yield` support isn't there 14:44 14:44 <@minus> coroutines != generators<@minus> coroutines != generators 14:45 14:45 <@minus> coroutines can yield thread control, not just yielding control to the previous scope<@minus> coroutines can yield thread control, not just yielding control to the previous scope 14:45 14:45 < heinrich5991> well, what do you mean by coroutines then?< heinrich5991> well, what do you mean by coroutines then? 14:45 14:45 <@minus> microthreads<@minus> microthreads 14:45 14:45 < heinrich5991> you can have two threads and a channel in between< heinrich5991> you can have two threads and a channel in between 14:45 14:45 < heinrich5991> well no, that's not there< heinrich5991> well no, that's not there 14:45 14:45 < heinrich5991> there's only threads< heinrich5991> there's only threads 14:46 14:46 < heinrich5991> that was a trade-off – either fast C interaction or fast microthreads< heinrich5991> that was a trade-off – either fast C interaction or fast microthreads 14:47 14:47 <@minus> i still haven't seen anything remotely as well-working as twisted's inlineCallbacks decorator<@minus> i still haven't seen anything remotely as well-working as twisted's inlineCallbacks decorator 14:47 14:47 < heinrich5991> that would be `yield` support< heinrich5991> that would be `yield` support 14:48 14:48 < heinrich5991> it's possible to write that by hand< heinrich5991> it's possible to write that by hand 14:48 14:48 < heinrich5991> but it's a PITA< heinrich5991> but it's a PITA 14:48 14:48 <@minus> i'll look into what it can do<@minus> i'll look into what it can do 14:48 < heinrich5991> by PITA I mean you only want to generate the code 14:48 < heinrich5991> by PITA I mean you only want to generate the code 14:49 14:49 < heinrich5991> see e.g.:< heinrich5991> see e.g.: 14:49 14:49 <@minus> the most mindfucking implementation i've seen is python's asyncio<@minus> the most mindfucking implementation i've seen is python's asyncio 14:49 14:49 < heinrich5991> http://ix.io/9Qs< heinrich5991> http://ix.io/9Qs 14:49 14:49 < heinrich5991> minus: the actual code is in the state1_recv and state2_loop< heinrich5991> minus: the actual code is in the state1_recv and state2_loop 14:49 14:49 <@minus> urgh<@minus> urgh 14:51 14:51 <@minus> that looks very unreadable<@minus> that looks very unreadable 14:51 14:51 < heinrich5991> indeed< heinrich5991> indeed 15:10 15:10 <@minus> impl BlackBox { this looks weird<@minus> impl BlackBox { this looks weird 15:11 15:11 <@minus> digging through rustbyexample.com<@minus> digging through rustbyexample.com 15:18 15:18 < heinrich5991> minus: what looks weird there?< heinrich5991> minus: what looks weird there? 15:18 15:18 < heinrich5991> the impl?< heinrich5991> the impl? 15:18 15:18 < heinrich5991> the structure?< heinrich5991> the structure? 15:19 15:19 <@minus> http://rustbyexample.com/structs/visibility.html<@minus> http://rustbyexample.com/structs/visibility.html 15:19 < heinrich5991> what part looks weird? 15:19 < heinrich5991> what part looks weird? 15:20 15:20 < heinrich5991> (I grow accustomed to rust's syntax, so barely anything looks weird)< heinrich5991> (I grow accustomed to rust's syntax, so barely anything looks weird) 15:20 < heinrich5991> *grew 15:20 < heinrich5991> *grew 15:20 15:20 <@minus> BlackBox is a struct type and a set of functions that operate on it?<@minus> BlackBox is a struct type and a set of functions that operate on it? 15:21 15:21 <@minus> a bit suprising that that is split<@minus> a bit suprising that that is split 15:21 15:21 < heinrich5991> structures are just structures in rust< heinrich5991> structures are just structures in rust 15:22 < heinrich5991> you can implement functions on them 15:22 < heinrich5991> you can implement functions on them 15:22 15:22 < heinrich5991> even in different modules< heinrich5991> even in different modules 15:25 15:25 < k00mi> I think it's a nice way to do namespacing without OOP< k00mi> I think it's a nice way to do namespacing without OOP 15:26 15:26 <@minus> all this implicit `const` is so nice<@minus> all this implicit `const` is so nice 15:27 < heinrich5991> yea 15:27 < heinrich5991> yea 15:28 15:28 < heinrich5991> there's some really good things in Rust< heinrich5991> there's some really good things in Rust 15:30 < heinrich5991> algebraic data types. slices. traits. implicit const. ability to add functions to not-owned structs. file-level privacy. 15:30 < heinrich5991> algebraic data types. slices. traits. implicit const. ability to add functions to not-owned structs. file-level privacy. 15:31 15:31 < k00mi> heinrich5991: what did you mean by "type parametrization via values"?< k00mi> heinrich5991: what did you mean by "type parametrization via values"? 15:31 15:31 < k00mi> depndent types?< k00mi> depndent types? 15:31 15:31 < heinrich5991> struct Buffer { buf: [u8, ..len]; }< heinrich5991> struct Buffer { buf: [u8, ..len]; } 15:31 15:31 < heinrich5991> this stops really much< heinrich5991> this stops really much 15:31 15:31 < heinrich5991> that has to do with no-allocation programming< heinrich5991> that has to do with no-allocation programming 15:32 15:32 < heinrich5991> and basically all array abstractions are hardcoded for the sizes 0,1,2,3,...,32 via macros< heinrich5991> and basically all array abstractions are hardcoded for the sizes 0,1,2,3,...,32 via macros 15:32 15:32 <@minus> huh<@minus> huh 15:33 15:33 < heinrich5991> "huh"? :)< heinrich5991> "huh"? :) 15:33 15:33 < k00mi> yeah, that's a dependent type (if you have a sane type system like rust does) and it's an open research problem to design a practical languages with such a powerful type system< k00mi> yeah, that's a dependent type (if you have a sane type system like rust does) and it's an open research problem to design a practical languages with such a powerful type system 15:34 15:34 < heinrich5991> no< heinrich5991> no 15:34 15:34 < heinrich5991> well< heinrich5991> well 15:35 15:35 < heinrich5991> from my understanding dependent types are stuff like knowing in which bounds your integer is< heinrich5991> from my understanding dependent types are stuff like knowing in which bounds your integer is 15:35 15:35 < heinrich5991> and stuff like this< heinrich5991> and stuff like this 15:35 15:35 < heinrich5991> but my example is just a typical "template"< heinrich5991> but my example is just a typical "template" 15:35 15:35 < heinrich5991> this is possible in C++, and it's no problem there (?)< heinrich5991> this is possible in C++, and it's no problem there (?) 15:36 15:36 < k00mi> it's a type that depends on a value, that's what's called a dependent or phi type< k00mi> it's a type that depends on a value, that's what's called a dependent or phi type 15:36 15:36 < k00mi> yeah but rust doesn't have templates< k00mi> yeah but rust doesn't have templates 15:36 15:36 < heinrich5991> it does< heinrich5991> it does 15:36 15:36 < k00mi> it would have to be in the type system and not just textual substitution< k00mi> it would have to be in the type system and not just textual substitution 15:36 15:36 < k00mi> it has macros, yes< k00mi> it has macros, yes 15:36 15:36 < heinrich5991> struct A { b: B } works< heinrich5991> struct A { b: B } works 15:36 15:36 < k00mi> that's not a template< k00mi> that's not a template 15:37 15:37 < k00mi> that's a parametriced type/generic< k00mi> that's a parametriced type/generic 15:37 15:37 < k00mi> it's not textual substitution< k00mi> it's not textual substitution 15:37 15:37 < heinrich5991> yea, and how is that different from parametrizing via an integer?< heinrich5991> yea, and how is that different from parametrizing via an integer? 15:37 15:37 <@minus> same as templates in C++<@minus> same as templates in C++ 15:37 15:37 < k00mi> from a type-theoretic perspective it's vastly different< k00mi> from a type-theoretic perspective it's vastly different 15:38 15:38 < k00mi> because you'd have a type that depends on a value, aka a dependent type< k00mi> because you'd have a type that depends on a value, aka a dependent type 15:38 15:38 < heinrich5991> I believe you're wrong :/< heinrich5991> I believe you're wrong :/ 15:38 15:38 < k00mi> I don't ;-)< k00mi> I don't ;-) 15:39 15:39 < heinrich5991> and even if you're right< heinrich5991> and even if you're right 15:39 15:39 < heinrich5991> this is a special case that can be easily implemented< heinrich5991> this is a special case that can be easily implemented 15:39 15:39 <@minus> but: is it useful?<@minus> but: is it useful? 15:39 15:39 < k00mi> yes, the entire statically-sized array types thing is a specual case< k00mi> yes, the entire statically-sized array types thing is a specual case 15:40 15:40 < heinrich5991> minus: yes. try to write a vector that stores its elements on the stack< heinrich5991> minus: yes. try to write a vector that stores its elements on the stack 15:40 15:40 < k00mi> minus: it's useful if you don't want to allocate< k00mi> minus: it's useful if you don't want to allocate 15:40 15:40 < heinrich5991> it's currently possible, but it's damn ugly< heinrich5991> it's currently possible, but it's damn ugly 15:40 15:40 < heinrich5991> (see e.g. my `yield` code for the level of ugliness you're going expect)< heinrich5991> (see e.g. my `yield` code for the level of ugliness you're going expect) 15:44 15:44 < heinrich5991> k00mi: looks like you're right that it's dependent types, but it's still easier than to implement all of that stuff< heinrich5991> k00mi: looks like you're right that it's dependent types, but it's still easier than to implement all of that stuff 15:50 15:50 < k00mi> you could create a special case, but I'm not sure what the consequences would be regarding soundness of the type system< k00mi> you could create a special case, but I'm not sure what the consequences would be regarding soundness of the type system 15:53 15:53 <@minus> you could maybe cheat using types with static members to define sizes<@minus> you could maybe cheat using types with static members to define sizes 15:59 15:59 < heinrich5991> minus: that's also not implemented yet< heinrich5991> minus: that's also not implemented yet 15:59 15:59 < heinrich5991> but yea, that would actually suffice< heinrich5991> but yea, that would actually suffice 22:20 < _kaktus4you> hey 22:20 < _kaktus4you> hey 22:21 22:21 * Lulu slaps _kaktus4you around a bit with a large fishbot * Lulu slaps _kaktus4you around a bit with a large fishbot 22:21 22:21 < _kaktus4you> xD< _kaktus4you> xD 22:51 22:51 < name> hi !< name> hi ! 22:52 22:52 < name> Some time ago I came here to well... kinda complain about the segmentation faults i was receiving < name> Some time ago I came here to well... kinda complain about the segmentation faults i was receiving 22:52 22:52 < name> You told me about a patch (python script) and it fixed most of my servers except openfng < name> You told me about a patch (python script) and it fixed most of my servers except openfng 22:53 22:53 < name> now you guys also told me to compile it myself < name> now you guys also told me to compile it myself 22:53 22:53 < name> can someone help me in the right direction ?< name> can someone help me in the right direction ? 22:54 22:54 < heinrich5991> name: sure< heinrich5991> name: sure 22:54 22:54 < heinrich5991> what OS are you on?< heinrich5991> what OS are you on? 22:55 22:55 < name> ubuntu 64bit (server so no Xorg) < name> ubuntu 64bit (server so no Xorg) 22:55 < heinrich5991> ok 22:55 < heinrich5991> ok 22:55 22:55 < heinrich5991> please type git --version< heinrich5991> please type git --version 22:55 22:55 < heinrich5991> and gcc --version< heinrich5991> and gcc --version 22:55 < heinrich5991> and tell me what it says22:55 < heinrich5991> and tell me what it says 22:56 22:56 < name> oh and the github page containing the stuff that had to be changed in order to fix the crashes < name> oh and the github page containing the stuff that had to be changed in order to fix the crashes 22:56 < heinrich5991> (this determines whether you have the basic progrrams you need) 22:56 < heinrich5991> (this determines whether you have the basic progrrams you need) 22:56 22:56 < name> i'm instaling gcc now :) < name> i'm instaling gcc now :) 22:57 22:57 < name> 4.9.1< name> 4.9.1 23:00 23:00 < name> oh btw < name> oh btw 23:00 < heinrich5991> can you also check bam --version? 23:00 < heinrich5991> can you also check bam --version? 23:00 23:00 < JulianAssange> https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-xpa1/t31.0-8/10848821_10152472488477204_807981048023546135_o.jpg ?< JulianAssange> https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-xpa1/t31.0-8/10848821_10152472488477204_807981048023546135_o.jpg ? 23:00 23:00 < name> I think it's your patch that's not working ? No offense ofc but maybe should should take a look at it some day ? https://gist.github.com/heinrich5991/0e37dcac4e54f83fcc98< name> I think it's your patch that's not working ? No offense ofc but maybe should should take a look at it some day ? https://gist.github.com/heinrich5991/0e37dcac4e54f83fcc98 23:00 23:00 < heinrich5991> on what server is it not working?< heinrich5991> on what server is it not working? 23:01 23:01 < name> openfng< name> openfng 23:01 23:01 < heinrich5991> can you give me the orgiinal executable?< heinrich5991> can you give me the orgiinal executable? 23:01 23:01 < name> brb< name> brb 23:01 23:01 < heinrich5991> like upload it to solidfiles.com or so< heinrich5991> like upload it to solidfiles.com or so 23:02 23:02 < name> i'll see < name> i'll see 23:02 23:02 < name> brb < name> brb 23:03 23:03 < name> I think it's this one < name> I think it's this one 23:03 23:03 < name> https://github.com/fisted/teeworlds/blob/openfng/openfng_srv_linux32d< name> https://github.com/fisted/teeworlds/blob/openfng/openfng_srv_linux32d 23:03 23:03 < name> (I don't have the originals anymore, the patch seemed to be working but after like 2 days the crashes started again)< name> (I don't have the originals anymore, the patch seemed to be working but after like 2 days the crashes started again) 23:04 23:04 < fstd> build it from source, the openfng_0_6_fixed branch< fstd> build it from source, the openfng_0_6_fixed branch 23:04 23:04 < fstd> openfng branch is known broken< fstd> openfng branch is known broken 23:04 23:04 < name> Oh oke < name> Oh oke 23:04 23:04 < name> So i'm kinda back at my original problem, where do i start ?< name> So i'm kinda back at my original problem, where do i start ? 23:06 23:06 < fstd> sorry i haven't read the context, what are you trying to do? get openfng running on linux?< fstd> sorry i haven't read the context, what are you trying to do? get openfng running on linux? 23:07 23:07 < Learath2> he is trying to compile on linux fstd< Learath2> he is trying to compile on linux fstd 23:07 23:07 < name> yes, but the binaries i was using keep crashing < name> yes, but the binaries i was using keep crashing 23:08 23:08 < name> *becouse< name> *becouse 23:08 23:08 < fstd> are you familiar with git?< fstd> are you familiar with git? 23:08 23:08 < name> not all that much, I have done a git clone https://github.com/fisted/teeworlds.git to start with < name> not all that much, I have done a git clone https://github.com/fisted/teeworlds.git to start with 23:08 23:08 < name> is that allright ? < name> is that allright ? 23:09 23:09 < fstd> yeah, next do a git checkout origin/openfng_fixed_0_6< fstd> yeah, next do a git checkout origin/openfng_fixed_0_6 23:09 < name> same folder ? 23:09 < name> same folder ? 23:10 < fstd> yes 23:10 < fstd> yes 23:10 23:10 < name> I'm getting an error < name> I'm getting an error 23:10 23:10 < name> fatal: Not a git repository (or any of the parent directories): .git< name> fatal: Not a git repository (or any of the parent directories): .git 23:11 23:11 < fstd> mh sorry< fstd> mh sorry 23:11 23:11 < Learath2> cd teeworlds first< Learath2> cd teeworlds first 23:11 23:11 < fstd> of course you need to cd teeworlds before< fstd> of course you need to cd teeworlds before 23:11 23:11 < name> oh hey thx :) it works < name> oh hey thx :) it works 23:12 23:12 < name> How do I proceed ?< name> How do I proceed ? 23:12 23:12 < fstd> bam -c all; bam config; bam server_release< fstd> bam -c all; bam config; bam server_release 23:12 23:12 < name> ok< name> ok 23:12 23:12 < name> what's bam btw ?< name> what's bam btw ? 23:13 23:13 < fstd> bam is matricks' build system< fstd> bam is matricks' build system 23:13 < name> ok 23:13 < name> ok 23:13 23:13 < name> It's telling me I dont have a c/c++ compiler < name> It's telling me I dont have a c/c++ compiler 23:14 23:14 < fstd> what distro?< fstd> what distro? 23:14 23:14 < name> ubuntu < name> ubuntu 23:14 23:14 < name> server i think < name> server i think 23:14 23:14 < name> just told ubuntu in the server cp :P < name> just told ubuntu in the server cp :P 23:14 23:14 < Learath2> sudo apt-get install build-essential< Learath2> sudo apt-get install build-essential 23:15 23:15 < name> yea bam's working now < name> yea bam's working now 23:15 23:15 < name> done < name> done 23:15 23:15 < name> and now ?< name> and now ? 23:16 23:16 < fstd> now a binary should've been produced, called openfng_srv, IIRC< fstd> now a binary should've been produced, called openfng_srv, IIRC 23:17 23:17 < name> openfng_srv and openfng_srv_linux32d ?< name> openfng_srv and openfng_srv_linux32d ? 23:17 23:17 < heinrich5991> _d< heinrich5991> _d 23:17 23:17 < name> which one should I use ?< name> which one should I use ? 23:17 23:17 < fstd> name: the former< fstd> name: the former 23:17 23:17 < fstd> heinrich5991: no _d< fstd> heinrich5991: no _d 23:17 23:17 < name> oke < name> oke 23:17 23:17 < Learath2> fstd: does your branch even have heinrich5991's fix ?< Learath2> fstd: does your branch even have heinrich5991's fix ? 23:17 23:17 < heinrich5991> bam server_release< heinrich5991> bam server_release 23:17 23:17 < name> what's the difference ?< name> what's the difference ? 23:17 23:17 < heinrich5991> ah< heinrich5991> ah 23:17 < fstd> name: _d would be a debug build 23:17 < fstd> name: _d would be a debug build 23:17 23:17 < fstd> Learath2: no it does not< fstd> Learath2: no it does not 23:17 23:17 < fstd> it's not been touched in ages< fstd> it's not been touched in ages 23:18 23:18 < name> ah oke < name> ah oke 23:18 23:18 < name> so I still need to apply that python script/fix/patch to it ?< name> so I still need to apply that python script/fix/patch to it ? 23:18 23:18 < Learath2> name: fix up the source and compile it< Learath2> name: fix up the source and compile it 23:18 23:18 < fstd> oh well i can do that, too, but i'm currently busy< fstd> oh well i can do that, too, but i'm currently busy 23:19 < name> What changes do I have to make ? 23:19 < name> What changes do I have to make ? 23:19 23:19 < name> fstd when will you be able to fix it ? < name> fstd when will you be able to fix it ? 23:19 23:19 < name> and compiling is a lot easier than i anticipated o.o :) < name> and compiling is a lot easier than i anticipated o.o :) 23:19 23:19 < Learath2> name: you can do it yourself< Learath2> name: you can do it yourself 23:19 23:19 < heinrich5991> name: git cherry-pick a766cb44bcffcdb0b88e776d01c5ee1323d44f85< heinrich5991> name: git cherry-pick a766cb44bcffcdb0b88e776d01c5ee1323d44f85 23:19 23:19 < name> heinrich5991: what's that ?< name> heinrich5991: what's that ? 23:20 23:20 < heinrich5991> it's the patch< heinrich5991> it's the patch 23:20 23:20 < heinrich5991> that you need< heinrich5991> that you need 23:20 23:20 < name> that leads to where ?< name> that leads to where ? 23:20 23:20 < name> what do i do with it ? i don't understand you < name> what do i do with it ? i don't understand you 23:20 23:20 < heinrich5991> you should execute it< heinrich5991> you should execute it 23:20 23:20 < heinrich5991> git cherry-pick a766cb44bcffcdb0b88e776d01c5ee1323d44f85< heinrich5991> git cherry-pick a766cb44bcffcdb0b88e776d01c5ee1323d44f85 23:21 23:21 < heinrich5991> if that doesn't work, do "git remote add upstream git://github.com/teeworlds/teeworlds", "git fetch --all" and try again< heinrich5991> if that doesn't work, do "git remote add upstream git://github.com/teeworlds/teeworlds", "git fetch --all" and try again 23:22 23:22 < name> it tells me fatal: bad object a766cb44bcffcdb0b88e776d01c5ee1323d44f85< name> it tells me fatal: bad object a766cb44bcffcdb0b88e776d01c5ee1323d44f85 23:23 < name> oh it works now 23:23 < name> oh it works now 23:23 23:23 < name> ah this included the fix ?< name> ah this included the fix ? 23:23 23:23 < heinrich5991> yes< heinrich5991> yes 23:23 23:23 < Learath2> go ahead bam server_release and you have fixed up openfng< Learath2> go ahead bam server_release and you have fixed up openfng 23:23 23:23 < name> so if i do bam -c all; bam config; bam server_release< name> so if i do bam -c all; bam config; bam server_release 23:23 < name> it all works ? 23:23 < name> it all works ? 23:23 23:23 < name> :D< name> :D 23:23 23:23 < heinrich5991> yes< heinrich5991> yes 23:24 23:24 < name> you have magics in you :P< name> you have magics in you :P 23:29 23:29 < fstd> i guess i better update the branch anyway< fstd> i guess i better update the branch anyway 23:32 23:32 * fstd dun dat * fstd dun dat 23:35 23:35 < JulianAssange> "< JulianAssange> " 23:35 23:35 < JulianAssange> https://www.danmurphys.com.au/product/DM_383446/cockburn-s-quinta-dos-canais-vintage-port "Molasses-like, treacle, dark toffee, orange peel, dried plums, cassis, pastile. Breathtaking, moving."< JulianAssange> https://www.danmurphys.com.au/product/DM_383446/cockburn-s-quinta-dos-canais-vintage-port "Molasses-like, treacle, dark toffee, orange peel, dried plums, cassis, pastile. Breathtaking, moving." 23:35 23:35 < JulianAssange> lol< JulianAssange> lol