| 00:26:46 | * | q66 quit (Quit: Quit) |
| 06:13:09 | * | XAMPP quit (Ping timeout: 248 seconds) |
| 06:48:15 | * | XAMPP joined #nimrod |
| 09:23:29 | * | XAMPP quit (Quit: Leaving) |
| 10:26:02 | * | zahary1 joined #nimrod |
| 10:32:45 | * | XAMPP joined #nimrod |
| 10:33:46 | * | dom96_ joined #nimrod |
| 10:34:02 | * | fowl quit (*.net *.split) |
| 10:34:02 | * | zahary quit (*.net *.split) |
| 10:34:02 | * | a_peach quit (*.net *.split) |
| 10:34:02 | * | dom96 quit (*.net *.split) |
| 10:40:03 | * | fowl joined #nimrod |
| 11:41:32 | zahary1 | >> zahary and I talked about it for days and thought it's a good idea given the current configuration system |
| 11:42:24 | zahary1 | Araq, the issue we discussed at length was not this actually. it was wether to use the current working directory (in the shell) as a lib path as well |
| 11:43:50 | zahary1 | we decided against it, because it leads to non-repeatable builds. relative paths within the module to other modules should be ok |
| 11:46:06 | * | zahary1 is now known as zahary |
| 15:05:39 | * | apriori_ joined #nimrod |
| 15:32:01 | * | q66 joined #nimrod |
| 16:20:35 | * | Trix[a]r_za quit (Ping timeout: 240 seconds) |
| 16:20:55 | * | Trix[a]r_za joined #nimrod |
| 16:44:22 | * | gradha joined #nimrod |
| 17:42:20 | * | FreeArtMan joined #nimrod |
| 17:44:40 | gradha | nimrod c -r ping-statistics-fetcher.nim |
| 17:44:46 | gradha | Error: invalid module name: 'ping-statistics-fetcher' |
| 17:44:59 | gradha | are dashes bad or something? |
| 17:45:19 | fowl | gradha: they cant work as a module name |
| 17:45:50 | * | dom96_ is now known as dom96 |
| 17:45:51 | * | dom96 quit (Changing host) |
| 17:45:51 | * | dom96 joined #nimrod |
| 17:46:16 | fowl | gradha: ping-statistics-fetcher.somefunc() is really ping - statistics - fetcher.somefunc() |
| 17:46:26 | dom96 | ^^ |
| 17:46:28 | gradha | its much better than python, which allows it until you realize the mistake and renaming becomes a PITA |
| 17:47:12 | fowl | lol |
| 17:49:45 | gradha | there's something wrong with the httpclient example under macosx: echo(getContent("http://google.com")) never returns! |
| 17:56:14 | Araq | does it return under linux? |
| 17:57:23 | gradha | I was going to dig into httpclient but looks like something in idetools has broken the vim plugin, did something change there recently? |
| 17:57:40 | gradha | just in case I'm going to update everything now |
| 17:58:43 | fowl | Araq: not for me |
| 17:58:52 | gradha | ok, eventually getContent returns, it just takes its sweet time, apparently |
| 18:00:40 | Araq | gradha: I dunno, every change affects idetools as it runs the compiler all the time |
| 18:04:19 | fowl | weird |
| 18:04:25 | fowl | getcontent() took hella long |
| 18:04:29 | gradha | zahary: how could I dump/view the command being run against nimrod idetools? |
| 18:05:10 | gradha | I'm timing now "downloadFile(REPORT_URL, "temp.txt")" |
| 18:05:28 | gradha | the temp.txt gets created, but is blank at the moment, will see how long it takes |
| 18:08:29 | gradha | Fetching data from http://www.google.es/ |
| 18:08:30 | gradha | real 3m35.460s |
| 18:08:31 | gradha | user 0m1.807s |
| 18:08:32 | gradha | sys 0m0.279s |
| 18:08:44 | gradha | odd numbers |
| 18:10:48 | gradha | interrupting the program shows the stack at http://pastebin.com/hvxyqHHU |
| 18:14:55 | Araq | yeah makes sense |
| 18:15:20 | Araq | it blocks until it read buffer.high chars or a timeout occurs |
| 18:15:41 | Araq | well that could be the reason |
| 18:18:32 | * | Araq never got posix's sockets API ... |
| 18:23:16 | * | apriori_ quit (Quit: Konversation terminated!) |
| 18:24:01 | dom96 | It's quite possible there is an issue. |
| 18:24:11 | dom96 | For example it might expect more data, and continually blocks. |
| 18:24:17 | dom96 | After a while the http server drops the connection |
| 18:24:33 | dom96 | and it then knows that no more data is to come. |
| 18:31:47 | Araq | well that's easy to validate; just decrease the buffer size |
| 18:32:36 | dom96 | in fact, I think I can see what the issue is already |
| 18:32:59 | dom96 | The default implementation of sockets changed from a non-buffering to a buffering implementation. |
| 18:33:18 | dom96 | That might be the issue |
| 18:34:58 | gradha | I changed TSocketImpl.buffer to an array of 1 but still get the same behaviour |
| 18:36:06 | gradha | OTOH changing socket's default buffered param to false solve this |
| 18:37:20 | dom96 | mmm |
| 18:58:15 | * | apriori_ joined #nimrod |
| 19:01:03 | Araq | hi apriori_, I've implemented generic converters for you |
| 19:01:10 | gradha | looks like running `[]` on a JSonNode with an incorrect key sigsevs, do you want a bug report? |
| 19:02:37 | apriori_ | Araq: hey :) |
| 19:02:48 | apriori_ | Araq: are they in git already? |
| 19:04:18 | gradha | ah, no, my bad, I forgot echoing nils is bad for your health |
| 19:07:32 | dom96 | Araq: Sooner or later we are going to have to figure out why Aporia acts odd on Windows without -d:release |
| 19:07:41 | dom96 | Araq: Any quick ideas? |
| 19:09:46 | dom96 | Araq: https://github.com/nimrod-code/Aporia/issues/24 |
| 19:16:21 | fowl | gradha: you should still get an exception for unknown key, right? |
| 19:16:39 | gradha | with []? I just get nil |
| 19:17:22 | Araq | apriori_: yes |
| 19:17:35 | gradha | don't think it should throw any exceptions, who knows where that json came from |
| 19:17:41 | dom96 | yeah, `[]` returns nil if the key does not exist. |
| 19:17:55 | fowl | o |
| 19:18:23 | fowl | i use haskey() automatically so i never noticed >_> |
| 19:18:27 | fowl | existskey() |
| 19:18:36 | dom96 | same :P |
| 19:19:19 | Araq | dom96: I'd guess it's a calling convention problem somewhere |
| 19:19:36 | Araq | and -d:release causes some other stack layout causing the crash |
| 19:20:57 | dom96 | Araq: hrm, looks like I need to read up on that :P |
| 19:21:29 | Araq | or maybe you missed a trailing 'nil' for one varargs call |
| 19:21:49 | dom96 | hrm, possible. |
| 19:21:51 | Araq | and the stack location was 'nil' by good luck in debug mode and under linux |
| 19:22:13 | dom96 | especially because it occurs for a treeview widget. |
| 19:22:32 | dom96 | well, on linux. |
| 19:22:43 | dom96 | anyway, bbl. |
| 19:24:29 | Araq | same here, bbl |
| 19:33:21 | * | FreeArtMan quit (Ping timeout: 276 seconds) |
| 19:48:29 | apriori_ | Araq: unfortunately I just triggered an internal error: https://github.com/Araq/Nimrod/issues/271 |
| 20:05:24 | dom96 | fowl: You should add your libraries/wrappers/etc to babel. :) |
| 20:10:23 | fowl | ii will |
| 20:41:04 | * | Vladar joined #nimrod |
| 20:48:39 | Vladar | Araq, is there any way to convert string to c's *wchar_t to pass into c-function? Like mbstowcs or something |
| 20:51:06 | gradha | I believe there's only cstring, which returns the C utf8 version of the nimrod string |
| 20:51:16 | fowl | Vladar: in my experience cstring works fine where *wchar is expected, but i havent tried throwing unicode chars in there to see what happens |
| 20:58:49 | apriori_ | guys.. for the anonymous specialisation of a generic type (say SMatrixNM*[M, N, T] = object aij*: array[M, array[N, T]]), can I somehow make typedesc[T] match a specific SMatrix[M, N, T]? |
| 20:59:24 | apriori_ | say.. I'm stupid enough that I want to "overload" new on a typedesc.. I seem to end up with anonymous types only |
| 21:05:47 | apriori_ | https://gist.github.com/4253422 |
| 21:08:44 | fowl | apriori_: irt your issue im pretty sure converters dont work at all with generics |
| 21:10:09 | apriori_ | fowl: Araq said earlier he implemented it |
| 21:10:35 | fowl | o |
| 21:11:31 | apriori_ | oh.. ast based overloading was added, too |
| 21:25:50 | Araq | Vladar: there is a way, let me look it up |
| 21:27:00 | Araq | allocWideCString("my nimrod string") |
| 21:27:10 | Araq | but don't forget to dealloc() the wide C string |
| 21:27:22 | Vladar | thanks, Araq. I'll try it out. |
| 21:28:17 | Araq | apriori_: are you sure it's the converter? does it work when you invoke the converter explicitly? |
| 21:29:30 | apriori_ | Araq: explicit call works |
| 21:29:47 | Araq | yay ... :-/ |
| 21:30:47 | Araq | btw your code looks like a good stress test for the compiler, but not like production code :P |
| 21:31:12 | Araq | but then I guess that's indeed common production code in C++ ;-) |
| 21:31:20 | apriori_ | Araq: what specifically? |
| 21:35:45 | apriori_ | Araq: that's just an excerpt.. you don't want to see the whole mess ;) |
| 21:37:02 | Araq | TMatrixNM*[M, N, T] = ref SMatrixNM[M, N, T] # so a vector is a heap object? |
| 21:37:22 | Araq | a specialized matrix that resides on the GC'ed heap? ;-) |
| 21:38:02 | apriori_ | yup.. for now.. |
| 21:38:19 | apriori_ | later tests will show whether that's actually a good idea... |
| 21:38:29 | Araq | it's not |
| 21:39:31 | Araq | and you really should decide whether it's a 4x4 matrix or something ("used for games") or a potentially huge matrix ("used for scientific computing") |
| 21:39:34 | apriori_ | true for small matrices.. but say you got 2k x 2k |
| 21:42:39 | apriori_ | btw, suggesting a minor language change for "conveniently" typed array literals |
| 21:42:52 | apriori_ | (T)[...] and (T)@[...] |
| 21:43:44 | apriori_ | I think.. a TR macro should be able to transform that (though of course depending on the compiler flag) |
| 21:43:57 | Araq | how is that better than T([1, 2]) ? |
| 21:44:18 | Araq | (except that T([1,2]) may not work for now) |
| 21:44:35 | apriori_ | well, I would definetly confuse T(..) with a "normal" cast |
| 21:45:19 | apriori_ | but, well.. one could just document that and it'll be fine |
| 21:48:31 | Araq | well a cast is 'cast[T](x)' and type conversions are always safe, so it's no problem to conflate type annotations and type conversions |
| 21:49:10 | Araq | int16(133) is already the same as 133'i16 |
| 21:50:44 | apriori_ | okay |
| 22:05:53 | Vladar | Araq, I tried allocWideCString (also, it didn't imports with system, only as "import system/widestrs") and it failed. But when I make other one with int32 instead int16 it worked correctly. |
| 22:08:48 | Araq | Vladar: on linux wchar_t could indeed be 32 bits ... |
| 22:10:06 | Vladar | Araq: Well, it means, I must test it on wine too ) |
| 22:11:12 | Araq | and hm, it's only part of system.nim on windows |
| 22:11:23 | Araq | I guess I should change that |
| 22:11:40 | Araq | was never meant to be exported :P |
| 22:12:34 | Vladar | It might be using `when` for different OS'es |
| 22:16:41 | Araq | er ... no? |
| 22:16:45 | Araq | when defined(windows) and not defined(useWinAnsi): |
| 22:16:46 | Araq | include "system/widestrs" |
| 22:16:53 | Araq | sysio.nim:160 |
| 22:18:28 | apriori_ | need to go now |
| 22:18:30 | apriori_ | bye all |
| 22:20:06 | * | apriori_ quit (Quit: Konversation terminated!) |
| 22:39:29 | * | gradha quit (Quit: gradha) |
| 22:41:51 | Vladar | bye |
| 22:42:01 | * | Vladar quit (Quit: Leaving) |