2013-06-07T01:46:27 *** cyphase has quit IRC (Remote host closed the connection) 2013-06-07T01:46:52 *** cyphase has joined #aichallenge 2013-06-07T02:34:50 *** amstan has quit IRC (Quit: Konversation terminated!) 2013-06-07T03:21:18 *** aerique_ is now known as aerique 2013-06-07T03:36:52 *** epicmonkey has joined #aichallenge 2013-06-07T03:46:43 *** heinrich5991 has quit IRC (Ping timeout: 264 seconds) 2013-06-07T03:50:46 *** heinrich5991 has joined #aichallenge 2013-06-07T03:57:37 *** Redgis_ has quit IRC (Read error: Operation timed out) 2013-06-07T03:58:52 *** Redgis has joined #aichallenge 2013-06-07T03:59:30 *** btiberi has joined #aichallenge 2013-06-07T04:00:18 *** thestinger has quit IRC (Quit: WeeChat 0.4.1) 2013-06-07T04:02:14 *** epicmonkey has quit IRC (Ping timeout: 246 seconds) 2013-06-07T04:06:42 *** btiberi has quit IRC (Quit: This computer has gone to sleep) 2013-06-07T05:06:57 *** epicmonkey has joined #aichallenge 2013-06-07T06:18:01 *** sdfsdsfd has joined #aichallenge 2013-06-07T06:19:43 *** Accoun has quit IRC (Ping timeout: 264 seconds) 2013-06-07T06:46:11 *** mviel_ has joined #aichallenge 2013-06-07T06:48:24 *** mviel has quit IRC (Ping timeout: 260 seconds) 2013-06-07T08:32:45 *** Apophis has quit IRC (Quit: Verlassend) 2013-06-07T10:11:33 *** mviel_ is now known as mviel 2013-06-07T10:13:04 *** amstan has joined #aichallenge 2013-06-07T10:13:04 *** ChanServ sets mode: +o amstan 2013-06-07T11:24:01 *** btiberi has joined #aichallenge 2013-06-07T11:27:15 *** coeus has joined #aichallenge 2013-06-07T11:32:33 *** coeus_ has joined #aichallenge 2013-06-07T11:34:57 *** coeus has quit IRC (Ping timeout: 245 seconds) 2013-06-07T11:37:55 *** thestinger has joined #aichallenge 2013-06-07T12:07:56 *** mviel has quit IRC (Remote host closed the connection) 2013-06-07T12:09:06 *** thestinger has quit IRC (Quit: WeeChat 0.4.1) 2013-06-07T12:09:24 *** thestinger has joined #aichallenge 2013-06-07T12:17:49 *** epicmonkey has quit IRC (Ping timeout: 246 seconds) 2013-06-07T12:32:37 *** btiberi has quit IRC (Quit: This computer has gone to sleep) 2013-06-07T12:58:14 *** btiberi has joined #aichallenge 2013-06-07T13:06:04 anyone awake and want to solve a problem for me? 2013-06-07T13:07:10 nm, solved it :) 2013-06-07T13:25:25 *** mcstar has joined #aichallenge 2013-06-07T13:25:31 antimatroid1: you are not fair! 2013-06-07T13:25:40 you want more time :P? 2013-06-07T13:25:43 *** aad has joined #aichallenge 2013-06-07T13:25:44 *** aad is now known as adsadasd 2013-06-07T13:25:48 yeah 2013-06-07T13:25:56 a wee bit more 2013-06-07T13:26:01 i'll give you the simple problem anyway, i was just being lazy 2013-06-07T13:26:19 antimatroid1: i had my phd admittance interview today 2013-06-07T13:26:47 given P people and H heats and ideally having as close to the same number of people in each heat, how many people in the larger and smaller number of heats, and how many of the larger and smaller heats? 2013-06-07T13:26:56 mcstar: nice, congrats 2013-06-07T13:27:18 i wont know if i am accepted until july 2013-06-07T13:27:32 ah, still better than not having done it 2013-06-07T13:27:37 :) 2013-06-07T13:27:37 that's a long wait! 2013-06-07T13:28:09 my state exam is after the 24th of june 2013-06-07T13:28:17 whats the term for it? 2013-06-07T13:28:20 final exam? 2013-06-07T13:28:30 dunno if we have something like that 2013-06-07T13:29:02 did you have a big exam after you presented your thesis to the comittee? 2013-06-07T13:29:33 i have: 2013-06-07T13:29:33 size of smaller heat = floor(P/H) 2013-06-07T13:29:33 size of larger heat = floor(P/H)+1 2013-06-07T13:29:33 no. of larger heats = P - floor(P/H)*H 2013-06-07T13:29:33 no. of smaller heats = H - no. smaller heats 2013-06-07T13:29:36 see any problems with those? 2013-06-07T13:29:43 not for honours 2013-06-07T13:29:46 i will for phd 2013-06-07T13:29:50 weird 2013-06-07T13:30:06 i think they call them a thesis defence here 2013-06-07T13:30:06 this is also a requirement for MSc here 2013-06-07T13:30:13 it might be for msc here 2013-06-07T13:30:20 yeah, for Phd 2013-06-07T13:30:40 but you still need a final exam, and you still need to present your thesis, wo having to defend it 2013-06-07T13:30:40 also is there a less gross way of doing it than how I am? 2013-06-07T13:30:43 for Msc 2013-06-07T13:31:18 whats a 'heat'? 2013-06-07T13:31:25 is it like a heater? 2013-06-07T13:31:28 like you might have 10 contestants and 3 heats 2013-06-07T13:31:36 so 4 people in the first heat, and 3 in the next 2 2013-06-07T13:31:42 hm 2013-06-07T13:31:49 im not familiar with that meaning of heat 2013-06-07T13:32:03 ok 2013-06-07T13:32:19 my brother is running a blading comp and wants to be able to split people up into heats randomly on the day 2013-06-07T13:32:29 trying to make it as easy as possible for him to do using a spreadsheet 2013-06-07T13:33:05 we can easily randomly sort a list of names using a second column with random numbers 2013-06-07T13:33:13 it's then just a matter of splitting that list of names up into different heats 2013-06-07T13:34:25 basically you want N1 heats of size S1 and N2 heats of S2 and N1*S1+N2*S2=#of contestants? 2013-06-07T13:34:35 with S1 as close to S2 as possible 2013-06-07T13:36:02 yes 2013-06-07T13:36:11 with S1=S2 if possible as well 2013-06-07T13:36:28 worth noting that this can always be done 2013-06-07T13:36:36 1 2013-06-07T13:36:52 well always possible with S1 = S2 or |S1-S2 2013-06-07T13:37:00 err, you can have |S1-S2|<=1 2013-06-07T13:37:03 N heats of size 1 i mean 2013-06-07T13:39:10 it's a lot more tedious than i expected 2013-06-07T13:39:15 not really hard, just grossly tedious 2013-06-07T13:39:30 i am pretty sure what i have above works though 2013-06-07T13:43:24 mcstar: well everyone seems happy with my iterator proposal :) 2013-06-07T13:44:17 *** adsadasd has quit IRC (Quit: Page closed) 2013-06-07T13:50:04 antimatroid1: it seems alright 2013-06-07T13:50:33 i mean, when you have floor(N/H) and +1 sized heats 2013-06-07T13:50:53 thestinger: which is what? 2013-06-07T13:50:56 extending for? 2013-06-07T13:51:15 mcstar: yes, and switching to external iterators whenever possible (removing the internal ones when they become redundant) 2013-06-07T13:51:35 i didnt understand that `lang` thing 2013-06-07T13:51:41 mcstar: ok for example 2013-06-07T13:51:47 does that have to do with macros? 2013-06-07T13:51:54 #[lang="rem"] 2013-06-07T13:51:56 pub trait Rem { 2013-06-07T13:51:58 fn rem(&self, rhs: &RHS) -> Result; 2013-06-07T13:52:00 } 2013-06-07T13:52:03 that's in the stdlib 2013-06-07T13:52:05 it's the trait for overloading % 2013-06-07T13:52:18 if you disable the runtime + stdlib, you can still use the language and implement the lang items you need 2013-06-07T13:52:31 mcstar: https://github.com/pcwalton/zero.rs like this 2013-06-07T13:54:20 omg, efficiency! bareboneness! 2013-06-07T13:54:29 <3 Rust 2013-06-07T13:54:44 mleise: well it's a workaround for the stdlib sucking right now 2013-06-07T13:54:51 for writing kernel modules or a kernel 2013-06-07T13:54:53 etc. 2013-06-07T13:54:56 barebones programs 2013-06-07T13:55:16 the stdlib should just be partitioned into the parts needing the runtime + OS and the parts not needing it 2013-06-07T13:55:19 thestinger: i have a feeling that mleise would provide more quality ears for your rust business than i do 2013-06-07T13:56:08 i don't know... if I listen too much I'll hate the state D is in 2013-06-07T13:56:21 just provide him with enough information to tweak the VM manager from rust... and he would be happy to try out rust 2013-06-07T13:56:40 and that is useless, because in 5 years Rust will look like D 2013-06-07T13:57:04 mleise: I doubt it ;p 2013-06-07T13:57:14 feature removal is still ongoing - the language will get smaller, not bigger 2013-06-07T13:57:23 found a bug in my VM code. remap_file_pages takes a number of pages instead of bytes for 'pgoff' 2013-06-07T13:58:51 thestinger: smaller? impossible. have you already added all the D features? modules? different string quote symbols to faciliate using strings with quotes in them and raw strings? delegates and lambdas? thread local storage? 2013-06-07T13:59:05 compile-time function evaluation? 2013-06-07T13:59:37 can you write a matrix class with operator overloading? 2013-06-07T14:00:24 is the reference compiler faster on Rust code than gcc on equivalent C++ code? 2013-06-07T14:00:51 antimatroid1: well, it is easy to prove there are always such N1 and N2 which satisfy the equation (N1*S1+N2*S2==N) if S1 and S2 are chosen as above 2013-06-07T14:01:01 so if thats what you ask, the solution is correct 2013-06-07T14:01:34 N2 is the remainder of the division N/H 2013-06-07T14:02:25 mleise: you can write a matrix class with operator overloading, yes - but associated types (types in a type's scope) aren't implemented yet so something like that can be painful 2013-06-07T14:02:36 oooh 2013-06-07T14:02:40 no type families? 2013-06-07T14:02:43 and performance vs C++ depends on the code ;p 2013-06-07T14:02:54 mcstar: asking me? :) 2013-06-07T14:02:57 yep 2013-06-07T14:03:02 mcstar: well basically 2013-06-07T14:03:05 you can't have 2013-06-07T14:03:10 Iterator::value_type yet 2013-06-07T14:03:17 you have to make the value type a type parameter 2013-06-07T14:03:23 and then infer it if you need it 2013-06-07T14:03:25 like 2013-06-07T14:03:33 value_type is a type member of the type Iterator? 2013-06-07T14:03:41 mcstar: yes, associated type 2013-06-07T14:03:58 but it's not implemented yet. 2013-06-07T14:04:01 so 2013-06-07T14:04:19 fn foo>(x: T) { ... } 2013-06-07T14:04:21 instead of just 2013-06-07T14:04:31 also, value type could be computed? or would you need to define instances? 2013-06-07T14:04:35 fn foo>(x: T) and being able to refer to T::value_type 2013-06-07T14:04:44 i meant, Iterator should take a type parameter shouldnt it? 2013-06-07T14:04:46 -t 2013-06-07T14:05:06 mcstar: yes, but you shouldn't have to add an extra type parameter to generic functions taking Iterator if you need to refer to the value type 2013-06-07T14:05:33 but value_type could depend on that type parameter 2013-06-07T14:05:38 mcstar: yes so 2013-06-07T14:05:51 fn foo>(x: T) -> T::value_type { ... } 2013-06-07T14:05:53 instead of 2013-06-07T14:06:00 oh 2013-06-07T14:06:04 fn foo>(x: T) -> A { ... } 2013-06-07T14:06:27 mcstar: anyway that's a really poor example, I suck at examples 2013-06-07T14:06:28 it looks like Iterator subclassed T and added a type member 2013-06-07T14:06:39 mcstar: T: Iterator means what 2013-06-07T14:06:54 Iterator t => t -> a 2013-06-07T14:06:55 would in haskell 2013-06-07T14:06:59 well 2013-06-07T14:07:01 sort of. 2013-06-07T14:07:08 it means T impls the Iterator trait 2013-06-07T14:07:11 it's just a type class. 2013-06-07T14:07:30 t -> a is just a function type 2013-06-07T14:07:41 mcstar: I know, I missed the multi parameter on the haskell type class 2013-06-07T14:07:49 but there is no constraint on a 2013-06-07T14:08:04 thats a useless type :) 2013-06-07T14:08:09 mcstar: I don't know how to express it in haskell. a is supposed to come from Iterator 2013-06-07T14:08:19 it's the element type 2013-06-07T14:08:29 http://www.haskell.org/haskellwiki/Multi-parameter_type_class however you do this crap 2013-06-07T14:08:29 Iterator t a => t -> a 2013-06-07T14:08:32 maybe idk 2013-06-07T14:08:43 i should understand what the code supposed to do 2013-06-07T14:08:56 mcstar: oh that's why you mentioned type parameters 2013-06-07T14:09:06 mcstar: it's supposed to take an Iterator implementation and return an element 2013-06-07T14:09:11 i mentioned type families 2013-06-07T14:10:32 there is something i forgot 2013-06-07T14:10:41 an extension that might be relevant 2013-06-07T14:11:16 mcstar: anyway I think rust's traits are the same as multi-parameter type classes in ghc 2013-06-07T14:11:40 http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/type-families.html#assoc-decl 2013-06-07T14:11:41 the first parameter is just implicit (since you implement them *for* a type) and referred to as Self in the trait 2013-06-07T14:12:08 basically you can refer to types in a class that depend on type class parameters 2013-06-07T14:12:16 mcstar: yeah that's what rust needs :) 2013-06-07T14:12:26 there are plans to add it 2013-06-07T14:12:30 would make my life a lot easier 2013-06-07T14:13:46 i mean a LOT 2013-06-07T14:13:48 XD 2013-06-07T14:14:00 mcstar: yeah, though it's still kinda gross 2013-06-07T14:14:09 which part is? 2013-06-07T14:14:15 it works... :) 2013-06-07T14:14:21 those formulas 2013-06-07T14:14:24 thats the best quality of a `solution` 2013-06-07T14:14:44 antimatroid1: S2=S1+1 2013-06-07T14:14:48 thats simpler 2013-06-07T14:14:56 true 2013-06-07T14:15:15 it's more the n_1 that i don't like 2013-06-07T14:16:21 antimatroid1: http://sprunge.us/gIMI?python 2013-06-07T14:16:23 well, n2 in this case 2013-06-07T14:16:44 mleise: D needed andrei to be around earlier ;p 2013-06-07T14:16:51 erm, add 2 ) to the end of the last line 2013-06-07T14:17:39 hm 2013-06-07T14:17:45 i should use what i said 2013-06-07T14:18:08 there must be integer divison that gives back 2 parameters 2013-06-07T14:18:21 thestinger: Don't think he always had the smartest ideas. In general a language should not be base upon what one person believes is a good idea. 2013-06-07T14:18:27 a/b = (c,d) such that b * c + d = a 2013-06-07T14:18:32 antimatroid1: ^ find that function 2013-06-07T14:19:01 that gives you S1 and N2 in one step, from which the other 2 is easily obtained 2013-06-07T14:19:22 wut? 2013-06-07T14:19:34 wut wut 2013-06-07T14:19:40 a/b = (c,d)? 2013-06-07T14:19:44 yes 2013-06-07T14:19:45 a tuple 2013-06-07T14:19:46 the fuck is (c,d)? 2013-06-07T14:19:48 or whatever 2013-06-07T14:19:50 2 values 2013-06-07T14:20:03 yeah but how is that equal to a rational number? 2013-06-07T14:20:10 oh 2013-06-07T14:20:11 hm? 2013-06-07T14:20:17 read my definition of c and d 2013-06-07T14:20:17 a/b = c/d? 2013-06-07T14:20:29 hmm, i'll have a play 2013-06-07T14:20:36 c,d is such that b * c + d = a 2013-06-07T14:20:48 (c,d) is just pseudocode for returnning 2 values 2013-06-07T14:20:57 by one division / 2013-06-07T14:21:09 but i said find that division function in excel or whatever 2013-06-07T14:21:20 mcstar: on a totally unrelated note, gcc's implementation of complex numbers is so half-hearted 2013-06-07T14:21:24 for example in common lisp it is truncate 2013-06-07T14:22:00 they put 2 floats in a struct and didn't actually use any of the possible optimizations like SIMD for operations on them 2013-06-07T14:22:13 maybe the optimizer is supposed to figure it out, but it doesn't 2013-06-07T14:22:53 maybe excel cant return 2 values 2013-06-07T14:23:03 mcstar: for the problem what are a,b,c,d? 2013-06-07T14:23:09 ie. si and ni? 2013-06-07T14:23:13 a = N, b = H 2013-06-07T14:23:36 N/H = S1 * H + N2 2013-06-07T14:23:40 shat 2013-06-07T14:23:43 N = S1 * H + N2 2013-06-07T14:23:58 N2 can be potentially 0 2013-06-07T14:25:12 thestinger: well, complex multiplication is not element wise 2013-06-07T14:25:22 addition could benefit 2013-06-07T14:25:23 oh, but that's just re-arranging what i'm already using yeah? 2013-06-07T14:25:28 antimatroid1: yes 2013-06-07T14:25:43 antimatroid1: i was trying to make it 'nicer' cause thats what you wanted :) 2013-06-07T14:26:09 mcstar: seems like there must still be an SSE operation for doing the multiplication faster 2013-06-07T14:26:48 i don't really see what a/b = (c,d) is still :\ 2013-06-07T14:26:53 isn't it just 4 multiplications and then 2 additions? 2013-06-07T14:27:14 (a+ib)*(c+id) 2013-06-07T14:27:20 now expand it 2013-06-07T14:27:45 wut? 2013-06-07T14:27:52 i'm so lost 2013-06-07T14:27:54 antimatroid1: thats for thestinger 2013-06-07T14:27:56 antimatroid1: lol 2013-06-07T14:28:23 it's 4:30am in my defense 2013-06-07T14:28:27 thestinger: would gcc optimize that code if i wrote out the operations? 2013-06-07T14:28:34 mcstar: doubtful 2013-06-07T14:28:43 mcstar: clang wouldn't either yet 2013-06-07T14:28:56 but there are auto vectorization compile options, i came across them in the manual 2013-06-07T14:28:59 wth do they do? 2013-06-07T14:29:08 they can optimize loops to vector instructions but they don't have heuristics that work well for series of scalar operations 2013-06-07T14:29:25 so what? should i put that in a loop? 2013-06-07T14:29:26 lol 2013-06-07T14:29:31 mcstar: if you put it in a loop it might ;p 2013-06-07T14:29:38 they like arrays though 2013-06-07T14:29:48 they are really specific optimizations 2013-06-07T14:30:18 mcstar: http://llvm.org/docs/Vectorizers.html LLVM has good documentation on it 2013-06-07T14:30:31 the examples are supposed to be impressive ;p 2013-06-07T14:30:37 Features 2013-06-07T14:30:46 i didnt much with complex numbers 2013-06-07T14:31:08 im just using the built in ones for my orientation order parameter analyzer 2013-06-07T14:31:11 it is fast enough 2013-06-07T14:31:17 didnt bother much* 2013-06-07T14:31:36 The goal of SLP vectorization (a.k.a. superword-level parallelism) is to combine similar independent instructions within simple control-flow regions into vector instructions. Memory accesses, arithemetic operations, comparison operations and some math functions can all be vectorized using this technique (subject to the capabilities of the target architecture). 2013-06-07T14:31:43 that's the new one (not enabled by default) 2013-06-07T14:31:56 the good thing is that the arithmetic operators and functions are overloaded for them 2013-06-07T14:32:00 and thats all i needed 2013-06-07T14:32:26 atm they just like a single operation on an array 2013-06-07T14:32:41 in a loop 2013-06-07T14:34:44 mcstar: compilers are dumber than you'd expect in some ways. 2013-06-07T14:34:55 :( 2013-06-07T14:34:57 neither gcc/clang will merge identical functions by default 2013-06-07T14:35:04 thats why i use intel! 2013-06-07T14:35:08 you can pass -mllvm -mergefunc to clang 2013-06-07T14:35:22 they don't enable it by default because it's slow and still buggy... 2013-06-07T14:35:25 (actually i dont but i could...) 2013-06-07T14:35:40 and anyway they usually have to leave a stub behind when they merge 2013-06-07T14:35:48 we are steadily moving to the GPU though 2013-06-07T14:35:49 because you can take addresses of functions in C 2013-06-07T14:35:52 so simd does not matter 2013-06-07T14:36:09 and opencl does simd optimization probably better if you run it on the cpu 2013-06-07T14:36:16 mcstar: VLIW could still be the future. 2013-06-07T14:36:25 cause your numeric code is already vectrorized 2013-06-07T14:36:47 mcstar: https://en.wikipedia.org/wiki/Very_long_instruction_word 2013-06-07T14:37:01 i found that already 2013-06-07T14:37:03 languages like haskell would have loved itanium 2013-06-07T14:37:08 you pinged me for nothing! 2013-06-07T14:37:38 how so? 2013-06-07T14:38:18 mcstar: well itanium is VLIW, the compiler explicitly specifies memory dependencies 2013-06-07T14:38:27 so it can parallelize instructions really well 2013-06-07T14:38:45 and you have hundreds of registers (functional programming loves registers) 2013-06-07T14:38:59 but haskell is about allocating huge amounts of memory and quickly throwing it away 2013-06-07T14:40:01 anyway, im more interested in the theory than the implementation 2013-06-07T14:40:03 mcstar: well an imaginary purely functional language with linear types 2013-06-07T14:41:20 thestinger: did you understand what i meant by a/b = (c,d) such that... ? 2013-06-07T14:41:33 mcstar: I wasn't paying attention :D 2013-06-07T14:41:37 im just wondering if that were really that criptic 2013-06-07T14:41:42 ok 2013-06-07T14:41:54 that I * 2013-06-07T14:42:22 were->was probably... 2013-06-07T14:42:29 i stop talking now 2013-06-07T15:20:45 thestinger: at the end of the llvm vectorization doc there's a table listing 'gains', but those are negative, does it mean, they are slower by that percent? 2013-06-07T15:20:57 mcstar: faster 2013-06-07T15:21:08 they shouldnt be negative them 2013-06-07T15:21:11 then 2013-06-07T15:21:13 if they are gains 2013-06-07T15:21:52 you gain -1% means you lose 1% 2013-06-07T15:22:25 mcstar: they might be using 'gain' in a weird way like 'time gained' 2013-06-07T15:22:31 silly compiler writers 2013-06-07T15:22:56 could i rely on these optimizations being correct if they fire? 2013-06-07T15:23:14 if/when they are actually applied 2013-06-07T15:23:25 mcstar: yes 2013-06-07T15:23:32 they only apply if they don't change behaviour 2013-06-07T15:23:44 unless you pass -ffast-math ;p 2013-06-07T15:23:44 yeah, but is it tested? 2013-06-07T15:23:49 or is this experimental 2013-06-07T15:23:57 mcstar: yes, LLVM has great unit tests - it won't land without them implemented 2013-06-07T15:24:07 mcstar: it's experimental in the sense that it can hurt performance 2013-06-07T15:24:12 but it's stable/tested 2013-06-07T15:24:40 the loop vectorizer was enabled by default at -O3 for clang 3.3 2013-06-07T15:24:59 slp vectorizer might be enabled by default for 3.4, until then there's -mllvm -bb-vectorize 2013-06-07T15:25:31 anyway they might enable the loop vectorizer at -O2 and -Os too 2013-06-07T16:36:19 *** Scooper has joined #aichallenge 2013-06-07T16:39:33 thestinger: which approach would you think is easier? writing a new pager for a panel that communicates with i3, or changing i3 to set up proper workspaces so that any pager could work? 2013-06-07T16:39:40 i think the second one 2013-06-07T16:40:09 mcstar: the former 2013-06-07T16:40:13 nah 2013-06-07T16:40:18 mcstar: i3 doesn't do workspaces like the fd.o way 2013-06-07T16:40:18 :) 2013-06-07T16:40:28 they work with monitors differently 2013-06-07T16:40:47 whats fd.o? 2013-06-07T16:40:51 freedesktop 2013-06-07T16:40:57 mcstar: i3 has a nice ipc api. 2013-06-07T16:41:02 mcstar: there are python bindings 2013-06-07T16:41:09 i know i3 places workspaces on different monitors 2013-06-07T16:41:11 which is sane 2013-06-07T16:41:32 mcstar: i3-msg workspace n 2013-06-07T16:41:33 but im looing at applet codes for xfce4 panel 2013-06-07T16:41:38 i dont particularly like it 2013-06-07T16:41:55 do you think i can write an applet in python? 2013-06-07T16:42:08 mcstar: i3-msg -t get_workspaces 2013-06-07T16:42:14 mcstar: i3-msg workspace n to switch 2013-06-07T16:42:20 it just talks in a json protocol over a socketr 2013-06-07T16:42:30 you dont need -msg i think 2013-06-07T16:42:31 mcstar: yes, you could easily do it 2013-06-07T16:43:07 mcstar: https://github.com/ziberna/i3-py 2013-06-07T16:43:32 thestinger: i know about i3... but it still seems easier for me to export the window manager hints/whatever to provide workspaces that a simple pager could use 2013-06-07T16:43:53 * thestinger shrugs 2013-06-07T16:44:12 mcstar: or patch a pager 2013-06-07T16:44:48 if i use 1 monitor, i can have 1to1 correspondence of i3 workspaces to fd.org workspaces 2013-06-07T16:45:21 well, im not in a hurry 2013-06-07T16:45:28 ill contemplate on this 2013-06-07T16:46:32 thestinger: better yet, i should embed the i3bar pager in an applet 2013-06-07T16:47:24 i really dont understand the half ass solutions of these tiling wms wrt status bars 2013-06-07T16:47:28 they suck 2013-06-07T16:47:46 they can mostly only display text 2013-06-07T16:47:57 awesome's is pretty configurable though 2013-06-07T16:48:35 i cant understand why noone wants to use a ready made panel with i3 though 2013-06-07T16:48:56 the whole thing seems to me like something that someone should have implemented already 2013-06-07T16:49:05 (integration of i3 with a panel) 2013-06-07T16:49:35 other tiling wms use fd workspaces, so theres no problem with an external pager 2013-06-07T16:49:46 i3 is the first wm i know that does not conform 2013-06-07T16:50:10 xmonad might handle workspaces in a similar way 2013-06-07T16:55:42 mcstar: i3 handles workspaces on monitors differently intentionally 2013-06-07T16:56:31 i know :) 2013-06-07T16:56:38 thats alright, i would like it 2013-06-07T16:56:44 if i used 2 monitors... 2013-06-07T16:57:05 i dont like the workspace multiplicity awesome used 2013-06-07T17:27:42 *** mcstar has quit IRC (Ping timeout: 264 seconds) 2013-06-07T18:05:47 *** amstan has quit IRC (Ping timeout: 245 seconds) 2013-06-07T19:24:58 *** btiberi has quit IRC (Quit: This computer has gone to sleep) 2013-06-07T19:43:10 *** epicmonkey has joined #aichallenge 2013-06-07T19:50:40 *** amstan has joined #aichallenge 2013-06-07T19:50:40 *** ChanServ sets mode: +o amstan 2013-06-07T20:05:25 *** epicmonkey has quit IRC (Ping timeout: 248 seconds) 2013-06-07T21:18:55 *** Scooper has quit IRC (Quit: Leaving)