<< 26-11-2015 >>

00:00:15*elrood quit (Quit: Leaving)
00:05:20*Varriount-Laptop quit (Ping timeout: 276 seconds)
00:09:09*jaco60 quit (Quit: Leaving)
00:09:32ephjadom96: isConnected is what I'm thinking of
00:09:41ephjaif a BSD socket gets disconnected then it's still "open", right?
00:11:14*OmlkRoNiXz quit (Ping timeout: 260 seconds)
00:12:16*OmIkRoNiXz joined #nim
00:16:11*yglukhov quit (Remote host closed the connection)
01:07:28*brson joined #nim
01:10:26*brson quit (Client Quit)
01:16:38*yglukhov joined #nim
01:19:50*gokr quit (Ping timeout: 272 seconds)
01:20:47*yglukhov quit (Ping timeout: 246 seconds)
01:43:26*kniteli joined #nim
01:44:12*akiradeveloper joined #nim
01:47:57*girvo_ joined #nim
01:48:06*girvo_ quit (Client Quit)
01:49:41girvoHey all
01:49:41girvoQuick question: what's the best way of taking a JsonNode and ensuring it matches the correct "shape"?
01:49:41girvoie. quickly asserting it fits a particular data structure
01:50:34*akiradeveloper quit (Remote host closed the connection)
01:53:40*akiradeveloper joined #nim
01:56:26*Varriount-Laptop joined #nim
02:00:04*akiradeveloper quit (Remote host closed the connection)
02:06:16*akiradeveloper joined #nim
02:10:35ephjadom96: ok so recv on an unbuffered socket returns "" if disconnected, but waits indefinitely if no data is available, which does avoid ambiguity, but it kind of makes it semi-buffered
02:13:39ephjathis was also discussed somewhere, wasn't it?
02:18:10*yglukhov joined #nim
02:23:39*yglukhov quit (Ping timeout: 255 seconds)
02:30:29girvoanother question: how can I execute an external command and pass the output through to stdout while it streams in?
02:33:50ephjagirvo: http://nim-lang.org/docs/osproc.html
02:34:51girvoephja: thanks :) options={poParentStreams} did the trick
02:35:11girvoAlthough it hangs once it's done it seems :/
02:36:08girvo" let (output, exitCode) = execCmdEx(command, options = {poParentStreams})
02:36:53ephjaoh
02:37:13girvoI'm likely using the wrong API for this lol. I just want to passthru the stdout, and capture the exit code once it's done
02:40:04*vikaton joined #nim
02:40:12vikatonhello
02:40:23vikatonwhat happened to the windows nim library?
02:40:43girvoOh I'm an idiot. execCmd (not ex) works perfectly lol
02:42:19*LibreWulf is now known as LibreWerewulf
02:43:25ldleworkAnyone here into reverse engineering?
02:52:05*nicktick quit (Read error: Connection reset by peer)
02:53:48*nicktick joined #nim
02:56:17*vendethiel joined #nim
03:00:11*ephja quit (Ping timeout: 264 seconds)
03:01:29*Varriount-Laptop quit (Ping timeout: 276 seconds)
03:18:20*Varriount-Laptop joined #nim
03:18:42*vendethiel quit (Ping timeout: 272 seconds)
03:19:17*flaviu quit (Remote host closed the connection)
03:25:55*nicktick quit (Read error: Connection reset by peer)
03:27:32*nicktick joined #nim
03:31:26*titanomachy quit (Ping timeout: 260 seconds)
03:31:50*nicktick1 joined #nim
03:33:55*nicktick quit (Ping timeout: 272 seconds)
03:35:52girvoAnyone got a yaml parser for nim floating around?
03:37:26*nicktick1 quit (Ping timeout: 240 seconds)
03:38:23*titanomachy joined #nim
04:17:47*zepolen quit (Remote host closed the connection)
04:20:28*yglukhov joined #nim
04:25:13*yglukhov quit (Ping timeout: 272 seconds)
04:25:36girvoI converted some gross bash scripts I was using into an actual CLI: https://github.com/girvo/dup
04:25:41girvoUsing nim :)
04:28:45*nicktick joined #nim
04:28:46*zepolen joined #nim
04:28:56girvoNot the nicest code, it was something I smashed out as quickly as I could. I'm looking forward to cleaning it up and expanding it
04:29:17girvoBasically replacing docker-compose with a nim-written version that handles database persistence correctly
04:37:04*darkf joined #nim
04:46:12girvoQuestion: Is there any documentation on how to handle memory management when using a C library through Nim? I've been working on some SDL2 experiments, and I'm curious about whether it'll leak memory by default or the GC is smart enough to handle the external library?
04:56:03*barosl quit (Quit: Leaving)
05:03:02*barosl joined #nim
05:19:16*Varriount-Laptop quit (Ping timeout: 276 seconds)
05:19:24*kniteli quit (Ping timeout: 244 seconds)
05:36:38*nicktick quit (Quit: Leaving.)
05:39:15*Jesin quit (Quit: Leaving)
06:01:58*Demon_Fox quit (Quit: Leaving)
06:18:56*gc87 joined #nim
06:21:54*yglukhov joined #nim
06:24:42*nicktick joined #nim
06:25:55*yglukhov quit (Ping timeout: 240 seconds)
06:30:29*gc87 slaps mikolalysenko around a bit with a large fishbot
06:31:04*gc87 quit (Quit: Page closed)
06:42:35girvoNow "dup" can be cross-compiled for Linux on anything, via Docker :)
06:42:43girvo(and "make")
06:58:15*girvo quit (Ping timeout: 252 seconds)
07:02:45*bjz joined #nim
07:27:04*flyx|znc joined #nim
07:27:39*tymat quit (Ping timeout: 265 seconds)
07:28:07*OmIkRoNiXz quit (Ping timeout: 265 seconds)
07:28:08*wan quit (Ping timeout: 265 seconds)
07:28:32*wan joined #nim
07:28:36*bjz quit (Ping timeout: 265 seconds)
07:28:38*thotypous quit (Ping timeout: 265 seconds)
07:28:38*Sembei quit (Ping timeout: 265 seconds)
07:28:38*Xe quit (Ping timeout: 265 seconds)
07:29:01*bjz joined #nim
07:30:04*barosl_ joined #nim
07:30:28*thotypous joined #nim
07:30:52*jck_ joined #nim
07:31:46*mal``` joined #nim
07:32:57*renesac_ joined #nim
07:33:10*gour joined #nim
07:33:26*OmIkRoNiXz joined #nim
07:33:37*zemm joined #nim
07:33:52*akiradev_ joined #nim
07:33:56*zxtx_ joined #nim
07:34:59*titanomachy quit (*.net *.split)
07:34:59*heinrich5991 quit (*.net *.split)
07:35:06*Lea2 joined #nim
07:35:07*themagician_i joined #nim
07:35:25*MyMind joined #nim
07:35:40*titanomachy joined #nim
07:35:57*theduke quit (*.net *.split)
07:35:57*Amun_Ra quit (*.net *.split)
07:35:57*vegansk quit (*.net *.split)
07:35:57*themagician quit (*.net *.split)
07:36:10*avsej_ joined #nim
07:36:10*avsej_ quit (Changing host)
07:36:10*avsej_ joined #nim
07:36:24*someplac- joined #nim
07:36:26*barosl quit (*.net *.split)
07:36:27*federico3 quit (*.net *.split)
07:36:27*BlaXpirit quit (*.net *.split)
07:36:55*lokulin quit (*.net *.split)
07:36:55*Xe` joined #nim
07:37:19*BlaXpirit joined #nim
07:38:09*vqrs_ joined #nim
07:39:06*key_ joined #nim
07:39:21*vikaton quit (Quit: Connection closed for inactivity)
07:40:04*tymat joined #nim
07:40:15*avsej quit (*.net *.split)
07:40:15*lyro quit (*.net *.split)
07:40:16*tomp quit (*.net *.split)
07:40:16*mal`` quit (*.net *.split)
07:40:16*jackv quit (*.net *.split)
07:40:16*renesac quit (*.net *.split)
07:40:18*avsej_ is now known as avsej
07:40:43*akiradeveloper quit (*.net *.split)
07:40:43*jck quit (*.net *.split)
07:40:43*zaquest quit (*.net *.split)
07:40:44*clone1018_ quit (*.net *.split)
07:40:44*zemm_ quit (*.net *.split)
07:40:44*Learath2 quit (*.net *.split)
07:40:44*cryzed quit (*.net *.split)
07:40:44*zxtx quit (*.net *.split)
07:40:44*ldlework quit (*.net *.split)
07:40:45*flyx quit (*.net *.split)
07:40:45*dtscode quit (*.net *.split)
07:40:45*pleiosaur quit (*.net *.split)
07:40:45*clone1018 quit (*.net *.split)
07:40:45*someplace quit (*.net *.split)
07:40:45*jackv joined #nim
07:40:46*flyx|znc is now known as flyx
07:40:46*zxtx_ is now known as zxtx
07:40:52*nchambers joined #nim
07:41:16*ldlework joined #nim
07:41:52*zaquest joined #nim
07:41:53*cryzed joined #nim
07:42:24*vqrs quit (*.net *.split)
07:42:24*gmpreussner|work quit (*.net *.split)
07:42:31*lyro joined #nim
07:43:04*yglukhov joined #nim
07:43:27*bjz quit (Ping timeout: 272 seconds)
07:43:59*theduke joined #nim
07:44:39*Amun_Ra joined #nim
07:45:03*lyro quit (Remote host closed the connection)
07:46:24*heinrich5991 joined #nim
07:46:53*zepolen_ joined #nim
07:47:24*Xe` is now known as Xe
07:48:39*vegansk joined #nim
07:48:47*clone1018 joined #nim
07:49:08*bjz joined #nim
07:49:44*cyraxjoe_ joined #nim
07:49:47*lokulin joined #nim
07:50:41*lyro joined #nim
07:51:15*niv_ joined #nim
07:51:20*OnO_ joined #nim
07:51:24*zama_ joined #nim
07:52:05*[tymat] joined #nim
07:52:46*fold3 joined #nim
07:53:40*tomp joined #nim
07:53:48*SirCmpwn_ joined #nim
07:55:37*M-max1 joined #nim
07:56:02*theduke quit (*.net *.split)
07:56:03*yglukhov quit (*.net *.split)
07:56:03*key_ quit (*.net *.split)
07:56:03*tymat quit (*.net *.split)
07:56:03*zepolen quit (*.net *.split)
07:56:03*gunn quit (*.net *.split)
07:56:04*cyraxjoe quit (*.net *.split)
07:56:04*Roin_ quit (*.net *.split)
07:56:04*zama quit (*.net *.split)
07:56:04*M-max quit (*.net *.split)
07:56:04*SirCmpwn quit (*.net *.split)
07:56:04*fold2 quit (*.net *.split)
07:56:04*LibreWerewulf quit (*.net *.split)
07:56:04*bigfondue quit (*.net *.split)
07:56:04*bbl quit (*.net *.split)
07:56:04*niv quit (*.net *.split)
07:56:04*OnO quit (*.net *.split)
07:56:19*[tymat] is now known as tymat
07:56:20*niv_ is now known as niv
07:56:55*akiradev_ quit (Remote host closed the connection)
07:57:15*LibreWerewulf joined #nim
07:58:28*bbl joined #nim
08:00:26*theduke joined #nim
08:02:03*akiradeveloper joined #nim
08:05:13*bigfondue joined #nim
08:08:32*akiradeveloper quit (Remote host closed the connection)
08:08:48*Roin_ joined #nim
08:16:44*federico3 joined #nim
08:21:18*clone1018_ joined #nim
08:22:00*darkf quit (Read error: Connection reset by peer)
08:22:25*darkf joined #nim
08:23:21*akiradeveloper joined #nim
08:24:07*M-max1 quit (Changing host)
08:24:07*M-max1 joined #nim
08:25:22*clone1018_ quit (Changing host)
08:25:22*clone1018_ joined #nim
08:26:43*gokr joined #nim
08:28:45*darkf_ joined #nim
08:30:15*clone1018_ quit (Ping timeout: 240 seconds)
08:32:26*darkf__ joined #nim
08:35:07*federico2 joined #nim
08:36:16*zepolen_ quit (Read error: Connection reset by peer)
08:36:49*zepolen joined #nim
08:37:52*darkf quit (Ping timeout: 240 seconds)
08:38:11*akiradev_ joined #nim
08:39:52*akiradeveloper quit (Ping timeout: 272 seconds)
08:41:11*darkf_ quit (*.net *.split)
08:43:33*Ven joined #nim
08:44:15*clone1018_ joined #nim
08:44:47*federico3 quit (*.net *.split)
08:50:20*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
08:51:15*bjz joined #nim
09:00:56*akiradev_ quit (Remote host closed the connection)
09:06:17*ephja joined #nim
09:07:19*darkf__ is now known as darkf
09:08:20*mindriot101 joined #nim
09:09:19*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
09:12:05*coffeepot joined #nim
09:18:30*Arrrr joined #nim
09:19:01*yglukhov joined #nim
09:19:27*nicktick quit (Quit: Leaving.)
09:30:27*mindriot_ joined #nim
09:33:11*mindriot101 quit (Ping timeout: 264 seconds)
09:33:11*gokr quit (Ping timeout: 264 seconds)
09:33:11*Roin_ quit (Ping timeout: 264 seconds)
09:33:12*fold3 quit (Ping timeout: 264 seconds)
09:33:47*coffeepot quit (Ping timeout: 264 seconds)
09:33:48*SirCmpwn_ quit (Ping timeout: 264 seconds)
09:33:48*avsej quit (Ping timeout: 264 seconds)
09:33:48*zemm quit (Ping timeout: 264 seconds)
09:33:49*xet7 quit (Ping timeout: 264 seconds)
09:33:49*mtj_ quit (Ping timeout: 264 seconds)
09:34:23*M-max1 quit (Remote host closed the connection)
09:35:22*zemm joined #nim
09:36:30*makoLine quit (Ping timeout: 240 seconds)
09:37:59*theduke quit (Ping timeout: 264 seconds)
09:38:05*avsej joined #nim
09:38:05*avsej quit (Changing host)
09:38:06*avsej joined #nim
09:38:15*SirCmpwn joined #nim
09:41:17*zepolen quit (Read error: Connection reset by peer)
09:41:53*zepolen joined #nim
09:42:34*[CBR]Unspoken joined #nim
09:45:57*xet7 joined #nim
09:46:14*Roin_ joined #nim
09:47:22*mtj_ joined #nim
09:48:34*fold3 joined #nim
09:49:04*gokr joined #nim
09:51:33*Xe is now known as Guest95688
09:51:34*Guest95688 quit (Killed (tepper.freenode.net (Nickname regained by services)))
09:52:30*theduke joined #nim
09:53:53*Xe joined #nim
09:54:48*pleiosaur joined #nim
09:55:57*bjz joined #nim
10:08:36dom96https://www.raspberrypi.org/blog/raspberry-pi-zero/
10:12:54ArrrrDoes nim run in raspbian?
10:13:12ephjait seems as though redirecting stdout only works when more than one argument it passed to echo
10:17:48ephjadom96: A recv proc which signals disconnects via a bool return seems like a better approach to me
10:20:46*M-max joined #nim
10:23:31dom96Arrrr: yep
10:24:02dom96ephja: your redirection issue sounds like a buffering problem
10:24:21*mindriot_ quit ()
10:24:21dom96ephja: rather than returning an empty string?
10:25:33dom96bbl
10:27:02*Ven quit (Read error: Connection reset by peer)
10:27:09*kniteli joined #nim
10:27:34*Ven joined #nim
10:30:21ephjadom96: but echo does flush, and it doesn't matter how long the resulting buffer is, as a result of concatenating the arguments
10:31:12ephjadom96: the real problem is that it might block indefinitely, when it's supposed to be unbuffered. I'll try to implement an overload so that I can actually use it
10:32:13*federico2 is now known as federico3
10:39:55*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
10:40:32*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:40:42strcmp1federico3: yeah can do. i'm still in dublin.
10:48:33*kniteli quit (Remote host closed the connection)
10:52:58*gour left #nim ("WeeChat 1.3")
10:55:52*thotypous quit (Quit: WeeChat 1.3)
10:57:08*girvo joined #nim
10:59:18*BlaXpirit quit (Quit: Bye)
11:00:17*BlaXpirit joined #nim
11:01:45*girvo quit (Ping timeout: 265 seconds)
11:03:16dom96ephja: then use asyncnet which doesn't block
11:07:55*kniteli joined #nim
11:18:13ephjadom96: I am using it, but I want the socket itself to not block in case no data is available. is it unreasonable to have support for this in asyncnet?
11:19:04dom96If you're using asyncnet then nothing should block, where are you seeing blocking behaviour?
11:19:24ephjaanyway, net.recv does not honor the timeout parameter. I think that's why I tried asyncnet instead, but maybe this is another bug that I should have reported
11:21:19ephjadom96: I mean return/complete immediately, regardless of whether or not any data is available
11:21:45ephjawhich you'd often want for realtime applications
11:25:36*kniteli quit (Remote host closed the connection)
11:31:11*joelmo joined #nim
11:34:02dom96ephja: It does do that.
11:42:48dom96ephja: Calling asyncnet.recv returns immediately.
11:42:56dom96It tries to recv first of course, but if no data is available it returns immediately with a Future
11:43:02*kniteli joined #nim
11:43:10dom96Maybe I am misunderstanding you.
11:43:24dom96In regards to the timeout for net.recv, what did you try?
11:43:26dom96bbl
11:45:14*bjz joined #nim
11:46:16*Ven joined #nim
11:46:24ephjadom96: maybe this will make more sense: I want *up to* N bytes of the bytes currently available in the underlying socket buffer, and not have it wait before returning/completing if 0 bytes are available, so
11:47:46ephjaI had to ditch await and use waitFor for whatever reason, and I've also tried to achieve this with the 'net' module but without success
11:48:12ephjadom96: net.recv(buf, [-1, 0, other values])
11:48:51ephjawait
11:52:55ephjadom96: nevermind, it works with 'net'. please tell me I did not make the exact same mistake before
11:55:03ephjadom96: so the question that remains then, is: does it make sense to provide the equivalent for asyncnet?
12:04:18*antoniomo joined #nim
12:13:38*nicktick joined #nim
12:14:40*boopsiesisaway is now known as boopsies
12:17:42yglukhovcan anyone on windows confirm that zip package is working ok?
12:17:52yglukhovby working i mean compiling at least =)
12:18:05*BlaXpirit quit (Quit: Bye)
12:19:04*BlaXpirit joined #nim
12:20:47nivhi! how can i await a read from stdin in a async proc? i can't find a way to wrap File into AsyncFile
12:24:16dom96niv: You can't :)
12:24:44dom96Best thing to do is to spawn a new proc which does stdin.readLine
12:24:53nivwouldn't it work to register fd 0 with asyncdispatch then wrap it?
12:25:11dom96and use http://nim-lang.org/docs/threadpool.html#isReady,FlowVarBase
12:25:23ephjaI hope I'm not wasting too much of your time with nonsensical statements :p
12:25:33dom96I believe it does on Linux
12:25:34nivokay, brings me right to the next question :) asyncdispatch is incompatible with threadpool, right?
12:25:35dom96but not on Windows
12:26:03dom96If by incompatible you mean that you can't use both then no
12:26:12nivodd
12:26:16dom96if you mean that you can't 'await' a FlowVar then yes
12:26:43dom96But yeah, I tried just wrapping the standard fds and it did in fact work on Linux
12:26:46nivstill trying to find my footing how the stdlib works and so on
12:26:48dom96but not on Windows
12:26:53dom96(or maybe it was the other way around)
12:26:54nivalright, thanks
12:27:23nivi wonder why the author of the telegram bot lib did this: https://github.com/rgv151/telebot.nim/blob/master/telebot.nim#L374
12:27:51dom96ephja> [11:48:12] dom96: net.recv(buf, [-1, 0, other values])
12:27:51dom96ephja> [11:48:12] dom96: net.recv(buf, [-1, 0, other values])
12:27:51dom96ephja> [11:48:12] dom96: net.recv(buf, [-1, 0, other values])
12:27:56dom96oops
12:28:02dom96Silly xchat azure
12:28:10dom96Anyway, what do you mean by that line ephja?
12:28:33dom96Why are you passing it an array? or is that meant to demonstrate something I'm not getting?
12:30:11dom96With async you can just do:
12:30:30ephjadom96: nevermind that. net.recv is working as it should
12:31:37dom96var fut = sock.recv(100); if fut.finished: echo("Got all the data I wanted immediately", fut.read) else: echo("Didn't get all the data immediately")
12:31:38ephjaI was reminded of the importance of specifying arguments by name once again
12:32:36dom96One thing that is missing in that case is a `cancel()` proc
12:33:30dom96If you ignore `fut`, then when sock gets data `fut` will complete at some point with that data.
12:35:24dom96niv: I think there might have been some issues with async and threads, but I've used both successfully recently.
12:35:37nivokay, just threw me is all. thanks!
12:37:06nivrandom non-sequitur question; there isn't a xmpp library yet is there? not that xmpp is huge anymore nowadays
12:37:44dom96Doesn't look like it, `nimble search xmpp` returns nothing at least :)
12:38:00nivnimble search .. d'oh. thanks
12:42:27nivyou were the one writing the official redis lib initially, weren't you? I'll see about adding pubsub support to it
12:42:59nivi've been using redis extensively in other projects so im kind of familiar with it
12:44:51*elrood joined #nim
12:46:44ephjadom96: polling continually until it has finished will do
12:48:02dom96niv: yep. Add async support too if you can :)
12:48:20ephjaclearly I'm just very slow
12:48:21nivwell it has to be async for pubsub
12:48:27dom96ephja: I think at this point I need to ask what you are actually trying to do
12:48:45nivsubscribing to channels with redis ties up the connection, so it'll have to be a separate connection anyways
12:49:01dom96ephja: Do you know what happens when an await statement is executed?
12:49:14dom96niv: cool :D
12:49:28dom96I've only ever used the basics of Redis :)
12:49:56nivyeah, i think your REDIS_ARRAY return value handling is wrong too. you're assuming its a list of strings, but it can actually be a list of lists too
12:50:51nivfor now im looking into this threads/async telegram thing. if i include async with --threads on it fails to compile with some arcane message i cant divine
12:51:07nivtelebot.nim/private/async.nim(45, 144) template/generic instantiation from here
12:51:07nivlib/pure/asyncdispatch.nim(1254, 8) Error: 'cb' is not GC-safe as it accesses 'nameIterVar' which is a global using GC'ed memory
12:51:11nivgot a tip for me? :)
12:52:04ephjadom96: yes, but I just can't remember what kind of problem I ran into which would make me want to use something other than await 'await'
12:53:29dom96niv: Ahh, when using thread analysis kicks in and starts complaining about things which may be dangerous like using global variables. You cannot use global variables because each thread has its own GC so memory can't be (easily) shared between threads.
12:54:29niveach thread has its own local heap, right? i get that, but i cant find where that lib would be using global vars
12:56:09dom96Yeah, this might prevent you from using threads and async.
12:57:06nivim trying to understand why that particular piece of code doesnt compile. i dont see where it would share heap data
12:57:37*girvo joined #nim
12:58:12dom96It might indeed be a bug, not really sure.
12:58:27dom96Best thing to do is ask Araq :)
12:58:30dom96When he shows up.
12:58:32nivahhh, figured it out. complaining to a full irc channel always helps
12:58:45dom96oh? What was it?
12:58:50nivapparently telebot.nim uses httpclient.downloadFile() in a .async. proc
12:59:14nivthat might still be a bug i guess, but commenting that out makes it compile
13:00:37*zepolen quit (Read error: Connection reset by peer)
13:01:23*zepolen joined #nim
13:01:55dom96I see.
13:02:00dom96Yeah. That would do it.
13:02:05*girvo quit (Ping timeout: 240 seconds)
13:02:09dom96I would report it anyway, the error message should be better if anything.
13:02:37dom96If you can, create a nice little example which shows the problem.
13:03:07dom96ephja: Sounds like 'await' does exactly what you want. But please tell me what you are actually trying to do.
13:03:13dom96And how you're trying to do it
13:05:46nivdom96: like this? https://gist.github.com/niv/0262dff728d7a1a24233
13:06:09dom96niv: sure, that works.
13:06:19nivis it supposed to work with downloadFile()?
13:07:31ephja"await 'await'" typo :p
13:07:32dom96hrm.
13:07:36nivif so, i'll create a new issue
13:07:47dom96I think it should actually.
13:07:56dom96I thought downloadFile uses a global but it doesn't look like it
13:08:01nivat the very least the error should point at the actual downloadFile() line
13:08:06dom96yeah
13:08:50*bjz quit (Ping timeout: 240 seconds)
13:08:52ephjadom96: It does, and it would have been nice if I could remember whether or not I moved away from 'await' because of a bug. I'll try it again and see if I can get it to work..
13:09:30dom96ephja: ok. I'm still curious about what you're doing though :P
13:10:05ephjadom96: a chat client/server
13:10:42nivanyways, created a gh issue about it
13:10:53dom96ephja: Should be easy to do, and should work.
13:10:57ephjawith length-prefixed JSON packets
13:10:59dom96niv: nice, thanks!
13:11:06nivno problem at all
13:12:53*bjz joined #nim
13:19:33*boopsies is now known as boopsiesisaway
13:20:29dom96bbl
13:37:07*BitPuffin joined #nim
13:41:47*themagician_i is now known as themagician
13:42:24*joelmo quit (Quit: Connection closed for inactivity)
13:53:17*antoniomo quit (Quit: WeeChat 1.3)
14:11:41*zepolen quit (Remote host closed the connection)
14:19:35*jefus joined #nim
14:20:26*jefus left #nim (#nim)
14:35:20nivhow can I make this work? let ret: seq[X] = (0..size).mapIt(it.makeX)
14:46:23def-niv: toSeq maybe
14:47:10nivtyvm
14:47:37nivworks beautifully
14:55:53*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
14:56:39*thotypous joined #nim
14:58:23*girvo joined #nim
15:00:08*gokr quit (Quit: Leaving.)
15:01:23nivcan i use case as a expression, or just statement?
15:03:38*girvo quit (Ping timeout: 276 seconds)
15:03:49*akiradeveloper joined #nim
15:08:53ephjaniv: it can be used as an expression
15:10:17ephjabut raise statements currently aren't allowed in branch blocks
15:10:35nivthat answers my question actually, thanks. guess it was choking on the raise
15:14:59*zepolen joined #nim
15:31:25*elrood quit (Quit: Leaving)
15:34:16*bjz joined #nim
15:37:26*Jesin joined #nim
15:38:50*bjz quit (Ping timeout: 260 seconds)
15:50:23nivdom96: here's my take on a fully async redis client: https://gist.github.com/niv/ca153e140f2ed1a25806 if you have some spare time and feel like it, i'd appreciate some feedback
15:51:15nivseeing i'm a complete noob with nim, i'd love to get some constructive feedback on style/syntax use or any mistakes i've overlooked with use of the stdlib
15:54:46*pregressive joined #nim
15:59:54*zepolen quit (Remote host closed the connection)
16:09:52*akiradeveloper quit ()
16:11:21Arrrr"Named Booleans": True, False, FileNotFound
16:15:04*allan0 joined #nim
16:16:05ephjafine, boolean types
16:17:05*allan0_ quit (Ping timeout: 276 seconds)
16:21:52*pregressive quit (Remote host closed the connection)
16:21:57*zepolen joined #nim
16:23:55*zepolen quit (Remote host closed the connection)
16:26:59*pregressive joined #nim
16:28:22*cyraxjoe_ is now known as cyraxjoe
16:33:13NimBotnim-lang/Nim devel 2fcc37f Yuriy Glukhov [+0 ±2 -0]: fixed float formatting for js
16:33:13NimBotnim-lang/Nim devel 0fb857f Andreas Rumpf [+0 ±2 -0]: Merge pull request #3591 from yglukhov/float-format-js... 2 more lines
16:34:24NimBotnim-lang/Nim devel 25b605a theduke [+0 ±1 -0]: validateUtf8: catch overlong ascii... 2 more lines
16:34:24NimBotnim-lang/Nim devel fbe6695 Andreas Rumpf [+0 ±1 -0]: Merge pull request #3594 from theduke/unicode-validate-overlong... 2 more lines
16:34:33*Ven quit (Ping timeout: 250 seconds)
16:35:01*allan0_ joined #nim
16:35:35*allan0 quit (Ping timeout: 240 seconds)
16:35:35*Xe quit (Ping timeout: 240 seconds)
16:35:35*Roin_ quit (Ping timeout: 240 seconds)
16:35:36*bbl quit (Ping timeout: 240 seconds)
16:37:20*Roin_ joined #nim
16:40:10*Xe joined #nim
16:41:59NimBotnim-lang/Nim devel 0abfbf8 Yuriy Glukhov [+0 ±2 -0]: Removed Node, NodeType and Document definitions from jssys.
16:41:59NimBotnim-lang/Nim devel 8603d58 Andreas Rumpf [+0 ±2 -0]: Merge pull request #3588 from yglukhov/js-no-node... 2 more lines
16:44:53NimBotnim-lang/Nim devel c0754be Yuriy Glukhov [+0 ±1 -0]: Dom refactoring
16:44:53NimBotnim-lang/Nim devel 0dcaf27 Andreas Rumpf [+0 ±1 -0]: Merge pull request #3589 from yglukhov/dom-refactoring... 2 more lines
16:45:58*bbl joined #nim
16:46:21NimBotnim-lang/Nim devel a2480ef Araq [+0 ±2 -0]: allow 'nil ref T' as a first step which does nothing
16:46:21NimBotnim-lang/Nim devel 25e2e3f Araq [+0 ±1 -0]: 'importc' allows 'not nil' annotation
16:46:21NimBotnim-lang/Nim devel 5fe71db Araq [+0 ±2 -0]: 'out T' is an alias for 'var T'
16:46:21NimBotnim-lang/Nim devel 45dfd44 Araq [+0 ±1 -0]: fixes #2285
16:46:21NimBot1 more commits.
16:48:05yglukhovthumb up! =)
16:57:22*kerze joined #nim
16:59:09*girvo joined #nim
17:03:36*pregressive quit (Remote host closed the connection)
17:03:41*girvo quit (Ping timeout: 246 seconds)
17:18:31dom96niv: I would put all of this https://gist.github.com/niv/ca153e140f2ed1a25806#file-redis-nim-L122 in an async proc and use 'await' instead of 'waitFor'
17:18:34*zepolen joined #nim
17:18:41dom96niv: the usage of asyncCheck for connect is also incorrect
17:19:53dom96yeah, you're using asyncCheck too much
17:21:08*zepolen quit (Remote host closed the connection)
17:21:40dom96in fact, there isn't a single await
17:21:46dom96waitFor will block!
17:22:07dom96asyncCheck is just like saying "run this, I don't care when it finishes"
17:22:53dom96so if you do asyncCheck connect(sock, ...), followed by asyncCheck send(sock, ...), there is no guarantee that when the `send` occurs that the socket will have connected.
17:25:42*zepolen joined #nim
17:27:54dom96if you replace that with 'waitFor' then you will get synchronous IO
17:39:45*vendethiel joined #nim
17:41:17*zepolen quit ()
17:41:31*zepolen joined #nim
17:43:27nivdom96: i see. if i truly want async redis commands it will have to implement some kind of connection pool anyways, so i might redo it anyways. what do you think of me misusing iterators to do pubsub subscriptions?
17:43:37*zepolen quit (Remote host closed the connection)
17:44:18dom96niv: You can't have async iterators so that won't work very well. You can hack some async iterators together though (I think) :P
17:45:27*nicktick quit (Quit: Leaving.)
17:45:38nivi'll get back to you after reworking/rethinking :)
17:51:19ephjadom96: have you ever encountered any seq-modified-while-iterating errors when using await?
17:52:58dom96ephja: interesting. Nope.
17:54:10*onionhammer quit (Ping timeout: 240 seconds)
17:54:28ephjathat's another piece of code that I don't have anymore. alright, time to shove await in there again
17:55:18dom96If you could reproduce it and give me the code that would be awesome
17:57:04ephjawho knows if I will end up with a similar pattern, and it happened at about every 100th run
18:00:02*LibreWerewulf is now known as LibreTurkey
18:00:42*yglukhov quit (Ping timeout: 260 seconds)
18:03:02*kerze quit (Ping timeout: 272 seconds)
18:03:21*elrood joined #nim
18:04:40*jaco60 joined #nim
18:06:17*boopsiesisaway quit (Ping timeout: 276 seconds)
18:15:52*boop joined #nim
18:15:52*boop is now known as boopsies
18:18:19ephjaI could just restart the program automatically. KISS error handling á la Rasmus Lerdorf
18:22:47*darkf quit (Quit: Leaving)
18:25:51*vendethiel- joined #nim
18:28:49strcmp1yeah great use of cron
18:34:44*vendethiel quit (*.net *.split)
18:44:44*yglukhov joined #nim
18:47:27*yglukhov quit (Remote host closed the connection)
18:47:41*yglukhov joined #nim
18:49:25*BlaXpirit_ joined #nim
18:50:22*allan0 joined #nim
18:55:23*kniteli_ joined #nim
18:56:06*rektide_ joined #nim
18:56:52*Xe- joined #nim
18:57:10*lyro_ joined #nim
18:57:23*SianaGea1z joined #nim
18:58:04*clone1018__ joined #nim
18:58:39*ephja2 joined #nim
18:59:55*girvo joined #nim
19:01:07*g00 joined #nim
19:01:37*r-ku- joined #nim
19:01:42*Jesin quit (*.net *.split)
19:01:42*kniteli quit (*.net *.split)
19:01:42*pleiosaur quit (*.net *.split)
19:01:43*ephja quit (*.net *.split)
19:01:43*lyro quit (*.net *.split)
19:01:43*clone1018 quit (*.net *.split)
19:01:43*vqrs_ quit (*.net *.split)
19:01:43*ldlework quit (*.net *.split)
19:01:43*OmIkRoNiXz quit (*.net *.split)
19:01:44*rektide quit (*.net *.split)
19:01:44*wh1t3r0s3 quit (*.net *.split)
19:01:44*mlitwiniuk quit (*.net *.split)
19:01:44*eldamar quit (*.net *.split)
19:01:44*joebo quit (*.net *.split)
19:01:45*r-ku quit (*.net *.split)
19:01:45*SianaGearz quit (*.net *.split)
19:01:45*sarlalian quit (*.net *.split)
19:01:45*mnemonikk quit (*.net *.split)
19:01:45*yglukhov quit (*.net *.split)
19:01:46*boopsies quit (*.net *.split)
19:01:46*Roin_ quit (*.net *.split)
19:01:46*fold3 quit (*.net *.split)
19:01:46*xet7 quit (*.net *.split)
19:01:46*Arrrr quit (*.net *.split)
19:01:47*rinukkusu quit (*.net *.split)
19:01:47*johnsoft quit (*.net *.split)
19:01:47*low-profile quit (*.net *.split)
19:01:47*nim-buildbot_ quit (*.net *.split)
19:01:48*cncl quit (*.net *.split)
19:01:48*pigmej quit (*.net *.split)
19:01:48*Amrykid quit (*.net *.split)
19:01:48*_stowa quit (*.net *.split)
19:01:49*[CBR]Unspoken quit (*.net *.split)
19:01:49*bigfondue quit (*.net *.split)
19:01:49*tomp quit (*.net *.split)
19:01:49*tymat quit (*.net *.split)
19:01:49*cyraxjoe quit (*.net *.split)
19:01:49*heinrich5991 quit (*.net *.split)
19:01:50*Lea2 quit (*.net *.split)
19:01:50*mal``` quit (*.net *.split)
19:01:50*polde quit (*.net *.split)
19:01:50*Sornaensis quit (*.net *.split)
19:01:50*mikolalysenko quit (*.net *.split)
19:01:51*EastByte quit (*.net *.split)
19:01:51*Xe quit (*.net *.split)
19:01:51*allan0_ quit (*.net *.split)
19:01:52*BlaXpirit quit (*.net *.split)
19:01:52*thotypous quit (*.net *.split)
19:01:52*SirCmpwn quit (*.net *.split)
19:01:52*niv quit (*.net *.split)
19:01:53*themagician quit (*.net *.split)
19:01:53*phira quit (*.net *.split)
19:01:53*delian66 quit (*.net *.split)
19:01:53*CcxCZ quit (*.net *.split)
19:01:54*gsingh93 quit (*.net *.split)
19:01:54*def- quit (*.net *.split)
19:01:54*dom96 quit (*.net *.split)
19:01:54*so quit (*.net *.split)
19:01:54*Yaiyan quit (*.net *.split)
19:01:54*benaiah quit (*.net *.split)
19:01:54*tstm quit (*.net *.split)
19:01:54*Araq quit (*.net *.split)
19:01:54*juanfra quit (*.net *.split)
19:01:55*Xe- is now known as Xe
19:01:56*BlaXpirit_ is now known as BlaXpirit
19:02:00*vqrs joined #nim
19:02:36*mnemonikk joined #nim
19:02:43*ephja2 is now known as ephja
19:04:26*girvo quit (Ping timeout: 246 seconds)
19:05:03*eldamar joined #nim
19:06:05*BitPuffin quit (Ping timeout: 276 seconds)
19:07:26*vendethiel- quit (Ping timeout: 240 seconds)
19:08:06*yglukhov joined #nim
19:08:06*boopsies joined #nim
19:08:06*Roin_ joined #nim
19:08:06*fold3 joined #nim
19:08:06*xet7 joined #nim
19:08:06*Arrrr joined #nim
19:08:06*rinukkusu joined #nim
19:08:06*johnsoft joined #nim
19:08:06*low-profile joined #nim
19:08:06*cncl joined #nim
19:08:06*pigmej joined #nim
19:08:06*Amrykid joined #nim
19:08:06*_stowa joined #nim
19:09:10*vendethiel joined #nim
19:09:19*ldlework joined #nim
19:10:02*pleiosau1 joined #nim
19:10:02*juanfra joined #nim
19:11:08*OmlkRoNiXz joined #nim
19:11:08*thotypous joined #nim
19:11:08*SirCmpwn joined #nim
19:11:08*themagician joined #nim
19:11:08*phira joined #nim
19:11:08*delian66 joined #nim
19:11:08*so joined #nim
19:11:08*CcxCZ joined #nim
19:11:08*gsingh93 joined #nim
19:11:08*def- joined #nim
19:11:08*dom96 joined #nim
19:11:08*benaiah joined #nim
19:11:08*Yaiyan joined #nim
19:11:08*tstm joined #nim
19:11:08*Araq joined #nim
19:11:09*niv joined #nim
19:12:58*gsingh93 quit (Excess Flood)
19:13:13*gsingh93 joined #nim
19:14:50*[CBR]Unspoken joined #nim
19:14:50*bigfondue joined #nim
19:14:50*tomp joined #nim
19:14:50*tymat joined #nim
19:14:50*cyraxjoe joined #nim
19:14:50*heinrich5991 joined #nim
19:14:50*Lea2 joined #nim
19:14:50*mal``` joined #nim
19:14:50*polde joined #nim
19:14:50*Sornaensis joined #nim
19:14:50*mikolalysenko joined #nim
19:14:50*EastByte joined #nim
19:16:44*Jesin joined #nim
19:18:00*tomp quit (Remote host closed the connection)
19:19:03*rektide joined #nim
19:22:47*joebo joined #nim
19:23:00*tomp joined #nim
19:23:11*r-ku joined #nim
19:23:20*ephja2 joined #nim
19:25:07*Arrrr quit (Quit: WeeChat 1.2)
19:25:59*mlitwiniuk joined #nim
19:25:59*SianaGearz joined #nim
19:26:03*vendethiel- joined #nim
19:26:21*SianaGea2z joined #nim
19:26:52*g00 quit (Ping timeout: 240 seconds)
19:26:52*Jesin quit (Ping timeout: 240 seconds)
19:26:53*vendethiel quit (Ping timeout: 240 seconds)
19:26:53*vqrs quit (Ping timeout: 240 seconds)
19:26:53*lyro_ quit (Ping timeout: 240 seconds)
19:27:01*SianaGearz quit (Ping timeout: 260 seconds)
19:27:14*eldamar_ joined #nim
19:27:25*ldlework quit (*.net *.split)
19:27:25*r-ku- quit (*.net *.split)
19:27:25*ephja quit (*.net *.split)
19:27:25*clone1018__ quit (*.net *.split)
19:27:25*SianaGea1z quit (*.net *.split)
19:27:25*Xe quit (*.net *.split)
19:27:25*rektide_ quit (*.net *.split)
19:27:25*jaco60 quit (*.net *.split)
19:27:25*elrood quit (*.net *.split)
19:27:39*mlitwiniuk quit (Ping timeout: 260 seconds)
19:28:09*zxtx_ joined #nim
19:28:38*vqrs joined #nim
19:29:02*ephja2 is now known as ephja
19:29:07*BlaXpirit_ joined #nim
19:29:36*kniteli_ quit (Ping timeout: 264 seconds)
19:29:36*BlaXpirit quit (Ping timeout: 264 seconds)
19:29:46*BlaXpirit_ is now known as BlaXpirit
19:29:46*clone1018 joined #nim
19:30:12*M-max quit (Ping timeout: 264 seconds)
19:30:25*Jesin joined #nim
19:31:36*allan0_ joined #nim
19:32:50*Xe joined #nim
19:33:47*wh1t3r0s3 joined #nim
19:34:50*Matthias247 joined #nim
19:35:52*mlitwiniuk joined #nim
19:35:58*ldlework joined #nim
19:36:16*M-max joined #nim
19:37:45*mlitwiniuk quit (Ping timeout: 260 seconds)
19:37:46*vendethiel- quit (Ping timeout: 260 seconds)
19:38:30*mlitwiniuk joined #nim
19:39:01*eldamar quit (*.net *.split)
19:39:01*allan0 quit (*.net *.split)
19:39:01*bbl quit (*.net *.split)
19:39:01*zxtx quit (*.net *.split)
19:39:02*zxtx_ is now known as zxtx
19:40:35*vikaton joined #nim
19:43:08*jaco60 joined #nim
19:43:59*mat4 joined #nim
19:44:06mat4hello
19:46:59*kniteli_ joined #nim
19:52:26*lyro_ joined #nim
19:52:41*ldlework quit (Ping timeout: 240 seconds)
19:52:41*Xe quit (Ping timeout: 240 seconds)
19:52:41*mat4 quit (Ping timeout: 240 seconds)
19:52:41*BlaXpirit quit (Ping timeout: 240 seconds)
19:53:13*BlaXpirit joined #nim
19:56:15*mnemonikk_ joined #nim
19:56:42*mat4 joined #nim
19:57:15*mat4 quit (Client Quit)
19:57:41*mat4 joined #nim
19:57:52*mnemonikk quit (*.net *.split)
20:02:09*ldlework joined #nim
20:03:36*Xe joined #nim
20:07:13*vendethiel joined #nim
20:08:41*bbl joined #nim
20:10:19*makoLine joined #nim
20:18:58*makoLine quit (Ping timeout: 260 seconds)
20:20:36NimBotnim-lang/Nim devel 22ed2aa Araq [+0 ±1 -0]: fixes memory leak for getAppFilename on Windows
20:35:23vikatonAraq: what happened to the windows module ?
20:35:24*makoLine joined #nim
20:36:42def-vikaton: https://github.com/nim-lang/oldwinapi
20:37:34vikatondef-: Do I neet to nimble this
20:37:34vikatonneed*
20:38:58def-yes, that's the easiest way "nimble install oldwinapi"
20:41:14*vqrs quit (Ping timeout: 260 seconds)
20:43:37vikatondef-: http://prntscr.com/97baws
20:43:50vikatoninstalling nimble
20:44:16*eldamar joined #nim
20:45:14*BlaXpirit_ joined #nim
20:45:18def-that looks like an old version of nimble
20:45:39*juanfra quit (Disconnected by services)
20:45:44*juanfra_ joined #nim
20:46:50*lyro__ joined #nim
20:47:12vikatondef-: I just downloaded the latest from the release page :P
20:47:17*r-ku- joined #nim
20:47:35*clone1018__ joined #nim
20:48:09*pleiosaur joined #nim
20:48:23*vqrs joined #nim
20:51:15*ephja quit (Quit: WeeChat 1.3)
20:53:11*barosl_ quit (Quit: Leaving)
20:53:14def-vikaton: i guess a new release should be made then, HEAD works
20:54:12*gsingh93_ joined #nim
20:56:32*sarlalian joined #nim
20:56:36*barosl joined #nim
20:57:14*gsingh93 quit (Ping timeout: 246 seconds)
20:57:14*BlaXpirit quit (Ping timeout: 246 seconds)
20:57:14*eldamar_ quit (Ping timeout: 246 seconds)
20:57:15*clone1018 quit (Ping timeout: 246 seconds)
20:57:16*r-ku quit (Ping timeout: 246 seconds)
20:57:16*lyro_ quit (Ping timeout: 246 seconds)
20:57:16*pleiosau1 quit (Ping timeout: 246 seconds)
20:57:17*gsingh93_ is now known as gsingh93
20:57:18*BlaXpirit_ is now known as BlaXpirit
21:00:42*girvo joined #nim
21:05:35*girvo quit (Ping timeout: 264 seconds)
21:12:12Araqvikaton: how do you install nimble?
21:12:24Araqthere is dom96's way and then there is Araq's way...
21:12:41Araqand we can't agree on which one is better...
21:17:01mat4great
21:17:03*M-Quora joined #nim
21:27:05Araqmat4: well that only means we need to make both ways work reliably ;-)
21:32:20*polde quit (Read error: Connection reset by peer)
21:32:54*polde joined #nim
21:33:21*gokr joined #nim
21:33:31*gokr quit (Read error: Connection reset by peer)
21:33:45*gokr joined #nim
21:47:39*bjz joined #nim
21:56:43*BitPuffin|osx joined #nim
22:03:47dom96Araq: What's "Araq's way"?
22:12:27nivwhat does simply "return"ing nothing do for procs that have a tuple result type?
22:18:08thedukeniv: returns a tuple with all fields initialized to the zero value
22:18:09def-niv: return the current value of the result variable?
22:18:21nivthanks
22:18:25nivso tuples can never be nil?
22:18:29thedukenope
22:18:39*wan quit (Quit: WeeChat 1.3)
22:18:40def-theduke: only if you didn't modify result
22:18:55*filcuc joined #nim
22:19:07*zaquest quit (Ping timeout: 276 seconds)
22:22:06*zaquest joined #nim
22:23:54thedukedef-: true that
22:34:46*vendethiel quit (Ping timeout: 260 seconds)
22:35:12*Demon_Fox joined #nim
22:45:27nivvarargs doesn't work for async procs?
22:45:44nivit says: illegal capture 'myparam'
22:47:09*ephja joined #nim
22:47:11*juanfra_ quit (Quit: juanfra_)
22:47:40*juanfra joined #nim
22:50:24thedukeHow battle tested is asyncnet?
22:50:48nchamberstheduke: pretty tested
22:51:19nivspeaking of asyncnet .. do I have to use asyncnet if i want to use await on sockets, or can i use await on normal sockets from net too?
22:51:21*vikaton quit (Remote host closed the connection)
22:51:21*biscarch quit (Remote host closed the connection)
22:51:22*clone1018_ quit (Remote host closed the connection)
22:55:40*zepolen joined #nim
22:57:17*boopsies is now known as boopsiesisaway
22:59:24ephjaniv: only asyncnet uses futures
22:59:52nivgot it. i was confused by the compiler messages
23:00:18*zepolen quit (Ping timeout: 260 seconds)
23:02:19thedukenchambers: good to hear
23:14:37*Matthias247 quit (Read error: Connection reset by peer)
23:17:33*mat4 left #nim ("Leaving")
23:31:24*biscarch joined #nim
23:32:42*clone1018_ joined #nim
23:37:04*girvo joined #nim
23:41:33*vikaton joined #nim
23:44:58*barosl_ joined #nim
23:45:47*jaco60 quit (Ping timeout: 264 seconds)
23:48:08*lyro joined #nim
23:52:07*yglukhov quit (Remote host closed the connection)
23:54:13*biscarch quit (*.net *.split)
23:54:13*Demon_Fox quit (*.net *.split)
23:54:13*zaquest quit (*.net *.split)
23:54:13*filcuc quit (*.net *.split)
23:54:13*BitPuffin|osx quit (*.net *.split)
23:54:13*M-Quora quit (*.net *.split)
23:54:13*barosl quit (*.net *.split)
23:54:13*gsingh93 quit (*.net *.split)
23:54:14*vqrs quit (*.net *.split)
23:54:14*lyro__ quit (*.net *.split)
23:54:39*zepolen joined #nim
23:56:10*vqrs joined #nim
23:56:27*gsingh93 joined #nim
23:59:56*Demon_Fox joined #nim