<< 03-02-2020 >>

00:03:16FromDiscord_<4984> today's language to learn in nim. gotta learn how this syntax is
00:03:29FromDiscord_<4984> or first how to install it xD
00:06:05FromDiscord_<Recruit_main_70007> It’s easy to learn the basics, but Nim has some very unique things that, at least I am considering hard mostly it’s OOP, what ever *{.something.}* is, templates and macros
00:06:49FromDiscord_<Recruit_main_70007> Not that they are wrong or bad, but different
00:07:08FromDiscord_<Clyybber> its called pragma
00:07:13FromDiscord_<Clyybber> the {.something.}
00:07:18FromDiscord_<Recruit_main_70007> I was not sure
00:07:26FromDiscord_<Clyybber> its just a way to annotate something
00:08:02FromDiscord_<Clyybber> templates are simple
00:08:12FromDiscord_<Clyybber> macros are complicated, but thats the point :p
00:42:31*hax-scramper quit (Remote host closed the connection)
00:42:44FromDiscord_<4984> i find templates cool
00:42:52FromDiscord_<4984> atleast in the languages i know them from
00:46:37FromDiscord_<4984> where was this taken!?
00:46:37FromDiscord_<4984> https://cdn.discordapp.com/attachments/371759389889003532/673690769156210708/unknown.png
00:54:40FromDiscord_<4984> for me D hello world is like 16kb at no optimization and nim is 99kb... i have the big hard drive so ill be fine
01:04:20*Hideki_ quit (Remote host closed the connection)
01:12:51FromDiscord_<Rika> @4984 it's an old benchmark
01:12:58FromDiscord_<Rika> A very very old one
01:13:10FromDiscord_<Rika> Also I think this was compiled with -d:release for nim
01:13:34Araqbut since then we got better at it
01:14:36FromDiscord_<4984> is there a way to see the generated code just for fun
01:15:05FromGitter<Varriount> 4684: You can look at the generated C code in the cache
01:15:22FromGitter<Varriount> I think the cache lives in the home directory these days, though I might be wrong.
01:15:48FromGitter<Varriount> For me it's in `~/.cache/nim/`
01:15:59FromDiscord_<4984> thats where im looking currently
01:16:33FromGitter<Varriount> If you want to get the filesize down even more, enabling link-time optimization tends to lower it a bit.
01:16:44FromGitter<Varriount> Oddly enough, it doesn't usually increase performance too much
01:17:44FromDiscord_<4984> its not a big issue for me currently. but it just kinda took me aback to see D at 900KiB+
01:18:05FromDiscord_<4984> i actually am really liking nim currently
01:18:14Araquse --gc:arc for the tests, everything else is moribund :P
01:18:57FromGitter<Varriount> 4984: To make the C code clearer, you can use `--linedir:on`
01:19:18FromGitter<Varriount> That will show roughly what C corresponds to what line of Nim code.
01:21:06FromDiscord_<4984> `line 999999 "generate_not_to_break_here"`
01:21:17FromDiscord_<4984> actually its not that bad
01:28:59*Pqzcih5 quit (Remote host closed the connection)
01:45:27FromDiscord_<4984> *someone has obviously spent time making the outputted code look decent*
01:48:42*lritter quit (Ping timeout: 265 seconds)
02:22:36leorizeit's necessary for debugging the codegen :P
02:25:58*rockcavera quit (Remote host closed the connection)
02:32:12*chemist69 quit (Ping timeout: 265 seconds)
02:33:51*chemist69 joined #nim
02:42:20nisstyreis there a way to create a custom tag in Karax where I can use it in the body of buildHtml, like the built in ones?
02:45:45FromGitter<Varriount> nisstyre: Would a template work?
02:46:17nisstyremaybe
02:46:58nisstyreI'm just looking through the experiments directory in the git repo to see if there's anything close to what I want
02:51:04nisstyreI think I'm just going to work around it for now
03:01:43*ptdel joined #nim
03:02:14FromGitter<Varriount> I wish other languages had constructs like Nim templates.
03:03:55nisstyreVarriount: Scheme/Racket have macros which can do everything Nim templates do
03:04:35nisstyredefine-syntax-rule specifically does something close to what templates in Nim do
03:21:43ptdelI was going to say, I've always seen Nim templates/macros as lisp-inspired
03:21:52ptdel(not sure if thats actually the case)
03:24:55nisstyreptdel: I believe they're meant to be more Scheme than Lisp (i.e. hygienic macros)
03:25:09nisstyrebut I guess you can do anything you want with the AST
03:27:09*dddddd quit (Remote host closed the connection)
03:33:07ptdelah gotcha, I never got into the nuances of Scheme/Racket as much as I would have liked too
03:38:12*muffindrake quit (Ping timeout: 248 seconds)
03:40:38*muffindrake joined #nim
04:19:25*marmotini_ joined #nim
04:33:31*chemist69 quit (Ping timeout: 265 seconds)
04:34:13*chemist69 joined #nim
04:42:15*nsf joined #nim
04:50:08*marmotini_ quit (Remote host closed the connection)
04:54:15*marmotini_ joined #nim
05:31:42*marmotini_ quit (Remote host closed the connection)
05:32:21*marmotini_ joined #nim
05:56:29*ltriant quit (Ping timeout: 265 seconds)
06:02:21*greenfor` left #nim ("ERC (IRC client for Emacs 26.2)")
06:04:15*marmotin_ joined #nim
06:07:12*marmotini_ quit (Read error: Connection reset by peer)
06:10:14*narimiran joined #nim
06:37:38*endragor joined #nim
06:59:34*ptdel quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
07:12:08*narimiran quit (Ping timeout: 260 seconds)
07:34:40*hax-scramper joined #nim
07:45:45*marmotin_ quit (Remote host closed the connection)
07:46:21*marmotini_ joined #nim
07:55:02*solitudesf joined #nim
07:56:02*marmotini_ quit (Ping timeout: 265 seconds)
08:00:00*gmpreussner quit (Quit: kthxbye)
08:05:04*gmpreussner joined #nim
08:40:20*hax-scramper quit (Ping timeout: 268 seconds)
08:41:04*hax-scramper joined #nim
08:46:05*hax-scramper quit (Read error: Connection reset by peer)
08:46:45*hax-scramper joined #nim
08:50:26*floppydh joined #nim
08:54:49*hax-scramper quit (Read error: Connection reset by peer)
08:54:59*hax-scramper joined #nim
09:01:12*hax-scramper quit (Read error: Connection reset by peer)
09:02:11*hax-scramper joined #nim
09:07:27*akitoshi joined #nim
09:35:00*hax-scramper quit (Ping timeout: 252 seconds)
09:35:36*hax-scramper joined #nim
09:36:36*NimBot joined #nim
09:41:28FromGitter<Varriount> Hm, the Nim talk videos still aren't up
09:48:08*narimiran joined #nim
09:53:00*hax-scramper quit (Ping timeout: 265 seconds)
09:53:29*hax-scramper joined #nim
10:00:37ZevvI understood the talk owners should review and publish those
10:00:46Zevvbut I'm afraid the talk owners are either hungover or traveling
10:01:48*krux02 joined #nim
10:10:03*ftsf quit (Ping timeout: 260 seconds)
10:11:46*ng0 joined #nim
10:11:48*ng0 quit (Changing host)
10:11:48*ng0 joined #nim
10:19:08*hax-scramper quit (Read error: Connection reset by peer)
10:19:23*hax-scramper joined #nim
10:24:51AraqZevv: or both... :P
10:27:53*hax-scramper quit (Read error: Connection reset by peer)
10:30:18*hax-scramper joined #nim
10:30:57Zevvfair enough
10:39:25*Vladar joined #nim
10:39:51federico3the videos might be pending encoding and compression
10:40:14*krux02 quit (Remote host closed the connection)
10:51:04dom96Zevv: got a source for that? :)
10:55:17FromDiscord_<Lantos> @nisstyre if you are using karax with ssr and trying to use events you will need to do some hacking.
10:56:13FromDiscord_<Lantos> I was looking into it but work got in the wy
11:02:10*cgfuh joined #nim
11:24:31FromDiscord_<kodkuce> async arc works now or still doom?
11:25:15dom96someone needs to register www.are-we-async-arc-yet.com
11:33:08Zevvdom96: all my sources are on github, that should do
11:36:11FromDiscord_<Rika> ~~"are-we-better-than-rust-yet"~~
11:39:27FromDiscord_<treeform> Are we the top programming language yet?
11:45:40dom96hah
11:45:44FromDiscord_<kodkuce> on slant we are like for years
11:46:15FromDiscord_<kodkuce> https://www.slant.co/options/395/~nim-review
11:46:25FromDiscord_<kodkuce> slant lies xD
11:49:19*JustASlacker joined #nim
11:54:45FromGitter<alehander92> what happened
11:54:47FromGitter<alehander92> on fosdem
11:56:27FromDiscord_<treeform> What happens at FOSDEM stays at FOSDEM...
11:59:32FromGitter<alehander92> nisstyre basically
11:59:38FromGitter<alehander92> everything you put as a view
11:59:44FromGitter<alehander92> can be viewed as an "custom tag"
11:59:46FromGitter<alehander92> i think
11:59:53FromGitter<alehander92> basically they all use the call syntax
12:00:02FromGitter<alehander92> tdiv(...): ⏎ myView(..)
12:02:31*ltriant joined #nim
12:06:12FromDiscord_<kodkuce> hcould not load: libnimhcr.so i wanted to try code realoding
12:06:31FromGitter<alehander92> many people complain of this
12:06:46FromGitter<alehander92> where does linux usually search for .so files ?
12:06:52Yardanicoin $PATH
12:06:57Zevvnot in $PATH
12:06:57FromGitter<alehander92> as iirc the .so file itself was generated somehow
12:07:02*ltriant quit (Ping timeout: 260 seconds)
12:07:06Zevv/etc/ld.so.conf and friends
12:07:07FromGitter<alehander92> ok good discussion
12:07:10Zevvtogether with LD_LIBRARY_PATH
12:07:14FromGitter<alehander92> hm
12:07:25Zevvhcr is not friendly or trivial
12:07:25FromGitter<alehander92> so we can test it with env LD_LIBRARY_PATH=..
12:07:34FromDiscord_<kodkuce> so to link it or export path
12:07:48FromGitter<alehander92> well, if there is an easy way to call it with the right path
12:07:57FromGitter<alehander92> i dont see why should it be not friendly
12:08:22FromGitter<alehander92> there shouldn't be much inherently complicated in the ux
12:12:53FromDiscord_<kodkuce> hmm duno if i blind or what but where is that libnimhcr, i checked in whole .choosenim dir and even checked find on /
12:14:28*chemist69 quit (Ping timeout: 248 seconds)
12:14:51*chemist69 joined #nim
12:24:46FromDiscord_<kodkuce> ?????
12:25:36*akitoshi quit (Quit: Connection closed for inactivity)
12:26:06YardanicoI think you need to build it
12:26:08solitudesfyour_nim_toolchain/lib/nimhcr.nim
12:28:32FromDiscord_<kodkuce> yep found some old post just second ago
12:28:38FromDiscord_<kodkuce> https://hypothes.is/users/jordipbou
12:29:57*krux02 joined #nim
12:34:53FromDiscord_<kodkuce> hmm wierd i am chaing echo "sdhashd" it recompiles but dosent change output
12:35:09Yardanicois it on global level?
12:35:13Yardanicoand is it in some loop?
12:36:08FromDiscord_<kodkuce> just used example from forum
12:36:23*rockcavera joined #nim
12:36:34FromDiscord_<kodkuce> https://forum.nim-lang.org/t/5877
12:36:45FromDiscord_<kodkuce> i only changed form mymain to main
12:39:02FromDiscord_<kodkuce> hmm i copy pasted it again and now works, duno why using main.nim isnted mymain.nim buged it
12:43:23narimirancan somebody run this on their (linux) machine? https://github.com/nim-lang/Nim/issues/5626 i want to double-check if something is wrong with my local machine....
12:43:26disbotβž₯ Crash when using threadpool and channels ; snippet at 12https://play.nim-lang.org/#ix=2ajG
12:43:43Yardaniconarimiran: ok
12:44:00Yardanicoyou mean the very first snippet in the issue?
12:44:05narimiranyes
12:44:58Yardanicouh, says that "await" is an undeclared identifier
12:45:03FromGitter<Vindaar> yep, same here
12:45:05Yardanicoin return proc() = await(r)
12:45:09narimiransame here, that's why i asked
12:50:30*endragor quit (Remote host closed the connection)
12:52:04*krux02 quit (Remote host closed the connection)
12:57:14dom96AFAIK I removed `await` because it clashed with async await
12:57:15dom96narimiran replace with `^`
12:58:38narimirandom96: like this: `return proc() = ^r`?
12:59:06Yardanicowell if you also correct the return value of run proc it says
12:59:07Yardanico"/home/dian/projects/experiments/af.nim(8, 18) Error: closure in spawn environment is not allowed"
12:59:54*Hideki_ joined #nim
13:00:46dom96narimiran yes, you can look up in the git history when this was removed if you want to confirm its old semantics
13:11:30*lritter joined #nim
13:32:47*JustASlacker quit (Remote host closed the connection)
13:32:58*Kaivo joined #nim
13:40:02*hax-scramper quit (Read error: Connection reset by peer)
13:40:20*hax-scramper joined #nim
13:48:14*JustASlacker joined #nim
13:54:55*marmotini_ joined #nim
13:59:24*nsf quit (Quit: WeeChat 2.7)
14:03:13*ltriant joined #nim
14:08:12*ltriant quit (Ping timeout: 265 seconds)
14:32:25*dddddd joined #nim
14:47:10nisstyrealehander92: yeah I sort of figured that out. I was trying to do it as a template where I could pass in a block (like the built in Karax tags), but I couldn't get that working. I kept running into a type mismatch.
14:47:51nisstyreit's probably just that my knowledge of templates isn't good enough to debug it
15:03:01FromGitter<alehander92> but
15:03:06FromGitter<alehander92> can you give an example
15:11:46nisstyrealehander92: https://gist.github.com/weskerfoot/b564d2a8495445eaa0d5343f1571faad <- not working code obviously
15:14:29*Hideki_ quit (Remote host closed the connection)
15:22:45*ng0_ joined #nim
15:25:38*ng0 quit (Ping timeout: 240 seconds)
15:33:25*nsf joined #nim
15:35:32FromGitter<Varriount> nisstyre: What's the error message (I'm on a phone)?
15:37:11FromGitter<alehander92> return :untyped maybe ?
15:38:54nisstyreI was getting errors like "Error: type mismatch: got <> but expected one of: template linkItem(body: untyped)"
15:39:09nisstyreI'll try that idea later, wasn't aware you could do that
15:39:12FromGitter<alehander92> ohhh
15:39:13FromGitter<alehander92> yeah
15:39:17FromGitter<alehander92> thats because
15:39:27FromGitter<alehander92> karax is preprocessing the body i think
15:39:30nisstyreyeah
15:39:39FromGitter<alehander92> i dont remember but cant you use a proc
15:39:43nisstyrethat's sort of what I figured, the template is getting expanded at the wrong time
15:39:46FromGitter<alehander92> oh yeah
15:39:51FromGitter<alehander92> nvm
15:39:55FromGitter<alehander92> not sure
15:40:58nisstyremight be able to do it with a custom macro, but I have no idea how that would work
15:41:15nisstyreI may as well just open an issue to see if there's a way to support it
15:41:38nisstyreit's a useful feature that other frameworks like VueJS and Riot have (slots/yield/etc)
15:46:46*icebattle joined #nim
16:06:36*JustASlacker quit (Remote host closed the connection)
16:17:26*krux02 joined #nim
16:25:46*ng0_ is now known as ng0
16:29:27*Jjp137 quit (Ping timeout: 265 seconds)
16:31:47*nsf quit (Quit: WeeChat 2.7)
16:34:38*Hideki_ joined #nim
16:39:07*Hideki_ quit (Ping timeout: 265 seconds)
16:43:47*tane joined #nim
16:43:50FromGitter<Vindaar> @nisstyre you could write a custom macro, which evaluates your custom procs first in a temp var and then replaces those nodes in the body by the temps. Something like this: http://ix.io/2ayz/nim
16:44:36FromGitter<Vindaar> Or you just manually put those custom nodes in temporaries and just use those in `buildHtml` ;)
16:45:11FromDiscord_<Recruit_main_70007> Error on the url
16:45:41FromGitter<Vindaar> oh
16:45:43FromGitter<alehander92> nisstyre yes
16:45:44FromGitter<alehander92> thanks
16:45:45FromGitter<Vindaar> one sec
16:46:28FromGitter<Vindaar> https://gist.github.com/Vindaar/683e783ca2a61c99651eee2fc09523b1
17:09:42*marmotini_ quit (Remote host closed the connection)
17:12:50*xet7 quit (Ping timeout: 240 seconds)
17:15:11*xet7 joined #nim
17:24:28*Jesin quit (Quit: Leaving)
17:28:18*marmotini_ joined #nim
17:28:24*rockcavera quit (Read error: Connection reset by peer)
17:28:28*Hideki_ joined #nim
17:28:44*rockcavera joined #nim
17:28:44*rockcavera quit (Changing host)
17:28:44*rockcavera joined #nim
17:32:35*floppydh quit (Quit: WeeChat 2.7)
17:36:43*marmotini_ quit (Remote host closed the connection)
17:37:19*marmotini_ joined #nim
17:40:17*Jesin joined #nim
17:41:21*marmotini_ quit (Remote host closed the connection)
17:41:35*marmotini_ joined #nim
17:43:29FromDiscord_<exelotl> Looking forward to watching the Nim talks once they're up
17:46:19*thomasross joined #nim
17:47:10*Trustable joined #nim
17:50:24*tane quit (Quit: Leaving)
17:54:05*ltriant joined #nim
17:54:53*icebattle quit (Ping timeout: 265 seconds)
17:58:26*ltriant quit (Ping timeout: 240 seconds)
17:58:43*icebattle joined #nim
18:00:29*marmotini_ quit (Remote host closed the connection)
18:01:33*marmotini_ joined #nim
18:03:21*tane joined #nim
18:04:15nisstyreVindaar: cool. I'll look over it later. I think I might just end up using temp vars, but I like the macro idea too, that looks awesome
18:07:14*Hideki_ quit (Ping timeout: 268 seconds)
18:07:25FromDiscord_<Clyybber> heey PMunchs talk is up
18:07:27FromDiscord_<Clyybber> https://video.fosdem.org/2020/AW1.125/
18:08:09*nsf joined #nim
18:08:12FromDiscord_<Clyybber> oh, not entirely, its in the list, but the files itself are "Service unavailable" atm
18:12:08shashlickwaiting waiting
18:15:55FromGitter<Vindaar> @nisstyre it might be a little fragile in the current impl, but if you have questions about it, just ping me
18:27:33FromDiscord_<Clyybber> shashlick: Works now
18:27:59FromDiscord_<Clyybber> http://bofh.nikhef.nl/events/FOSDEM/2020/AW1.125/nimoneverything.mp4
18:36:33*drewr quit (Ping timeout: 245 seconds)
18:42:47*Jjp137 joined #nim
18:57:08Zevvaaarg getTypeImpl getTypeInst node has not type kill me
19:01:10*abm joined #nim
19:32:03*marmotini_ quit (Remote host closed the connection)
19:42:58FromGitter<garuse> hi. i am learning nim trying it with small projects. i still cannot wrap my head around nim's type system. i want to create a template to deep set a key in a table of tables (of uknown depth). for t = ref Table[string, ref Table[string, string]]. I would like to have a template to deep set a key like this: t.deepSet(['k1', 'k2'], v). it should work for any depth size, overriding the existing keys or creating new ones as
19:42:58FromGitter... needed. is this doable?
19:45:12FromDiscord_<exelotl> @garuse: I think you would have to use a macro for that
19:46:10FromDiscord_<exelotl> I might be misunderstanding though
19:47:58*marmotini_ joined #nim
19:53:57planetis[m]PMunch is a great speaker!
19:57:11*icebattle quit (Ping timeout: 272 seconds)
19:57:17*koltrast_ joined #nim
20:02:42*koltrast quit (*.net *.split)
20:02:42*pigmej quit (*.net *.split)
20:04:34*nsf quit (Quit: WeeChat 2.7)
20:06:39FromGitter<Varriount> @garuse Why not use a procedure?
20:10:36*icebattle joined #nim
20:13:06FromGitter<garuse> @Varriount a procedure will do to. I though that templates are more powerful for this sort of job
20:23:45*pigmej joined #nim
20:25:54FromDiscord_<kodkuce> i alwies tough that PMunch is some old dude, duno why xD
20:27:22FromGitter<Varriount> garuse: You should use the least powerful construct that will work for your needs.
20:27:44FromGitter<Varriount> Otherwise we would be using macros all the time. *shudder*
20:28:31FromGitter<Varriount> Templates are good when you want repeat a certain syntactical pattern that can't normally be expressed via a function.
20:29:43FromGitter<Varriount> For example, https://nim-lang.org/docs/sequtils.html#mapIt.t%2Ctyped%2Cuntyped
20:30:43FromGitter<Varriount> (Well, technically you could use generics and callback functions for that, but it would be quite a bit more verbose)
20:37:30FromDiscord_<Griffy> Hello, nim noob here. I've been trying to work my way through xmonader's Nim Day's book but have been struggling with getting the applications to run upon completing them. For example, while I learned the process behind building Day 5's Ini Parser, I have no clue as to how to test run the ini parser besides hitting F6 in vscode.
20:40:27FromDiscord_<Recruit_main_70007> https://nim-lang.org/docs/gc.html
20:40:27FromDiscord_<Recruit_main_70007>
20:40:27FromDiscord_<Recruit_main_70007> seems outdated, no reference to arc for example
20:40:35*dom96 is reviewing his talk's video right now
20:41:50FromDiscord_<Recruit_main_70007> @Griffy you can compile it with nim [c/c++/js/etc] [filename.nim]
20:41:50FromDiscord_<Recruit_main_70007>
20:41:50FromDiscord_<Recruit_main_70007> there are also more parameters you can optionally pass
20:42:45FromDiscord_<Recruit_main_70007> this will generate an exe in the same directory as your file, which you can then run
20:43:00FromDiscord_<Recruit_main_70007> have a look at https://nim-lang.org/docs/nimc.html
20:43:00FromDiscord_<Recruit_main_70007> for more information about the compiler
20:47:28FromGitter<garuse> @Varriount no matter what I try I cannot make it work. i need some help pls: https://play.nim-lang.org/#ix=2aJ7
20:48:48*Vladar quit (Quit: Leaving)
20:49:09shashlickdom96: need some async socket help
20:49:40shashlickdom96: i keep getting random asserts about bad file descriptors and sometimes that FD is already registered
20:55:19FromDiscord_<Griffy> @Recruit_main_70007 I appreciate the help, but , if I recall correctly, F6 does exactly that:
20:55:19FromDiscord_<Griffy> https://cdn.discordapp.com/attachments/371759389889003532/673994949347508264/Untitled.png
20:56:25FromDiscord_<Griffy> Running the .exe doesn't do anything either, so I figure it was something that depended on a cmd arg
20:57:06*narimiran quit (Ping timeout: 265 seconds)
20:58:20*a_b_m joined #nim
20:58:37*abm quit (Ping timeout: 272 seconds)
21:02:16*marmotini_ quit (Remote host closed the connection)
21:03:56*pigmej quit (*.net *.split)
21:05:02FromDiscord_<Recruit_main_70007> well, it will run it because of -r, i personally don like that, so i compile manually, (and usually i also pass -d:release or -d:danger for the extra performance)
21:05:03FromDiscord_<Recruit_main_70007>
21:05:03FromDiscord_<Recruit_main_70007> the problem is that your exe is probably finishing very fast, and closing when it has ended, try adding:
21:05:03FromDiscord_<Recruit_main_70007> `discard stdin.readLine()`
21:05:22FromGitter<Varriount> @garuse It's supposed to go to the deepest table?
21:07:13rayman22201Fosdem video is struggling to stream on my phone. I am a sad panda 🐼
21:07:44dom96My video will hopefully be up soon
21:10:37FromGitter<Varriount> @garuse Are you still around?
21:11:22FromGitter<Varriount> @garuse Because you are dealing with two types (a Table[string, string] and a Table[string, Table[string, ...]]) you need to use a variant type or a method
21:11:38FromGitter<Varriount> Although I'm not 100% sure methods work for builtin types.
21:12:44FromGitter<Varriount> dom96: Are any of the Nim videos up yet?
21:14:34rayman22201PMunch video is up. That's the only one right now
21:15:03rayman22201http://bofh.nikhef.nl/events/FOSDEM/2020/AW1.125/nimoneverything.mp4
21:20:29FromGitter<Varriount> @PMunch I like your outfit, very snazzy
21:21:44*pigmej joined #nim
21:23:12*marmotini_ joined #nim
21:28:05*marmotini_ quit (Ping timeout: 268 seconds)
21:31:24shashlickdom96: why is this line an assert - https://github.com/nim-lang/Nim/blob/devel/lib/pure/asyncnet.nim#L561
21:33:11*thomasross_ joined #nim
21:33:11*thomasross quit (Killed (livingstone.freenode.net (Nickname regained by services)))
21:33:11*thomasross_ is now known as thomasross
21:36:43dom96shashlick, because we're assuming that is the next character
21:36:51dom96if it's not then something is broken
21:37:24shashlickcause i'm gettingt that on some http sites
21:38:16shashlickanyway, now have an async proxy that can optionally run multi-threaded
21:38:41shashlickruns decently but some minor issues i need to work out
21:38:43shashlickhttps://github.com/genotrance/px2
21:39:44dom96are you using httpclient?
21:40:21shashlickno just newAsyncSocket
21:40:52shashlickwell, i'm using libcurl to do the proxy tunneling and getting the remote data
21:41:00shashlickand then returning it back to the client over the async socket
21:41:10shashlickso you get all libcurl auth for free
21:41:27shashlicki'm pointing my firefox browser to px2
21:43:58dom96so why are you using readLine?
21:44:11dom96you're not reading lines, you're reading arbitrary data
21:44:33shashlicki'm expecting http headers
21:44:35shashlickhttps://github.com/genotrance/px2/blob/master/src/server.nim#L77
21:44:45shashlickso i agree, \r should be followed by \n
21:45:02shashlickprobably it is going back there incorrectly
21:46:02shashlickcause after a connection is done, it goes back to that loop for another set of headers
21:51:30FromDiscord_<Recruit_main_70007> @PMunch Congrats!
21:51:30FromDiscord_<Recruit_main_70007> awesome talk
21:53:33*icebattle quit (Ping timeout: 268 seconds)
21:55:19*icebattle joined #nim
21:56:29FromGitter<Varriount> shashlick: What happens if you receive a line with 1 billion characters?
21:57:28*marmotini_ joined #nim
21:58:41shashlicknot my problem anymore πŸ˜›
22:03:59*Hideki_ joined #nim
22:08:02*Hideki_ quit (Ping timeout: 240 seconds)
22:08:15FromGitter<Varriount> shashlick: The next best answer is, "That's what a 64-bit address space is for". :P
22:09:22shashlickaah πŸ™‚
22:14:12*ltriant joined #nim
22:15:34FromDiscord_<exelotl> this doesn't seem right https://play.nim-lang.org/#ix=2aJf
22:20:25FromDiscord_<oz> Yup, the paste isn't that big. http://ix.io/2aJf
22:22:31FromDiscord_<exelotl> looks like ix is having some issues...
22:22:34FromDiscord_<exelotl> https://pastebin.com/raw/UdyiZTC1
22:22:55FromDiscord_<oz> It loaded on the playground, eventually. :)
22:24:00FromDiscord_<exelotl> if I change it to `type BitArray[N:static[int]] = object` it works fine... but if I omit the type constraints on the N it gives some very wonky results
22:25:14FromDiscord_<exelotl> in devel branch on my machine: `error: size of array 'tyArray__PUOJ8mETi2BKJwViILz5iQ' is too large 31 | typedef NU8 tyArray__PUOJ8mETi2BKJwViILz5iQ[4294967296];`
22:30:19FromDiscord_<Recruit_main_70007> obv it will not work, but how about using T instead of N
22:30:44FromDiscord_<Recruit_main_70007> there is the remote posibility that the compiler will treat them differently
22:31:18FromDiscord_<exelotl> I sincerely hope not xD
22:31:50FromDiscord_<Recruit_main_70007> at least, i think is a good practice, kind of self and python
22:32:19*solitudesf quit (Ping timeout: 265 seconds)
22:32:19FromDiscord_<Recruit_main_70007> like* self and python
22:32:43*tane quit (Quit: Leaving)
22:33:13*thomasross quit (Ping timeout: 260 seconds)
22:34:32FromDiscord_<oz> I like that the error message is (on 1.0.4) `Error: unhandled exception: int128.nim(72, 11) `arg.sdata(2) == 0` out of range [AssertionError]`
22:41:54*thomasross joined #nim
22:45:38leorizedisruptek: I couldn't bootstrap nimph
22:46:11*NimBot joined #nim
22:46:16leorizeand you didn't specify it as a requirement
22:46:45shashlickIsn't it using $nim
22:46:59shashlickIt doesn't need compiler package
22:47:34leorizewell "cannot open file: compiler/idents"
22:48:10*cgfuh quit (Quit: WeeChat 2.6)
22:51:05leorizeso $nim assumes the compiler was built within it's source tree and not installed
22:53:25leorizelooks like "installing" the compiler is never actually tested because everyone is using choosenim nowadays
22:53:47FromDiscord_<Recruit_main_70007> isnt it 32 bit only?
22:53:47*onionhammer joined #nim
22:54:47leorizeit's a 32bit app, but can install 64bit Nim
22:54:59leorizeand on *nix it's 64bit
22:55:16*Trustable quit (Remote host closed the connection)
22:55:18FromDiscord_<mratsim> @Zachary Carter did you see that: http://www.gameaipro.com/ in particular the second to last link with a pathfinding algorithm that apparently is 1000x faster than A*
22:59:17*nullwarp quit (Quit: ZNC 1.7.5 - https://znc.in)
23:00:29*Kaivo quit (Quit: WeeChat 2.7)
23:08:41*ftsf joined #nim
23:12:42shashlickLeorize https://github.com/disruptek/nimph/blob/master/src/nimph.nim.cfg#L31
23:12:55shashlickHow are you compiling
23:14:00*joshbaptiste quit (Ping timeout: 265 seconds)
23:14:47leorizeshashlick: ./bootstrap.sh
23:14:51leorizeon Nim devel
23:15:00leorizebut an "installed" version, not a choosenim-based one
23:15:26leorizeI walked around the issue by cloning Nim source, then copy my compiler to bin/, then point PATH there
23:15:51leorize$nim assumes that you run the compiler within the source tree afaict
23:16:28leorizeon builds installed with ./koch install, I doubt that this would work
23:20:43*rockcavera quit (Remote host closed the connection)
23:22:47shashlickAah okay
23:23:06FromDiscord_<Zachary Carter> @mratsim I didn't but I will check it out tonight! Thanks for sharing!
23:23:23shashlickNim doesn't even need the compiler dir at runtime so makes sense
23:23:37shashlickCan you open an issue to track this
23:30:51*Jjp137 quit (Quit: Leaving)
23:30:59*Jjp137 joined #nim
23:42:05*marmotini_ quit (Ping timeout: 268 seconds)