<<27-05-2018>>

00:07:50*nsf quit (Quit: WeeChat 2.1)
00:17:47FromGitter<kayabaNerve> Just got the IMath lib to work :D
00:18:35FromGitter<kayabaNerve> @mratsim it works on stable, has a ton of operations built in, and is fast
00:19:28FromGitter<kayabaNerve> (it's a big number library that is signed, not unsigned, for clarification)
00:23:46*Electrux quit (Ping timeout: 264 seconds)
00:34:53*Electrux joined #nim
00:39:00*Electrux quit (Ping timeout: 245 seconds)
00:45:45*Electrux joined #nim
00:46:32FromGitter<kayabaNerve> I have a function that 'isn't' GCSafe. Can I silence that warning without disabling the GC? It's stopping my program from compiling
00:48:15FromGitter<kayabaNerve> NVM. Found a solution
00:50:11FromGitter<kayabaNerve> And NVM that NVM. My solution didn't work. Premature text. Sorry.
00:50:15*Electrux quit (Ping timeout: 245 seconds)
00:50:47*jhorwitz joined #nim
00:52:04cmk_zzzis the old forum still up and running somewhere?
00:56:32*sz0 joined #nim
00:58:44skrylari have had that gcsafe error as well but haven't really grokked it yet. i think it's there to stop you from calling out to unsafe code in the middle of weird tricks like closure iterators
01:00:01FromGitter<kayabaNerve> I'm using threads with read only memory
01:00:04FromGitter<kayabaNerve> And locks on the writes
01:04:51*Electrux joined #nim
01:05:31FromGitter<kayabaNerve> Whatever. I'll just remove threaded mining
01:06:49jhorwitzIs the best way to learn Nim still with Nim in Action?
01:09:33*Electrux quit (Ping timeout: 260 seconds)
01:14:17*dddddd quit (Remote host closed the connection)
01:16:09FromGitter<data-man> @jhorwitz: https://github.com/VPashkov/awesome-nim#websites
01:17:59*jhorwitz quit (Quit: leaving)
01:18:31*jhorwitz joined #nim
01:35:49*Electrux joined #nim
01:40:39*Electrux quit (Ping timeout: 256 seconds)
01:48:51*yglukhov[i] joined #nim
01:50:48FromGitter<kayabaNerve> I can personally recommend Nim in Action
01:51:04FromGitter<kayabaNerve> However, I think the tutorial may just be best since it's free
01:51:13FromGitter<kayabaNerve> https://nim-lang.org/docs/tut1.html
01:51:17FromGitter<kayabaNerve> Very nice...
01:53:30*yglukhov[i] quit (Ping timeout: 260 seconds)
02:05:51*athenot joined #nim
02:26:08jhorwitzI already have purchased Nim in Action!
02:26:21jhorwitzI went through it a while ago, but want to get back into it
02:42:42*Snircle joined #nim
03:00:03*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
03:00:46*sz0 quit (Quit: Connection closed for inactivity)
03:05:48*Electrux joined #nim
03:07:56*Electrux quit (Client Quit)
03:08:08*arecaceae quit (Remote host closed the connection)
03:08:20*Electrux joined #nim
03:08:34*arecaceae joined #nim
03:08:37*xkapastel joined #nim
03:25:24*rauss quit (Read error: Connection reset by peer)
03:27:18*rauss joined #nim
03:32:56*FuntDobra joined #nim
03:55:47*sz0 joined #nim
03:59:46FromGitter<kayabaNerve> I read it during my HS classes
03:59:52FromGitter<kayabaNerve> Seemed the better use of my time
04:04:44jhorwitzI'm sure it was
04:04:47jhorwitzlol
04:17:37*FuntDobra quit (Ping timeout: 248 seconds)
04:23:23skrylarwell, the wrapper for WORLD works. took a while but figured out how to analyze sounds and then re-synthesize the same one with it
04:26:36*eizua joined #nim
04:27:59*eizua quit (Client Quit)
04:30:16FromGitter<kayabaNerve> jhorwitz: it was. I'm not going to college so now I'm just coding
04:33:30*SenasOzys quit (Ping timeout: 252 seconds)
04:40:42skrylarmratsim: any thoughts on arrayfire :p
04:44:27skrylaralso it seems the openmp wrappers have disappeared
04:46:42FromGitter<kayabaNerve> Don't let your arrays catch on fire
04:46:47FromGitter<kayabaNerve> Irresponsible
04:47:03skrylareh it looked like a tensor library
04:47:21FromGitter<kayabaNerve> So that means the arrays are worth less?
04:47:25FromGitter<kayabaNerve> Arrayist
04:47:30skrylaralthough arraymancer has thus far put up with my bullshit, so it stays
04:47:37FromGitter<kayabaNerve> *I'll stop* gn people
04:47:44skrylarnow having to actually face parallelism in nim :x
04:47:47skrylaralright gn kayaba
05:00:47skrylarhrm. wonder if there's an easy way to just spin up a dozen parallel jobs in nim or if i should bother going the beanstalk/task server route
05:13:55*miran joined #nim
05:17:08FromGitter<7sDream> how can I use `in ("a", "b", "c")` statements with Nim's sql query template? ⏎ i.e. `getRow(sql"select * from table where name in (?)", names)` when name is a `seq[string]`
05:17:18*gangstacat quit (Quit: Ĝis!)
05:18:06*xkapastel quit (Quit: Connection closed for inactivity)
05:18:25FromGitter<7sDream> I found a thread in forum, https://forum.nim-lang.org/t/184, But it seems not yet been implemented
05:24:37FromGitter<data-man> @7sDream: Something like ```names.join(",")``` (join from strutils)
05:28:03FromGitter<7sDream> @data-man Any security issues when using it this way?
05:31:39FromGitter<7sDream> I think the approach discussed in the post looks better, but can we pass a `seq[string]` to `varargs string`? like Python's `some_method(*args)`
05:33:22FromGitter<data-man> Make PR :)
05:35:26FromGitter<7sDream> :P will try after I finish my work
05:36:15FromGitter<data-man> Is ```join``` works?
05:39:06FromGitter<7sDream> I'm testing the forum's way, will test join after that
05:42:52FromGitter<data-man> Maybe the ```names```must be quoted.
05:43:46FromGitter<data-man> Entries in the ```names```.
05:47:32FromGitter<data-man> What DB you use?
05:48:31FromGitter<7sDream> sqlite
05:48:47FromGitter<7sDream> just for test
05:49:54FromGitter<7sDream> http://ix.io/1bvQ/nim
05:50:29FromGitter<7sDream> forum's way works, it seem varargs accept a seq, but can't follow by any other items
05:51:14miranvarargs unpacks a seq?
05:52:05FromGitter<data-man> Then I recommend use https://github.com/sqlitebrowser/sqlitebrowser for debugging SQL queries.
05:55:38FromGitter<7sDream> @miran yes, varargs accept a seq: https://glot.io/snippets/f1f23io11n
05:56:18FromGitter<7sDream> I'm using sqlitestudio, sqlitebrowser is great too
05:56:50miranbut is this how varargs should be used?
05:57:08miranbecause you only have one arg - a seq
05:57:20miranand you could do `a: seq[int]`
05:58:01FromGitter<7sDream> yes, that's way I want a way to unpack args like Python `some_method(*args1, *args2, 123)`
05:58:07FromGitter<7sDream> s/way/why
05:58:09miranthis is how to use varargs, IMO: https://glot.io/snippets/f1f26jlsna
05:58:52miranIIRC you cannot do that in python. the order of arguments is wrong and you cannot have two unpackings
05:58:57FromGitter<7sDream> I know it, but if I got args in two different seq, how can I pass them to a varargs?
05:59:27miran`a, b: seq[int]`?
05:59:50miranthen you need something like python's itertools.chain
05:59:58FromGitter<7sDream> But the method is not written by myself...
06:00:33FromGitter<7sDream> If I can control the params list, I wil use `varargs seq[int]`
06:01:07mirancan you show me/us the method?
06:01:38FromGitter<7sDream> this thread: https://forum.nim-lang.org/t/184
06:02:47FromGitter<7sDream> and it's not yet been implemented, so I try myself: http://ix.io/1bvQ/nim
06:03:07miranhere is the version that takes multiple seqs: https://glot.io/snippets/f1f2bigkxe
06:04:43FromGitter<7sDream> yes, but `db_sqlite.getAllRows` (which in stdlib) 's params list is `varargs[string]`
06:06:39miranoh, so you have seqs, but you need to have strings?
06:07:39FromGitter<7sDream> yes
06:07:50FromGitter<7sDream> BTW, Python do support multi `*args`
06:08:03miranhere you go, you concat the seqs: https://glot.io/snippets/f1f2ge4itg
06:08:41FromGitter<7sDream> yes, that's what I'm doing……http://ix.io/1bvQ/nim, line 4
06:09:07FromGitter<7sDream> just wonder is there any better way/syntax
06:13:22FromGitter<data-man> Oh, SQLiteStudio was migrated to GitHub. Great, I didn't know. :)
06:20:24FromGitter<7sDream> `import sequtils` then `"1".repeat(2) == ["1", "1"]` ⏎ `import strurtils` then `"1".repeat(2) == "11"` ⏎ a bit confusing/hard when import and use both of them……+_+ ⏎ https://glot.io/snippets/f1f2pepxhx [https://gitter.im/nim-lang/Nim?at=5b0a4e2846e4f37b86fc8e25]
06:22:12skrylari kinda wish flowvars were better documented in threadpool, but at least sync works. o/
07:07:02*gangstacat joined #nim
07:16:32*nsf joined #nim
07:47:47Electruxif i don't use import sequtils ( or even if i do ) can i use sequtils.<function>?
07:47:52Electruxinstead of just <function>
07:49:33FromGitter<7sDream> if you import, you can
07:58:37miranElectrux: you can do `from sequtils import <function>`
07:58:44FromGitter<data-man> You can use ```from sequtils import <function>```
07:58:49FromGitter<data-man> :)
07:58:58miran:)
07:59:39Electruxno i meant for what 7sDream said... how do i use the, say, repeat function from both strutils and sequtils without causing ambiguity
08:00:16miranfrom sequtils import function as seqfunction; from strutils import function as strfunction?
08:00:33FromGitter<7sDream> do we has `as`?
08:01:16FromGitter<7sDream> identifier expected, but found 'repeat as seqRepeat'
08:01:22FromGitter<7sDream> :/
08:01:37FromGitter<data-man> ```as``` what is it, casting?
08:01:48FromGitter<7sDream> alias
08:01:49miranoh, i thought this worked, sorry
08:01:51Araq'as' only introduces module aliases
08:01:56Araqfrom sequtils import nil
08:02:01Araqfrom strutils import nil
08:02:11Araqsequtils.repeat() vs strutils.repeat()
08:02:16Araqimport sequtils
08:02:21Araqimport strutils except repeat
08:02:34Araqso many ways to do what you need :-)
08:02:35*gmpreussner_ quit (Ping timeout: 240 seconds)
08:02:52FromGitter<7sDream> emmm, when I want use both of them...
08:02:57Electruxso... <module>.<function> works when i import nil from them?
08:03:01Electruxthat's cool!! :D
08:03:03miranbtw Electrux, usually if the functions have the same name, but the different signature - this is not the problem
08:03:27Araqyou can use both of them
08:03:31Araqwhen you use
08:03:35Araqimport x except y
08:03:41Araqx.y is still available
08:03:44Araqwhen you use
08:03:47FromGitter<7sDream> oh, great
08:03:49Araqfrom x import nil
08:03:55Araqx.y is still available
08:03:58FromGitter<7sDream> that's helpful
08:04:00Electruxoh wait... i literally forgot about the overloading concept lol sorry
08:04:08Electruxthat's awesome thanks Araq :D
08:05:41*gmpreussner_ joined #nim
08:24:45miranbtw, another benchmark (this time comparing C FFI across different languages) including nim: https://github.com/dyu/ffi-overhead
08:30:41*FuntDobra joined #nim
08:35:42Araqseems flawed since Nim has no overhead
08:36:01Araqnor does Rust have any
08:37:40Araqor D.
08:37:54Araqwhatever he is measuring, it's not the "FFI overhead"
08:38:00miran:)
08:39:25*Shivelight quit (Quit: Connection closed for inactivity)
08:40:08Araqmaybe it's "cache effects under how the linker arranged functions in memory"
08:40:34FromGitter<data-man> btw, tup is great :)
08:45:57*FuntDobra quit (Ping timeout: 240 seconds)
08:58:27*miran quit (Ping timeout: 240 seconds)
08:58:27*miran_ joined #nim
08:58:48*miran_ is now known as miran
09:01:21*rauss quit (Read error: Connection reset by peer)
09:04:03*rauss joined #nim
09:30:09YardanicoHmm, is there a way to check if /dev/urandom exists?
09:32:55Araqdon't use it, it can be corrupted anyway
09:33:03Araqand always return 0.
09:33:17Araqfiles are not APIs, files are much worse.
09:42:12*FuntDobra joined #nim
09:44:05*Electrux quit (Ping timeout: 252 seconds)
09:47:26*Electrux joined #nim