--- Log opened Thu Mar 28 00:00:11 2019 | ||
-!- wiking_ [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Remote host closed the connection] | 02:52 | |
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun | 04:45 | |
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Changing host] | 04:45 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 04:45 | |
-!- mode/#shogun [+o wiking] by ChanServ | 04:45 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 04:54 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 05:10 | |
-!- mode/#shogun [+o wiking] by ChanServ | 05:10 | |
-!- gf712 [90520868@gateway/web/freenode/ip.144.82.8.104] has joined #shogun | 09:04 | |
-!- HeikoS [~heiko@120.pool85-52-163.static.orange.es] has joined #shogun | 09:09 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 09:09 | |
@HeikoS | gf712: yo | 09:41 |
---|---|---|
-!- HeikoS [~heiko@120.pool85-52-163.static.orange.es] has quit [Ping timeout: 245 seconds] | 09:47 | |
-!- geektoni [5d22ef24@gateway/web/freenode/ip.93.34.239.36] has joined #shogun | 10:08 | |
gf712 | wiking: ping | 11:48 |
-!- geektoni [5d22ef24@gateway/web/freenode/ip.93.34.239.36] has quit [Quit: Page closed] | 11:49 | |
@wiking | pongi | 12:05 |
@wiking | gf712: sup | 12:05 |
gf712 | wiking: do you think it makes sense to implement a constant iterator for sgvector? | 12:06 |
@wiking | mmm dunno | 12:06 |
gf712 | using iterators to rewrite the parameter trees | 12:06 |
@wiking | but i would start with display_vector/matrix dropping | 12:06 |
@wiking | if u touch that | 12:06 |
@wiking | :D | 12:06 |
gf712 | and I use const vectors | 12:06 |
@wiking | then just add cbegin/cend | 12:06 |
@wiking | should be straightforward | 12:07 |
@wiking | although you can directly access .vector | 12:07 |
@wiking | and do whatever | 12:07 |
@wiking | like std::cbegin(sg_vector.vector) | 12:07 |
@wiking | right? | 12:07 |
gf712 | true, that should work | 12:07 |
@wiking | and u haz then the citerator | 12:07 |
gf712 | I just copy pasted iterator | 12:08 |
gf712 | added const | 12:08 |
gf712 | in pointer and ref | 12:08 |
gf712 | and then called it const_iterator :D | 12:08 |
@wiking | :> | 12:08 |
@wiking | magic | 12:08 |
gf712 | what do you mean with dropping display btw? | 12:08 |
gf712 | it is useful no? | 12:09 |
@wiking | to_string plz :) | 12:09 |
@wiking | this is bs that this thing writes to stdout :) | 12:09 |
gf712 | ah right | 12:10 |
gf712 | yeah I'll do that | 12:10 |
@wiking | ta | 12:11 |
@wiking | fucking react doesn't wanna play as nicely as imageined | 12:11 |
@wiking | still working on the demo | 12:11 |
@wiking | but at least it works | 12:11 |
@wiking | the shogun.js is 10M in release mode | 12:11 |
gf712 | haha, that is a lot... | 12:19 |
gf712 | is this with swig? | 12:19 |
@wiking | no | 12:19 |
@wiking | native js | 12:19 |
@wiking | i mean wasm | 12:19 |
gf712 | ah ok, and does stuff work fine? | 12:23 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 12:26 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 12:42 | |
-!- mode/#shogun [+o wiking] by ChanServ | 12:42 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 12:44 | |
-!- wiking [~wiking@inf-ise-etx-dock-1-111.ethz.ch] has joined #shogun | 12:47 | |
-!- wiking [~wiking@inf-ise-etx-dock-1-111.ethz.ch] has quit [Changing host] | 12:47 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 12:47 | |
-!- mode/#shogun [+o wiking] by ChanServ | 12:47 | |
-!- gf712 [90520868@gateway/web/freenode/ip.144.82.8.104] has quit [Ping timeout: 256 seconds] | 13:40 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 13:57 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 14:07 | |
-!- mode/#shogun [+o wiking] by ChanServ | 14:07 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 240 seconds] | 14:11 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 14:15 | |
-!- mode/#shogun [+o wiking] by ChanServ | 14:15 | |
-!- gf712 [90520868@gateway/web/freenode/ip.144.82.8.104] has joined #shogun | 14:21 | |
@wiking | gf712: yo\ | 14:23 |
@wiking | hgere? | 14:23 |
@wiking | *here? | 14:23 |
gf712 | wiking: yes, here | 14:24 |
@wiking | ok so | 14:24 |
@wiking | miju miju | 14:24 |
@wiking | std::map<std::string, std::shared_ptr<const AnyParameter>> get_params() const; | 14:24 |
@wiking | do you mind if i change this top | 14:24 |
@wiking | std::map<std::string, std::shared_ptr<const AnyParameter>> get_params(bitmask = -1) const; where -1 = all | 14:25 |
@wiking | i just want to have a predicate filter | 14:25 |
@wiking | for this | 14:25 |
gf712 | ah I did that on what I am working on | 14:25 |
gf712 | so yea go for it | 14:25 |
@wiking | btw | 14:25 |
@wiking | EGradientAvailability EModelSelectionAvailability is still in the codebase | 14:26 |
@wiking | any reason? :) | 14:26 |
gf712 | but all would be a combination of all enums no, rather than -1? | 14:26 |
gf712 | not sure | 14:26 |
gf712 | model selection stuff I guess? | 14:26 |
@wiking | mmm ah oldstuff | 14:26 |
@wiking | ok | 14:26 |
@wiking | which shoudl go anyways | 14:26 |
@wiking | and then we can drop it | 14:26 |
@wiking | :) | 14:26 |
gf712 | yes, working on that now | 14:27 |
@wiking | ok but how i *generate* all the combination | 14:27 |
@wiking | either we have a value or there's a function for it? | 14:27 |
@wiking | but i'm not so sure if i can do | 14:27 |
gf712 | you would have to do a bit shift in each position of the bitmask | 14:27 |
@wiking | func(arg = func()) | 14:28 |
@wiking | where func generates the whole thing :) | 14:28 |
@wiking | btw | 14:28 |
gf712 | you can also add it to the enum no? | 14:28 |
gf712 | have a ALL | 14:28 |
@wiking | if enum class then why not inherit from uint64_t ? | 14:28 |
@wiking | yes yes i can | 14:28 |
@wiking | i mean i've just taken a random special value :) | 14:29 |
gf712 | because it fits in int and I let the compiler choose | 14:29 |
@wiking | heheh | 14:29 |
@wiking | ok | 14:29 |
gf712 | but you can inherit from uint64_t? | 14:29 |
@wiking | yes | 14:29 |
gf712 | probably 32 is enoght | 14:29 |
gf712 | enough though | 14:29 |
@wiking | std::<whathever basetype> | 14:29 |
@wiking | ok any how | 14:29 |
@wiking | i'll just add ALL | 14:29 |
@wiking | that flips all the bits | 14:29 |
gf712 | yup, in that case you need to know how many bit you have | 14:30 |
gf712 | so yea just inherit from some base type | 14:30 |
@wiking | i wonder if this will work ALL = std::numeric_limits<std::uint32_t>::max() | 14:32 |
@wiking | :) | 14:32 |
gf712 | yup, that should be it | 14:34 |
@wiking | mmm | 14:36 |
@wiking | but i think | 14:36 |
@wiking | AnyParameter.get_properties should have a default arged filter as well | 14:36 |
@wiking | :))) | 14:36 |
@wiking | or no likey? | 14:36 |
@wiking | ah ok | 14:36 |
@wiking | no | 14:36 |
@wiking | it wont be nice | 14:36 |
@wiking | nvm | 14:36 |
@wiking | this just feels argh | 14:37 |
@wiking | if (each.second.get_properties().has_property(param)) | 14:37 |
@wiking | ok compile from scratch | 14:38 |
gf712 | haha yes, it is a bit verbose | 14:42 |
@wiking | need map/reduce operator :) | 14:42 |
@wiking | ok so because i wanna do this in js | 14:42 |
@wiking | var params = model.get_params(HYPER); | 14:42 |
@wiking | and then i can autogenerate the whole param on the page for the given object | 14:43 |
@wiking | so then whatever object you just choose to use | 14:43 |
@wiking | the sliders and checkboxes are autogeenrated | 14:43 |
@wiking | + the description | 14:43 |
@wiking | ;) | 14:43 |
@wiking | only shit | 14:43 |
@wiking | that we dont have range yet | 14:44 |
@wiking | i mean that describes what the meaningful range for the given param | 14:44 |
gf712 | oh right, yes that is good | 14:45 |
@wiking | so i imagine to have a dropdown menu | 14:45 |
@wiking | like binary classifiers | 14:45 |
gf712 | what do you mean there are no ranges? | 14:45 |
@wiking | and then you choose your model | 14:45 |
@wiking | and then boom | 14:45 |
@wiking | all the HYPER params are there for you to control via the ui | 14:45 |
@wiking | well interval | 14:45 |
@wiking | so say the the of the HYPER is bool | 14:45 |
gf712 | you mean a range for each param? | 14:45 |
@wiking | then ok i create a simple checkbox | 14:45 |
@wiking | or a switch | 14:46 |
@wiking | but if it's double or int | 14:46 |
gf712 | right | 14:46 |
@wiking | and i put a slider | 14:46 |
@wiking | what's the min and max of the slider? | 14:46 |
gf712 | -999999999999 to +999999999999 | 14:46 |
gf712 | :D | 14:46 |
@wiking | :>>> | 14:46 |
@wiking | right | 14:46 |
@wiking | :) | 14:46 |
@wiking | but see what i mean right? | 14:46 |
gf712 | why slider though? | 14:46 |
@wiking | what would you put? | 14:46 |
gf712 | should just write a value? | 14:46 |
@wiking | a freetext? | 14:46 |
@wiking | nooooo | 14:46 |
@wiking | that's not UI | 14:46 |
@wiking | that's code | 14:46 |
@wiking | :D | 14:46 |
gf712 | hmmm | 14:46 |
gf712 | but sliders are so painful :( | 14:47 |
gf712 | imagine you want 1.00001 | 14:47 |
@wiking | gf712: https://material-ui.com/lab/slider/#simple-slider | 14:47 |
@wiking | gf712: yeah then you dont use a react app | 14:47 |
@wiking | for training an ml model | 14:47 |
@wiking | :))) | 14:47 |
gf712 | haha fair enough | 14:47 |
@wiking | but i can do like | 14:47 |
@wiking | if it's int/double | 14:47 |
@wiking | then slider + input field | 14:47 |
@wiking | and then the input field changes by the value of slider | 14:47 |
gf712 | it's just very algo dependent I think | 14:48 |
@wiking | but you can click in there and just write what u want | 14:48 |
@wiking | ;P | 14:48 |
@wiking | what ? | 14:48 |
@wiking | is dependent | 14:48 |
gf712 | what if it is a regularisation param | 14:48 |
gf712 | it'll be a tiny value | 14:48 |
@wiking | well | 14:48 |
@wiking | that's the shit part | 14:48 |
@wiking | we dont have range | 14:48 |
@wiking | :) | 14:48 |
@wiking | type<double, min, max> eparam | 14:48 |
@wiking | or something like this | 14:48 |
@wiking | :) | 14:48 |
gf712 | hmmm yes | 14:48 |
gf712 | you can always have a log scale slide | 14:48 |
@wiking | stan-mc has this | 14:49 |
@wiking | i mean vars | 14:49 |
@wiking | that have these properties | 14:49 |
@wiking | but yeah first thigns first | 14:49 |
@wiking | lemme finish up the demo | 14:49 |
gf712 | aight! | 14:49 |
@wiking | but around 6am | 14:49 |
@wiking | i've managed to import the shogun.js into the react env | 14:50 |
@wiking | :D | 14:50 |
gf712 | haha, I am not sure how difficult that is since I don't write any js, but good :D | 14:51 |
@wiking | yeah i had like a js+wasm file | 14:51 |
@wiking | and i was getting weird magic errors | 14:51 |
@wiking | that i didn't even understoo | 14:51 |
@wiking | d | 14:51 |
@wiking | so then i realised that i can just create one file for all | 14:51 |
@wiking | shogun.js = 10 megz | 14:51 |
@wiking | fuck it | 14:51 |
@wiking | :) | 14:51 |
@wiking | works | 14:51 |
@wiking | we'll need a cdn for this | 14:52 |
@wiking | once it's fully working | 14:52 |
@wiking | :D | 14:52 |
@wiking | ah fuck | 14:52 |
@wiking | 'Cannot call CSGObject.get_params due to unbound types: NSt3__23mapINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_10shared_ptrIKN6shogun12AnyParameterEEENS_4lessIS6_EENS4_INS_4pairIKS6_SB_EEEEEE', | 14:52 |
@wiking | :D | 14:52 |
@wiking | i need to fucking fix this :D | 14:52 |
gf712 | what is this? :D | 14:55 |
gf712 | ah because it's a shared_ptr? | 14:55 |
gf712 | how does it even work with maps and smart pointers? | 14:57 |
@wiking | yes yes | 14:58 |
@wiking | man | 14:58 |
@wiking | this shit works with anything | 14:58 |
@wiking | :) | 14:58 |
@wiking | i mean llvm | 14:58 |
@wiking | what you expect | 14:58 |
@wiking | :) | 14:58 |
@wiking | if llvm supports it :D | 14:58 |
gf712 | ahhh right, that's cool | 14:58 |
@wiking | (didn't u see that i can inherit from a c++ class in js? :) | 14:58 |
@wiking | if that's supported | 14:58 |
@wiking | a stupid std::map is the least of the problems | 14:59 |
@wiking | :D | 14:59 |
gf712 | but that's just for js right? | 14:59 |
@wiking | yes :) | 14:59 |
@wiking | unfo yes | 14:59 |
gf712 | lol, how do these things even work in the backend?? | 14:59 |
gf712 | lots of demangling of llvm symbols I guess | 15:00 |
@wiking | > ll.get_params() | 15:00 |
@wiking | ParameterMap {} | 15:00 |
@wiking | yey | 15:00 |
gf712 | nice | 15:00 |
-!- geektoni [5d22ef24@gateway/web/freenode/ip.93.34.239.36] has joined #shogun | 15:01 | |
@wiking | geektoni: y0 | 15:01 |
geektoni | wiking: hello hello | 15:01 |
@wiking | geektoni: u worked with react b4? | 15:01 |
@wiking | gf712: hhahaha bindings i have a libtooling tool for | 15:02 |
@wiking | as otherwise you have to do manually shit like this | 15:02 |
@wiking | https://emscripten.org/docs/porting/connecting_cpp_and_javascript/embind.html#embind | 15:02 |
geektoni | wiking: No, I've never used it :/ | 15:02 |
@wiking | gf712: ha! | 15:05 |
@wiking | we have a problem | 15:05 |
gf712 | oh :D | 15:05 |
@wiking | > var ll = new shogun.LibLinear() | 15:05 |
@wiking | undefined | 15:05 |
@wiking | > var params = ll.get_params(shogun.ParameterProperties.HYPER) | 15:05 |
@wiking | > var x = params.keys() | 15:05 |
@wiking | > x.size() | 15:05 |
@wiking | 2 | 15:05 |
@wiking | > x.get(0) | 15:06 |
@wiking | 'C1' | 15:06 |
@wiking | > x.get(1) | 15:06 |
@wiking | 'C2' | 15:06 |
@wiking | i mean it works | 15:06 |
@wiking | but man why only these 2 params are HYPER? | 15:06 |
gf712 | because someone has to do this manually | 15:07 |
gf712 | wiking: someone needs to choose these things | 15:07 |
gf712 | in the whole of shogun | 15:07 |
@wiking | epsilon and bias is not hyper? | 15:07 |
@wiking | i mean i guess it should be or? :D | 15:07 |
gf712 | I just did the ones that were already there | 15:07 |
gf712 | it should be | 15:07 |
@wiking | jsut wrong registration | 15:08 |
@wiking | or anybody has an objection | 15:08 |
@wiking | for why those wouldn't be hyper params? | 15:08 |
@wiking | geektoni: any opinion? :D | 15:08 |
gf712 | I think there are lots more that should be hyper | 15:08 |
@wiking | yep ok | 15:09 |
@wiking | :) | 15:09 |
@wiking | it'll come out with this app | 15:09 |
@wiking | for sure | 15:09 |
geektoni | geektoni: any opinion on? | 15:09 |
@wiking | and as well what sort of bs decriptions we have :)) | 15:09 |
@wiking | geektoni: whether epsilon and use_bias is a HYPER of LibLinear :) | 15:10 |
@wiking | but it should be | 15:10 |
@wiking | :D | 15:10 |
geektoni | wiking: ideally they should be | 15:11 |
gf712 | wiking: yea someone needs to go through the whole codebase and update descriptions and all those flags.. | 15:19 |
@wiking | gf712: for put | 16:17 |
@wiking | in python you did the dispatcher? | 16:17 |
@wiking | so say i have sgobject.put("param", value) | 16:17 |
@wiking | since the that put is templated... i guess there needs to be some dispatching or? | 16:18 |
gf712 | wiking: i am not sure I understand the question? | 16:35 |
@wiking | ok 2 things in the meanwhile | 16:36 |
@wiking | for the enum<->string | 16:37 |
@wiking | you did the string->enum right? | 16:37 |
@wiking | so back to the put | 16:37 |
@wiking | so we have this in CSGObject | 16:37 |
@wiking | template <class T, | 16:38 |
@wiking | class X = typename std::enable_if<is_sg_base<T>::value>::type, | 16:38 |
@wiking | class Z = void> | 16:38 |
@wiking | void put(const std::string& name, T* value) | 16:38 |
@wiking | { | 16:38 |
@wiking | put(Tag<T*>(name), value); | 16:38 |
@wiking | } | 16:38 |
@wiking | so to support | 16:38 |
@wiking | put("kernel", CKernel) and put("C1", 1.0) | 16:38 |
@wiking | i guess there's a dispatching right? | 16:38 |
gf712 | put("C1", 1.0) uses a different template | 16:39 |
gf712 | but yes | 16:39 |
gf712 | uses dispatching | 16:39 |
@wiking | but that is taken care by swig? | 16:41 |
@wiking | damn | 16:42 |
@wiking | that wont work in js | 16:42 |
@wiking | :( | 16:42 |
@wiking | as the overloading of a function is based on the number of args... not the types :( | 16:43 |
@wiking | fikfak | 16:43 |
gf712 | well, kinda, you need to template the templated function | 16:45 |
gf712 | I.e. %template(put) put<int,int> | 16:45 |
@wiking | yep | 16:45 |
gf712 | function template* even :[ | 16:45 |
gf712 | :p | 16:45 |
@wiking | i can do similar stuff emscripten but... | 16:46 |
@wiking | as said num of args will cut it | 16:46 |
@wiking | and since the num args doesn't change but the type | 16:46 |
@wiking | i'll have to do | 16:46 |
@wiking | putInt | 16:46 |
@wiking | putFloat | 16:46 |
@wiking | etc | 16:46 |
gf712 | ah right | 16:46 |
@wiking | and i think even then i might run into troubles | 16:46 |
gf712 | how does swig do it in the backend | 16:46 |
gf712 | because it needs to solve that issue no? | 16:47 |
@wiking | yeah | 16:47 |
@wiking | you can check the cxx code | 16:48 |
@wiking | basically a huge dispatch | 16:48 |
@wiking | :) | 16:48 |
gf712 | so you can do that :D | 16:48 |
gf712 | or is it not possible? | 16:48 |
@wiking | mmm not with embind | 16:50 |
gf712 | but in the front end you can have that dispatch in js? | 16:53 |
gf712 | i.e. check type of put | 16:53 |
gf712 | and then dispatch to putInt? | 16:53 |
gf712 | so frontend just has put... | 16:53 |
@wiking | mmm | 16:53 |
@wiking | idk | 16:53 |
@wiking | have to see | 16:53 |
@wiking | but i guess there's a good reason why the binder cannot do it | 16:53 |
@wiking | anyhow i just wanna generate now the iface first | 16:54 |
@wiking | as now i have the hyper params :)))) | 16:54 |
@wiking | amazing :D | 16:54 |
@wiking | welcome to 2019 :) | 16:54 |
-!- geektoni [5d22ef24@gateway/web/freenode/ip.93.34.239.36] has quit [Ping timeout: 256 seconds] | 16:55 | |
gf712 | haha | 16:56 |
gf712 | tbh most scalars in shogun should be hyper param no? | 16:56 |
gf712 | and then can work backwards from there... | 16:56 |
@wiking | yes | 17:04 |
@wiking | argh | 17:06 |
@wiking | i hate init_with...!@#$ | 17:06 |
@wiking | need to replace that with a static class | 17:06 |
gf712 | init_with? | 17:18 |
@wiking | the global func | 17:38 |
@wiking | gf712: the stuff without shogun doesn't even work :) | 17:43 |
gf712 | oh right, the thing that starts the env and stores all the sg_* | 17:44 |
@wiking | es | 17:44 |
@wiking | yes | 17:44 |
gf712 | you want to replace with a static map? | 17:44 |
@wiking | that can be replaced by a global static class | 17:44 |
@wiking | just add a class | 17:44 |
@wiking | that contains all of this | 17:44 |
@wiking | call it env | 17:44 |
@wiking | or something and that's it | 17:44 |
@wiking | env()->whatever | 17:44 |
@wiking | :) | 17:44 |
gf712 | sounds simple :D | 17:45 |
@wiking | yep it is | 17:45 |
@wiking | but then we can avoid having this | 17:45 |
@wiking | init_with | 17:45 |
@wiking | and exit_shogun | 17:45 |
@wiking | bs | 17:45 |
@wiking | but now i fail to run a simple for loop in js | 17:45 |
@wiking | :D | 17:45 |
@wiking | so i have even more simpler problesm in life | 17:45 |
@wiking | :))))) | 17:45 |
gf712 | haha | 17:46 |
gf712 | hopefully there will be GSoC students that can do that, or ill have a look at some point | 17:46 |
@wiking | for the for loop? :) | 17:46 |
gf712 | no the static class | 17:46 |
gf712 | for loop I can't help :D | 17:47 |
@wiking | gf712: something like this what do u think: https://pastebin.com/wXVv2qLN | 17:47 |
@wiking | this of course requires 2 new elements in an enum class | 17:47 |
@wiking | First and Last | 17:47 |
gf712 | is this to replace the enum class? | 17:48 |
@wiking | no | 17:48 |
@wiking | this is just an iterator for enum class | 17:48 |
gf712 | looks neat | 17:48 |
@wiking | so that you can iterate through the element of an enum claas | 17:49 |
gf712 | but you need to use using :D | 17:49 |
@wiking | the thing is | 17:49 |
@wiking | that i would like to have more and more | 17:49 |
gf712 | typedef is too weird | 17:49 |
@wiking | hahaha | 17:49 |
@wiking | C99 | 17:49 |
@wiking | should work | 17:49 |
@wiking | :) | 17:49 |
@wiking | ok so i wanna have something like to_string() | 17:49 |
@wiking | for AnyParameterProperties | 17:49 |
@wiking | and there i would need somethign like this | 17:49 |
gf712 | right, makes sense | 17:50 |
@wiking | to iterate through the values and tell if something is set tur | 17:50 |
@wiking | *true | 17:50 |
@wiking | yeah we miss a lot of to_string() | 17:50 |
@wiking | those then can be mapped later for other interface toString to_string string functions | 17:50 |
@wiking | good for debugging in that language | 17:50 |
gf712 | yup | 17:50 |
gf712 | using it right now! | 17:50 |
@wiking | hehehe | 17:50 |
@wiking | i mean of course lldb is cool as well | 17:50 |
@wiking | btw if you debug anything in any.h | 17:51 |
@wiking | use lldb | 17:51 |
@wiking | gdb blows up and takes a long time for me | 17:51 |
@wiking | to be able to set breakpoints in any.h | 17:51 |
@wiking | :) | 17:51 |
gf712 | ah good to know | 17:51 |
@wiking | yeah lldb ftw | 17:51 |
gf712 | same with sg_any_dispatch | 17:51 |
@wiking | but then it does some strange things | 17:51 |
@wiking | with vars | 17:51 |
gf712 | too many function templates | 17:51 |
gf712 | takes a while | 17:51 |
@wiking | a lot of times it cannot give me the values | 17:51 |
@wiking | yeah | 17:51 |
@wiking | lldb handles that better | 17:51 |
@wiking | works PERFECTly on osx | 17:51 |
gf712 | yup | 17:51 |
@wiking | but on linux the lldb (even latest) does some weird stuff with vars | 17:52 |
gf712 | never tried it on linux | 17:52 |
@wiking | sometimes | 17:52 |
@wiking | yeah on donbot i do debugging | 17:52 |
@wiking | and gdb is just crazy with those headers | 17:52 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 18:06 | |
-!- geektoni [5d22ef24@gateway/web/freenode/ip.93.34.239.36] has joined #shogun | 18:20 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 18:23 | |
-!- mode/#shogun [+o wiking] by ChanServ | 18:23 | |
@wiking | mmmm | 18:23 |
@wiking | swig 4.0 has been released...? 8) | 18:23 |
@wiking | noup | 18:24 |
@wiking | but there's docs | 18:24 |
@wiking | http://www.swig.org/Doc4.0/SWIGDocumentation.html#CONTENTS | 18:24 |
gf712 | wiking: they started updating lots of stuff | 18:25 |
gf712 | I have tried it out a bit but I had some issues with shogun | 18:25 |
gf712 | wiking: https://github.com/swig/swig/blob/master/CHANGES.current | 18:27 |
gf712 | lots of updates in the past few months | 18:28 |
-!- geektoni [5d22ef24@gateway/web/freenode/ip.93.34.239.36] has quit [Quit: Page closed] | 19:00 | |
@wiking | gf712: have u went into to_string for sgvect/matrix | 19:09 |
@wiking | ? | 19:09 |
@wiking | if not then dont | 19:09 |
@wiking | if yes then i dont do it | 19:10 |
-!- gf712 [90520868@gateway/web/freenode/ip.144.82.8.104] has quit [Ping timeout: 256 seconds] | 19:11 | |
-!- raulsierra97 [51ca9a30@gateway/web/freenode/ip.81.202.154.48] has joined #shogun | 19:32 | |
-!- raulsierra97 [51ca9a30@gateway/web/freenode/ip.81.202.154.48] has quit [Client Quit] | 19:32 | |
--- Log closed Fri Mar 29 00:00:13 2019 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!