<< 03-08-2018 >>

00:00:02*yglukhov[i] joined #nim
00:00:03*yglukhov[i] quit (Read error: Connection reset by peer)
00:00:57*yglukhov[i] joined #nim
00:00:58*yglukhov[i] quit (Read error: Connection reset by peer)
00:04:32*yglukhov[i] joined #nim
00:04:34*yglukhov[i] quit (Read error: Connection reset by peer)
00:07:15*yglukhov[i] joined #nim
00:07:15*yglukhov[i] quit (Read error: Connection reset by peer)
00:09:54*yglukhov[i] joined #nim
00:09:58*yglukhov[i] quit (Remote host closed the connection)
00:16:38zacharycarter[m]krux02: what about multiple modules though? I'm unable to reproduce the scenario without defining datatypes and it's a lot to put into a single gist
00:17:08zacharycarter[m]I need to make the playground better - so we can share entire projects with it
00:17:39zacharycarter[m]I was hoping to use the wasm experiment I was working on to re-do the playground, but I guess I'll go back to my karax / Nim JS implementation
00:18:33FromGitter<rayman22201> @zacharycarter You don't want to inadvertently end up writing an ide though...
00:19:31zacharycarter[m]rayman22201: I was going to use monaco editor which is used in https://webassembly.studio/
00:19:38zacharycarter[m]well I'm already using it in that project
00:19:51*yglukhov[i] joined #nim
00:19:52*yglukhov[i] quit (Read error: Connection reset by peer)
00:19:55zacharycarter[m]I stopped working on it temporarily to explore the Nim wasm web framework thing
00:20:08FromGitter<rayman22201> that looks like a full ide! lol
00:20:16FromGitter<rayman22201> or at least an editor
00:20:18*ng0 quit (Quit: Alexa, when is the end of world?)
00:20:20zacharycarter[m]it's basically the web version of vscode
00:20:32zacharycarter[m]https://microsoft.github.io/monaco-editor/
00:20:45zacharycarter[m]we
00:20:58zacharycarter[m]we'd lose mobile support for the playground - but I'm not concerned with that
00:21:21zacharycarter[m]I can gracefully degrade to the current experience for mobile
00:21:26FromGitter<rayman22201> I like simplicity of the current nim playground because I test snippets so easily. This heavy weight editor would lose that :-/
00:23:08zacharycarter[m]well maybe then we keep both
00:23:11zacharycarter[m]or have both rather
00:23:23zacharycarter[m]because I long for a web ide for nim for sharing large(er) examples
00:23:25*yglukhov[i] joined #nim
00:23:28*yglukhov[i] quit (Remote host closed the connection)
00:23:38zacharycarter[m]it's tough to replicate certain things in a single file / gist
00:24:09FromGitter<rayman22201> hrmmm. Part of me thinks, at that point you probably need a full git repo anyway. But I see where you are coming from
00:24:28FromGitter<rayman22201> Having both is probably a good idea. Both use cases seem useful
00:24:49zacharycarter[m]I'll try to merge both experiences in whatever new version of the playground I implement
00:25:02zacharycarter[m]I already have a project with karax that's pretty far along
00:25:03FromGitter<rayman22201> Also this comes from a place of love, because I really <3 nim-playground. So thank you :-)
00:25:15zacharycarter[m]:D thank you!
00:25:25zacharycarter[m]btw - are you behind raylib?
00:25:43FromGitter<rayman22201> I wish. no I am not unfortunately
00:26:04zacharycarter[m]ah okay - I think just the ray in your name confused my brain into associating you with the guy that ran / runs that project
00:26:18FromGitter<rayman22201> Nope, just another random ray
00:26:41FromGitter<rayman22201> raylib is a cool project though
00:26:54zacharycarter[m]it def is - zengine before I added all the wasm crap was basically raylib
00:26:57zacharycarter[m]ported to Nim
00:27:01zacharycarter[m]minus some features, and plus some others
00:27:45FromGitter<rayman22201> cool!
00:27:59*yglukhov[i] joined #nim
00:27:59*yglukhov[i] quit (Read error: Connection reset by peer)
00:28:32zacharycarter[m]yeah - but Nim needs a more advanced game engine with an editor - so that's what I'm trying to build now
00:28:42zacharycarter[m]Nim also needs a lot of way more practical projects
00:28:53zacharycarter[m]but it's tough to have motivation for those when your day job is to build practical stuff
00:29:25FromGitter<rayman22201> lol. I know the feeling...
00:30:39*yglukhov[i] joined #nim
00:30:40*yglukhov[i] quit (Remote host closed the connection)
00:33:22*yglukhov[i] joined #nim
00:33:23*yglukhov[i] quit (Remote host closed the connection)
00:36:57*yglukhov[i] joined #nim
00:37:00*yglukhov[i] quit (Remote host closed the connection)
00:37:50*yglukhov[i] joined #nim
00:37:54*yglukhov[i] quit (Remote host closed the connection)
00:43:14*yglukhov[i] joined #nim
00:43:18*yglukhov[i] quit (Remote host closed the connection)
00:49:03zacharycarter[m]this error / these errors definitely seem to be related to some regression with tuple
00:52:22*yglukhov[i] joined #nim
00:52:23*yglukhov[i] quit (Read error: Connection reset by peer)
00:53:50zacharycarter[m]but I'm also wrong like 90% of the time - going to look at this again in the morning and try to come up with a smaller example - I have no idea what's wrong šŸ˜•
00:54:07*yglukhov[i] joined #nim
00:54:11*yglukhov[i] quit (Remote host closed the connection)
00:55:57*yglukhov[i] joined #nim
00:55:59*yglukhov[i] quit (Remote host closed the connection)
00:56:50*yglukhov[i] joined #nim
00:56:53*yglukhov[i] quit (Remote host closed the connection)
01:00:29*yglukhov[i] joined #nim
01:00:30*yglukhov[i] quit (Remote host closed the connection)
01:09:30*yglukhov[i] joined #nim
01:09:34*yglukhov[i] quit (Remote host closed the connection)
01:12:14*yglukhov[i] joined #nim
01:12:18*yglukhov[i] quit (Remote host closed the connection)
01:13:08*yglukhov[i] joined #nim
01:13:12*yglukhov[i] quit (Remote host closed the connection)
01:14:04*yglukhov[i] joined #nim
01:14:07*yglukhov[i] quit (Remote host closed the connection)
01:14:57*yglukhov[i] joined #nim
01:15:01*yglukhov[i] quit (Remote host closed the connection)
01:15:54*yglukhov[i] joined #nim
01:15:56*yglukhov[i] quit (Remote host closed the connection)
01:16:48*yglukhov[i] joined #nim
01:16:50*yglukhov[i] quit (Remote host closed the connection)
01:17:45*yglukhov[i] joined #nim
01:17:45*yglukhov[i] quit (Remote host closed the connection)
01:18:38*yglukhov[i] joined #nim
01:18:40*yglukhov[i] quit (Remote host closed the connection)
01:19:30*yglukhov[i] joined #nim
01:19:34*yglukhov[i] quit (Remote host closed the connection)
01:20:27*yglukhov[i] joined #nim
01:20:29*yglukhov[i] quit (Remote host closed the connection)
01:21:23*yglukhov[i] joined #nim
01:21:23*yglukhov[i] quit (Read error: Connection reset by peer)
01:22:14*yglukhov[i] joined #nim
01:22:18*yglukhov[i] quit (Remote host closed the connection)
01:23:12*yglukhov[i] joined #nim
01:23:12*yglukhov[i] quit (Read error: Connection reset by peer)
01:24:03*yglukhov[i] joined #nim
01:24:07*yglukhov[i] quit (Remote host closed the connection)
01:24:59*yglukhov[i] joined #nim
01:25:01*yglukhov[i] quit (Remote host closed the connection)
01:25:55*yglukhov[i] joined #nim
01:25:56*yglukhov[i] quit (Remote host closed the connection)
01:26:48*yglukhov[i] joined #nim
01:26:50*yglukhov[i] quit (Remote host closed the connection)
01:27:42*yglukhov[i] joined #nim
01:27:45*yglukhov[i] quit (Remote host closed the connection)
01:29:32*yglukhov[i] joined #nim
01:29:34*yglukhov[i] quit (Remote host closed the connection)
01:30:26*yglukhov[i] joined #nim
01:30:29*yglukhov[i] quit (Remote host closed the connection)
01:32:17*yglukhov[i] joined #nim
01:32:18*yglukhov[i] quit (Remote host closed the connection)
01:33:08*yglukhov[i] joined #nim
01:33:12*yglukhov[i] quit (Remote host closed the connection)
01:35:01*yglukhov[i] joined #nim
01:35:02*yglukhov[i] quit (Read error: Connection reset by peer)
01:35:55*yglukhov[i] joined #nim
01:35:56*yglukhov[i] quit (Remote host closed the connection)
01:36:46*yglukhov[i] joined #nim
01:36:50*yglukhov[i] quit (Remote host closed the connection)
01:37:42*yglukhov[i] joined #nim
01:37:44*yglukhov[i] quit (Remote host closed the connection)
01:39:29*yglukhov[i] joined #nim
01:39:32*yglukhov[i] quit (Remote host closed the connection)
01:40:25*yglukhov[i] joined #nim
01:40:26*yglukhov[i] quit (Remote host closed the connection)
01:41:19*yglukhov[i] joined #nim
01:41:20*yglukhov[i] quit (Remote host closed the connection)
01:42:15*yglukhov[i] joined #nim
01:42:15*yglukhov[i] quit (Remote host closed the connection)
01:43:09*yglukhov[i] joined #nim
01:43:09*yglukhov[i] quit (Remote host closed the connection)
01:44:02*yglukhov[i] joined #nim
01:44:04*yglukhov[i] quit (Remote host closed the connection)
01:44:55*yglukhov[i] joined #nim
01:44:59*yglukhov[i] quit (Remote host closed the connection)
01:45:52*yglukhov[i] joined #nim
01:45:53*yglukhov[i] quit (Remote host closed the connection)
01:46:45*yglukhov[i] joined #nim
01:46:48*yglukhov[i] quit (Remote host closed the connection)
01:47:39*yglukhov[i] joined #nim
01:47:42*yglukhov[i] quit (Remote host closed the connection)
01:48:33*yglukhov[i] joined #nim
01:48:37*yglukhov[i] quit (Remote host closed the connection)
01:49:29*yglukhov[i] joined #nim
01:49:31*yglukhov[i] quit (Remote host closed the connection)
01:50:23*yglukhov[i] joined #nim
01:50:26*yglukhov[i] quit (Remote host closed the connection)
01:51:17*yglukhov[i] joined #nim
01:51:21*yglukhov[i] quit (Remote host closed the connection)
01:52:15*yglukhov[i] joined #nim
01:52:15*yglukhov[i] quit (Read error: Connection reset by peer)
01:53:09*yglukhov[i] joined #nim
01:53:10*yglukhov[i] quit (Read error: Connection reset by peer)
01:54:00*yglukhov[i] joined #nim
01:54:04*yglukhov[i] quit (Remote host closed the connection)
01:54:59*yglukhov[i] joined #nim
01:54:59*yglukhov[i] quit (Read error: Connection reset by peer)
01:55:50*yglukhov[i] joined #nim
01:55:53*yglukhov[i] quit (Remote host closed the connection)
01:56:47*yglukhov[i] joined #nim
01:56:48*yglukhov[i] quit (Read error: Connection reset by peer)
01:57:39*yglukhov[i] joined #nim
01:57:43*yglukhov[i] quit (Remote host closed the connection)
01:58:37*yglukhov[i] joined #nim
01:58:38*yglukhov[i] quit (Read error: Connection reset by peer)
02:00:25*yglukhov[i] joined #nim
02:00:27*yglukhov[i] quit (Remote host closed the connection)
02:01:19*yglukhov[i] joined #nim
02:01:21*yglukhov[i] quit (Remote host closed the connection)
02:02:13*yglukhov[i] joined #nim
02:02:15*yglukhov[i] quit (Remote host closed the connection)
02:03:05*yglukhov[i] joined #nim
02:03:09*yglukhov[i] quit (Remote host closed the connection)
02:04:58*yglukhov[i] joined #nim
02:04:58*yglukhov[i] quit (Read error: Connection reset by peer)
02:05:49*yglukhov[i] joined #nim
02:05:53*yglukhov[i] quit (Remote host closed the connection)
02:06:45*yglukhov[i] joined #nim
02:06:47*yglukhov[i] quit (Remote host closed the connection)
02:07:39*yglukhov[i] joined #nim
02:07:42*yglukhov[i] quit (Remote host closed the connection)
02:08:05zacharycarter[m]https://github.com/zacharycarter/example02 - meh I dunno how to reduce these examples
02:08:23zacharycarter[m]I can't re-create them w/o a lot of boilerplate code to the point where I might as well share the repo
02:08:35*yglukhov[i] joined #nim
02:08:36*yglukhov[i] quit (Remote host closed the connection)
02:09:28*yglukhov[i] joined #nim
02:09:28*def- quit (Quit: -)
02:09:31*yglukhov[i] quit (Remote host closed the connection)
02:10:23*yglukhov[i] joined #nim
02:10:25*yglukhov[i] quit (Remote host closed the connection)
02:11:18*yglukhov[i] joined #nim
02:11:20*yglukhov[i] quit (Remote host closed the connection)
02:12:14*yglukhov[i] joined #nim
02:12:15*yglukhov[i] quit (Remote host closed the connection)
02:13:08*yglukhov[i] joined #nim
02:13:09*yglukhov[i] quit (Remote host closed the connection)
02:14:04*yglukhov[i] joined #nim
02:14:04*yglukhov[i] quit (Read error: Connection reset by peer)
02:14:29*smt_ quit (Read error: Connection reset by peer)
02:14:59*smt joined #nim
02:15:50*yglukhov[i] joined #nim
02:15:53*yglukhov[i] quit (Remote host closed the connection)
02:16:58FromGitter<gogolxdong> What's the test data store Nim plays with?
02:17:04FromGitter<gogolxdong> best*
02:17:38*yglukhov[i] joined #nim
02:17:40FromGitter<gogolxdong> the one who concerns IPFS, around?
02:17:41*yglukhov[i] quit (Remote host closed the connection)
02:17:51*arecaceae quit (Remote host closed the connection)
02:18:10*arecaceae joined #nim
02:18:32*yglukhov[i] joined #nim
02:18:34*yglukhov[i] quit (Remote host closed the connection)
02:19:25*yglukhov[i] joined #nim
02:19:29*yglukhov[i] quit (Remote host closed the connection)
02:20:19*yglukhov[i] joined #nim
02:20:23*yglukhov[i] quit (Remote host closed the connection)
02:21:15*yglukhov[i] joined #nim
02:21:17*yglukhov[i] quit (Remote host closed the connection)
02:22:08*yglukhov[i] joined #nim
02:22:11*yglukhov[i] quit (Remote host closed the connection)
02:23:05*yglukhov[i] joined #nim
02:23:05*yglukhov[i] quit (Read error: Connection reset by peer)
02:26:03*yglukhov[i] joined #nim
02:26:03*yglukhov[i] quit (Remote host closed the connection)
02:27:48*yglukhov[i] joined #nim
02:27:52*yglukhov[i] quit (Remote host closed the connection)
02:31:28*yglukhov[i] joined #nim
02:31:30*yglukhov[i] quit (Remote host closed the connection)
02:35:14*yglukhov[i] joined #nim
02:35:14*yglukhov[i] quit (Remote host closed the connection)
02:42:10*endragor joined #nim
02:52:40*yglukhov[i] joined #nim
02:53:00*yglukhov[i] quit (Read error: Connection reset by peer)
02:53:13*yglukhov[i] joined #nim
02:53:16*yglukhov[i] quit (Remote host closed the connection)
02:54:10*yglukhov[i] joined #nim
02:54:10*yglukhov[i] quit (Read error: Connection reset by peer)
02:55:04*yglukhov[i] joined #nim
02:55:05*yglukhov[i] quit (Remote host closed the connection)
02:55:58*yglukhov[i] joined #nim
02:55:59*yglukhov[i] quit (Remote host closed the connection)
02:56:53*yglukhov[i] joined #nim
02:56:54*yglukhov[i] quit (Read error: Connection reset by peer)
02:57:48*yglukhov[i] joined #nim
02:57:50*yglukhov[i] quit (Remote host closed the connection)
02:58:43*yglukhov[i] joined #nim
02:58:43*yglukhov[i] quit (Read error: Connection reset by peer)
02:59:34*yglukhov[i] joined #nim
02:59:37*yglukhov[i] quit (Remote host closed the connection)
03:00:28*yglukhov[i] joined #nim
03:00:32*yglukhov[i] quit (Remote host closed the connection)
03:01:24*yglukhov[i] joined #nim
03:01:27*yglukhov[i] quit (Remote host closed the connection)
03:02:18*yglukhov[i] joined #nim
03:02:21*yglukhov[i] quit (Remote host closed the connection)
03:03:15*yglukhov[i] joined #nim
03:03:16*yglukhov[i] quit (Remote host closed the connection)
03:04:09*yglukhov[i] joined #nim
03:04:10*yglukhov[i] quit (Remote host closed the connection)
03:05:03*yglukhov[i] joined #nim
03:05:05*yglukhov[i] quit (Remote host closed the connection)
03:05:59*yglukhov[i] joined #nim
03:05:59*yglukhov[i] quit (Remote host closed the connection)
03:06:53*yglukhov[i] joined #nim
03:06:54*yglukhov[i] quit (Read error: Connection reset by peer)
03:07:48*yglukhov[i] joined #nim
03:07:49*yglukhov[i] quit (Remote host closed the connection)
03:08:40*yglukhov[i] joined #nim
03:08:43*yglukhov[i] quit (Remote host closed the connection)
03:09:35*yglukhov[i] joined #nim
03:09:37*yglukhov[i] quit (Remote host closed the connection)
03:10:30*yglukhov[i] joined #nim
03:10:32*yglukhov[i] quit (Remote host closed the connection)
03:11:24*yglukhov[i] joined #nim
03:11:26*yglukhov[i] quit (Remote host closed the connection)
03:12:20*yglukhov[i] joined #nim
03:12:21*yglukhov[i] quit (Remote host closed the connection)
03:13:03*stefanos82 quit (Quit: Quitting for now...)
03:13:15*yglukhov[i] joined #nim
03:13:16*yglukhov[i] quit (Remote host closed the connection)
03:14:10*yglukhov[i] joined #nim
03:14:10*yglukhov[i] quit (Read error: Connection reset by peer)
03:15:03*yglukhov[i] joined #nim
03:15:05*yglukhov[i] quit (Remote host closed the connection)
03:15:58*yglukhov[i] joined #nim
03:15:59*yglukhov[i] quit (Remote host closed the connection)
03:16:50*yglukhov[i] joined #nim
03:16:54*yglukhov[i] quit (Remote host closed the connection)
03:17:46*koranza joined #nim
03:19:34*yglukhov[i] joined #nim
03:19:37*yglukhov[i] quit (Remote host closed the connection)
03:20:28*yglukhov[i] joined #nim
03:20:32*yglukhov[i] quit (Remote host closed the connection)
03:21:24*yglukhov[i] joined #nim
03:21:27*yglukhov[i] quit (Remote host closed the connection)
03:22:20*yglukhov[i] joined #nim
03:22:21*yglukhov[i] quit (Remote host closed the connection)
03:23:13*yglukhov[i] joined #nim
03:23:16*yglukhov[i] quit (Remote host closed the connection)
03:24:09*yglukhov[i] joined #nim
03:24:10*yglukhov[i] quit (Remote host closed the connection)
03:25:03*yglukhov[i] joined #nim
03:25:05*yglukhov[i] quit (Remote host closed the connection)
03:25:59*yglukhov[i] joined #nim
03:25:59*yglukhov[i] quit (Remote host closed the connection)
03:26:53*yglukhov[i] joined #nim
03:26:54*yglukhov[i] quit (Remote host closed the connection)
03:28:38*yglukhov[i] joined #nim
03:28:42*yglukhov[i] quit (Remote host closed the connection)
03:28:49*def- joined #nim
03:29:33*yglukhov[i] joined #nim
03:29:37*yglukhov[i] quit (Remote host closed the connection)
03:30:28*yglukhov[i] joined #nim
03:30:31*yglukhov[i] quit (Remote host closed the connection)
03:31:24*yglukhov[i] joined #nim
03:31:26*yglukhov[i] quit (Remote host closed the connection)
03:32:18*yglukhov[i] joined #nim
03:32:19*yglukhov[i] quit (Remote host closed the connection)
03:33:14*yglukhov[i] joined #nim
03:33:14*yglukhov[i] quit (Read error: Connection reset by peer)
03:34:58*yglukhov[i] joined #nim
03:35:02*yglukhov[i] quit (Remote host closed the connection)
03:35:55*yglukhov[i] joined #nim
03:35:57*yglukhov[i] quit (Remote host closed the connection)
03:36:48*yglukhov[i] joined #nim
03:36:51*yglukhov[i] quit (Remote host closed the connection)
03:37:44*yglukhov[i] joined #nim
03:37:46*yglukhov[i] quit (Remote host closed the connection)
03:40:26*yglukhov[i] joined #nim
03:40:31*yglukhov[i] quit (Remote host closed the connection)
03:41:20*yglukhov[i] joined #nim
03:41:24*yglukhov[i] quit (Remote host closed the connection)
03:42:16*yglukhov[i] joined #nim
03:42:19*yglukhov[i] quit (Remote host closed the connection)
03:43:10*yglukhov[i] joined #nim
03:43:13*yglukhov[i] quit (Remote host closed the connection)
03:44:04*yglukhov[i] joined #nim
03:44:08*yglukhov[i] quit (Remote host closed the connection)
03:45:01*yglukhov[i] joined #nim
03:45:02*yglukhov[i] quit (Remote host closed the connection)
03:45:54*yglukhov[i] joined #nim
03:45:57*yglukhov[i] quit (Remote host closed the connection)
03:46:51*yglukhov[i] joined #nim
03:46:52*yglukhov[i] quit (Read error: Connection reset by peer)
03:47:41*yglukhov[i] joined #nim
03:47:45*yglukhov[i] quit (Remote host closed the connection)
03:49:31*yglukhov[i] joined #nim
03:49:33*yglukhov[i] quit (Remote host closed the connection)
03:50:25*yglukhov[i] joined #nim
03:50:28*yglukhov[i] quit (Remote host closed the connection)
03:51:21*yglukhov[i] joined #nim
03:51:22*yglukhov[i] quit (Remote host closed the connection)
03:52:15*yglukhov[i] joined #nim
03:52:17*yglukhov[i] quit (Remote host closed the connection)
03:52:49*yglukhov[i] joined #nim
03:52:56*yglukhov[i] quit (Remote host closed the connection)
03:53:10FromGitter<Varriount> What do you mean by data store?
03:53:11*yglukhov[i] joined #nim
03:53:12*yglukhov[i] quit (Remote host closed the connection)
03:54:05*yglukhov[i] joined #nim
03:54:06*yglukhov[i] quit (Remote host closed the connection)
03:55:55*yglukhov[i] joined #nim
03:55:55*yglukhov[i] quit (Read error: Connection reset by peer)
03:56:49*yglukhov[i] joined #nim
03:56:50*yglukhov[i] quit (Remote host closed the connection)
03:57:40*yglukhov[i] joined #nim
03:57:44*yglukhov[i] quit (Remote host closed the connection)
03:57:57FromGitter<gogolxdong> ipfs uses levelDB.
03:58:36*yglukhov[i] joined #nim
03:58:39*yglukhov[i] quit (Remote host closed the connection)
03:58:58FromGitter<gogolxdong> Can Nim plays with levelDB?
04:00:24*yglukhov[i] joined #nim
04:00:28*yglukhov[i] quit (Remote host closed the connection)
04:01:20*yglukhov[i] joined #nim
04:01:22*yglukhov[i] quit (Remote host closed the connection)
04:02:14*yglukhov[i] joined #nim
04:02:16*yglukhov[i] quit (Remote host closed the connection)
04:03:09*yglukhov[i] joined #nim
04:03:10*yglukhov[i] quit (Remote host closed the connection)
04:04:04*yglukhov[i] joined #nim
04:04:04*yglukhov[i] quit (Read error: Connection reset by peer)
04:04:56*yglukhov[i] joined #nim
04:04:58*yglukhov[i] quit (Remote host closed the connection)
04:05:50*yglukhov[i] joined #nim
04:05:52*yglukhov[i] quit (Remote host closed the connection)
04:06:44*yglukhov[i] joined #nim
04:06:46*yglukhov[i] quit (Remote host closed the connection)
04:07:40*yglukhov[i] joined #nim
04:07:40*yglukhov[i] quit (Read error: Connection reset by peer)
04:08:30*yglukhov[i] joined #nim
04:08:34*yglukhov[i] quit (Remote host closed the connection)
04:09:26*yglukhov[i] joined #nim
04:09:29*yglukhov[i] quit (Remote host closed the connection)
04:10:19*yglukhov[i] joined #nim
04:10:22*yglukhov[i] quit (Remote host closed the connection)
04:12:06*yglukhov[i] joined #nim
04:12:10*yglukhov[i] quit (Remote host closed the connection)
04:13:04*yglukhov[i] joined #nim
04:13:05*yglukhov[i] quit (Remote host closed the connection)
04:13:56*yglukhov[i] joined #nim
04:13:59*yglukhov[i] quit (Remote host closed the connection)
04:14:52*yglukhov[i] joined #nim
04:14:54*yglukhov[i] quit (Remote host closed the connection)
04:15:46*yglukhov[i] joined #nim
04:15:49*yglukhov[i] quit (Remote host closed the connection)
04:16:39*yglukhov[i] joined #nim
04:16:43*yglukhov[i] quit (Remote host closed the connection)
04:17:08*koranza quit (Quit: leaving)
04:17:36*yglukhov[i] joined #nim
04:17:38*yglukhov[i] quit (Write error: Connection reset by peer)
04:18:03FromGitter<gogolxdong> levelDB vs Redis , levelDB vs sqlLite
04:18:30*yglukhov[i] joined #nim
04:18:33*yglukhov[i] quit (Remote host closed the connection)
04:19:24*yglukhov[i] joined #nim
04:19:27*yglukhov[i] quit (Remote host closed the connection)
04:20:20*yglukhov[i] joined #nim
04:20:21*yglukhov[i] quit (Remote host closed the connection)
04:22:07*yglukhov[i] joined #nim
04:22:10*yglukhov[i] quit (Remote host closed the connection)
04:23:01*yglukhov[i] joined #nim
04:23:05*yglukhov[i] quit (Remote host closed the connection)
04:23:57*yglukhov[i] joined #nim
04:24:00*yglukhov[i] quit (Remote host closed the connection)
04:24:31FromGitter<Varriount> Well, I definitely know Nim has SQLite bindings.
04:24:53*yglukhov[i] joined #nim
04:24:54*yglukhov[i] quit (Read error: Connection reset by peer)
04:25:45*yglukhov[i] joined #nim
04:25:49*yglukhov[i] quit (Remote host closed the connection)
04:26:43*yglukhov[i] joined #nim
04:26:43*yglukhov[i] quit (Remote host closed the connection)
04:27:34*yglukhov[i] joined #nim
04:27:38*yglukhov[i] quit (Remote host closed the connection)
04:28:28*yglukhov[i] joined #nim
04:28:32*yglukhov[i] quit (Remote host closed the connection)
04:29:24*yglukhov[i] joined #nim
04:29:26*yglukhov[i] quit (Remote host closed the connection)
04:30:18*yglukhov[i] joined #nim
04:30:21*yglukhov[i] quit (Remote host closed the connection)
04:31:15*yglukhov[i] joined #nim
04:31:15*yglukhov[i] quit (Read error: Connection reset by peer)
04:32:09*yglukhov[i] joined #nim
04:32:10*yglukhov[i] quit (Read error: Connection reset by peer)
04:33:03*yglukhov[i] joined #nim
04:33:04*yglukhov[i] quit (Remote host closed the connection)
04:33:59*yglukhov[i] joined #nim
04:33:59*yglukhov[i] quit (Read error: Connection reset by peer)
04:36:42*yglukhov[i] joined #nim
04:36:43*yglukhov[i] quit (Read error: Connection reset by peer)
04:38:29*yglukhov[i] joined #nim
04:38:32*yglukhov[i] quit (Remote host closed the connection)
04:39:23*yglukhov[i] joined #nim
04:39:26*yglukhov[i] quit (Remote host closed the connection)
04:40:20*yglukhov[i] joined #nim
04:40:21*yglukhov[i] quit (Read error: Connection reset by peer)
04:41:13*yglukhov[i] joined #nim
04:41:15*yglukhov[i] quit (Remote host closed the connection)
04:42:08*yglukhov[i] joined #nim
04:42:10*yglukhov[i] quit (Remote host closed the connection)
04:43:03*yglukhov[i] joined #nim
04:43:04*yglukhov[i] quit (Remote host closed the connection)
04:43:58*yglukhov[i] joined #nim
04:43:59*yglukhov[i] quit (Read error: Connection reset by peer)
04:45:34*leorize quit (Ping timeout: 265 seconds)
04:45:44*yglukhov[i] joined #nim
04:45:47*yglukhov[i] quit (Remote host closed the connection)
04:46:38*yglukhov[i] joined #nim
04:46:41*yglukhov[i] quit (Remote host closed the connection)
04:47:35*yglukhov[i] joined #nim
04:47:35*yglukhov[i] quit (Read error: Connection reset by peer)
04:48:28*yglukhov[i] joined #nim
04:48:30*yglukhov[i] quit (Remote host closed the connection)
04:49:24*yglukhov[i] joined #nim
04:49:25*yglukhov[i] quit (Remote host closed the connection)
04:50:15*yglukhov[i] joined #nim
04:50:19*yglukhov[i] quit (Remote host closed the connection)
04:51:13*yglukhov[i] joined #nim
04:51:14*yglukhov[i] quit (Read error: Connection reset by peer)
04:53:55FromGitter<gogolxdong> Is there any news mentioned migrate from levelDB to SQLite
04:54:36*yglukhov[i] joined #nim
04:54:47FromGitter<gogolxdong> Sqlite4 is supposed to be faster than LevelDB.
04:54:56*yglukhov[i] quit (Remote host closed the connection)
04:55:10*yglukhov[i] joined #nim
04:55:12*yglukhov[i] quit (Remote host closed the connection)
04:58:50*yglukhov[i] joined #nim
04:58:51*yglukhov[i] quit (Remote host closed the connection)
04:59:25FromGitter<gogolxdong> > My understanding is that LevelDB is no longer maintained, and that the LevelDB community has rallied around a fork called RocksDB. Both LevelDB and RocksDB are not ACID compliant.
05:01:30*yglukhov[i] joined #nim
05:01:34*yglukhov[i] quit (Remote host closed the connection)
05:03:21*yglukhov[i] joined #nim
05:03:23*yglukhov[i] quit (Remote host closed the connection)
05:06:07*yglukhov[i] joined #nim
05:06:07*yglukhov[i] quit (Remote host closed the connection)
05:08:51*yglukhov[i] joined #nim
05:08:51*yglukhov[i] quit (Read error: Connection reset by peer)
05:09:50*yglukhov[i] joined #nim
05:09:50*yglukhov[i] quit (Remote host closed the connection)
05:11:32*nsf joined #nim
05:13:21*yglukhov[i] joined #nim
05:13:23*yglukhov[i] quit (Remote host closed the connection)
05:14:17*yglukhov[i] joined #nim
05:14:18*yglukhov[i] quit (Read error: Connection reset by peer)
05:15:12*yglukhov[i] joined #nim
05:15:12*yglukhov[i] quit (Remote host closed the connection)
05:16:06*yglukhov[i] joined #nim
05:16:07*yglukhov[i] quit (Remote host closed the connection)
05:16:59*yglukhov[i] joined #nim
05:17:01*yglukhov[i] quit (Remote host closed the connection)
05:17:52*yglukhov[i] joined #nim
05:17:55*yglukhov[i] quit (Remote host closed the connection)
05:18:45*kobi joined #nim
05:18:47*yglukhov[i] joined #nim
05:18:50*yglukhov[i] quit (Remote host closed the connection)
05:19:42*yglukhov[i] joined #nim
05:19:44*yglukhov[i] quit (Remote host closed the connection)
05:20:37*yglukhov[i] joined #nim
05:20:39*yglukhov[i] quit (Remote host closed the connection)
05:21:32*yglukhov[i] joined #nim
05:21:34*yglukhov[i] quit (Remote host closed the connection)
05:22:27*yglukhov[i] joined #nim
05:22:30*yglukhov[i] quit (Remote host closed the connection)
05:24:17*yglukhov[i] joined #nim
05:24:19*yglukhov[i] quit (Remote host closed the connection)
05:25:10*yglukhov[i] joined #nim
05:25:14*yglukhov[i] quit (Remote host closed the connection)
05:27:00*yglukhov[i] joined #nim
05:27:02*yglukhov[i] quit (Remote host closed the connection)
05:27:53*yglukhov[i] joined #nim
05:27:57*yglukhov[i] quit (Remote host closed the connection)
05:28:50*yglukhov[i] joined #nim
05:28:50*yglukhov[i] quit (Read error: Connection reset by peer)
05:29:44*yglukhov[i] joined #nim
05:29:45*yglukhov[i] quit (Remote host closed the connection)
05:30:38*yglukhov[i] joined #nim
05:30:40*yglukhov[i] quit (Read error: Connection reset by peer)
05:31:33*yglukhov[i] joined #nim
05:31:34*yglukhov[i] quit (Remote host closed the connection)
05:33:23*yglukhov[i] joined #nim
05:33:23*yglukhov[i] quit (Read error: Connection reset by peer)
05:34:14*yglukhov[i] joined #nim
05:34:17FromGitter<gogolxdong> our binding is for sqlite3 right?
05:34:18*yglukhov[i] quit (Remote host closed the connection)
05:35:08*yglukhov[i] joined #nim
05:35:12*yglukhov[i] quit (Remote host closed the connection)
05:36:05*yglukhov[i] joined #nim
05:36:07*yglukhov[i] quit (Remote host closed the connection)
05:36:58*yglukhov[i] joined #nim
05:37:01*yglukhov[i] quit (Remote host closed the connection)
05:37:55*yglukhov[i] joined #nim
05:37:56*yglukhov[i] quit (Remote host closed the connection)
05:38:13FromGitter<gogolxdong> oh, SQLite 4 is not released.
05:38:48*yglukhov[i] joined #nim
05:38:50*yglukhov[i] quit (Remote host closed the connection)
05:40:39*yglukhov[i] joined #nim
05:40:40*yglukhov[i] quit (Read error: Connection reset by peer)
05:43:20*yglukhov[i] joined #nim
05:43:23*yglukhov[i] quit (Remote host closed the connection)
05:44:14*yglukhov[i] joined #nim
05:44:18*yglukhov[i] quit (Remote host closed the connection)
05:45:10*yglukhov[i] joined #nim
05:45:12*yglukhov[i] quit (Remote host closed the connection)
05:46:06*yglukhov[i] joined #nim
05:46:07*yglukhov[i] quit (Remote host closed the connection)
05:46:59*yglukhov[i] joined #nim
05:47:01*yglukhov[i] quit (Remote host closed the connection)
05:47:54*yglukhov[i] joined #nim
05:47:56*yglukhov[i] quit (Remote host closed the connection)
05:48:49*yglukhov[i] joined #nim
05:48:51*yglukhov[i] quit (Read error: Connection reset by peer)
05:49:44*yglukhov[i] joined #nim
05:49:45*yglukhov[i] quit (Remote host closed the connection)
05:51:31*yglukhov[i] joined #nim
05:51:34*yglukhov[i] quit (Remote host closed the connection)
05:53:21*yglukhov[i] joined #nim
05:53:23*yglukhov[i] quit (Remote host closed the connection)
05:54:14*yglukhov[i] joined #nim
05:54:18*yglukhov[i] quit (Remote host closed the connection)
05:55:11*yglukhov[i] joined #nim
05:55:12*yglukhov[i] quit (Remote host closed the connection)
05:56:05*yglukhov[i] joined #nim
05:56:07*yglukhov[i] quit (Remote host closed the connection)
05:56:59*yglukhov[i] joined #nim
05:57:02*yglukhov[i] quit (Remote host closed the connection)
05:57:56*yglukhov[i] joined #nim
05:57:56*yglukhov[i] quit (Read error: Connection reset by peer)
05:58:17*leorize joined #nim
05:58:46*yglukhov[i] joined #nim
05:58:50*yglukhov[i] quit (Remote host closed the connection)
05:59:39*yglukhov[i] joined #nim
06:00:09*yglukhov[i] quit (Remote host closed the connection)
06:02:28*yglukhov[i] joined #nim
06:02:47*yglukhov[i] quit (Read error: Connection reset by peer)
06:03:01*yglukhov[i] joined #nim
06:03:03*yglukhov[i] quit (Remote host closed the connection)
06:03:20*leorize quit (Quit: WeeChat 2.2)
06:03:36*leorize joined #nim
06:03:54*yglukhov[i] joined #nim
06:03:58*yglukhov[i] quit (Remote host closed the connection)
06:04:50*yglukhov[i] joined #nim
06:04:52*yglukhov[i] quit (Remote host closed the connection)
06:05:44*yglukhov[i] joined #nim
06:05:47*yglukhov[i] quit (Remote host closed the connection)
06:06:40*yglukhov[i] joined #nim
06:06:41*yglukhov[i] quit (Remote host closed the connection)
06:25:01*beuker joined #nim
06:25:23*beuker quit (Killed (Sigyn (Spam is off topic on freenode.)))
06:42:12*CcxWrk quit (Quit: ZNC 1.7.1 - https://znc.in)
06:44:04*CcxWrk joined #nim
06:46:40*yglukhov[i] joined #nim
06:51:04*CcxWrk quit (Excess Flood)
06:51:29*CcxWrk joined #nim
06:53:21*kobi quit (Quit: Leaving)
07:06:35*yglukhov[i] quit (Remote host closed the connection)
07:09:09*yglukhov[i] joined #nim
07:10:27*tanuki joined #nim
07:10:38*tanuki quit (Remote host closed the connection)
07:17:21*captainkraft quit (Ping timeout: 240 seconds)
07:20:02*captainkraft joined #nim
07:24:23*Tux2 joined #nim
07:25:03*Tux2 quit (Killed (Sigyn (Spam is off topic on freenode.)))
07:28:18*captainkraft quit (Ping timeout: 244 seconds)
07:37:12*Nefertiti12 joined #nim
07:38:56*Nefertiti12 quit (Remote host closed the connection)
07:41:46FromGitter<Bennyelg> (https://files.gitter.im/nim-lang/Nim/HPiS/image.png)
07:42:03FromGitter<Bennyelg> Im trying to intergrate general.nim to vue jsscript methods but it dosent work
07:42:04FromGitter<Bennyelg> :(
07:43:04FromGitter<Bennyelg> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b6407883bca002dcbb6e3cf]
07:43:27FromGitter<Bennyelg> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b64079d3a5a2d2f99e88541]
07:52:30*Perkol joined #nim
07:54:33*geocar joined #nim
07:55:17FromGitter<codenoid> hi nimmer
07:55:42FromGitter<codenoid> what is the best video-streaming protocol nowdays
07:55:58FromGitter<codenoid> rtmp is using flash, and i don't like it
07:56:09FromGitter<codenoid> *that can played in browser
07:59:01*yglukhov[i] quit (Remote host closed the connection)
08:03:02*bthesorceror joined #nim
08:03:49*gmpreussner_ joined #nim
08:04:33*gmpreussner quit (Ping timeout: 264 seconds)
08:06:37leorizecodenoid: http?
08:06:49FromGitter<mratsim> no
08:06:51*captainkraft joined #nim
08:06:51FromGitter<mratsim> HLS
08:06:55FromGitter<codenoid> no
08:07:47FromGitter<codenoid> and the data will be used for face recog,
08:07:52FromGitter<mratsim> I remember when Twitch required an HLS browser and I had trouble to pass Chrome as one
08:09:12leorizethere's also DASH
08:10:12FromGitter<mratsim> @gogolxdong RocksDB is a fork of levels, nim wrapper available here: https://github.com/status-im/nim-rocksdb
08:10:28FromGitter<mratsim> of leveldb* by Facebook
08:10:48leorizecodenoid: if you want a stream that's playable in browser, either use an http-based one such as HLS or DASH, or make an js player for whatever other protocol you might use
08:12:02*Boulet24 joined #nim
08:12:32*Boulet24 quit (K-Lined)
08:14:17FromGitter<gogolxdong> helpful, I'm also trying sqlite, don't know how to choose.
08:16:19FromGitter<mratsim> in Nimbus we use both ;), sqlite for embedded (maybe Rocksdblite in the future weā€™ll see) and RocksDB for desktops
08:16:46FromGitter<mratsim> If you want to abstract over both: https://github.com/status-im/nimbus/tree/master/nimbus/db/backends
08:18:51FromGitter<gogolxdong> Ethereum 2.0 Sharding Client ,do you know FOMO3D
08:18:59FromGitter<mratsim> yeah of course
08:19:53FromGitter<gogolxdong> Have you taken part in ?
08:19:56FromGitter<mratsim> @codenoid for face recognition, be sure to check this: https://github.com/ageitgey/face_recognition itā€™s based on dlib which is C++ deep learning primitive library
08:20:21FromGitter<mratsim> No, but I followed the thread in ethresearch: https://github.com/ageitgey/face_recognition
08:20:39FromGitter<mratsim> sorry: https://ethresear.ch/t/alert-will-fomo3d-destroy-ethereum/2630/46
08:21:15FromGitter<codenoid> thank you nimmer
08:21:40FromGitter<mratsim> @gogolxdong we announced Nimbus here: https://forum.nim-lang.org/t/4097 and there: https://our.status.im/introducing-nimbus-an/
08:22:19livcdmratsim: I see coffeepot works with you. Is he still maintaining the odbc ?
08:22:44*bthesorceror quit (Ping timeout: 256 seconds)
08:22:48FromGitter<mratsim> The Ethereum Foundation is exploring libp2p usage, if we use it we will probably build libp2p/IPFS in pure Nim
08:23:18FromGitter<mratsim> @livcd raise an issue, that just means that he works on Nim all day ;)
08:23:48livcdmratsim: somebody already raised it :)...just wanted to know if it's still maintained or not
08:24:14FromGitter<mratsim> Iā€™ll ping him
08:28:46FromGitter<gogolxdong> there is a MVP to do which is consisted of kadmelia p2p , merkle DAG and compatitable git protocol client.
08:29:28FromGitter<gogolxdong> looking through libp2p of IPFS.
08:32:21FromGitter<mratsim> we have Kademlia: https://github.com/status-im/nim-eth-p2p/blob/master/eth_p2p/kademlia.nim
08:34:44FromGitter<gogolxdong> save works.
08:36:41*bthesorceror joined #nim
08:38:03*Jesin quit (Ping timeout: 265 seconds)
08:38:20FromGitter<gogolxdong> hope there is a system to inform what people need, like the announcement of nimbus, or an existing kademlia lib of Nim. Information flow stops somewhere then relays by people like you.
08:40:16FromGitter<mratsim> Nimbus made front page of hacker News, and r/ethereum
08:41:05*bthesorceror quit (Ping timeout: 240 seconds)
08:42:40livcdgogolxdong:well haxe has haxe roundup but i dont think Nim has enough content / updates for smh like that (well not even haxe has i guess)
08:43:04FromGitter<gogolxdong> There is more fragments left behind,even Nim stops somewhere chinese people hardly reach.
08:43:53FromGitter<coffeepots> @livcd Hiya, I will do an update for odbc over the weekend :) Got caught up in other projects!
08:43:55FromGitter<gogolxdong> but I'm sure it's needed by many .
08:44:34livcdgogolxdong: surprisingly some good libs were done by some taiwanese folks
08:45:19livcdcoffeepots: thanks! i have some pet projects that rely on MSSQl but nothing that needs to be immediately fixed :-)
08:45:44FromGitter<coffeepots> Actually I keep meaning to rewrite it as it was written a few years ago and hopefully I've got better at Nim since then ;)
08:48:02FromGitter<gogolxdong> Taiwan is predominant in electronics as well as some extent in software over mainland.
08:48:51livcdgogolxdong: mainland is active in Go ecosystem
08:49:22FromGitter<gogolxdong> true, I used Go for couple of years.
08:49:59FromGitter<gogolxdong> ecosystem of mainland is unique , because of culture and policy.
08:50:53FromGitter<mratsim> The Ethereum Foundation has several taiwanese, and Status has a active Chinese community, so we only need a spark to bring Nim to China :P
08:51:40FromGitter<mratsim> I would say the main issue is timezone, getting help while not in European timezone is a bit hard
08:51:52livcdmratsim: then if i can advise you you need to get in touch with ECUG
08:52:12FromGitter<gogolxdong> agree.
08:52:53*yglukhov[i] joined #nim
08:52:58FromGitter<mratsim> Erlang China user Group?
08:53:17FromGitter<gogolxdong> language and timezone.
08:55:32FromGitter<gogolxdong> especially have difficulty in describing complicated scenario .
08:55:32FromGitter<mratsim> Since we sell Status as decentralised WeChat, we have a lot of attention there.
08:55:46FromGitter<mratsim> Btw there is an open position if you know people interested: https://status.im/open-positions.html?gh_jid=1241854
08:55:47livcdit changed to Effective Cloud User Group and it popularized Go in China
08:56:29*captainkraft quit (Ping timeout: 260 seconds)
08:57:20livcdthere was a dropbox clone that was built with Go + other high profile companies picked up Go and attended the conference organized by ECUG
08:57:40FromGitter<gogolxdong> interesting.
08:58:14livcdwell these chinese companies handle insane traffic
08:58:29livcdon the other hand they are often shady and malevolent
08:59:05livcdthere was an uproar about blog from the Qihoo360 guys
08:59:15livcdblog hosted on golang.org
08:59:37livcd(Qihoo360 is defacto malware and very much despised in China)
08:59:39FromGitter<gogolxdong> you know a lot about China.
09:09:08*norok2 joined #nim
09:11:37*gangstacat quit (Remote host closed the connection)
09:12:56*gangstacat joined #nim
09:18:11*KindOne joined #nim
09:18:53norok2hi all
09:18:57*KindOne quit (Killed (Sigyn (Spam is off topic on freenode.)))
09:19:10*Vladar joined #nim
09:20:55norok2can anyone point me out to some explanation behind the design choices of have case / underscore insensitive identifiers and the default import everything behavior?
09:21:15norok2*have -> having
09:22:20FromGitter<mratsim> Case insensitive identifiers: āŽ āŽ 1) allow everyone to choosse between snake_case and camelCase āŽ 2) prevents bug because someone called his proc quit() and another Quit() āŽ but Araq now thinks it was a mistake [https://gitter.im/nim-lang/Nim?at=5b641ecb5d1362758b279617]
09:23:58FromGitter<mratsim> import everything āŽ āŽ 1) Nim is not Python, we have types, and even if the module it came from is annotated, we still have to check the implementation there anyway + we have tools (nimsuggest) to give us the definition āŽ 2) you can use "from module import nilā€ to get Python behaviour [https://gitter.im/nim-lang/Nim?at=5b641f29cf8ab4758a989185]
09:25:29FromGitter<mratsim> If you want to do digging, check the RFCs on Github and on the forum itā€™s a theme that comes regularly. There are other old discussion on irc but itā€™s a bit harder to find
09:31:44*neptune joined #nim
09:32:32FromGitter<mratsim> @livcd @gogolxdong I passed the ECUG suggestion to our community managers, thanks for the suggestion :)
09:32:43*neptune quit (Killed (Sigyn (Spam is off topic on freenode.)))
09:36:27livcdwelcome :)
09:38:50*captainkraft joined #nim
09:40:22norok2@mratsim thanks! (1) I'd agree with today's Araq, any chance this is going to get removed? (2) my question was more: why is that the default than why is that possible
09:41:19FromGitter<mratsim> 1) I think the ship has sailed. āŽ 2) Why not?
09:46:01*Perkol quit (Quit: Leaving)
09:47:00norok22) because fully qualified and univocal identifiers make code easier to read
09:47:49leorizenorok2: we also have custom operator support, no one would want to write module.`+`
09:47:49norok2I thought there was some efficiency penalty in `from module import nil`
09:48:45norok2@leorize Agreed, but I am not saying this should be enforced, just not the default
09:49:10leorizecustom operators are everywhere, ofc it has to be the default
09:49:28FromGitter<mratsim> not true, less word to read is easier to read
09:50:36FromGitter<mratsim> there is no penalty for "from module import nilā€, it only impacts ergonomics
09:51:18norok2@mratsim less word to read is not always easier to read, maybe it is *faster* to read.. clearly there must be some balance
09:53:50FromGitter<mratsim> yes of course, but the current default works also in practice.
09:54:19norok2but increases the stepness of the learning curve for newcomers
09:54:35leorizewhy?
09:54:46FromGitter<mratsim> with reasonable variable names and proc names there is usually no doubt of where things are coming from
09:55:26norok2for every import you have, you should know what is actually bringing to have a reasonable chance of understanding subsequent code
09:56:15FromGitter<mratsim> people have to pick proper names for their procedures and variables
09:56:58FromGitter<mratsim> import sequtils āŽ let a = @[1, 2, 3, 4] āŽ echo sequtils.xyz(a) āŽ āŽ wouldnā€™t really help anyway [https://gitter.im/nim-lang/Nim?at=5b6426ea6d45752f98828e15]
09:58:05FromGitter<mratsim> Nim shouldnā€™t be the police, it should be an enabler.
09:58:14norok2it would help the readers on where to look for immediately
09:58:53leorizeit can also be inferred with proper naming
09:59:01norok2Nim is a trade-off, as more or less everything
10:00:43FromGitter<Vindaar> norok2: it might help newcomers, yes. But only because they are not used to how Nim works yet. But for everyone used to Nim it would just increase visual noise by a lot. And one of the most important points for me: it would make chaining of procs unreadable
10:01:14FromGitter<mratsim> It will help newcomers coming from Python.
10:01:20FromGitter<Vindaar> indeed
10:01:36FromGitter<mratsim> For me itā€™s like being new to Windows, mac, Linux, or coming with muscle reflex to another OS
10:01:49FromGitter<mratsim> the hardest thing is to unlearn reflexes
10:02:42FromGitter<mratsim> Nim can certainly learn more from other language but there are also a lot of languages that donā€™t need to prefix everything and people get by
10:02:43norok2chaining like in UFCS?
10:03:07FromGitter<mratsim> Especially Haskell, all those weird symbols but people complain about Monads not about modules
10:06:15FromGitter<Vindaar> yes, random stuff like: āŽ āŽ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b6429178eb2d52fde3c9041]
10:10:23norok2it may sound trivial to you, but I wouldn't know where to find `mapIt` and hence compile those two line :
10:10:27norok2:'D
10:11:22FromGitter<Vindaar> yes, and that's a valid point. But once you realize there's https://nim-lang.org/docs/theindex.html and you just start Ctrl-f on that page (plus use the normal search bar in the docs) you're all set
10:12:13FromGitter<Vindaar> and if you look at code outside of the standard library, you can always use nimsuggest / rely on good old grep to find the definition of things you don't know :)
10:12:32leorizeor nimgrep :)
10:12:37FromGitter<Vindaar> hehe
10:12:56norok2sure enough, I found that already
10:14:17FromGitter<mratsim> In Haskell, they solve finding function with Hoogle: https://www.haskell.org/hoogle/, you type a name or a signature and it will find all that matches. Nimble could have a Noogle.
10:17:00norok2which certainly more user-friendly than trying to use nimsuggest from command line
10:21:21norok2regarding the Python thing, that is not really true for newcomers from Python
10:21:34norok2it's just the way most people would think
10:21:58norok2it's much easier to digest something one box at a time
10:22:17norok2and when there is something you don't know
10:22:42norok2it's good to know which box it comes from
10:23:22norok2that's why namespaces / modules can be easier to read than without them
10:23:47norok2I am not saying this should be used in the stdlib or in some specialized lib either
10:24:02norok2but in examples and other learning material
10:24:08norok2hell, yes!
10:25:02FromGitter<Bennyelg> I'm writing javascript part code and I want to make some nice editor which support adding piace of programming codes when writing comments or posts , such python nim etc along with all the <b> tags and all the known html tagss
10:25:05FromGitter<Bennyelg> any familiar ?
10:31:08FromGitter<endes123321_gitlab> Hi, Im trying to compile a code for a microcontroller and I get this error "Error: system module needs 'echoBinSafe'". I think is because in some part of the code call an echo, but I don't know where, How I can see where or I can discard the echo function or something like that??
10:34:06leorizeendes123321_gitlab: you can instead implement your own
10:34:20leorizehere's the stdlib implementation https://github.com/nim-lang/Nim/blob/dfe3f160227dadd5d93bd6c697106e71899eccce/lib/system/sysio.nim#L419
10:35:36FromGitter<endes123321_gitlab> But how??
10:36:03FromGitter<endes123321_gitlab> yes, i want to do that, but idont know how
10:38:45*leorize quit (Ping timeout: 264 seconds)
10:46:06norok2is there any code beautifier specific to nim?
10:51:43FromGitter<endes123321_gitlab> thanks @leorize, I figured out that I put the function echoBinSafe on the end of the file and the echo calls are on the start of the file xD
10:52:58FromGitter<Yardanico> @norok2 there's `nimpretty` but it still has quite a lot of bugs (mostly with comment handling)
10:56:06norok2@Yardanico thanks
10:56:30norok2anybody has experience in setting uncrustify for nim / has some config to share?
10:57:16FromGitter<mratsim> @endes123321_gitlab this might help as well: https://hookrace.net/blog/nim-binary-size/
10:58:29FromGitter<mratsim> Some how Rust 1.28 announcement: https://blog.rust-lang.org/2018/08/02/Rust-1.28.html felt like reading Araqā€™s destructors blog post āŽ āŽ 1) Custom per type memory allocator āŽ 2) optimized option type [https://gitter.im/nim-lang/Nim?at=5b643555945df30dc14a101a]
11:00:44FromGitter<mratsim> btw, we can inherit from ptr object? :O https://github.com/nim-lang/Nim/wiki/Destructors#allocators
11:12:45FromDiscord<awr> i assume that means the underlying object is inheritable and not the pointer itself
11:13:15FromDiscord<awr> considering `ref object of RootObj` is already a common idiom...
11:18:23*Jesin joined #nim
11:35:13*dddddd joined #nim
11:58:52*leorize joined #nim
12:24:42*endragor quit (Remote host closed the connection)
12:37:15*endragor joined #nim
12:41:35*endragor quit (Ping timeout: 240 seconds)
12:41:44*derlafff quit (Remote host closed the connection)
12:42:10*derlafff joined #nim
12:51:39*cryptocat1094 joined #nim
12:56:05*captainkraft quit (Ping timeout: 240 seconds)
13:06:28*krux02 joined #nim
13:11:17*smt` joined #nim
13:14:27*smt quit (Ping timeout: 240 seconds)
13:21:11FromGitter<andreaferretti> Any ideas for a workaround for this issue https://github.com/nim-lang/Nim/issues/8524 ?
13:27:35FromGitter<mratsim> does `static[Slice]` work?
13:28:20FromGitter<mratsim> if yes you can static assert s.T is int
13:29:28FromGitter<mratsim> I really think static should become `x: static int`, instead of `x: static[int]`
13:30:29FromGitter<andreaferretti> nope :-(
13:32:32FromGitter<mratsim> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b645970cf8ab4758a99ef12]
13:33:31FromGitter<andreaferretti> Nice, thank you!
13:34:15*stefanos82 joined #nim
13:34:35FromGitter<mratsim> I guess another one tagged for v1
13:35:38FromGitter<mratsim> by the way, this should be tagged closure + generics + regression: https://github.com/nim-lang/Nim/issues/8432
13:40:30*captainkraft joined #nim
13:41:32*Vladar quit (Quit: Leaving)
13:42:46*ofelas joined #nim
13:43:41*ofelas quit (Client Quit)
13:45:01*ofelas joined #nim
13:48:17*ofelas quit (Client Quit)
13:49:51FromGitter<andreaferretti> Done
13:49:57FromGitter<andreaferretti> no closure tag
13:50:06FromGitter<andreaferretti> maybe lambda lifting?
13:50:40*ofelas joined #nim
13:52:04*Vladar joined #nim
13:52:06*ofelas quit (Client Quit)
13:52:24dom96My goodness there is so many issues
13:53:38*ofelas joined #nim
13:59:15*nsf quit (Quit: WeeChat 2.2)
14:00:41stefanos82which is a good thing dom96
14:00:53stefanos82it means people actually use it quite seriously
14:01:57*ofelas quit (Quit: bye.,.)
14:03:06dom96It's a bad thing for me because I have to sift through all these notifications :(
14:03:39FromDiscord<awr> is there a macro to see what a formatted stmt list NimNode would be?
14:04:16FromDiscord<awr> in other words the opposite of astGenRepr()
14:05:10FromGitter<Bennyelg> ```code paste, see link```
14:07:00stefanos82dom96: again it's good; it helps you cultivate more patience lol
14:07:06FromGitter<mratsim> @awr, expandMacros?
14:07:13*floppydh quit (Quit: WeeChat 2.2)
14:07:51FromGitter<mratsim> @andreaferretti yeah probably lambda lifting
14:07:54FromDiscord<awr> maybe, will try it
14:08:30FromGitter<mratsim> not that it expands at compile time, but also includes it in your code, so if you donā€™t want it in your code you should add a when false
14:08:33FromGitter<mratsim> note*
14:08:38*ofelas joined #nim
14:10:06*ofelas quit (Client Quit)
14:10:58*ofelas joined #nim
14:19:59*ofelas quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org)
14:20:16FromDiscord<awr> oh i was just thinking it would be useful to check if my macro code was formatted properly
14:20:39*ofelas joined #nim
14:20:50*ofelas quit (Client Quit)
14:22:14*ofelas joined #nim
14:24:04*ofelas quit (Client Quit)
14:25:38*ofelas joined #nim
14:29:32*ofelas quit (Client Quit)
14:42:42m712what is the equalivent of a packed struct in nim?
14:45:35FromDiscord<awr> what do you mean?
14:45:47FromDiscord<awr> nim has the {.packed.} pragma iirc
14:46:54FromDiscord<awr> along with {.pure.} and bitfields you have just about all the utilities you need for packing structs the way you do in C
14:50:08FromGitter<mratsim> in pure Nim, set of enums are preferred to bitfields for packed structures
14:50:53FromGitter<mratsim> in-memory representation should be the same.
14:51:40m712thanks
14:51:56FromDiscord<awr> ofc that all depends on what you're doing
14:52:13FromDiscord<awr> if the object is nim only yeah go with sets
14:52:19m712i'm reimplementing UUIDs as an exercise
14:52:23FromDiscord<awr> if you're talking with C use bitfields if necessary
14:52:25m712from the RFC
15:02:45m712i wonder what would happen if I ran c2nim on the linux kernel source
15:10:47*ofelas joined #nim
15:11:42*ofelas quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org)
15:26:29FromGitter<mratsim> probably something about line not ending by ā€œ;ā€ at a \#define
15:39:25FromGitter<andreaferretti> @dom96 it looks like lately there are a lot of proposals to change things as opposed to just bugs
15:39:44dom96yeah
15:40:40FromGitter<andreaferretti> this generates a lot of discussion, even a little too much
15:40:50FromGitter<andreaferretti> makes the issue tracker become like the forum
15:41:13dom96yeah, I think it's time to encourage people to move these discussions to the forum
15:41:30FromGitter<andreaferretti> agreed
15:42:21FromGitter<kaushalmodi> dom96: The problem with forum is that I don't get notification when someone replies.
15:42:27FromGitter<kaushalmodi> Am I missing out on some setting?
15:42:56FromGitter<kaushalmodi> With GitHub Issues I can easily Subscribe to issues/discussions I am interested in
15:43:33dom96Nope, forum doesn't support notifications
15:43:43dom96In some ways that's a good thing
15:43:57FromGitter<kaushalmodi> I am pretty sure I would have missed out replying to some helpful comment on one of my posts on the forum
15:43:58dom96For discussions which are important enough people will ensure to check for updates to the relevant thread
15:44:20FromGitter<kaushalmodi> dom96: It's not practical.
15:44:38FromGitter<kaushalmodi> What if I posted a question and someone replies with some useful info to that after a month?
15:44:48FromGitter<kaushalmodi> I cannot track *all* of my old posts
15:45:18FromGitter<kaushalmodi> If someone doesn't like notifications, they can get an option to disable them.
15:47:57dom96For Nim feature discussions this isn't likely to happen or matter
15:48:11dom96After a month has passed the feature will either have been rejected, accepted or forgotten
15:48:26dom96For all of our sanity, sometimes it's good if things naturally fade away
15:48:36FromGitter<tim-st> shouldnt the type definition `tuple[string, int]` work too? instead only `(string, int)` or named works
15:49:26krux02dom96, I wonder how you managed to write you big book about Nim.
15:50:03krux02writing things that are that big, I can.t do it at all. I currently have to write my master thesis and I am struggling with the amout of content. I just loose the overview of everything
15:50:17krux02I don't know if I already said something or not
15:50:30FromGitter<kaushalmodi> krux02: Write in Org mode :D You can easily collapse/rearrange thigns
15:50:32krux02then I end up repeating the same things over and over again and other important parts are missing
15:50:42krux02I am writing in org mode
15:50:53FromGitter<kaushalmodi> woo!! šŸ‘
15:50:54krux02buth e collapsing thing isn't helping
15:51:02dom96krux02: I feel your pain.
15:51:28FromGitter<mratsim> I donā€™t want to ā€œWatchā€ Nim because I will get flooded by discussions
15:51:37krux02btw, I writing in org mode against the explicit statement of my supervisor to write everything directly in Latex
15:51:51dom96The way my workflow worked was: come up with a table of contents, write each chapter in a separate file, read over chapter, send chapter to editor, start working on next chapter
15:52:00krux02but I can just export to latex and then include my document in the original template
15:52:20dom96My editor(s) gave some pretty good feedback along the way
15:52:57dom96mratsim: I'm watching Nim :(
15:53:07FromDiscord<awr> doesn't org have a latex export
15:53:20krux02ok, I have a supervisor, so that workflow could work
15:53:32krux02awr: I do use the latex export
15:53:33FromDiscord<awr> oh you already said that
15:53:37krux02yes
15:54:02krux02dom96, thanks for the hint
15:54:37FromDiscord<awr> i used to write all my course notes in org but i feel like going back to pen and paper would be more effective for me
15:54:44krux02any other hints and structured workflow?
15:55:23krux02awr: I used to sleep in the lectures and then learn by course notes that were uploaded online.
15:55:49FromDiscord<awr> lol
15:56:37FromDiscord<awr> i am so fucking glad i figured out what was slowing down my emacs
15:56:49krux02what did slow it down?
15:57:09FromDiscord<awr> fucking eldoc randomly pauses the whole program at random intervals for like periods of 5-10 seconds
15:57:45FromDiscord<awr> i never use it anyway
15:58:06krux02eldoc in nim?
15:58:10krux02or generally?
15:58:21FromDiscord<awr> in general
15:58:38FromGitter<kaushalmodi> I am interested in discussing this (eldoc), but it's getting really off-topic here
15:58:44FromGitter<kaushalmodi> see you guys in #emacs?
15:58:58krux02yes
15:59:18krux02I am in #emacs
16:03:55dom96krux02: Hrm, create a git repo for your thesis if you haven't already :)
16:04:09dom96Commit every time you're taking a break from writing
16:04:25dom96or you've modified something significant in previous chapters
16:04:43dom96Also, every time you're getting back into writing read the last chapter or at least the last section
16:04:50dom96correct as you're reading
16:04:54dom96it's a good way to get into the flow
16:09:53livcd/r/nim right now has more users online than /r/crystal #uselessStatistics
16:12:07FromGitter<kayabaNerve> livcd But do we beat Rust?
16:12:30FromGitter<kayabaNerve> dom96 can we use the donated funds to place ads to flood Rust-Lang communities with Rust Gamers?
16:12:51FromGitter<kayabaNerve> I BELIEVE IN A FUTURE FOR NIM, AND TO CREATE ONE, WE MUST ACKNOWLEDGE THIS IS WAR
16:12:59FromGitter<kayabaNerve> :P I'll stop now.
16:13:35FromGitter<kayabaNerve> BTW. Not even close to the Rust subreddit :(
16:15:53FromGitter<rayman22201> Lol
16:18:51livcdat a first glance /r/crystal looks more active but then again crystal does not really have a forum (besides the google group thingie) and most of Nim's discussion happens on the nim forum
16:19:33FromGitter<mratsim> Most Nim discussions happen in RFCs and PRs now :P
16:19:49FromGitter<rayman22201> @dom96 regarding feature discussions polluting the git repo, maybe a slightly more formal rfc process is needed? Propose rfc on the forum, and then only if it is approved it is put in the github tracker? We have to convince Araq to play along lol.
16:20:14FromGitter<mratsim> look at that: https://github.com/nim-lang/Nim/issues?q=sort%3Acomments-desc
16:20:35FromGitter<mratsim> that would pollute the forum instead.
16:20:38livcdoh
16:20:42livcdyou are right
16:21:11FromGitter<mratsim> I think we should close more aggressively
16:22:06FromGitter<mratsim> 6 weeks seem good. By the way this should really be retagged RFC: https://github.com/nim-lang/Nim/pull/8358
16:23:12FromGitter<rayman22201> I don't think it's pollution on the forum. The discussion is good. Just maybe in the wrong place?
16:24:25FromGitter<rayman22201> Closing issues more aggressively is probably a good idea for other reasons though, like keeping your sanity and not being buried under a mountain of github issues.
16:25:15FromGitter<mratsim> Discussion on Github allows to use those as reference more easily from other PRs/issues. And closing on Github feels better than closing on the forum I think.
16:25:17FromGitter<alehander42> yeah nim subreddit often looks empty
16:25:32FromGitter<mratsim> on the other hand, dicussion on the forum means better visibility on Google
16:25:34FromGitter<alehander42> and I know that the nim forum is active, way more active than e.g. crystal reddit
16:25:40FromGitter<alehander42> but other visitors don't
16:26:03FromGitter<alehander42> maybe if there was a way to better some how demonstrate nimforum activity on the subreddit
16:26:13FromGitter<alehander42> maybe reposting most active discussion links
16:26:52FromGitter<rayman22201> A task for a reddit bot lol
16:28:50*Trustable joined #nim
16:34:33livcdwe have a reddit bot in nim ?
16:35:09*cryptocat1094 quit (Quit: brb)
16:35:46FromGitter<rayman22201> No. But we could make onešŸ˜
16:36:41dom96kayabaNerve: haha, great idea "Hey Rust fans! Check out this brand new Rust gaming community, they are Rust game experts and are happy to help newbies!"
16:37:16dom96rayman22201: yeah, I think a more formal RFC process would be good
16:37:48dom96First requirement: each RFC should be a formal document so that it actually takes a little effort to compose
16:37:55FromGitter<kayabaNerve> gitter.im/nim-lang/War <- Make it real.
16:38:13FromGitter<kayabaNerve> There needs to be a template
16:38:33FromGitter<kayabaNerve> When I first made mine, I was worried about it. Then I saw the others, and now it's just detail the issue, solutions, and reasoning.
16:38:46FromGitter<rayman22201> I agree. It needs a template and the process needs to be well documented and advertising
16:38:56FromGitter<rayman22201> Advertised
16:39:09dom96mratsim: I've considered starting to close more aggressively + lock discussions that I think are going nowhere
16:39:12FromGitter<mratsim> Mozilla is a good guy >_>
16:40:03FromGitter<kayabaNerve> @Quelklef asked is he could go through the issues and comment fixed issues as fixed even if they weren't labelled so to get the attention of someone who could close them.
16:40:23FromGitter<kayabaNerve> Turns out 5 years ago, a forgotten issue was made, and we've gone through 10 versions since...
16:41:06FromGitter<mratsim> Iā€™ve been doing that without permission :P
16:41:27FromGitter<kayabaNerve> I think it was old Quellie... maybe not.
16:41:28FromGitter<rayman22201> Quelklef and someone else was also working on closing old issues. Maybe @mratsim? I forgot lol
16:41:30FromGitter<kayabaNerve> @mratsim Good for you!
16:41:49FromGitter<mratsim> not really old, itā€™s just that I often stumble on old thing
16:42:31FromGitter<kayabaNerve> I drew attention to an old --backend issue, made an RFC as the old wasn
16:43:00FromGitter<rayman22201> Someone was trying to go through and tag old issues and run them through an automated build script to see they are fixed. Maybe @Varriount?
16:43:20FromGitter<kayabaNerve> I drew attention to an old --backend issue, made an RFC as the old wasn't technically an RFC after a discussion on Gitter, got criticized by a duplicate, but then Ara_q marked the original as accepted. No idea if that was Gitter or my duplicate, but progress?
16:43:27FromGitter<kayabaNerve> *as a duplicate
16:44:22dom96it was shashlick IIRC
16:45:13*Jesin quit (Remote host closed the connection)
16:46:14FromGitter<rayman22201> Yeah ok
16:50:23*yglukhov[i] quit (Remote host closed the connection)
16:50:47*CcxWrk quit (Quit: ZNC 1.7.1 - https://znc.in)
16:50:49*Jesin joined #nim
16:51:36*CcxWrk joined #nim
17:00:43*cryptocat1094 joined #nim
17:11:38FromDiscord<awr> @kabayaNerve @dom96 the rustaceans would respond duly with advocating further confusing between the game of nim and the language of nim
17:15:53FromGitter<rayman22201> Lol. At least the the game of Nim has strong mathematical foundations. Does that make Nim cool like Haskell? šŸ˜
17:20:36FromDiscord<awr> lol
17:20:47FromDiscord<awr> i remember trying to learn haskell and then I just stopped
17:21:12FromDiscord<awr> no offense to haskell users but I was kind of left wondering what on earth I'd be using it for
17:21:56FromGitter<rayman22201> You use it to get you PhD in Computer Science of course šŸ˜œ
17:23:10FromDiscord<awr> nim kind of has that problem too but for a different reason. the language itself is extremely usable and fits its domain of being a C++ killer well, it just needs a larger community behind it
17:23:50FromDiscord<awr> I try to shill Nim where I can though
17:24:06FromGitter<rayman22201> I got half way through the "Real World Haskell" book a few years ago, and just never came back to it... I keep saying that I will finish it one day.
17:25:24FromGitter<rayman22201> I agree about Nim. And I also try to be a Nim evangelist when I can.
17:27:20FromDiscord<awr> Is that the O'Reilly book? That's the one I was reading
17:28:45dom96I also learned Haskell, using Learn You a Haskell
17:28:57dom96Spent my time trying to avoid monads :D
17:28:59FromGitter<alehander42> haskell is interesting because of its type system, nothing really strange about it
17:29:18FromGitter<alehander42> i keep trying to get myself to learn idris or coq or something else dependent type or proof checker related
17:29:36FromGitter<alehander42> i'll probably do it in 10 years :D
17:32:00FromGitter<rayman22201> @awr yeah. That's the one. Pink cover. I forget the animal on the front of that one lol. Not a bad book. I just didn't have the time. Monads don't scare me, I just always thought lazy evaluation was too magical for my taste lol. Typeclasses are awesome though. I learned Ocaml and like it much better actually.
17:34:05FromGitter<rayman22201> @alehander42 Idris is written in Haskell isn't it? Linear types are really cool in theory but Idk how practical they are. Rust borrow Checker and Nim effect system all seem like trends in that direction but Idris is the grand daddy of that crazy type theory stuff.
17:34:22FromDiscord<awr> lazy evaluation is cool
17:34:47FromDiscord<awr> i've wondered if nim should have a 'lazy' keyword like D but i suppose templates are good enough
17:35:01FromGitter<rayman22201> It's cool until you need to guarantee runtime performance lol
17:35:19FromDiscord<awr> when Nim gets its own O'Reilly book that's when we know we've truly succeeded
17:37:44FromGitter<alehander42> @rayman22201 I don't know, I have just a passing idea about linear: were they similar to uniquness kinds?
17:40:23FromGitter<rayman22201> @awr Hahaha. Yes. I wonder what animal we will get. @alehander42 yes. Very similar, but with linear types can take non linear types and cast/convert them to linear. They are more general.
17:40:43FromDiscord<PusiteGA> hmm does jaster support websockets or should i just use that http for static files and websocket library
17:43:34*ronny joined #nim
17:43:38ronnyhi
17:43:53FromDiscord<PusiteGA> hi
17:43:55ronnyanyone working on operating systems or base level tools in nim?
17:44:13FromDiscord<PusiteGA> i am not
17:44:37dom96PusiteGA: Jester doesn't support websockets
17:44:57dom96You can use jester + a websocket library though
17:45:57FromDiscord<PusiteGA> yep am trying šŸ˜ƒ
17:47:07FromGitter<rayman22201> @ronny there are a few people who have worked on nim for embedded. I am not atm, but plan to do some low level stuff when I get time.
17:47:19FromGitter<kayabaNerve> I've used Nim on embedded
17:48:21ronnyrayman22201: i'd like to take a look at doing something non-posix
17:49:27FromDiscord<PusiteGA> i copy pasted http://niv.github.io/websocket.nim/docs/0.3.0/websocket/server.html it gives me error no websocket on import line
17:49:34FromDiscord<PusiteGA> i did nimble install websockets
17:50:27FromDiscord<PusiteGA> do i need to add soemthign ?
17:51:02FromGitter<rayman22201> @ronny what do you mean? Unikernal? Beos? Y
17:51:08FromGitter<rayman22201> Something new?
17:51:22FromDiscord<awr> what is the import statement that you use
17:51:50FromDiscord<awr> there has been some changes wrt how nim imports things iirc
17:52:04FromDiscord<awr> you may need to do `import websocket/server`
17:52:04FromDiscord<PusiteGA> import websocket, asynchttpserver, asyncnet, asyncdispatch
17:53:42FromGitter<rayman22201> @ronny @dom96 wrote a simple bootable kernel in Nim a long time ago that probably just needs some love and would make a good starting point.
17:54:15FromDiscord<PusiteGA> ```
17:54:15FromDiscord<PusiteGA> [pc@garbage-pc PokerServerNim]$ nimble build --verbose
17:54:16FromDiscord<PusiteGA> Setting Nim stdlib prefix to /usr
17:54:16FromDiscord<PusiteGA> Setting Nim stdlib path to /usr/lib/nim
17:54:16FromDiscord<PusiteGA> Info Hint: used config file '/etc/nim.cfg' [Conf]
17:54:19FromDiscord<PusiteGA> Info usr/lib/nim/system.nim(470, 35) Warning: unknown magic 'Exception' might crash the compiler [UnknownMagic]
17:54:21FromDiscord<PusiteGA> Info usr/lib/nim/system/nimscript.nim(15, 19) Warning: unknown magic 'BuildOS' might crash the compiler [UnknownMagic]
17:54:21FromDiscord<PusiteGA> Verif
17:54:23FromDiscord<PusiteGA> ying dependencies for [email protected]
17:54:25FromDiscord<PusiteGA> Building PokerServerNim/PokerServerNim using c backend
17:54:27FromDiscord<PusiteGA> Error: Build failed for package: PokerServerNim
17:54:28FromDiscord<PusiteGA> ... Details:
17:54:30FromDiscord<PusiteGA> ... Execution failed with exit code 1
17:54:33FromDiscord<PusiteGA> ... Command: "/usr/bin/nim" c --noBabelPath -o:"/home/pc/Documents/Programming/Nim/PokerServerNim/PokerServerNim" "/home/pc/Documents/Programming/Nim/PokerServerNim/src/PokerServerNim.nim"
17:54:35FromDiscord<PusiteGA> ... Output: Hint: used
17:54:36FromDiscord<PusiteGA> config file '/etc/nim.cfg' [Conf]
17:54:38FromDiscord<PusiteGA> ... Hint: system [Processing]
17:54:39FromDiscord<PusiteGA> ... Hint: PokerServerNim [Processing]
17:54:41FromDiscord<PusiteGA> ... PokerServerNim.nim(1, 17) Error: cannot open 'websocket/server'
17:54:43FromDiscord<PusiteGA> ```
17:54:44dom96PusiteGA: Use a pastebin service please!
17:55:23dom96You need to add `requires "jester"` in your .nimble file
17:55:27FromDiscord<PusiteGA> oh sorry i frogot people connected whit irc
17:55:39FromDiscord<PusiteGA> but am not using jester am i ?
17:55:54FromDiscord<PusiteGA> http://niv.github.io/websocket.nim/docs/0.3.0/websocket/server.html
17:55:56dom96oh, i mean `requires "websockets"`
17:55:59FromDiscord<PusiteGA> just copy pasted this
17:56:05FromDiscord<PusiteGA> ok
17:56:20FromDiscord<PusiteGA> i tryed that just whitout "" xD
17:56:54FromDiscord<PusiteGA> hmmm
17:59:19FromDiscord<PusiteGA> how to build whit nimble using -threads option i think you told me i needed that for client when i tryed
18:00:41dom96put ``--threads`` in a PokerServerNim.nim.cfg
18:00:56dom96You can just use `nimble c --threads PokerServerNim.nim` while you're playing around
18:01:42FromDiscord<PusiteGA> --threads=on šŸ˜ƒ
18:01:50FromDiscord<PusiteGA> but ty
18:01:53dom96--threads:on
18:03:16FromDiscord<PusiteGA> ... PokerServerNim.nim(8, 23) template/generic instantiation from here
18:03:16FromDiscord<PusiteGA> ... PokerServerNim.nim(32, 7) Error: expression 'close(ws, 0, "")' is of type 'Future[system.void]' and has to be discarded
18:03:34FromDiscord<PusiteGA> what does this mean , type of future?
18:04:25FromDiscord<PusiteGA> asyncCheck
18:04:33FromDiscord<PusiteGA> or just ignore?
18:04:45dom96`await` or `asyncCheck`
18:17:56*jxy quit (Remote host closed the connection)
18:30:09*ronny left #nim ("WeeChat 1.7.1")
18:53:31*cryptocat1094 quit (Quit: WeeChat 2.2)
18:54:28*cryptocat1094 joined #nim
19:05:46*dorelix joined #nim
19:13:56*rockcavera quit (Remote host closed the connection)
19:16:08*rockcavera joined #nim
19:16:08*rockcavera quit (Changing host)
19:16:08*rockcavera joined #nim
19:18:12*stefanos82 quit (Ping timeout: 244 seconds)
19:18:47livcdi wonder how many web apps are out there in Nim considering there really is not any "mature" web framework/lib
19:19:07FromGitter<kayabaNerve> None other than the ones by dom96 is my guess.
19:19:46*yglukhov[i] joined #nim
19:20:04dom96When you've got a forum written in a framework I think it deserves to be called "mature" :)
19:20:38*rockcavera quit (Remote host closed the connection)
19:21:02FromGitter<kayabaNerve> ^^
19:25:11*stefanos82 joined #nim
19:26:46*rockcavera joined #nim
19:27:05*ven473 joined #nim
19:27:35*ven473 left #nim (#nim)
19:46:38*Jesin quit (Remote host closed the connection)
19:46:57*ven473 joined #nim
19:54:23*Jesin joined #nim
19:57:00*bthesorceror joined #nim
19:59:04*dorelix quit (Ping timeout: 265 seconds)
19:59:56*DarkArctic quit (Ping timeout: 268 seconds)
20:02:25*cryptocat1094 quit (Quit: gtg)
20:10:37*dorelix joined #nim
20:11:09*bthesorceror quit (Ping timeout: 264 seconds)
20:34:50*Jesin quit (Remote host closed the connection)
20:52:44*Trustable quit (Remote host closed the connection)
20:55:30FromGitter<kayabaNerve> dom96 Would you recommend async or threads?
20:56:40FromGitter<kayabaNerve> I know they do solve two different problems but... One removes blocks, one doesn't care and just continues, and then introduces blocks as it waits for its comrades.
21:02:12*Jesin joined #nim
21:02:22FromGitter<rayman22201> In my experience, async first, threads second. An async function is much easier to port to using threads, than the other way around.
21:10:33*jxy joined #nim
21:12:38*Jesin quit (Remote host closed the connection)
21:14:39*Jesin joined #nim
21:15:49*gb00s quit (Remote host closed the connection)
21:16:55*yglukhov[i] quit (Remote host closed the connection)
21:30:23FromGitter<mratsim> I went through the chat app in domā€™s book this week, the chapter 3 on building an async multithreaded chat app, is simple but deep enough to learn the basics of async multi-threaded servers in Nim. Though multi threading is via spawn/threadpool and not via long-lived create thread, and it does not use channels
21:32:54*wildlander joined #nim
21:52:02livcdI did not dig in Nim's channels but have not seen them used on any project I checked
21:56:04FromGitter<Varriount> We need a threaded, async example.
22:08:24*Vladar quit (Quit: Leaving)
22:13:46FromGitter<mratsim> @Varriount https://github.com/dom96/nim-in-action-code/blob/master/Chapter3/ChatApp/src/client.nim āŽ `import os, threadpool, asyncdispatch, asyncnet`
22:22:10FromGitter<Varriount> @mratsim I meant, with an example that uses long-running threads.
22:22:25FromGitter<Varriount> Or even better, two threads running two event loops.
22:26:37FromGitter<kayabaNerve> Is the purpose of both to use async to communicate?
22:28:12dom96It really depends what the use cases are
22:28:28dom96But you probably don't need threads
22:35:53*jesse11 joined #nim
22:36:14krux02I really dislike how people today want to kill every performance problem with multithreading.
22:36:54krux02I think there is a fundamental problem in teaching people about how computers work.
22:37:21*jesse11 quit (Killed (Unit193 (Spam is not permitted on freenode.)))
22:46:45FromGitter<rayman22201> The problem is the Marketing from CPU manufacturers has pushed multi-threading as a buzzword for so long. In their defense, they had to do something because of the "cpu power wall". They haven't been able to increase CPU frequencies in years unfortunately...
22:47:55*SenasOzys joined #nim
23:00:14stefanos82@rayman22201: actually it's something deeper than that; it's the fact that their CPUs have to be compatible with existing hardware and C-API libraries that are quite problematic
23:00:22stefanos82basically we got stuck
23:02:09*xylef joined #nim
23:08:40FromGitter<mratsim> I like spawning thousands on threads on my GPU =)
23:09:46FromGitter<barcharcraz> GPUs like one thread with lots of data
23:12:17FromGitter<mratsim> @barcharcraz that article explains it well: http://yosefk.com/blog/simd-simt-smt-parallelism-in-nvidia-gpus.html
23:13:08FromGitter<mratsim> unlike CPU thread, GPUs thread are grouped into a warp of 32 threads, a warp must execute the exact same instruction
23:13:35FromGitter<mratsim> meaning if you have branching, a warp will execute both branches so donā€™t branch.
23:15:36FromGitter<mratsim> A GTX 1070 has 15 processors, each capable of 2048 threads
23:15:53FromGitter<mratsim> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b64e22985278d705e7fb0fc]
23:16:56FromGitter<rayman22201> @stefanos82 I'm pretty sure it's the power wall... You can't beat physics: https://www.technologyreview.com/s/421186/why-cpus-arent-getting-any-faster/
23:17:54FromGitter<rayman22201> @mratsim lol... Yeah, GPU's are a different beast. SIMD taken to the extreme
23:18:40FromGitter<mratsim> Itā€™s actually quite fun to develop GPU algos
23:19:21stefanos82@rayman22201: you didn't understand my point. I have seen a couple of videos by some wise scientists that talked the truth: the programs that still exist today are functioning in an emulating state, that is they are emulating PDP-11's structure, even though we have far better hardware today
23:19:37FromGitter<mratsim> what is not fun is debugging them :P, no stacktrace, and the print/echo command was added recently only iirc in Cuda, not sure it even exists in OpenCL
23:21:19FromGitter<barcharcraz> I don't really think it's true that we're emulating some outdated structure. Like sure, we emulate a bunch of weird crud in x86 but from what I understand it does not really use that much power (or space)
23:21:55FromGitter<barcharcraz> have you heard of the FGCS project (Fifth gen computer)
23:21:59FromGitter<rayman22201> @stephanos82 I think you missed my point. I also read the PDP-11 article you speak of. Though I can't find it atm. That's not the real problem. ARM would be waaaayyyy faster clock speeds if it was only architecture emulation that was the problem.
23:22:03FromGitter<barcharcraz> it was a project in japan in the 80s
23:23:30FromGitter<mratsim> @barcharcraz actually Intel is petitioning because some pruning instructions would allow them to save a lot of die space. āŽ Also, Intel is also running an emulator directly within the CPU because itā€™s not worth it to implement everything in hardware
23:23:52FromGitter<barcharcraz> yeah
23:23:58FromGitter<barcharcraz> petitioning whom?
23:24:17FromGitter<mratsim> the compiler dev maybe?
23:24:25FromGitter<mratsim> have to find the article
23:25:05FromGitter<mratsim> this one is a start: https://www.agner.org/optimize/blog/read.php?i=25
23:26:15FromGitter<kayabaNerve> @mratsim we have a lot to talk about
23:26:25*endragor joined #nim
23:26:43*Demos quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
23:27:25FromGitter<mratsim> probably this is a good discussion as well: https://news.ycombinator.com/item?id=14559087. @barcharcraz, I probably misremembered, people are petioning Intel, but Intel doesnā€™t care.
23:30:54*endragor quit (Ping timeout: 260 seconds)
23:34:52stefanos82@rayman22201: I think we both understand what each other meant to say, but due to luck of language restrictions, we couldn't express ourselves properly lol. basically what I mean is that we are using software that waste time and energy when it could be designed to produce faster results far more accurately and in less amount of time and effort.
23:35:04stefanos82*due to lack
23:37:53stefanos82for instance, the amount of energy that goes wasted with C++ and Java during compilation procedure...bloody hell, Go team decided to design a better language for their needs due to the massive amount of time and effort it took to compile their humongous binary files. Imagine, they were using their own data centers and they were still complaining that it was taking a great effort to finish.
23:37:54FromGitter<rayman22201> @stefanos82 lol. Fair enough.
23:39:02FromGitter<rayman22201> My comment was a response to why multi-threading is seen as a catch all solution to programming problems that @krux02 commented about.
23:39:13FromGitter<rayman22201> What you are explaining is true, but tangential to that point
23:40:11stefanos82I get really irritated when I see projects such as KolibriOS that is designed with flat assembler and needs only 8MB RAM to run
23:40:13stefanos82with GUI
23:40:48stefanos82why do we need whole pack of GBs of RAM to compile a project the size of Chromium?
23:40:52FromGitter<rayman22201> MenuetOS and KolibriOS are freaking amazing feats of engineering
23:40:53stefanos82it doesn't make any sense to me
23:41:01stefanos82very true mate
23:41:16stefanos82so we have the proof that *it can be done*!
23:41:47stefanos82the real question is: who is behind the decision to sell billions of $$$ of hardware equipment?
23:42:13stefanos82sure thing is not the ethical hardware designer or engineer who knows how to design things *the right way*
23:42:29FromGitter<mratsim> itā€™s a tradeoff with development/maintenance time and hardware capabilities
23:43:00FromGitter<mratsim> and it doesnā€™t run on raspberry pi, which would love that
23:43:07stefanos82that's the thing @mratsim; why do we need to push the limits of our own software when we have fast hardware, hypothetically speaking?
23:44:00FromGitter<mratsim> Your time, and all dev time cost much more than a processor *per day*
23:44:21FromGitter<rayman22201> exactly. economics wins over absolute efficiency every time.
23:45:07stefanos82you see, both of you provide this type of answer based on the current facts, which I agree of course
23:45:36stefanos82but we all know, if we had properly designed hardware and software, we wouldn't be dealing with so many exploits and security issues
23:46:09stefanos82and we would be providing efficient development from the begin
23:46:24FromGitter<rayman22201> It's not just people or money, evolution works this way. That is why you get some weird animals in different ecosystems that seems to make no sense, but are optimal "enough" for their environment.
23:46:35FromGitter<mratsim> To be honest, I think all of us are like craftsmen, trying our best to create product we would be proud of.
23:47:18FromGitter<rayman22201> I hope we are. I have met developers who just want a paycheck... but non of them would hang out here. We actually care about our work :-P
23:47:32FromGitter<mratsim> And Iā€™m pretty obsessed with performance as well. Just check ā€œoptimizationā€ issues in my repos, I check the assembly my code produce and the number of hits of each instructions
23:47:55stefanos82I know for sure that all of the people that care about their job and the quality they provide are the first to be let go
23:48:08FromGitter<mratsim> But, reality is, at one point you need to ship. Sometimes the dev is in charge and choose when to (not) ship
23:48:28FromGitter<mratsim> sometimes marketing or sales decide, and they oversell
23:48:51stefanos82I was about to say something along the lines of @mratsim
23:48:51FromGitter<mratsim> Fun read: https://projectfailures.wordpress.com/2008/06/24/project-from-hell/
23:49:43*someguest joined #nim
23:50:28FromGitter<mratsim> Iā€™m pretty sure, people/management/crazy deadlines turn a lot of devs from craftsmen to ā€œI canā€™t be bothered, leave me alone"
23:51:37FromGitter<rayman22201> very true, burnout is a real problem. I have experienced it first hand :-/
23:52:37FromGitter<mratsim> But youā€™re also an artist, I think itā€™s even worse for artists. I sit a meeting with people bikeshedding for 30 minutes about shades of blue ...
23:52:52stefanos82the problem with management is that they don't allow any programmer to express their concerns about management's decisions
23:53:15FromGitter<mratsim> Another fun read, for artists this time @rayman22201 https://www.boredpanda.com/ridiculous-client-requests-photoshop-edits-nissin-cup-noodle/?utm_source=google&utm_medium=organic&utm_campaign=organic
23:53:25stefanos82they don't ask whether is feasible, let alone plausible to implement a new feature
23:54:02*someguest left #nim (#nim)
23:54:15FromGitter<mratsim> itā€™s also true in industry or in support, people on the field see issues, hierarchy sees numbers
23:54:53FromGitter<rayman22201> hahahaha. That article is pretty great
23:56:02FromGitter<rayman22201> I've read the first one before when it made the round on Hacker News. that one is more sad but true situation.
23:58:03stefanos82@mratsim: what did I just witness...what is this abomination?!
23:58:52FromGitter<mratsim> =) I need to go to sleep. And yeah I think artists have it worse than programmers ;)