<< 27-08-2018 >>

00:10:51*krux02 joined #nim
00:31:43*krux02_ joined #nim
00:33:09*krux02_ quit (Remote host closed the connection)
00:45:09*Jesin joined #nim
00:46:03*nuxdie_ quit (Ping timeout: 260 seconds)
01:02:17FromDiscord_<exelotl> hey, I'm building nim from source on my VPS but I get the following when I run ./koch tools
01:02:38FromDiscord_<exelotl> Hint: nimconf [Processing]
01:02:44FromDiscord_<exelotl> Hint: scriptconfig [Processing]
01:02:48FromDiscord_<exelotl> Killed
01:02:52FromDiscord_<exelotl> FAILURE
01:03:19FromGitter<timotheecour> `./koch temp` (or nim c -o:bin/nim_temp -d:echo --debugger:native -d:release compiler/nim.nim ⏎ )
01:06:54*nuxdie_ joined #nim
01:07:28FromDiscord_<exelotl> hmm, same issue :(
01:07:48FromDiscord_<exelotl> Hint: lowerings [Processing] Killed Failure
01:11:04zachcart1rdom96: I have a feeling I'm getting rate limited - I'm getting a lot of 500 response codes - but I'm not sure how to tell if rate limiting is the cause or not
01:12:06zachcart1rI need to figure out a way to limit requests per second
01:12:38zachcart1rhere's my code write now - https://gist.github.com/zacharycarter/8afc904aa3ed9a2a193c60fefcc32240
01:15:25FromDiscord_<exelotl> I tried --verbosity:3 but there's no meaningful information, it just randomly says killed
01:17:37FromDiscord_<exelotl> I guess it's killed automatically for using too much memory?
01:18:43*xet7 quit (Quit: Leaving)
01:20:31FromGitter<Varriount> Yes, Linux would be killing it
01:21:32FromDiscord_<exelotl> hmm, I've never experienced this before, I'd have thought it would just use swap space with no problem :(
01:21:46zachcart1rputting a 100ms sleepAsync between starting reach request got rid of the 500 errors
01:22:02zachcart1rit'd be nice to come up with a better way of rate limiting on my end htough
01:23:25FromGitter<ephja> exelotl: I'm sure it's using that too since we're talking about virtual memory. infinite compiler allocation or something? oh well
01:23:25*krux02 quit (Remote host closed the connection)
01:27:08FromDiscord_<exelotl> ohh, my plan simply doesn't have any swap
01:27:11FromDiscord_<exelotl> :'(
01:31:44FromDiscord_<exelotl> I guess I can just use a VM to build, and then copy the binaries
01:34:35FromGitter<ephja> oh, just a low amount of ram?
01:46:28*abm quit (Ping timeout: 252 seconds)
01:46:36*rockcavera joined #nim
01:57:19zachcart1rugh - the gateway that sits in front of the API I'm calling doesn't put headers in the response when it fails due to whatever rate-limiting mechanism they use apparently :/
02:26:59FromGitter<ephja> rude :-P
02:49:41*zachcarter joined #nim
02:53:20*zachcart1r quit (Ping timeout: 272 seconds)
03:03:55*dddddd quit (Remote host closed the connection)
03:38:50*kapil___ joined #nim
03:48:08*zachcart1r joined #nim
03:51:27*zachcarter quit (Ping timeout: 252 seconds)
03:57:31*endragor joined #nim
05:11:13*nsf joined #nim
05:23:55*zachcart1r quit (Ping timeout: 268 seconds)
05:24:13*stefanos82 joined #nim
05:26:54*leorize quit (Ping timeout: 264 seconds)
05:29:36*macsek1911[m] quit (Ping timeout: 276 seconds)
05:30:19FromGitter<gogolxdong> How to make this thread pipeline work?
05:30:21FromGitter<gogolxdong> http://ix.io/1lko
05:32:52*gh0st[m] quit (Ping timeout: 240 seconds)
05:33:21*xomachine[m] quit (Ping timeout: 240 seconds)
05:33:22*spymasterd[m] quit (Ping timeout: 240 seconds)
05:33:22*GitterIntegratio quit (Ping timeout: 240 seconds)
05:33:26*bitstoppa[m] quit (Ping timeout: 252 seconds)
05:33:26*Connor[m]1 quit (Ping timeout: 252 seconds)
05:33:32*endes[m] quit (Ping timeout: 260 seconds)
05:33:34*petersjt014[m] quit (Ping timeout: 260 seconds)
05:33:34*pqflx3[m] quit (Ping timeout: 260 seconds)
05:33:34*Demos[m] quit (Ping timeout: 260 seconds)
05:33:34*unclechu[m] quit (Ping timeout: 260 seconds)
05:33:44*stisa[m] quit (Ping timeout: 256 seconds)
05:33:46*zacharycarter[m] quit (Ping timeout: 252 seconds)
05:33:46*sg-james[m] quit (Ping timeout: 252 seconds)
05:33:50*codevance[m] quit (Ping timeout: 260 seconds)
05:33:50*SolitudeSF[m] quit (Ping timeout: 260 seconds)
05:33:50*jaens[m] quit (Ping timeout: 260 seconds)
05:33:51*TheKing[m] quit (Ping timeout: 260 seconds)
05:33:52*hitchhooker[m] quit (Ping timeout: 240 seconds)
05:34:03*yglukhov[m] quit (Ping timeout: 255 seconds)
05:34:07*zielmicha[m] quit (Ping timeout: 264 seconds)
05:34:07*TheManiac[m] quit (Ping timeout: 264 seconds)
05:34:07*dyce[m] quit (Ping timeout: 260 seconds)
05:34:07*toofly[m] quit (Ping timeout: 260 seconds)
05:34:07*sendell[m] quit (Ping timeout: 260 seconds)
05:34:09*syntonym[m] quit (Ping timeout: 276 seconds)
05:34:09*Miguelngel[m] quit (Ping timeout: 276 seconds)
05:34:18*narimiran[m] quit (Ping timeout: 260 seconds)
05:46:57*zacharycarter[m] joined #nim
05:48:09*codevance[m] joined #nim
05:48:40*macsek1911[m] joined #nim
05:48:42*syntonym[m] joined #nim
05:49:09*petersjt014[m] joined #nim
05:49:16*stisa[m] joined #nim
05:49:18*jaens[m] joined #nim
05:49:59*endes[m] joined #nim
05:50:14*hitchhooker[m] joined #nim
05:50:29*narimiran[m] joined #nim
05:50:48*Demos[m] joined #nim
05:51:07*pqflx3[m] joined #nim
05:51:11*sendell[m] joined #nim
05:51:15*bitstoppa[m] joined #nim
05:51:28*TheKing[m] joined #nim
05:51:39*gh0st[m] joined #nim
05:52:42*yglukhov[m] joined #nim
05:52:46*dyce[m] joined #nim
05:52:57*unclechu[m] joined #nim
05:53:39*TheManiac[m] joined #nim
05:54:53*SolitudeSF[m] joined #nim
05:55:00*toofly[m] joined #nim
05:55:40*GitterIntegratio joined #nim
05:57:21*Connor[m]1 joined #nim
05:57:56*sg-james[m] joined #nim
05:58:19*xomachine[m] joined #nim
05:58:36*spymasterd[m] joined #nim
05:58:39*Miguelngel[m] joined #nim
05:58:55*zielmicha[m] joined #nim
06:00:16*erratic quit (Ping timeout: 265 seconds)
06:05:18*ftsf quit (Ping timeout: 264 seconds)
06:09:20*kapil___ quit (Quit: Connection closed for inactivity)
06:43:26*zachcarter joined #nim
06:44:29zachcarterdom96: here's what I came up with for throttling the requests - https://gist.github.com/zacharycarter/9f05233d2b1f56bb8a75108f3f667d75 - seems to be working great!
06:44:52zachcarterif you have any ideas for how I could make it faster - I'd love to hear
06:45:30zachcarterI guess that's not really possible though since I have to throttle - it's already pretty fast
07:05:51zachcartergood thing I tested with the file that has 42k records in it - I was forgetting to close fd's and got a too many files open error
07:23:55*rokups joined #nim
07:37:31*abm joined #nim
07:55:13*livcd_ quit (Remote host closed the connection)
08:01:30FromGitter<gogolxdong> How to profile memory usage for procs? threads and channel runs out of memory faster than spawn.
08:07:01FromGitter<gogolxdong> since messages sent on channel is deeply copied , how to deallocate immediately after sending? ⏎ like ⏎ ⏎ ```tasks.send Message(shutdown: false, task: task, handler: handler)``` [https://gitter.im/nim-lang/Nim?at=5b83b125ff44515616439eeb]
08:10:13*livcd joined #nim
08:11:20FromGitter<alehander42> emekoi
08:11:41FromGitter<alehander42> oh nice, I wanted to do a basic nim kernel for a long time, good luck!
08:12:22FromGitter<alehander42> about import macros, they should happen on compile time, are you sure it somehow requires string stuff for your runtime?
08:13:32FromGitter<alehander42> you should be able to use the full compile time supported Nim subset in macros independently of your target I think
08:14:51FromGitter<alehander42> is it based on @dom96' s kernel ?
08:31:11FromGitter<alehander42> has somebody used the jupiter nim mode ?
08:46:46*brainproxy joined #nim
08:49:11*couven92 quit (Quit: Client disconnecting)
08:57:41*couven92 joined #nim
09:03:45*zachcart1r joined #nim
09:06:30*zachcarter quit (Ping timeout: 264 seconds)
09:13:19*krux02 joined #nim
09:20:40FromGitter<gogolxdong> How to access a global connection pools between threads?
09:31:14Tangergogolxdong: Allocate some shared memory and access the pointer as a global?
09:31:21TangerNot sure if that's *how* you should do it though
09:31:42TangerMaybe pass around the global pointer to the connection pool around
09:31:45*PMunch joined #nim
10:04:47*stefanos82 quit (Quit: Quitting for now...)
10:16:39*Vladar joined #nim
10:24:36*seni joined #nim
10:24:55*ng0 quit (Quit: WeeChat 1.6)
10:25:23FromGitter<dom96> @exelotl: you can create and enable swap on your VPS
10:27:12*ng0 joined #nim
10:45:28*Perkol joined #nim
10:47:46FromGitter<bung87> @alehander42 what's the current state of `py2nim`?
10:55:40FromGitter<bung87> I'm trying do similar work, basic idea is mapping python's lib and lib's exports to nim's lib , and I found it seems need manually map them all by hand.
11:04:42FromGitter<alehander42> the python stdlib? which modules exactly?
11:08:28FromGitter<bung87> yeah ,python stdlib -> nim stdlib, I want map them all, so that python lib which has no thirdparty dependence will be trans to nim
11:19:57*dddddd joined #nim
11:21:22FromGitter<bung87> https://github.com/bung87/python2nim/blob/master/python2nim/transformer.py and first problem is python `import`-> Nim `import`,what do you think?
11:30:07*Perkol quit (Quit: Leaving)
11:32:16*floppydh joined #nim
11:34:12FromGitter<alehander42> yeah, well afaik
11:34:24FromGitter<alehander42> we usually passed whole directories to py2nim
11:34:36FromGitter<alehander42> and it recursively collects all python modules inside
11:34:47FromGitter<alehander42> then it compiles them one by one
11:35:15FromGitter<alehander42> and the imports are just mapped to nim imports, also with some additional imports if an idiom depends on one
11:35:29FromGitter<alehander42> did you take a look at compiler.nim
11:36:07FromGitter<bung87> let me check it
11:36:45FromGitter<alehander42> we also have code that serializes the python ast to a file and then can load it with nim types in a nim program
11:37:08FromGitter<alehander42> so technically you can write it all the analyze in nim
11:38:14FromGitter<alehander42> what kind of python libs do you want to port ?
11:43:13FromGitter<bung87> `py2nim` also trans python std lib to ast ?
11:43:41FromGitter<bung87> when python package `import` it
11:44:22*noonien joined #nim
11:44:48FromGitter<alehander42> yeah the readme is too short, we should write a blog for reddit/hn one day
11:46:36FromGitter<alehander42> well py2nim does this: ⏎ python-deduckt (our python library) ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b83e49cfd3c641b06170cb7]
11:47:25FromGitter<alehander42> and for stdlib we have mappings:
11:47:26FromGitter<alehander42> https://github.com/metacraft-labs/py2nim/blob/master/idioms/string_methods.nim
11:47:54FromGitter<alehander42> which map python methods to nim idioms
11:48:14FromGitter<alehander42> so it's more like: we have hardcoded smart translations of the most important aspects of the stdlib
11:48:24FromGitter<alehander42> and you can eventually translate other parts depending on them automatically
11:48:48FromGitter<alehander42> the problem is that py2nim needs some more work to get stable
11:48:59FromGitter<alehander42> so that's why I wondered what is your usecase ?
11:49:25FromGitter<alehander42> do you want to port python libs ? or scripts ? or a certain lib ?
11:50:32FromGitter<bung87> mainly is for python libs
11:52:53FromGitter<alehander42> if you give me an example of a python lib you want to translate , I can tell you if py2nim can do it with some work
11:53:10FromGitter<bung87> I tried py2nim yesterday and generated a json. with some manually modify py2nim I' m runs on py3.6 seems it will not simply work
11:54:40FromGitter<alehander42> it really depends what kind of input did you give it: usually tests are better
11:54:50FromGitter<alehander42> it should be able to work with python 3.6
11:54:57FromGitter<alehander42> what command did you use ?
11:55:13FromGitter<bung87> some like https://github.com/bung87/daemon, that I manually port to Nim, I found python has so many packages that I can't trans all I interested.
11:56:23FromGitter<alehander42> background processes
11:56:46FromGitter<alehander42> well, you are talking about stdlib modules ?
11:56:51FromGitter<alehander42> like ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ ? [https://gitter.im/nim-lang/Nim?at=5b83e702f86b741b05ccc906]
11:59:06FromGitter<bung87> well, that's not `py2nim` what generated json , I take wrong memory,` Error: undeclared identifier: 'PNode'` ,`py2nim` cant compile pass..
11:59:31FromGitter<alehander42> ah, it's not working with current nim
12:00:48FromGitter<alehander42> well it just needs to be fixed for latest devel branch
12:00:50FromGitter<bung87> no, just the `daemon` package,
12:01:49FromGitter<alehander42> but otherwise it will probably kinda translate the syntax, but for good results you want to map those atexit/errno/etc functions to nim stdlib equivalents
12:07:22FromGitter<bung87> I also trying to mapping them automaticlly ,but seems difficult.
12:08:06FromGitter<alehander42> well that's what https://github.com/metacraft-labs/py2nim/tree/master/idioms does
12:08:16FromGitter<alehander42> you map them once manually with something like a pattern
12:08:26FromGitter<alehander42> and then py2nim knows how to map them automatically
12:08:50FromGitter<alehander42> but somebody needs to update py2nim to nim 0.18.1
12:09:00*brainproxy quit (Read error: Connection reset by peer)
12:09:04FromGitter<alehander42> it's probably a quick work, but I am a bit busy these days
12:09:07*brainpro1 joined #nim
12:10:41FromGitter<bung87> it mapping to ast ..., I was trying to mapping stdlib
12:11:15FromGitter<bung87> `pymodule.method` -> `nimmodule.method`
12:12:25FromGitter<bung87> more like a translater
12:13:24FromGitter<alehander42> well this looks similar
12:13:24FromGitter<alehander42> https://github.com/metacraft-labs/py2nim/blob/master/idioms/string_methods.nim#L71
12:13:37FromGitter<alehander42> but your mapping would be limited
12:13:49FromGitter<alehander42> as many python methods are not easily mapped to one nim method
12:14:10FromGitter<alehander42> that's why py2nim can map them to various nim constructs
12:15:03FromGitter<alehander42> and the resulting ast is after this generated as a string
12:16:18FromGitter<alehander42> so if you have e.g. ⏎ ⏎ ```a.istitle()``` ⏎ ⏎ we get the python ast, we generate new ast equivalent to `a.isTitle()` and later we generate the source `a.isTitle()` [https://gitter.im/nim-lang/Nim?at=5b83eb91f5402f32aa9aa4ea]
12:16:28*SenasOzys quit (Ping timeout: 268 seconds)
12:18:23FromGitter<alehander42> you could directly map strings to python ast, that would be simpler indeed, but it will make postprocessing the compiled code very hard
12:18:25FromGitter<bung87> ah ,so if I can mapping like `Amodule.method` then I can write something to `idioms`
12:19:06FromGitter<bung87> that let it no need build ast deeply
12:19:10FromGitter<alehander42> yeah you can basically write similar idioms files for other python modules/types
12:19:35FromGitter<alehander42> by default py2nim will translate a.b to a.b anyway
12:19:46FromGitter<alehander42> so you don't need to translate methods with the same name
12:20:13FromGitter<alehander42> what do you mean by "no need build ast deeply"
12:20:17FromGitter<bung87> cool!I will see `py2nim` updates,
12:20:31FromGitter<alehander42> you shouldn't need to build the ast by hand for most simple cases yeah
12:20:51FromGitter<alehander42> if you want, you can try to fix py2nim compilation for nim v0.18
12:21:10*SenasOzys joined #nim
12:21:27FromGitter<alehander42> but of course you can try to write your own mapper, but please try first to take a better look at how python-deduckt and py2nim work, as you don't want to reinvent all of this
12:24:47FromGitter<bung87> oh I meaning if it found `somemodule` in `idioms`,it can simplely wrap it ,right?
12:26:31FromGitter<alehander42> something like that, I am not entirely sure this works now but it can be supported
12:31:04FromGitter<bung87> ok, let me try to fix the compile issue
12:36:36FromGitter<alehander42> thanks!
12:42:39*zachcart1r quit (Ping timeout: 244 seconds)
12:43:40*xet7 joined #nim
12:44:11*erratic joined #nim
12:47:12ehmryis there documentation on the use of '@' in nim.cfg?
13:06:35ehmrythis combination of hardcoded compiler settings and undocumented configuration directives really sucks
13:07:04*endragor quit (Remote host closed the connection)
13:07:35*endragor joined #nim
13:12:44*endragor quit (Ping timeout: 272 seconds)
13:12:55*SenasOzys quit (Quit: Leaving)
13:13:19FromGitter<ephja> is it a setting if it's hardcoded?
13:22:10FromGitter<Araq> which combination?
13:23:01FromGitter<Araq> you all claim the .cfg format is not documented, but it's just --switch: boo and '@if <conditionalSymbol> @elif ... @end`
13:23:12FromGitter<Araq> there is nothing more to it
13:24:49FromGitter<Araq> `nim.cfg` is an exhaustive example of what's possible and examples are a good form of documentation
13:25:01ehmryok, my problem is likely the order that configuration files are processed, if I set -d:foo in a local nim.cfg then that will not effect a conditional `@if foo:` in an earlier file
13:26:04FromGitter<Araq> the compiler tells you the order in which things are processed, plenty of people tried hard to disable these messages :-)
13:26:12*endragor joined #nim
13:26:35ehmryyea, sorry, I didn't notice the ordering here
13:26:54FromGitter<Araq> and yeah, the compiler doesn't perform a fixpoint computation on the configuration settings
13:27:31krux02I like the processing messages, they tell me that there is something going on and not frozen
13:27:49FromGitter<Araq> I know it kinda sucks but I'm not convinced making this even more complex is the right idea. Instead most stuff should move from the configuration to .pragmas in the source code
13:28:45ehmryagreed, if I could trigger a cross compile in the code then ordering of config files wouldn't matter
13:29:35FromGitter<alehander42> hey @flyx are you online
13:31:01ehmryI'm having one of those weeks were building software is harder than writting it
13:31:06*endragor quit (Ping timeout: 264 seconds)
13:35:25FromGitter<alehander42> @Araq can we somehow get lineinfo for out bounds ?
13:37:57FromGitter<bung87> @alehander42 `proc generateClass(generator: var Generator, t: Node): PNode = ⏎ assert t.kind in {PyClassDef} ⏎ ⏎ assert t.typ.kind == N.Record` where is the `N.Record`? [https://gitter.im/nim-lang/Nim?at=5b83feb458a3797aa3c2f9da]
13:39:19FromGitter<bung87> assert t.typ.kind == N.Record
13:39:31FromGitter<bung87> https://github.com/metacraft-labs/py2nim/blob/b627eda8bcb57ded3aaacb673fc975a2f008f268/generator.nim#L72
13:41:41FromGitter<ephja> https://github.com/metacraft-labs/py2nim/blob/b627eda8bcb57ded3aaacb673fc975a2f008f268/nim_types.nim#L7 ?
13:42:31FromGitter<ephja> found it using the search function on github. sometimes it's good enough
13:43:09FromGitter<bung87> wow.. thanks! thought it's nim version issue..
13:59:57*norok2 quit (Ping timeout: 240 seconds)
14:02:19*norok2 joined #nim
14:03:53*norok2 quit (Remote host closed the connection)
14:04:01FromGitter<Bennyelg> (https://files.gitter.im/nim-lang/Nim/nsQ4/image.png)
14:04:02FromGitter<Bennyelg> Pure Nim & javascript :D ⏎ almost done
14:05:39FromGitter<Bennyelg> (https://files.gitter.im/nim-lang/Nim/qos3/image.png)
14:05:40FromGitter<Bennyelg> Inside look:
14:06:12livcdthe blog i see is in nim & nim js backend ?
14:06:55FromGitter<Vindaar> what kind of implemented shell magic is going on there?
14:07:01FromGitter<Bennyelg> No. nim as a backend and render function
14:07:08FromGitter<Bennyelg> javascript
14:07:25FromGitter<Bennyelg> I wish I could understand karax well enough
14:08:46FromGitter<DanielSokil> @Bennyelg Link to repo?
14:09:06FromGitter<Bennyelg> I didn't pushed it to github yet.
14:09:21FromGitter<Bennyelg> I'll finish some stuff and I'll publish it of course.
14:11:06*craigger quit (Quit: bye)
14:11:22*craigger joined #nim
14:12:12*kapil___ joined #nim
14:12:13*kapil___ quit (Excess Flood)
14:13:53FromGitter<ephja> need to do some debuggin'? try this https://gdbgui.com/
14:13:59*kapil___ joined #nim
14:14:24FromGitter<ephja> nim highlighting seems to be supported
14:17:07FromGitter<ephja> " data [0]NIM_CHAR []" that doesn't really help though
14:18:25FromGitter<Bennyelg> looks good
14:25:33FromGitter<ephja> "../../../../src/gdb-7.11.1/gdb/frame.c:890: internal-error: unexpected prev_pc status: 1073743104" oh no..
14:26:06*norok2 joined #nim
14:54:02dom96Bah, no getCurrentDir for nims?
15:00:06dom96oh, I need to import ospaths
15:00:18FromGitter<bung87> @alehander42 `https://github.com/bung87/py2nim/commit/caa8152447cdd83e60fa866a9d36e40833230029` generator.nim pass compile time,but `compiler.nim(1708, 44) Error: request to generate code for .compileTime proc: generate`
15:06:50FromGitter<ephja> can you actually display things like strings and enums in a less terrible way with gdb other than by pretty printing?
15:08:08FromGitter<ephja> maybe "frame filters" are relevant
15:09:11FromGitter<ephja> not really
15:11:13FromGitter<Vindaar> @ephja: are you using krux02's nim-gdb? https://github.com/nim-lang/Nim/blob/devel/tools/nim-gdb.py
15:15:26FromGitter<ephja> will try
15:16:45*nsf quit (Quit: WeeChat 2.2)
15:18:51*SenasOzys joined #nim
15:20:13*SenasOzys quit (Remote host closed the connection)
15:21:23*SenasOzys joined #nim
15:23:13*leorize joined #nim
15:23:41*fredrik92 joined #nim
15:27:04*couven92 quit (Ping timeout: 252 seconds)
15:28:30FromGitter<ephja> got this when I googled before https://github.com/cooldome/Nim-gdb
15:29:17FromGitter<ephja> nothing relevant in the nim repo shows up whenever I google... need to use the github search more
15:32:15*Vladar quit (Remote host closed the connection)
15:33:30*norok2 quit (Ping timeout: 264 seconds)
15:35:41*SenasOzys quit (Remote host closed the connection)
15:38:06*SenasOzys joined #nim
15:43:34*rokups quit (Quit: Connection closed for inactivity)
15:56:01FromGitter<bung87> @alehander42 forget that,I tried two version Nim, results different error :( .
16:12:18*norok2 joined #nim
16:19:26FromGitter<ephja> gdb.exe -eval-command "source C:\...\nim-gdb.py" -> "source command requires file name of file to source." what on earth??
16:32:09FromGitter<Vindaar> @ephja are you running this in PowerShell on Windows?
16:35:38*thomasross_ quit (Remote host closed the connection)
16:36:04*thomasross_ joined #nim
16:38:14*Trustable joined #nim
16:46:14*leorize quit (Ping timeout: 276 seconds)
17:04:24FromGitter<ephja> @Vindaar yep. works on bash though (on Windows)
17:07:54FromGitter<Vindaar> ah, ok good to know. I never use Windows for anything like this, but according to https://ss64.com/ps/source.html it seems like you'd source just by `. <path to file>` instead of actually calling `source <path to file>`. Did you try that?
17:10:55FromGitter<Araq> speaking of which... how is `-n='"w"abc'` supposed to work on a Posix shell?
17:11:32FromGitter<Araq> or rather `-n='"w" space'` ?
17:14:59FromGitter<Araq> never mind, os.paramStr is reliable
17:15:23*zachcarter joined #nim
17:16:02zachcarterHi all - I'm having an issue w/ AsyncHttpClient - the JSON responses I'm getting back are sometimes cut off, meaning if I hit the URI with another client, I get the full JSON document I expect in the response body
17:16:17zachcarteris there some limitation on the size of the resposne data or something?
17:16:40FromGitter<ephja> @Vindaar I have now, but isn't "source" a gdb command?
17:16:45zachcarterI'm not getting any response status codes other than 200
17:17:04FromGitter<Araq> sure. all good protocols have these limits. but maybe it's something else.
17:17:20FromGitter<Araq> what sizes are we talking about?
17:17:22FromGitter<Vindaar> @ephja I thought gdb would simply evaluate some shell command before it did actually started. I could be wrong though
17:17:29*Jesin quit (Quit: Leaving)
17:17:43zachcarterNot very large - less than 25kb most of the time I imagine
17:18:18zachcarterI am issuing thousands of requests - but only allowing 10 to be ongoing at a time
17:18:24FromGitter<Araq> probably just some async misuse, you need to read it all
17:18:32zachcarterand I'm creating / closing the client with each request
17:18:33zachcarterI have
17:18:38zachcarterbut I will read it again
17:18:50FromGitter<Araq> oh and don't re-use these client objects
17:19:02zachcarteroh
17:19:04zachcarterthat might be the problem
17:19:06FromGitter<Araq> you need to keep recreating them. bad API design, I know.
17:19:15zachcarterlet me make that change and try it
17:19:42*arecaceae quit (Remote host closed the connection)
17:20:01*arecaceae joined #nim
17:20:59zachcarterNope :/ must be something else
17:21:06FromGitter<ephja> @Vindaar hmm, I don't think so. it works in other ways so w/e
17:21:31FromGitter<Vindaar> :)
17:22:15*Jesin joined #nim
17:22:21FromGitter<Araq> gah I hate this crap... so `-n=""w" foo"` produces `-n=w foo`
17:23:09*floppydh quit (Remote host closed the connection)
17:23:26FromGitter<Araq> yeah, you can nest `"` but they keep getting removed
17:23:53*floppydh joined #nim
17:24:45*nsf joined #nim
17:25:36FromGitter<kaushalmodi> Not sure why this issue was closed: https://github.com/nim-lang/Nim/issues/8452
17:25:39FromGitter<ephja> you want it to produce a single argument with the string `"w"abc`? is there an API that allows you to not care about these details?
17:25:58FromGitter<kaushalmodi> That double quote issue recently came up on https://forum.nim-lang.org/t/4080#25407
17:26:21FromGitter<Araq> @kaushalmodi cause it's a duplicate.
17:26:33FromGitter<Araq> I'm trying to fix it but I'm getting lost in Posix's rules
17:26:48FromGitter<kaushalmodi> but it's a duplicate of parseopt/parseopt2 thing
17:27:19FromGitter<kaushalmodi> the main issue about double quotes not getting parsed was the main point in that 8452 issue
17:27:34FromGitter<ephja> what if there was a huge monolithic, statically linked library that all languages etc could rely on for these things :-P
17:27:57FromGitter<Araq> https://github.com/nim-lang/Nim/issues/6818 is open and a showstopper
17:28:06*PMunch quit (Quit: Leaving)
17:29:23FromGitter<kaushalmodi> ok
17:29:30FromGitter<ephja> and one that is easy to write bindings for. one can dream
17:32:24FromGitter<Araq> https://www.gnu.org/software/bash/manual/html_node/Shell-Expansions.html#Shell-Expansions "There are seven kinds of expansion performed" WTF ...
17:32:48FromGitter<ephja> neat :-P
17:36:08FromGitter<Vindaar> is there a way to check whether a directory exists at compile time?
17:36:13FromGitter<ephja> wait. why isn't it only up to the user of the shell in question to know how it works? the shell does its things and then.. you get a nice list of arguments in an array, right?
17:36:23FromGitter<ephja> 🤷
17:36:53FromGitter<Araq> right, because you never want to turn argv into a string ever again to pass it on to a subprocess or something, sure
17:40:46*abm quit (Ping timeout: 244 seconds)
17:42:53FromGitter<Araq> this spec reads like somebody coded a parser via multiple replace() calls that never got fixed...
17:43:55FromGitter<ephja> you could pass an array again, but I'm sure you can't always do that
17:45:42FromGitter<Araq> it's unix, you don't have arrays of strings, you only have strings which are called "files" even though they are streams
17:49:22FromGitter<Araq> > When the old-style backquote form of substitution is used, backslash retains its literal meaning except when followed by ‘$’, ‘`’, or ‘\’. The first backquote not preceded by a backslash terminates the command substitution. When using the $(command) form, all characters between the parentheses make up the command; none are treated specially. ⏎ > Command substitutions may be nested. To nest when using the
17:49:22FromGitter... backquoted form, escape the inner backquotes with backslashes. ⏎ > If the substitution appears within double quotes, word splitting and filename expansion are not performed on the results. ⏎ ⏎ That whole thing reads like a bug report... [https://gitter.im/nim-lang/Nim?at=5b8439a1ac25fd11b5a14c45]
17:50:16FromGitter<Araq> can we get a shell that uses JSON?
17:50:18*Vladar joined #nim
17:51:51FromGitter<Araq> so ... if my program outputs `[a-z]` the shell goes ahead and interprets that as file pattern unless I put the $() in double quotes? wtf.
17:52:07FromGitter<xmonader> So my company is giving Nim another shot, and It will be used as a component in our storage system https://github.com/threefoldtech/0-db *hope it works out this time* :(
17:53:05FromGitter<Araq> @xmonader yay :-)
17:54:21dom96Why didn't it work out last time?
17:55:27FromGitter<xmonader> @dom96 lack of libraries and pudgedb had lots of problems as far as i remember https://github.com/recoilme/pudge
17:57:16FromGitter<xmonader> and they had some problems with the language itself and one of our hackers just wrote the code in C because that's what he knows the best and they discarded nim
18:00:24FromGitter<Araq> which libraries does C offer that Nim lacks?
18:01:31FromGitter<Araq> usually I would want a Nim equivalent for some C++ library, C's library support is pretty weak, ymmv
18:06:33*leorize joined #nim
18:07:43FromGitter<xmonader> @Araq I tried checking the logs It was some segault raised from nim's garbage collection and they investigated and gave up and wrote the code in C ⏎ they had some problems with pymod - and and pudgeDB /sophia were the deal breaker they had reliability issues https://github.com/recoilme/pudge/issues/14
18:08:36*endragor joined #nim
18:09:43FromGitter<Araq> ok, got it, you can use malloc in C but you cannot use malloc in Nim.
18:11:01FromGitter<xmonader> :D anyways I wasn't involved at that decision, and they were like C/Go folks. I hope this time I can make it different
18:13:06*endragor quit (Ping timeout: 264 seconds)
18:14:16zachcarterHoping someone can help me with this - https://gist.github.com/zacharycarter/378ad449928bed496c49e06fef4cfb7a - the JSON in the responses I'm getting back isn't always the same as if if I hit the URL with curl - some of the body is cut off
18:17:12*SenasOzys quit (Ping timeout: 252 seconds)
18:18:47FromGitter<Araq> your proc len/size is a design bug
18:19:07zachcarterin async_queues?
18:19:09FromGitter<Araq> you don't know if you're at the end until you received the end
18:19:50FromGitter<Araq> threads or not, this is a concurrent data structure and you don't know its size ahead of the time
18:39:45zachcarterAraq: can you suggest a way to perhaps do what I'm trying to do with another data structure?
18:43:05FromGitter<Araq> you need a 'recv(): Option[T]' or similar that tells you when you're at the end
18:44:57zachcarterokay thank you - I will try to figure out how to implement that
18:48:06FromGitter<Araq> one way that helps me thinking about this is to assume there is an "ether" that messages need to travel through very slowly and you can only see them when they arrive. Or consider your mailbox. you can never remove it without possibly losing letters.
18:49:01*SenasOzys joined #nim
18:50:24zachcarterI think I understand - thanks - will post back once I have a fix
18:54:52*jamtoast joined #nim
19:22:21*nsf quit (Quit: WeeChat 2.2)
19:33:42*NimBot joined #nim
20:13:09FromGitter<bung87> @kosz78 https://github.com/pragmagic/vscode-nim/issues/92 take a look this pr
20:16:09*Vladar quit (Remote host closed the connection)
20:19:05FromGitter<ephja> it seems like the function that I step out of doesn't get executed. that's not good. I simply don't want to step through it :p
20:23:23FromGitter<bung87> not talk to me, right?
20:24:24FromGitter<ephja> nah
20:24:34*Trustable quit (Remote host closed the connection)
20:26:28FromGitter<ephja> very strange behavior
20:47:19*gangstacat quit (Quit: Ĝis!)
20:57:09*gangstacat joined #nim
20:57:54*zachcarter quit (Ping timeout: 252 seconds)
21:10:59*kapil___ quit (Quit: Connection closed for inactivity)
21:19:35*abm joined #nim
21:22:46*yglukhov joined #nim
21:24:34*yglukhov quit (Client Quit)
21:26:54*heinrich5991 quit (Ping timeout: 264 seconds)
21:31:57*heinrich5991 joined #nim
21:45:26FromDiscord_<emekoi> @alehander, it based on https://github.com/2vg/llnim/tree/master/bareborn. about the macros, i kept getting an error about `substr` not being defined, so i just switched to a template that genrates the prologue and epilogue.
21:52:27*seni quit (Quit: Leaving)
22:11:08*riidom_ quit (Ping timeout: 260 seconds)
22:11:57*riidom joined #nim
22:16:11*noonien quit (Quit: Connection closed for inactivity)
22:54:00*zachcarter joined #nim
23:31:38*xet7 quit (Quit: Leaving)
23:32:14*Jesin quit (Quit: Leaving)
23:34:56*Jesin joined #nim