<< 31-03-2017 >>

00:00:40*yglukhov joined #nim
00:24:42zachcarterfinally got multiple meshes / renderables working - http://imgur.com/a/ANTNf
00:24:57zachcarternot sure the drawing is quite optimized fully yet but it’s better than not working
00:27:01zachcarterand of course no dinosaur is complete without a rider : http://imgur.com/a/23lnF
00:34:05*yglukhov quit (Ping timeout: 240 seconds)
00:54:45*def-pri-pub joined #nim
01:17:48FromGitter<Varriount> zachcarter: Wow! That was quick.
01:18:11FromGitter<Varriount> zachcarter: Is the choppiness from the GIF, or some rendering artifact?
01:28:09*PMunch quit (Quit: leaving)
01:31:26*yglukhov joined #nim
01:36:01*chemist69 quit (Ping timeout: 256 seconds)
01:36:42krux02zachcarter, great to see the technology working
01:37:04krux02can I have an idea, of what your game goal is?
01:38:09krux02You are putting a lot of technology together and I do really like it, but I have no idea where the trip is going to
01:50:16*chemist69 joined #nim
01:50:19*krux02 quit (Quit: Leaving)
01:51:49*krux02 joined #nim
01:55:45FromGitter<Varriount> krux02: A game engien
01:55:48FromGitter<Varriount> *engine
01:56:35krux02yea a game engine alone is good and need, but without a game it is not that useful
01:56:52krux02also a game engine needs to be proven to be a game engine
01:57:59krux02what I mean is, for a game engine to be successful, there is need that it actually has at least one game in it, otherwise conservative people would avoid it all otgether
01:59:00krux02I just realized, conservative people would not use Nim in the first place, so my point is not really valid
01:59:06krux02I am tired I should go sleep
02:04:34*yglukhov quit (Ping timeout: 246 seconds)
02:12:16zachcarterVarriount: from the gif
02:12:20zachcarterkrux02 thank you
02:13:00zachcarterkrux02: we’ll be building some sample games for frag I don’t know what kind of game I”m goign to build iwth it yet
02:21:36zachcarterkrux02: the spine integration was mostly for @rauss the other guy working on frag with me
02:21:44zachcarterhe wanted 2d skeletal animation so I added it :P
02:21:52zachcarterplus I think it’s a nice feature to have
02:22:13zachcarterI’m not sure if I”ll use it in any projects - I’m not that artistic
02:22:40FromGitter<raydf> @zachcarter, nice to see your framework working, can i see the repositoryy, or it will be closed source?
02:23:15zachcarterraydf: sure https://github.com/fragworks/frag
02:23:44zachcarterit’s rough around the edges atm to say the least
02:24:03zachcarterbut it’ll be stabilizing for an alpha release later this spring / early summer
02:24:17zachcarterand should be usable for the adventerous in a couple of weeks
02:24:37FromGitter<raydf> are you working in an ios version?
02:24:47FromGitter<raydf> ios deployment feature?
02:25:16FromGitter<raydf> I can't see the spine example
02:25:19zachcarteriOS support is planned, as to when it will actually come to fruition I’m not sure
02:25:23krux02I personally have little artistic skills so for me an animation system causes more "now I also need to do animations.." than "yay I can do animations"
02:25:40zachcarterI need to put up a roadmap - but my plan is basically to work more on the core of the framework
02:26:02zachcarteradd things like collision detection, tiled map support, more sprite atlas formats, things like that
02:26:18krux02I would also like to work more on my opengl-sandbox
02:26:19zachcarterand then once I have some people building games with it I’ll focus more on the various targets
02:26:33zachcarteras people require support for them
02:26:55zachcarterkrux02: you should
02:26:56krux02One thing that is really a hard nut to crack is transform feedback
02:27:05zachcarterah yeah i tis
02:27:20krux02there are so many different ways to do it, and the documenation is sparse at best
02:27:34zachcarterraydf: the spine example is not posted yet it will be up later this week
02:27:42zachcarterI’m cleaning it up still
02:27:44krux02and then I want it to be very simple and natural to use, almost like a seq type
02:28:00zachcarter:P
02:28:07FromGitter<Varriount> Transform feedback?
02:28:26krux02zachcarter: I also have an animation example for 3D meshes, I never did anything with it, I just wanted proof that it works
02:28:52zachcarterI have one very close to working with opengl / assimp but not with my current renderer
02:29:01zachcarterVarriount: https://www.khronos.org/opengl/wiki/Transform_Feedback
02:29:20krux02Varriount: Transform feedback is basically rendering into a vertex buffer
02:29:48krux02normally without a fragment shader
02:29:54krux02but there can be a fragment shader
02:29:55FromGitter<Varriount> What's the 'feedback' portion of it?
02:30:21krux02Warriount: don't ask such useful questions it's opengl naming
02:30:27FromGitter<Varriount> :3
02:30:54zachcarteryeah this is true
02:30:55krux02well you can read those buffers back into main memory
02:31:02krux02so that would be your feedback I guess
02:31:04zachcarterI guess you’re feeding back the data multiple times
02:31:05zachcarterhaha
02:31:14zachcarterit makes zero sense honestly
02:31:23zachcartermakes me think if an n64 rumble pack when I hear the word
02:31:52zachcarterkrux02 I’m glad bgfx abstracts this kind of stuff away
02:33:02krux02zachcarter maybe I should take a look at bgfx how it does the same thing
02:33:36krux02you should know my goal is maybe the same as bgfx, but mostly it is to make features of the GPU more natural to use
02:33:48zachcartertbh I doubt he’s doing any transform feedback
02:34:15krux02the same way the c programming language made programming easier I want to make interfacing gpu and cpu easier
02:34:20zachcarterhis renderer is submission based so he’s doing a lot of things differently
02:35:12zachcarterwell your macros definitely do that
02:35:34krux02opengl is the api that named the pixel shader "fragment shader" and has "vertex arrays" and "vertex buffers"
02:36:04zachcarterhttp://c0de517e.blogspot.com/2014/04/how-to-make-rendering-engine.html
02:38:24zachcarterkrux02 someone is working on a forward plus example for bgfx right now
02:38:33krux02I skimmed it I have no idea if i got the important part
02:38:36zachcarterhttp://i.imgur.com/Ch6QWvx.png
02:38:42zachcarterhttps://github.com/PyryM/bgfx/tree/example/fplus/examples/33-fplus
02:39:38krux02is that deferred rendering?
02:39:40FromGitter<Varriount> forward plus? Is that another wierd opengl name?
02:39:45FromGitter<Varriount> *weird
02:39:52krux02no it's not
02:40:04zachcarterhttps://www.3dgep.com/forward-plus/
02:40:27zachcarterdifferent from deferred
02:40:36zachcarterI think forward plus is more direct x terminology than opengl
02:40:42zachcarterbut it’s just antoher rendering method
02:41:13FromGitter<Varriount> I really need to learn actual opengl at some point.
02:41:38zachcartergraphics programming is bear but fun
02:41:55zachcarterdirect correllation with the challenge and how much reward you get out of accomplishing something
02:42:00zachcartera bear*
02:42:26krux02Varriount: that is really a lot of pain
02:42:38krux02I did it, and I know what I am talking about
02:42:48krux02there are though very good books about that topic
02:43:15zachcarterscrew books
02:43:34krux02my recommendation Opengl 4.0 Shading Languge Cookbook
02:43:34zachcarterhttps://learnopengl.com/
02:43:42zachcarter^ website rocks
02:43:54krux02well I have the book as a pdf
02:44:07zachcarterah nice
02:44:08krux02maybe it's free maybe it was free becaues I was in my university network
02:45:29krux02very important get a debug context, and get an opengl debugger
02:45:36krux02nvidia nsight is pretty good
02:45:44krux02and apitrace is good, too
02:45:50krux02it's worth a lot
02:46:15*peted is now known as peted___
02:46:35zachcartermmhmm
02:46:46krux02but writing glsl code itself is actually pretty nice
02:46:51zachcarterexpect to be staring at a lot of black screens
02:46:52*peted joined #nim
02:47:22zachcarteralso my recommendation is always start with a triangle
02:47:28krux02the glsl "standard librar" of functions is pretty nice and things just work smoothly
02:47:29zachcarterand build on whatever you’re doing from there
02:47:43krux02that is why I never bothered writing a nim to glsl compiler
02:47:58krux02for me it was always the interafe, the glue code, that sucked
02:48:01zachcarterdon’t try to for instance, start with trying to render a complex 3d mesh with texure data and indexed drawing
02:48:04krux02and I wrote a generator for that
02:48:52krux02zachcarter: I think we reached the critical amount of information Varriount can process
02:49:05zachcarterI think so too :P
02:49:44krux02random fact, I just installed an irc client to my editor (emacs)
02:49:50krux02I am not chatting from emacs
02:50:01*Nobabs27 quit (Quit: Leaving)
02:50:12krux02not sure if that is an improvement to anything
02:50:42krux02sorry type I mean "I am *now" chatting from emacs"
02:50:48zachcarterlol
02:51:11krux02my typing skills are a bit funky at the moment
02:51:13zachcarterdo you play your MP3s through emacs too?
02:51:18krux02haha
02:51:19zachcarter:P
02:51:27def-pri-pubDoes nim have a ternary operator? i can't remember
02:51:32zachcarterdon’t believe so
02:51:44krux02I I just have a browser open with a one houre youtube video playig 80 syth music
02:52:22krux02def-pri-pub: you can use if as an expression
02:52:41krux02let x = if a>b: "a" else: "b"
02:52:48*peted___ quit (Quit: WeeChat 1.4)
02:53:22krux02so whatever it is you needed ?: in c++ for, you can just use if else in nim
02:54:19krux02zachcarter: well honestly I am not an emacs fan I just started using emacs when I started with nim, because I thought it was the most developed development environment for nim
02:54:29krux02not sure if that is still true
02:54:54krux02I changed editors a lot in the past, and I was never really happy with any editor
02:54:58zachcarterI’m finding VS code to be pretty nice
02:55:08zachcartera bit slow / leaky but better than anything else I’ve used for nim atm
02:55:12krux02I used a lot of editors that were cool in fancy in the beginning but in the long run I just hated them
02:55:19krux02now I use emacs
02:55:29krux02it's bascially a very horrible experience
02:55:35zachcarterhahaha
02:55:37krux02I had to relearn so much
02:55:40zachcarteremacs is like a lifestyle
02:55:53krux02a lot of stuff isn't even better
02:56:00FromGitter<Varriount> krux02: I've been listening to this: https://virt.bandcamp.com/album/cat-girl-without-salad-amuse-bouche-extra-crispy-or-original-soundtrack
02:56:01krux02to save C-x C-s
02:56:09krux02how is that better than just C-s
02:56:17krux02C is ctrl by the way
02:57:21*shashlick quit (Ping timeout: 264 seconds)
02:58:12krux02Varriount: along with other stuff I like this: https://www.youtube.com/watch?v=BcDES8Fjr-w
02:58:34*shashlick joined #nim
02:59:15krux02zachcarter: I used even some vim in the past, but I don't even understand the syntax tree of my config file
02:59:31krux02and this config file mess is really horrible
02:59:39zachcarteryeah vim is a nightmare
02:59:48krux02without a 100 work hour tuned config file the editor is just not good
02:59:49zachcartersomeone told me about a really nice editor the other day that I promplty forgot the name of
02:59:50zachcarterlet me try to find it
02:59:52krux02both emacs and vim
03:00:11krux02no I don't want to switch at the moment
03:00:20krux02I invested quite a lot in my config
03:00:41krux02and to be honest there is not that much an editor really needs to do
03:00:43zachcarter:P haha I’m not sugesting you do
03:00:48zachcarterI just wanted to try to remember it’s going to haunt me now
03:01:28krux02I just know the two new stars at the sky of editors, atom and vs-code
03:01:36zachcarterhttp://kakoune.org/why-kakoune/why-kakoune.html
03:01:40zachcarterthrere it is
03:01:40zachcarterkak
03:01:47krux02but people seem to prover vs-code over atom from the opinions I read online
03:01:53zachcarterhttp://kakoune.org/
03:01:55krux02people are not happy with atom
03:02:44krux02yea I actually read about that editor
03:03:05zachcarterI don’t get this:
03:03:31zachcarterzachcarter: What’s wrong with Nim?
03:03:32zachcarter[10:49pm] Elronnd: everything's an object
03:03:34zachcarter[10:49pm] zachcarter: Nim objects are like C structs
03:03:35zachcarter[10:49pm] zachcarter: ref objects are GC traced pointers
03:03:36zachcarter[10:50pm] zachcarter: nim does have tuples, named tuples too
03:03:37zachcarter[10:51pm] Elronnd: I like the way d does it better
03:03:38zachcarter[10:51pm] Elronnd: with ufcs
03:03:40krux02but I don't think that a new way to edit text justifies a completely new text editor that needs its freshly written plugins for programming language support
03:04:08zachcarterwtf are D ufcs?
03:04:14zachcarterI figured he meant uniform function calls
03:04:21krux02I don't know
03:04:22zachcarterNim has those...
03:04:24zachcarterme either
03:04:29*yglukhov joined #nim
03:04:40krux02but D has the classical single inheritance model and it has garbage collection, too
03:04:56zachcarteryeah, nothing wrong with D I just don’t get his point about Nim
03:05:02zachcarterand why he doesn’t like it
03:05:08krux02I am not sure, but it can be that D has the same struct/class distinction as C# has
03:05:10zachcarterhe made an angry face when he found out I was using Nim
03:05:13krux02but that would just be a guess
03:05:17zachcarterah probably
03:05:54krux02maybe because he is invested in D and wants people to be on his side
03:06:03zachcartermaybe
03:06:28krux02But I am very careful converting people to Nim, even though I like the language, I don't think everything is nice and happy here in Nim world
03:07:17zachcarteryou know more about the state of things than I do but I’m pretty happy with the language so far
03:07:22krux02most recent example, again for my transform feedback example, I needed an offsetof evaluated at compile time, could not get it
03:07:34zachcarterah yeah the offset of thing is a pain
03:07:48zachcarterwe need a propper solution in the sdtlib for that
03:07:57krux02I reimplemented sizeof and alignof as a macro and then I got it, but my implemenation is wrong, because it cannot the the pragma packed.
03:08:36krux02it cannot see the pragma
03:09:14krux02I got the recommendation from Araq that I should submit a submit for the compiler
03:09:43krux02And to be honest I don't really like to work in the compiler
03:09:55krux02I don't think it's a super nice codebase to work in
03:10:08krux02it has to many if branches to my personal taste
03:10:25krux02and to may layers of indirection that make navigation very hard
03:10:41krux02to name one, I hate the magics
03:11:07def-pri-pubHey, I just got done adding some experimental mobile controls to "Pucker Up." Can some people test it out for me? https://16bpp.net/games/pucker-up-lgj-2017
03:11:09zachcarteryeah I haven’t even delved there yet
03:11:19def-pri-pubThere's a toggle at the top to turn them on.
03:11:33def-pri-pubI don't really have any good mobile devices or tablets.
03:13:31zachcarterI’ll try it out
03:13:36zachcarterI can try on my android phone
03:13:44def-pri-pubthanks!
03:13:56krux02def-pri-pub: all I see is a notification to turn off my adblocker
03:15:25def-pri-pubcrap
03:15:46def-pri-pubdo you have a mobile adblock enabled?
03:16:44zachcarterthey’re working fo rme
03:16:54def-pri-pubdoes it feel odd to use them?
03:17:15zachcartermm they’re not the mos intuitive things int he world because they’r ebelow the game window
03:17:20zachcarterat first I didn’t know what they were
03:17:24zachcarterbut I figured it out pretty quickly
03:17:29FromGitter<Varriount> def-pri-pub: The game stutters each time I press a control.
03:19:43krux02zachcarter: well magics are when you dig into tha standard library and then you want to find out how it is implemented, but you hat a wall with a magic pragma
03:20:08krux02then exploration basically just stops unless you know how to continue exploring from there
03:20:09def-pri-pubVarriount: i was trying to figure out why that was happening on my end. I chopped it up to the low end Androids that I have.
03:20:29def-pri-pubzachcarter: Yeah, those buttons are kind of a hack.
03:21:04*libman quit (Quit: Connection closed for inactivity)
03:21:10def-pri-pubInstead of checking the location of a possible button on a <Canvas>, I instead opted to make a few divs and attach touch events to them, then have them dispatch those events to the game update loop
03:21:50krux02well as I said, I can't see the game, because it doesn't appear, and no I am not disabling my ad blocker. ad blocking is an essential part of surfing the internet
03:21:57FromGitter<Varriount> def-pri-pub: Hm. I have a Samsung Galaxy S5. It's a little outdated, but I don't know if it's that out-dated.
03:22:38FromGitter<Varriount> krux02: For me, the compiler is hard to work with because of all the includes and lack of documentation.
03:22:53krux02also if the website would respect my rights of privacy, it could not even detect if I was using an ad blocker or not
03:23:40FromGitter<Varriount> Even with documentation, large programs tend to be hard to understand. Lack of documentation makes it worse.
03:23:57krux02Varriount: most I know from Nim it my pure trying it out
03:24:39zachcarterhrm
03:24:45zachcarterthis guy si really confusing me
03:24:46krux02but that is a very dangerous thing to do, because you never know if the behaviour you are observing is intended behaviour or a bug
03:25:02zachcarterElronnd: zachcarter: int isn't an object. But you can still do int foo = 5; foo.whatever("fork); because there was a void whatever(int, string); declared
03:25:02zachcarter[11:08pm] Elronnd: there's a string.split() even though a string is just an immutable(char[]), and an array is just a pointer and a length
03:25:04zachcarter[11:08pm] zachcarter: ah I see
03:25:05zachcarter[11:13pm] zachcarter: Elronnd: you could do something like this with Nim but yeah, your point is well taken : https://glot.io/snippets/eohnrmmgkh
03:25:07zachcarter[11:19pm] Elronnd: zachcarter: if you could do something like that in nim then why aren't there things that aren't objects?
03:25:08zachcarter[11:21pm] zachcarter: apparently I didn’t fully comprehend your previous statement
03:25:10zachcarter[11:21pm] zachcarter: this part eluded me : because there was a void whatever(int, string); declared
03:25:11zachcarter[11:21pm] zachcarter: so my example doesn’t satisfy your scenario
03:25:12zachcarter[11:22pm] Elronnd: your example does satisfy my scenario
03:25:13zachcarter[11:22pm] Elronnd: my question is why the rest of nim doesn't
03:25:41FromGitter<Varriount> ?
03:25:44zachcarterhe keeps saying everything in Nim is an object
03:26:03FromGitter<Varriount> What is this communication from?
03:26:09zachcarter#rgrd on quakenet.org
03:26:25FromGitter<Varriount> Uh. No. He's thinking Python, or Ruby.
03:26:33FromGitter<Varriount> I mean, he must be confused.
03:26:39krux02now I am confused, too many layers: <zachcarter> [11:19pm] Elronnd: zachcarter:
03:26:48krux02who is talking?
03:27:02zachcarterhaha I think he was mentioning me there
03:27:06FromGitter<Varriount> zachcarter: It would probably be better for you to gist the chat, rather than paste it in here.
03:27:19zachcarterah yeah sorry about that I”ll do that next time
03:27:39krux02the problem you have is probably because of terminology
03:27:44FromGitter<Varriount> zachcarter: He's confused about unified function call syntax
03:27:58krux02objects are to many people this heap allocated thing that starts with a vtable pointer
03:28:03FromGitter<Varriount> Which is easy to do, I was confused about that when I first read about Nim
03:28:20zachcarteryeah I thought I gave him an example of it
03:28:41*def-pri-pub quit (Quit: leaving)
03:28:54FromGitter<Varriount> zachcarter: Tell him/her that in Nim, there are no methods: `a.foo(b)` is rewritten by the compiler as `foo(a, b)`
03:29:16krux02well unified function call syntax is wanted by bjarne stroustrup for c++
03:29:18zachcarterthank you
03:29:26krux02no idea if I got that name right (probably not)
03:29:43krux02so you could reference that c++ specification
03:29:50krux02or better said proposal
03:30:10krux02it is probably better explained than anything in Nim
03:30:14FromGitter<Varriount> zachcarter: I believe that saying 'x is rewritten to be y' will help. (although, technically it's not true)
03:31:15krux02I think the unified function call syntax is one of the biggest strengths of Nim
03:31:33FromGitter<Varriount> krux02: And templates. I really like templates.
03:31:38krux02I never thought that such a simple and small feature could teach me on how much I actually need real methods
03:31:42krux02(not at all)
03:32:10zachcarterecraven joined the chat room.
03:32:10zachcarter[11:30pm] Elronnd: that's all a class ever is
03:32:11zachcarter[11:30pm] Elronnd: in pretty much any language
03:32:18zachcarterwhoops didn’t mean to copy that other line haha
03:32:20krux02it is only about syntax and syntax matters a lot
03:32:47zachcarterI don’t get his point anymore, but I’m also done trying to understand
03:32:54zachcarterI need to start working on docu for frag
03:33:00krux02well in nim it's not a class like in any language
03:33:15FromGitter<Varriount> In Nim it's just a way of calling a function.
03:33:24zachcarterright
03:33:49krux02it is basically what mixins in c# and implicits class in scala try to solve
03:34:02krux02just without this overhead and much simpler
03:34:58*yglukhov quit (Ping timeout: 258 seconds)
03:34:59krux02the true pover is that you can add "methods" to a "class" from anywhere
03:35:02FromGitter<Varriount> zachcarter: Should I join you?
03:35:12zachcarternot worth it
03:35:28zachcarterit’s just a roguelike development chatroom
03:35:35zachcarterit’s dead 90% of the time
03:35:35FromGitter<Varriount> :(
03:35:39krux02and that without the concept thas python does where you actually modify the class
03:35:54zachcarterbut if you want! #rgrd on quakenet.org
03:36:00zachcarterI think they even have webchat.quakenet.org
03:37:07krux02There are a few things that I think are still missing for Nim so that I can recommend it to other people who do c++ otherwise
03:37:26krux02but for rouguelits that issue probably just doesn't matter at all
03:38:00zachcarteryeah
03:38:15krux02I kind of think it's funny that roguelikes are written most of the time in these very low level languages despite the fact that they are the type of games that need the least amount of performance
03:38:30krux02(dwarf fortress is an RTS)
03:39:37krux02people could use for roguelikes the most fancy programming language, and yet they stickk to C and C++
03:40:10krux02rogueliks show one thing though
03:40:24krux02today I watched a talk from the GDC vault
03:40:30krux02and it was about expertise
03:40:44krux02the guy wanted a digging animation and the guy asked was an expert
03:41:09krux02the result was a super detailed digging animation with arm movement and weating
03:41:37krux02but that was completely worthless, because all that was needed was "a dig" and done
03:41:49krux02something more abstract and nod so specialized
03:41:53zachcarterright
03:41:57krux02I would call it an abstract digging animation
03:42:05krux02something that can be used in more situations
03:42:20krux02same goes for roguelike graphics
03:42:30zachcarteryeah
03:42:35zachcarterone of my buddies works on a roguelike framework in Java and it’s quite powerful : https://github.com/SquidPony/SquidLib
03:42:46krux02even though they might be totally differnt games, they can still worth with the same graphcis/tileset and it just works
03:43:40krux02zachcarter: I worked a lot in Scala, I realy loved that language, by I try to avoid the JVM. I hate it, and the platform independence is a lie.
03:43:46zachcarterme too
03:43:50zachcarterI work on it every day
03:44:03krux02ok I don't hate the jvm, but I don't recommend it for games
03:44:07zachcarterI hate it
03:44:14zachcarterI’d rather do all my work in golang
03:44:22zachcarteror Nim
03:44:32zachcarteralthough golang for the distribution and concurrency is nic
03:44:33zachcartere
03:44:35krux02yes I think too, that go is the better alternative to java
03:45:20zachcarterI’ve been trying to push Go hard at work since 1.0
03:45:24krux02it tries to be the language that java is used for, a server side language
03:45:31zachcarteronly now are people starting to finally listen
03:45:35zachcarterexactly
03:45:44krux02actually I know the guy who wrote the go to javascript compiler
03:45:55krux02but anyway I like the simplicity of go
03:46:03krux02it just has a few features and that's it
03:46:06krux02no surprises
03:46:06zachcarteryup
03:46:32zachcarterjust again don’t write games with it
03:46:46zachcarterI guess you could, I just don’t know how the GC behaves
03:46:53zachcarterit’d be great for a game server
03:47:02krux02and I really think that this is good for bigger teams because individuals can't go crazy with their knowlede and use super fancy programming language features that nobody else in the team understands
03:47:25krux02actually I did write a game engine in go
03:47:30krux02it kind of works
03:47:33zachcarterhow’d it go?
03:47:34zachcarterhahaha
03:47:36zachcarterget it?
03:47:51zachcarterdo you have it on github?
03:48:02krux02https://github.com/krux02/turnt-octo-wallhack
03:48:13zachcarterbtw Varriount is killing it in #rgrd right now :P
03:48:22krux02well I was missing metaprogramming
03:48:40krux02the vector math turned out to be quite good
03:48:54zachcarterneat
03:48:56krux02even though I did not have swizzling, multiple return values made up for it
03:49:35krux02but it got very redundant when I wrote all those different renderers for the different things in my scene
03:49:42krux02a lot of duplicated code
03:49:55zachcarterright
03:50:02zachcarteryeah that’s one problem with go
03:50:30krux02that is also the reasone I started to look for an alternative that would allow me to solve this problem
03:50:39krux02and the Nim macros actually could do that
03:50:43*sz0 joined #nim
03:51:27krux02and code generation really doesn't solve it
03:51:51krux02because I need information from the context where I generate code, to know what I need to generate
03:52:03zachcarterright
03:52:09krux02so the classicaly code generator was just not a solution
03:52:39krux02onld the nim macros where I could inspect types at compile time and do things based on that were able to generate the exact code I wanted to generate
03:52:55krux02but it turns out that also the nim code at compile time has it's limitations
03:53:06krux02for example I can't call into c at compile time
03:53:33krux02the interpreter has a very different memory layout therefore adresses don't work
03:53:50krux02and basically everything that is based on memory layout just doesn't work at compile time
03:53:54zachcarterright
03:54:06zachcarternot sure how you solve that one
03:54:31krux02well I simply don't do smart things at compile time
03:54:44krux02I try to be as straight forward as possible
03:54:49krux02and it works
03:55:15zachcarterwhat’s an example of something you were trying to call into at ocmpile time?
03:55:20zachcartercompile*
03:55:20krux02but I did a lot of tricks in my opengl-sandbox
03:55:46krux02for example my untyped macro that just generates a call to a typed macro
03:56:09zachcarterah
03:56:42FromGitter<Varriount> zachcarter: So how am I doing?
03:56:59zachcarterzachcarter: btw Varriount is killing it in #rgrd right now
03:57:04zachcarterhahaha
03:57:08krux02one funny thig is thogh, when I pass a constant to a shader, I know the value at compile time, so I can generate the value of that constant into the shader code itself
03:57:09zachcartergood man extremely well
03:57:10zachcarterI’m learning things
03:57:53krux02well I am not joining there today
03:57:55zachcarterkrux02: that is pretty neat
03:58:46krux02it was actually necessary, so that I could use those values in the shader as an array length
03:59:32zachcarteryeah that is awesome actually thinking more about it
03:59:44zachcarterI’d have a hard time doing that with my framework considering my shaders are precompiled
04:00:35krux02I can just put a constant in the uniforms section, and the uniform is optimized out, but the identifier is generated as a constand in the code
04:01:18krux02it doesn't work for all types thogh, but for the int type I am 100% sure
04:01:34krux02I don't know anymore why I couldn't just do it for all types
04:03:17krux02well I need to say good night
04:03:24krux02I hear the birds tweet outside
04:03:26krux02it's time
04:03:31krux02good night
04:03:32*krux02 quit (Remote host closed the connection)
04:05:05zachcartergn
04:06:15*rauss joined #nim
04:14:03FromGitter<Varriount> zachcarter: My hands are getting tired. :/
04:14:43zachcarterhahaha
04:14:46zachcarterhe’s asking a lot of questions
04:18:42zachcarternow he’s getting philisophical
04:18:47zachcarterhahaha
04:30:05FromGitter<Varriount> What do people have against indentation?
04:30:18zachcarterI don’t know
04:30:21zachcarterI like significant whitespace
04:32:19*yglukhov joined #nim
04:37:12FromGitter<Varriount> zachcarter: By the way, have you used Nim's built-in templating mode?
04:37:29zachcarternot sure
04:37:39zachcartercan you point me to the docu on it?
04:38:20FromGitter<Varriount> zachcarter: https://nim-lang.org/docs/filters.html
04:38:27zachcarterthank you
04:38:47FromGitter<Varriount> If you've ever thought "Boy, I wish I could put some Nim in this text file", there's your answer
04:39:03zachcarteroh wow that is nice
04:39:09zachcarterthank you for showing me that
04:41:04FromGitter<Varriount> zachcarter: It occurred to me that such a utility might be useful for dealing with the shaders and such that game programming requires.
04:41:25zachcarterit definitely could be I can think of a lot of uses for it
04:43:08zachcarterI need to play with this
04:44:57FromGitter<Varriount> zachcarter: A little help? I'm not an expert on C macros.
04:45:29zachcarterlet me see
04:51:09FromGitter<Varriount> Uh... C macros are better than Lisp macros...?
04:51:22zachcarterI don’t get that
04:54:27FromGitter<Varriount> I mean, C macros are flexible, certainly. However, they are quite unsafe and are very separate from C/C++
04:56:43zachcarterright
04:58:01*Jesin quit (Remote host closed the connection)
05:02:45*Jesin joined #nim
05:04:33*yglukhov quit (Ping timeout: 256 seconds)
05:05:08FromGitter<Varriount> Ok, I think I know what 'smh' means, but what about 'fam'?
05:05:34zachcarterlol
05:05:38zachcarterI have no clue I guess family
05:05:52zachcarterhttp://knowyourmeme.com/memes/fam
05:06:55*bungoman quit (Ping timeout: 246 seconds)
05:08:14*bungoman joined #nim
05:11:29zachcarteroooo Ragath is here now
05:11:31zachcarterthis is going to get good
05:11:55zachcarter:popcorn:
05:12:00FromGitter<Varriount> Why is that?
05:12:39zachcarterRagath loves C# and is pretty smart
05:13:16zachcartergood in language debates
05:13:40FromGitter<Varriount> I don't mind C# much either.
05:13:44FromGitter<Varriount> Certainly better than Java.
05:13:48zachcarteragreed
05:53:42ldleworkI love C#
05:53:47ldleworkgreat generics, modern features
06:09:01*nsf joined #nim
06:21:31*rauss quit (Quit: WeeChat 1.7)
06:37:21Araqha, I don't like its generics too much, but it's a nice language. I wished they wouldn't have started with Java as a blueprint though.
06:37:32Araqall its bad parts stem from Java.
06:40:18*filcuc joined #nim
06:42:22FromGitter<Varriount> Araq: But surely using objects everywhere has no downside!
06:42:34Araq:P
06:43:21Araqeverything is a pointer to something else. sucks whenever you seek to get performance out of a system
06:43:57Araqit's also bad semantics (aliasing everywhere)
06:44:30*Vladar joined #nim
06:45:00*yglukhov joined #nim
06:47:16*yglukhov_ joined #nim
06:47:17*yglukhov quit (Remote host closed the connection)
06:56:08*chemist69 quit (Ping timeout: 240 seconds)
06:57:06*yglukhov_ quit ()
06:58:46*yglukhov joined #nim
07:02:57*chemist69 joined #nim
07:07:28*rokups joined #nim
07:24:25*sz0 quit (Quit: Connection closed for inactivity)
07:44:44*sz0 joined #nim
08:31:42*Andris_zbx joined #nim
08:48:29*vendethiel joined #nim
09:04:51*bjz joined #nim
09:05:27*arnetheduck joined #nim
09:14:42FromGitter<dom96> federico3: https://www.reddit.com/r/nim/comments/62k2rs/nimism_is_a_lightweight_extremely_simple_nim/dfn6ad4/
09:19:31chemist69can someone explain to me, why I can use a custom operator without backticks in the infix notation, but need to backtick it when I want use it in the prefix notation with parentheses? https://glot.io/snippets/eohxm2xbq4
09:30:25*arnetheduck quit (Ping timeout: 260 seconds)
09:33:22Araqchemist69: because prefix notation is for *unary* operators
09:33:31Araqnot for *binary* operators
09:37:43euantordom96: Cool to see somebody else working on solving that problem
09:39:15chemist69Araq: ok, thanks.
09:54:57federico3dom96: thanks! (Inactive? it's up and running...)
09:57:06FromGitter<andreaferretti> running where? it is not linked from github
10:00:21*PMunch joined #nim
10:01:40federico3andreaferretti: https://nimble.directory/ - I'll add a link
10:09:42FromGitter<vegansk> ``boost.typeutils`` now can work with json :-) ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=58de2ae6b402a53211cf11eb]
10:10:45FromGitter<andreaferretti> @federico https://css-tricks.com/couple-takes-sticky-footer/ may be useful :-)
10:13:32federico3thanks
10:18:03*vlad1777d joined #nim
10:33:56FromGitter<dom96> federico3: I replied. Would you be interested in collaborating?
10:34:05FromGitter<dom96> I think it would be a win for us all
10:35:39federico3sure!
10:52:20*yeeve quit (Read error: Connection reset by peer)
10:53:34*yeeve joined #nim
10:56:09*bjz_ joined #nim
10:58:29*bjz quit (Ping timeout: 258 seconds)
11:00:17FromGitter<vegansk> today it's windy in Novosibirsk https://youtu.be/eEwKE5-efR4
11:02:04*Vladar quit (Remote host closed the connection)
11:04:10Araqwtf ... XD
11:04:25*sz0 quit (Quit: Connection closed for inactivity)
11:11:44FromGitter<timeyyy> :araq i'm looking for a full time programming job, junior position or something similiar. Do you know of anything or is there a page for nim jobs floating around?
11:19:26AraqI'll ask around
11:20:40FromGitter<timeyyy> Sweet, based in cologne (will travel)
11:21:55*Vladar joined #nim
11:39:16*bjz_ quit (Ping timeout: 246 seconds)
11:39:46*bjz joined #nim
11:40:37*federico3 quit (Quit: WeeChat 1.5)
11:40:38*federico2 joined #nim
11:42:49*federico2 is now known as federico3
12:00:13*PMunch quit (Quit: leaving)
12:05:20*yglukhov quit (Remote host closed the connection)
12:12:01*yglukhov joined #nim
12:22:49*yglukhov quit (Remote host closed the connection)
12:23:29*yglukhov joined #nim
12:29:52ftsfo/
12:29:56ftsfevening!
12:38:24*yglukhov quit (Remote host closed the connection)
12:38:37*yglukhov joined #nim
12:49:58*yglukhov quit (Remote host closed the connection)
12:50:30*yglukhov joined #nim
12:55:00*yglukhov quit (Ping timeout: 260 seconds)
12:59:34*yglukhov joined #nim
13:00:44*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
13:04:24*arnetheduck joined #nim
13:06:29*Tiberium joined #nim
13:08:39*Vladar quit (Quit: Leaving)
13:08:48zachcarterAraq: I’m also looking for a new gig, if anything in Nim world is avaialble I’d jump at it
13:09:11zachcarterget me out of the Java / Groovy hell hole I’m in
13:09:33*ngc quit (Quit: Leaving)
13:09:44zachcarterI’m based wherever the job is :P
13:10:04zachcarterhaving said that I only speak English and a tiny bit of Spanish
13:10:15zachcartertypical American pig
13:11:22zachcartervegansk: now I’m stuck watching Russsian youtube vids
13:11:30*bjz joined #nim
13:12:24*Matthias247 joined #nim
13:27:33*Ven joined #nim
13:27:57*Ven is now known as Guest87256
13:33:28*Guest87256 quit (Read error: Connection reset by peer)
13:33:43*Ven_ joined #nim
13:35:00*Ven_ quit (Client Quit)
13:40:54*nsf quit (Quit: WeeChat 1.7)
13:47:48*chemist69 quit (Ping timeout: 240 seconds)
13:50:41*vlad1777d quit (Remote host closed the connection)
13:54:47*yglukhov quit (Remote host closed the connection)
13:56:58*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
13:58:48*yglukhov joined #nim
14:02:38Tiberiumhmm, just fondering - https://pastebin.com/p4BVnz9t can I optimize this somehow?
14:02:49Tiberiumjust want to contribute microbenchmark
14:03:28*yglukhov quit (Ping timeout: 256 seconds)
14:04:41Tiberiumzachcarter, lol, what Russian vids?
14:04:47TiberiumI can translate them xD
14:04:52zachcarterahahha
14:04:53zachcartersec
14:05:03zachcarterthis is the one he shared that got me going
14:05:04zachcarterhttps://youtu.be/eEwKE5-efR4
14:05:15zachcarternot much to translate there besides BEEP
14:05:32Tiberiumzachcarter, you know what BEEP means :)
14:05:40zachcarterthis is true
14:06:00Tiberiumzachcarter, and in the start of the video he says "ok, let's go, gusts, go, go"
14:06:05AraqTiberium: use int32 on 64bit arch to speed it up
14:06:18zachcarteroh so he’s rooting for the roof to fly off, nice
14:06:24zachcarterI would be too
14:07:22TiberiumAraq, replace all int's with int32's ? like in proc definition, seq[int32] too ?
14:08:29*chemist69 joined #nim
14:09:03Araqonly for the div operations
14:11:24zachcarterbtw Timberium - that does not compile fo rme
14:11:39zachcarteractually nevermind it does
14:11:40zachcarterruntime exception
14:12:03zachcarterah that would be why : let period_time = getEnv("RUN_TIME").parseInt()
14:12:07Tiberiumzachcarter, you need to set up RUN_TIME variable
14:12:14zachcarterjust saw that
14:12:15TiberiumIt's https://blog.famzah.net/2016/09/10/cpp-vs-python-vs-php-vs-java-vs-others-performance-benchmark-2016-q3/
14:12:38zachcartercool
14:12:44zachcartergood idea :D
14:13:36TiberiumI just translated python version
14:14:16zachcarteryou can also set some optimization flags on the compiler and of course build for release but I’m guessing you know those things already
14:14:35Tiberiumzachcarter, I know that I can
14:14:42zachcartergood deal
14:14:52TiberiumBut I want to test it without passC options for example
14:14:55Tiberiumjust with -d:release
14:15:04zachcarterright
14:15:18TiberiumAraq, I'm getting the roughly the same results, hmm
14:15:57Araqif you don't get the same speed as C++, you're doing it wrong
14:16:08TiberiumAraq, yeah, it seems I'm doing it wrong
14:16:17TiberiumI just translated python version
14:16:22def-Tiberium: i don't understand how to interpret the result of running it
14:16:32Tiberiumdef-, count of lines :)
14:16:54def-that varies between 1 and 10 on my system with each run
14:16:57Tiberiummaybe we can contribute here https://github.com/famzah/langs-performance
14:18:18Tiberiumah, rust uses "u32" which I think is uint32 ?
14:19:43def-Tiberium: i think your getTime is too inaccurate
14:20:52*Matthias247 quit (Read error: Connection reset by peer)
14:22:14def-well, same thing happens with the c++ implementation, weird benchmark
14:23:18euantorANother optimisation might be to give the seq an explicit starting size with newSeqOfCap: https://nim-lang.org/docs/system.html#newSeqOfCap,Natural
14:24:00*rauss joined #nim
14:31:25Tiberiumbtw, are tuples faster than objects?
14:32:00def-Tiberium: this looks a bit faster to me: https://gist.github.com/def-/fd6f528e51683f7b1baa60518b426d74
14:33:33Tiberiumdef-, thanks!
14:33:47def-tuples should be same speed as objects
14:35:06Tiberiumdef-, wow, your version is much faster
14:35:07euantorAlso regarding that blog post, .NET Core beats Go... just goes to show how good the CLR (even in .net core) is at what it does
14:35:10Tiberiumit's the speed of C++
14:35:48def-Tiberium: int32, and don't allocate a new seq at the end
14:37:24Tiberiumdef-, thanks!
14:37:30FromGitter<brechtm> Is there anything like Python's list.index()?
14:37:34FromGitter<brechtm> for seq
14:38:35Tiberiumaand question about meta-programming: can I something like this (https://gist.github.com/TiberiumN/95b144ea467687f9f6a7891a3b258fb3) with macros or templates? It's not a critical part for me, it will just look better :)
14:41:30Araqbrechtm: system.find? not sure what index() does
14:41:45TiberiumAraq, index finds index of value in list
14:42:01Tiberium*first index
14:42:02FromGitter<brechtm> @Araq: seems right, thanks
14:47:10*Jesin quit (Quit: Leaving)
14:48:58FromGitter<Natsirtt> Hello!
14:50:23*Jesin joined #nim
14:51:38FromGitter<Araq> welcome
14:51:49TiberiumHow hard it is to do something like jester's DSL? only DSL part
14:51:53Tiberiumwithout html and stuff
14:51:56FromGitter<Natsirtt> Thanks :)
14:53:30*PMunch joined #nim
14:54:50FromGitter<Natsirtt> I am completely new with Nim here :) ⏎ I am trying to write a small utility library, compiling it to a .dll. I got that far without much trouble, but now the thing is that I want to use the returned int value of the procedure as an error code for the external app calling ; but I also need to return an int which is the result of the call (when exit code is 0 for success)
14:55:13FromGitter<Natsirtt> Is there any way to have the application provide a variable by reference? Or is that a stretch :)
14:55:29FromGitter<Natsirtt> (I saw mention of a byref pragma but didn't really get that working)
14:56:15Araqaddr myvar
15:04:20*yglukhov joined #nim
15:05:36FromGitter<Araq> @Natsirtt you can make the proc return a tuple or write an Either type in 4 lines. however it also depends on what your DLL client is written in
15:07:26PMunchHmm, the error message when creating statements like "result.direction = if check: 5 else: 10" which spans over multiple lines but lacks a return value could be greatly improved
15:07:56PMunchhttp://ix.io/pso
15:08:04PMunchThat's an example of such a statement
15:08:19PMunchIf you remove any of the elses it will complain about invalid indentation
15:08:49*yglukhov quit (Ping timeout: 258 seconds)
15:14:04*gour joined #nim
15:14:10*yglukhov joined #nim
15:14:28FromGitter<Natsirtt> @Araq the idea is that I don't know who will use the DLL :) I want to write a lib that can be used by different systems in the company ; I would say the 3 possible clients at the moment would be a C# application, a python script or a C++ program
15:15:41*gour left #nim ("Leaving")
15:19:01FromGitter<Araq> @Natsirtt then have the return type an int with the error code and return the real result via ``ptr int`` or similar
15:19:18FromGitter<Araq> this will cause the least amount of trouble then for other languages to cope with
15:21:01FromGitter<Natsirtt> Yeah I am going to go that route. Thanks! I should use `ptr cint` though, right?
15:21:42AraqDLLs are better served with 'ptr int32'
15:22:03Araqso that it's not ambiguous, it's about being binary compatible
15:22:10Araq'cint' conveys the wrong idea.
15:22:23FromGitter<Natsirtt> Got it. Thanks a lot!
15:27:24*nsf joined #nim
15:27:51PMunchHmm, is there a way to do something like this: macro makeCircle(center: Point, radius: int, segments: int): array[0..segments, point]
15:28:24PMunchTake in a parameter to a macro (which runs on compile time) and have that parameter define the output
15:28:55FromGitter<Varriount> PMunch: Use `typed` as the output type
15:29:10FromGitter<Varriount> Anyway, doesn't a macro normally output AST?
15:29:12PMunchAh, of course :P
15:29:25*Andris_zbx quit (Remote host closed the connection)
15:29:30PMunchYeah, I originally thought of writing it as a proc. But that obviously wouldn't work
15:29:36FromGitter<Varriount> Or do you mean a template.
15:30:26PMunchWell, I want the thing to generate an array of coordinates to draw a circle
15:30:34PMunchIn n-segments
15:32:16FromGitter<Varriount> PMunch: You can use a template for that.
15:32:43PMunchHmm, I could?
15:32:54AraqTiberium: https://github.com/nim-lang/Nim/blob/devel/compiler/prefixmatches.nim#L73
15:32:56PMunchAnd have it do all the calculations on compiletime?
15:33:28AraqPMunch: no, use a macro, template cannot produce an AST of variable shape
15:33:52TiberiumAraq, thanks :) but I will do something like jester's macro to have "plugin <name>: command <plugin command>: actions"
15:34:08AraqTiberium: study my code.
15:34:15PMunchAraq, yeah that's what I thought
15:34:26TiberiumAraq, ah, understand
15:36:01*vlad1777d joined #nim
15:37:30*nhywyll joined #nim
15:39:02PMunch macro makeCircle(center: Point, radius, segments: int): typed = let degreeStep = degToRad(360) / segments
15:41:08PMunchWhy is segments here considered to be a NimNode?
15:42:46TiberiumAraq, wow, thanks!
15:42:50Tiberiumit was simpler than I expected
15:44:59AraqPMunch: because it's not static[int]
15:45:24PMunchAh
15:45:39FromGitter<Varriount> Araq: Hm, then why doesn't this work: https://glot.io/snippets/eoi8ieayh7
15:46:25FromGitter<Varriount> Woops, I mean this: https://glot.io/snippets/eoi8jdznq5
15:47:23*Trustable joined #nim
15:56:35Araqvarriount: wrong order in array?
15:56:51Araqit's array[Index, BaseType]
15:57:42PMunchcircle = makeCircle(point(0,0), 100, 15) # Error: value of type array[0..15,Point] has to be discarded
15:57:49PMunchI'm doing something wrong..
15:58:22Araquse 'untyped'
15:58:40Araqas a return type, 'typed' as return type has known problems
15:58:42PMunchAh, what was the difference between those two again?
15:58:54Araqthere is none in theory for return types.
15:59:02Araqin practice only 'untyped' works reliably :P
15:59:07PMunchHaha, okay :P
16:05:20*filcuc quit (Quit: KVIrc 4.9.2 Aria http://www.kvirc.net/)
16:08:10*dexterk_ joined #nim
16:08:30*dexterk quit (Ping timeout: 268 seconds)
16:12:45FromGitter<barcharcraz> can I just say how much nicer untyped/typed is than that old {.immediate.} syntax
16:13:44*yglukhov quit (Remote host closed the connection)
16:14:42*PMunch quit (Quit: leaving)
16:20:09FromGitter<Varriount> Araq: Hm. But it compiled.
16:22:56*brson joined #nim
16:29:33*_yeeve joined #nim
16:33:05*yeeve quit (Ping timeout: 240 seconds)
16:37:28*chemist69 quit (Ping timeout: 240 seconds)
16:38:25*nsf quit (Quit: WeeChat 1.7)
16:39:39FromGitter<Natsirtt> Does anyone know why this would crash when I compile and run test.nim? https://gist.github.com/Natsirtt/c3efe02511675f43511b2b4ee2a040d3
16:40:35FromGitter<Natsirtt> I tried to use another standard library module (time) and didn't get any issue ; but all of osproc's functions I tried to call would give me this error
16:42:05*chemist69 joined #nim
16:48:14*krux02 joined #nim
17:16:24*nhywyll quit (Quit: nhywyll)
17:18:32*Tiberium quit (Remote host closed the connection)
17:22:16*rokups quit (Quit: Connection closed for inactivity)
17:24:22*couven92 joined #nim
17:24:38FromGitter<brechtm> How would I indicate private attribute (prefixed with an underscore in Python)?
17:25:17FromGitter<brechtm> Say I want to have property position, and by default it should return the private "_position" attribute value.
17:25:53*Trustable quit (Remote host closed the connection)
17:26:19euantorJust don't export the object property and add a proc to expose it
17:27:28FromGitter<brechtm> euantor: yes, but how should I name the attribute? Is there a recommened way?
17:27:41FromGitter<brechtm> Since an underscore prefix is not allowed in Nim
17:28:18dom96brechtm: just name it normally
17:28:37euantorYeah, Either name it properly or add some prefix/suffix that makes sense to you
17:28:50FromGitter<brechtm> @dom96 then I would name it "position", but that collides with the property name
17:29:03euantorYou could always use a prefix like "privatePosition"
17:29:09euantoror "internalPosition"
17:29:24dom96why are you creating a property name for it?
17:29:35euantorIt won't matter if the public API doesn't expose it (e.g.: you provide a `newFoo` or `initFoo` method to initialise the type)
17:29:44FromGitter<brechtm> @dom96 because I want to override the property for a subclass
17:30:36dom96then maybe you should call the property "getProperty"?
17:31:02FromGitter<brechtm> @dom96 What is this, Java? ;-)
17:31:43dom96Nope, but since you're subclassing anyway... :P
17:32:17demi-dom96: last night i rebooted my instance of jester because it reached ~1GB of memory used
17:32:25FromGitter<brechtm> @dom96 I don't have to like Java just because I think OOP is useful.
17:32:34dom96demi-: Try --gc:boehm or --gc:markandsweep
17:32:39demi-I think this is on ~2 weeks of running a 100% static content site
17:33:04Xedemi-: wat, link to your code?
17:33:33demi-Xe https://github.com/samdmarshall/pewpewthespells-com/blob/master/ritual.nim
17:34:20demi-I haven't written anything other than the static content portion yet, haven't had the time to do things i would like to use jester for beyond support the site i was hosting originally
17:34:31Xedemi-: you know about the public/ folder in jester, right?
17:34:37demi-nope
17:34:54Xehttps://github.com/dom96/jester#static-files
17:35:26Xealso
17:35:30demi-ugh, that is what i am doing?
17:35:37Xepretty much
17:35:52demi-yeah, and?
17:36:10Xedo you get a leak with that?
17:36:20Xeactually
17:36:22Xesec
17:36:29demi-do you want to re-read what i said
17:37:00demi-i'm literally using the thing you just suggested i use, and i'm talking about the overall memory usage after 2 weeks of it running
17:38:43Xeah
17:38:45Xeyeah
17:38:48Xehmm
17:38:53Xehow many hits are you getting?
17:40:23dom96I don't think that matters really. There must be a leak somewhere in the async implementation.
17:40:43Xei'm hammering a jester sample app serving a static file under valgrind
17:40:49dom96or a problem with the default GC
17:42:42demi-dom96's right, the # of hits should be completely irrelevant here; i can try building it with another GC algo and see how it fairs after another week or two, is there a particular one of the two you suggested that i should try first?
17:43:02dom96boehm I guess
17:44:21demi-ok
17:44:53Xeboehm is at least making jester reply faster
17:45:16*shashlick quit (Ping timeout: 260 seconds)
17:45:49*shashlick joined #nim
17:47:23demi-is there a way to pass that flag to the compiler from `nimble build`?
17:51:14demi-nvm, just added my own nim.cfg locally to do it
17:54:22*couven92 quit (Quit: Disconnecting)
17:59:19*brson quit (Quit: leaving)
18:02:35*dddddd joined #nim
18:05:37*Nobabs27 joined #nim
18:39:46*Vladar joined #nim
18:40:11*BitPuffin|osx quit (Remote host closed the connection)
18:42:20*rauss quit (Quit: WeeChat 1.7)
18:42:42*rauss joined #nim
18:58:43ldleworkhi ftsf
19:07:09*Matthias247 joined #nim
19:37:49FromGitter<pabclsn> hi guys
19:38:01raussHi
19:40:19zachcarterHello
19:40:34dom96hi
19:41:37FromGitter<pabclsn> Little question for you, do you use nim on atom ?
19:42:34zachcarterI use VS Code
19:42:38zachcarterworks well
19:42:45FromGitter<pabclsn> on Mac ?
19:42:55zachcarteryup
19:43:07zachcarterhttps://github.com/fragworks/frag
19:43:13zachcarterI have some gifs there at the bottom of the readme
19:43:19zachcarterand you can see VS code in the background
19:43:20FromGitter<pabclsn> ok thanks :)
19:43:26zachcarternp!
19:48:24FromGitter<TiberiumPY> I use Vscode too
19:51:21zachcarterman running Java applications in intellij makes my laptop run pretty much as hot as when I’m running an application that is GPU intensive
19:54:47AraqNatssirt: proc countProcessors*(): int {.rtl, extern: "ncpi$1".} =
19:54:47Araq when defined(windows):
19:54:47Araq var x = getEnv("NUMBER_OF_PROCESSORS")
19:54:47Araq if x.len > 0: result = parseInt(x.string)
19:55:09Araqand the DLL has perhaps no access to environment variables
20:01:01*yglukhov joined #nim
20:10:28*nsf joined #nim
20:13:18*yglukhov quit (Remote host closed the connection)
20:17:25*Tiberium joined #nim
20:19:57Tiberiumzachcarter, but honestly I like PyCharm (python ide based on intellij platform).. But with nimsuggest it's actually possible to build something like PyCharm, but in VSCode, for example, I can't have intellisense-like feature
20:20:14Tiberiumfor example if you know proc name, but you forgot where it's from
20:20:26krux02I know intellij for scala programs
20:20:29krux02it was nice
20:20:42zachcarterI think Java probably has the best IDE tooling
20:20:47zachcarterbut it still makes my laptop run extremely hot :P
20:20:54krux02but I only had 4GB of ram
20:21:05krux02one GB minimum for intellij
20:21:16krux02one GB minimum for sbt (scala build tool)
20:21:23zachcarterlol
20:21:24krux02one GB for the browser
20:21:27zachcartercutting it close there
20:21:46krux02my program was not allowed to use a lot of resources
20:21:51FromGitter<Varriount> I love PyCharm/IntelliJ for their refactoring capabilities, but their memory footprint is horrible.
20:22:01krux02and considering the fact that my program was a scala program it was memory hungry, too
20:22:05zachcarteragreed Varriount
20:22:45Tiberiumyeah, they're great for PC's
20:23:07Tiberiumfor example I have i5 4460 and 8 gigabytes of ram, it's enough to run pycharm without lags :)
20:23:14Tiberiumbut yeah, on laptops this IS a problem
20:23:20krux02I like this concept from the company https://www.jetbrains.com/mps/
20:23:22zachcarterthis is a beefy laptop too
20:23:29zachcarterit’s what develop frag on
20:23:50krux02it's a parser free programming language development tool
20:23:55zachcarterpretty neat
20:24:02krux02those languages are the future
20:24:20krux02get rid of the parser,get rid of parser errors and invalid syntax trees
20:25:37krux02I think that as soon as we have one language established that works this way, we won't ever go back to text based programming languages
20:25:52krux02it's like point and click adventures, they also got rid of th parser
20:26:47demi-look at what unreal development tools do, their visual programming language stuff is really awesome
20:26:48krux02by the way, I develop my opengl-sandbox mostly on my laptop, too
20:27:09zachcarterand not as efficient as writing your own native code
20:27:14*yglukhov joined #nim
20:27:15krux02software rendering because the gpu doesn't do opengl 3.3
20:27:32zachcarteryou pay for performance with the abstraction
20:28:02Araqas long as new programmers are indoctrinated to think Unix comes with a "philosophy", it's just not gonna happen
20:28:17krux02there are a lot of talks in c++ conferences with zero cost abstractions
20:28:23krux02in rust, too I think
20:28:26krux02but that is a lie
20:28:37krux02there is a cost to it, it is just a pure compile time cost
20:28:54FromGitter<Varriount> Araq: I see Unix as a collection of tools that just happen to work together.
20:28:59zachcarterwell I meant in the case of UE4’s visual scripting stuff
20:29:44Araqvarriount: I think it's a bad system that is unfixable because it turned into a religion
20:29:44krux02zachcarter, I never worked with UE4, but I do know the node editor from blender
20:30:12zachcartersimilar concept except you’re writing gameplay code with nodes
20:30:16Araqand no amount of evidence is gonna convince these zealots.
20:30:19krux02Araq, I think the system on windows is broken
20:30:37krux02but there is little benefit in arguing about it
20:31:03krux02it is just annoying when you need to support both platforms equally at the same time
20:31:21Araqkrux02: Windows is not copied over and over again, because we all know about its many weaknesses.
20:31:36AraqRust people write a new OS, guess what it is ... it's a Unix. That's the problem.
20:33:02krux02well, I don't have a problem with the way unix works, and I also think it is not really worth getting gray hair about why it is this way, it just is and it works somehow for a lot of people.
20:33:14krux02That doesn't mean it can't be better
20:33:15FromGitter<Varriount> Araq: I've had an eye on Minoca
20:33:41*yglukhov quit (Remote host closed the connection)
20:34:38Araqit can be much better and people lose millions of dollars with this crap. Sure, riding a horse works ... if you have never used a car.
20:35:17*yglukhov joined #nim
20:36:14ehmry[m]I heard horses are self-driving
20:36:38krux02yea no druk driving with horses
20:36:55FromGitter<Varriount> ehmry[m]: To a certain extent. It takes some doing to crash a horse into another horse.
20:36:56krux02you can get completely wasted and the horse get's you home whele you sleep on it
20:37:08FromGitter<Varriount> Araq: But it's hard to envision a car if you've never seen one before.
20:37:09ehmry[m]they use renewable energy too
20:37:21krux02and poop on the street
20:37:25zachcarterhttps://www.youtube.com/watch?v=yAt6rtX0TI8
20:37:30Araqyou get my point and it's pointless to argue about it since we all know you don't ride on a horse to work.
20:37:47krux02well I ride on a bike to work
20:37:52krux02a horse is too expensive
20:38:22Araqhorses smell, are slow and cannot carry much.
20:38:48krux02humans smell, too
20:39:18ehmry[m]I'd feel bad making a horse carry me around yet have to wait outside
20:39:19*SusWombat quit (Read error: Connection reset by peer)
20:39:28krux02I think the biggest disadvantage to horses are, that they need a lot of space and time
20:40:42krux02but anyway I think I have too much fun arguing about the advantages of horses
20:40:56ehmry[m]unix takes too much time
20:41:08*SusWombat joined #nim
20:41:26krux02ehmry[m], windows is not better
20:43:10*yglukhov quit (Remote host closed the connection)
20:43:31ehmry[m]more time than I want, but not enough to regress to windows
20:43:44krux02windows is horrible because it's locks you in. Once you rely on the fact that you have windows, microsoft can do anythig with you, you can't replace windows with another operating system
20:43:55*SusWombat quit (Remote host closed the connection)
20:44:06Nobabs27agree with ehmry and krux
20:44:19*SusWombat joined #nim
20:44:55federico3[insert comment about plan9]
20:45:01Nobabs27LOL
20:45:06krux02In the linux world, I had the experience that Ubuntu was doing shit I never asked for and I never wanted. Then I did distro hoppig
20:45:06Nobabs27are they still even active?
20:45:13krux02try to do that in the windows world
20:45:13FromGitter<Varriount> krux02: But that's just an artifact of proprietary software. Not the architecture of Windows itself.
20:45:21demi-indeed
20:45:24krux02go from windows 7 to windows 10?
20:45:31krux02not that many options
20:46:15krux02Varriount: I disagree, the problem is that in windows platform, the API and all that stuff is proprietary tied to the platform, too
20:46:18TiberiumI have a dual-boot of Manjaro and Windows 10, and mostly reboot to Win 10 because of... games
20:46:37Tiberiumand most of the time I use manjaro
20:46:48Nobabs27Windows is a product of not caring imo, that's without mentioning the other smaller issues
20:46:58krux02windows should be like OpenGl, once you have the software, you can replace the proprietary implementation, and things for the most part still work
20:47:13krux02there should be an alternative windows
20:47:24krux02I don't care if it is open soruce or not
20:47:30Tiberiumkrux02, it would be too hard to do in modern days
20:47:34FromGitter<Varriount> Uh..
20:47:40demi-varriount, do you use irc->gitter for anything else? that doesn't seem to be working for me correctly
20:47:55ehmry[m]there is ReactOS, but last I checked I wasn't sure if it did USB
20:48:09krux02I agree that it might be impractical to implement, but my answer to that is, then it is impractical for me to use windows
20:48:14Tiberiumehmry[m], well, we have a russian community of reactos
20:48:25Tiberiumsince there are many reactos devs from russia
20:48:28Nobabs27lol I tried reactos the other day
20:48:35krux02never put yourself is a 100% dependency of a single company
20:48:41Nobabs27I don't think you can install it, it's just a live cd
20:48:43krux02it makes you dependent of that company
20:48:48TiberiumNobabs27, you can actually
20:48:48Nobabs27agreed
20:48:58Tiberiumbut you can't use almost everything
20:49:02ehmry[m]lol, a least microsoft makes money, that kind of novel
20:49:04demi-krux02: if only we could all be as good as you about that :)
20:49:04Tiberiumthere's even no PPPoE
20:49:05FromGitter<Varriount> https://en.wikipedia.org/wiki/ReactOS
20:49:10Nobabs27hm well from the googling I did they didnt seem to encourage that
20:49:21Tiberiumyeah
20:49:30FromGitter<Varriount> demi-: What do you mean?
20:49:40krux02ReactOS is very new
20:49:42dom96hehe, nothing like an operating system discussion to make the channel active.
20:49:51Nobabs27yes yes
20:49:52krux02I am even impressed that it has a graphcial desktop
20:49:57Tiberiumhttps://www.reactos.org/gallery but it can run some programs already
20:50:00Tiberiumkrux02, it's not new btw :)
20:50:10Tiberiumroughly
20:50:20TiberiumInitial release 1998; 19 years ago
20:50:23demi-varriount, i'm signed into gitter using the irc bridge and i'm not getting any new messages via my IRC client but I keep getting notified about it via email, sign in through the web interface and there is a bunch of stuff i haven't seen.
20:50:48Tiberiumdemi-, you just get notified because of new messages in gitter
20:50:51Tiberiumyou can unsubscribe
20:50:52ehmry[m]I've saw a ReactOS obligatory DOOM demo at FOSDEM once
20:50:59demi-Tiberium: that isn't the problem
20:51:10demi-the problem is that i'm not seeing those messages in my IRC client
20:51:44Tiberiumdemi-, well, how?
20:51:46krux02oh I was confusing reactos with redox-os
20:51:54Tiberiumkrux02, what is it?
20:52:03Tiberiumah I see
20:52:04*dexterk_ quit (Read error: Connection reset by peer)
20:52:28Nobabs27first time ive ever heard redox mentioned since I found it
20:52:28*dexterk_ joined #nim
20:52:29*dexterk_ quit (Read error: Connection reset by peer)
20:52:37Araqand after the distro hopping you go back to Windows and enjoy the fact your printer works again, your soundcard doesn't break randomly after an OS update and you can play all the nice games
20:52:49ehmry[m]quick, someone execute Nim on reactos
20:52:49demi-Araq: heheh
20:53:05Nobabs27actually the printer works for me, and my soundcard is find :\
20:53:10Araqand you can do GPU programming without going nuts about driver problems
20:53:35krux02Araq, well no I don't I don't have windows and just accepted I can't play some games
20:53:43TiberiumAraq, yeah, I have a problem like this - I can't use two monitors (one plugged into dedicated gpu, second plugged in integrated gpu) without problems
20:53:57TiberiumSo I use an adapter, so in linux I have two monitors plugged in dedicated gpu
20:53:58krux02I mean I also can't play games that are exclusive to consoles I don't own, and I also don't whine about that
20:54:05Tiberiumwhile in windows I can separate them
20:54:21Nobabs27games that only work for Windows means the devs chose Windows specific software, if you write it on something else then it's open source and cross platform :)
20:54:42TiberiumNobabs27, there are lazy devs
20:54:44Tiberiumfor example
20:54:51Nobabs27yeah
20:54:57Araqit's also a strength you don't waste your time anymore on all these different window managers and UI toolkits :P
20:54:59Tiberiumthey do game in "unity 3d", but they're too lazy to compile it for linux
20:55:15Araqyeah, that's what you think. "too lazy"
20:55:16ehmry[m]binary releases for linux stop working after a while, if you can get them to run at all
20:55:17krux02cross platform for games is not that hard, just do the rendering in OpenGL and the other stuff in SDL
20:55:19krux02done
20:55:26Nobabs27but a window is a window regardless of your DE/WM tho?
20:55:31TiberiumAraq, unity3d is cross-platform
20:55:36Araqhere in the real world, you have to *support* this shit.
20:55:39krux02tha will not gave you mac support, because mac drivers for opengl suck
20:55:44ehmry[m]or atleast all the Loli games are probably incompatible now
20:55:45ehmry[m]*Loki
20:55:55Araqcompiling is easy enough
20:56:01Araqbut support will kill you.
20:56:14krux02I doubt it
20:56:37krux02sdl2 works really well on linux
20:56:47Araq"Oh I'm using bazooka Linux with Muslim C library and cannot run your game"
20:56:56TiberiumLMAO
20:56:57krux02the only thing some developers just screw up is that they don't provide a 64bit binary
20:56:59demi-krux02: you keep saying this, but i think what you mean is that the openGL drivers on mac are stable
20:57:01ehmry[m]yea, I've been there
20:57:05Tiberiumkrux02, but not unity3d
20:57:13Tiberiumit's proprietary and contains custom mono fork
20:57:32Tiberiummono fork is open-source, yeah
20:57:46Nobabs27...couldnt you just install the right c library for the dependency ?
20:58:17Tiberiumbtw, how to silence "Hint: Processing startBot as an async proc." hint?
20:58:35krux02demi-, https://www.g-truc.net/doc/OpenGL%204%20Hardware%20Matrix.pdf
20:58:46Tiberiumah, nvm
20:58:50Tiberium--hint[User]:off
20:58:51krux02demi-, the newest opengl version for mac is 7 years old
20:59:03Nobabs27LOL
20:59:09Nobabs27I didnt know that but xD
20:59:11demi-krux02: and i don't see the opengl org actively producing and selling hardware?
20:59:54krux02demi-, the "opengl org"?
21:00:20krux02I don't know what you mean
21:00:53Tiberiumwait
21:00:56Tiberiumis this really try?
21:01:00Tiberium*true
21:01:04TiberiumOpenGL 4.5 MacOS X 0%
21:01:13demi-khronos
21:01:14krux02Tiberium, yes
21:01:23Tiberiumkrux02, how to install latest opengl then?
21:01:40Tiberium(just asking, I don't own any apple products)
21:01:45krux02demi-, khronos group is not a manufacturer
21:02:03krux02even if they were I don't get the argument
21:02:44demi-apple creates their own hardware, so i don't understand your fabricated point about lacking support for something when they are the experts on the hardware they are running it on
21:03:04krux02Tiberium, even 4.1 isn't reliable
21:03:19*bjz joined #nim
21:03:25krux02using any hardware feauters of the last 7 years on apple? forget it
21:03:31Tiberiumdemi-, but if some game depends on opengl 4.5, and developer want to port it to MacOS?
21:03:57krux02even if the hardwar provides the features, the drivers don't expose them, because they are shit
21:04:35demi-then they go to one of the porting houses and they work with the constraints of the system? i don't know why your primary argument here revolves around games when that is trivial to running an OS
21:05:40demi-if you want to just bicker about supported version then sure, go right ahead. i was merely making the point that they own the entire stack and might have a better clue as to what is stable than you do :)
21:06:07krux02demi-, well apple buys hardware from manufactures, they have nvidia GPU's (I think), therefore they could just ask "hey nvidia, give us a driver" and they would probably say "yea here it is, it's free"
21:06:25*Vladar quit (Quit: Leaving)
21:06:40krux02demi-, I know the motivation of apple
21:06:52krux02apple is not interested in cross platform ports to apple systems
21:07:26krux02they want people to develop on apple be involed in apple and therefore care more about apple products when they develop for them
21:07:40krux02that's why they came up with metal API
21:07:46krux02an API nobody needs
21:07:58Tiberiumit sounds like a windows os
21:08:08demi-krux02: ok, i'm done discussing this since you seem pretty set on what you know and understand and not willing to listen to me on it
21:08:19Nobabs27aka the apple ecosystem
21:09:08krux02demi-, I did not get whet you meant with "when that is trivial to running an OS"
21:09:21krux02my knowledge is about GPU programming
21:09:35krux02primarily about OpenGL programming
21:09:58demi-ok, my knowledge is about GPU programming, OpenGL, and the entirity of the OS X operating system and hardware 
21:11:21krux02The argument is that since 2010 a lot of bugs got fixed that help to improve the speed to develop 3D content in OpenGl, but as soon as you go on apple, you have to reintroduce all those workarounds that you thought you would never need anymore, just because it's apple. That is my frustration about it.
21:11:47demi-ok, and that is perfectly valid
21:13:19demi-but apple doesn't care about your stuff, they care about their stuff and whatever benefits their ecosystem; which isn't upgrading what version of OpenGL they ship because they don't want to invest in validating the stability of any new version of OpenGL against all of their hardware (on mac, iOS, and their TV and watch products)
21:13:44Nobabs27^^^^^^^ the first part
21:13:57demi-unless it impacts their bottom line, which it wont.
21:14:08Nobabs27^
21:14:16demi-games are such a tiny market compared to the amount of money they make from selling hardware
21:14:26Nobabs27^
21:14:27ldleworkI just realized you wrote frag
21:14:30ldleworkoops
21:14:33ldleworkwas scrolled up
21:14:43demi-so making games run fast with newer versions of OpenGL is absolutely bottom of their list of priorities
21:15:10Nobabs27^
21:15:33dom96Why do you consider games to be such a tiny market?
21:15:37demi-this is what i was talking about when i was saying it is trivial to the task of supporting an OS, which they have at least 4 variants of darwin that run a version of opengl
21:15:57demi-dom96: i said it was tiny compared to their hardware sales, not that on its own it is tiny
21:16:21krux02apple doesn't do games, but that doesn't mean they shouldn't care
21:16:24ldleworkI thought that the games industry is bigger than movies and television now
21:16:30ldleworkcombined
21:16:51Nobabs27not big for apple tho?
21:17:04ldleworkOh sorry, I'm out of my element
21:17:22krux02apple is really not the compure for people who care about playing games
21:17:29dom96In any case, I've used all 3 OS' for extended periods of time.
21:17:46Nobabs27same actually
21:17:46zachcarterI’ve used all three as well
21:17:49dom96I've spent far too much time dealing with issues on Linux.
21:17:54Nobabs27my first computer was a Mac
21:17:56zachcarterI like developing on OSX the best
21:18:04zachcarterthen windows
21:18:05zachcarterthen linux
21:18:07Nobabs27ironically all I did was play games on it tho xD
21:18:15krux02I think I remember once that steve jobs announced that apple had a play station emulator and their mac could therefore play all play station games
21:18:33Araqlol what?
21:18:36*gangstacat quit (Quit: Ĝis!)
21:18:58ehmry[m]I only use linux but I hate it, linux needs a more critical community, or something
21:19:27dom96Windows is okay, but the command line is still a pain to use.
21:19:28Nobabs27I could partially agree with that
21:19:37dom96So yeah, I think OS X is also my favourite.
21:19:37Nobabs27The theme of "RTM" is very strong with Linux
21:19:40krux02I think the community of Linux users is big enough, it is just very fractured
21:19:51*Jesin quit (Quit: Leaving)
21:20:33ehmry[m]meh, its a 40 year old OS with an unimaginable amount of crap bolted on
21:20:35Nobabs27just wondering, what distros have you tried that you hates?
21:20:58zachcarterUbuntu has major linking problems
21:21:02zachcarterArch is better
21:21:08Nobabs27what about Nix?
21:21:15Araqall Oses are shit but there simply is no software that I need that would be only for Linux or only for Mac, so I use Windows. ;-)
21:21:26Nobabs27havent tried it but it's supposed to be god in terms of installing everything of every version
21:21:29ehmry[m]nixos is my favorite, but I need /usr for work :(
21:21:36zachcarterhaven’t tried it
21:21:53Araqcan't think of any application that is OSX specific and after my taste
21:22:02*vlad1777d quit (Remote host closed the connection)
21:22:05Nobabs27I wonder could you keep /usr and still have all the "stores" ?
21:22:23ehmry[m]I use arch but with nix packages, it works well
21:22:26zachcarterdoes NixOS have a GUI?
21:22:36Nobabs27just install a gui
21:22:42zachcarterokay
21:22:44ehmry[m]except that stupid arch part takes so much time
21:22:45krux02Araq: with that argument Linux is probably always the looser
21:22:54Nobabs27i think its like arch - they have what you need in the repos
21:23:02zachcartergotcha
21:23:09zachcarterI’ll have to try frag out with nixos
21:23:27ehmry[m]zachcarter: try it, its worth it
21:23:37krux02is nixos this config file os?
21:23:44ehmry[m]yep
21:23:45zachcarterwill do so thank you for the suggestion
21:24:06ehmry[m]the problem is crap like npm isn't going to work without a monstrous amount of effort
21:24:18Araqkrux02: I would consider to run it as a server, but I don't run servers
21:25:04krux02I would never run windows as a desktop anymore
21:25:05*Jesin joined #nim
21:25:19Nobabs27I wouldnt run it as a main OS
21:26:02Nobabs27I would run something slightly obscure, preferable that no one or very few people have has heard of
21:26:23AraqOberon?
21:26:28Nobabs27tLOL
21:26:41krux02I heared microsoft is not only autoinstalling bloatware such as candy crush it also puts adds in the file browser
21:27:14Nobabs27hm I havent seen ads on the file browser
21:27:20Nobabs27and I used Windows 10 yesterday
21:27:44krux02Nobabs27, yea it's very hidden you don't recognize it as advertizement
21:27:58krux02I already saw minecraft advertisement in the start menu
21:27:58Nobabs27...then who would pay for it?
21:28:30krux02https://cdn0.vox-cdn.com/thumbor/d0qHomN5a2tBgrhHmzcCx9NLBM8=/1000x0/filters:no_upscale()/cdn0.vox-cdn.com/uploads/chorus_asset/file/8174157/file_explorer_ads.png
21:28:56ehmry[m]Nobabs27: cough genode cough
21:29:07*rauss quit (Quit: WeeChat 1.7)
21:29:15Nobabs27ah i get it
21:29:59krux02https://cdn0.vox-cdn.com/thumbor/2d5VpT8-dB83ju0HlkToGU_ZD6I=/0x332:4032x3020/1120x747/filters:focal(0x332:4032x3020):format(webp)/cdn0.vox-cdn.com/uploads/chorus_image/image/50286553/chromenotification.0.0.jpg
21:30:02Nobabs27I actually have that I think in my list of all know OS's
21:31:08Tiberiumhmm, why it's throwing an error?
21:31:08Tiberiumhttps://glot.io/snippets/eoii1gbsul
21:31:28Tiberiumwhile compiling locally it gives "lib/pure/asyncmacro.nim(19, 10) Error: index out of bounds"
21:31:40ehmry[m]there is a PR for Nim support
21:32:16Tiberiumsome bug in compiler or I've done something wrong?
21:33:26Tiberiumfixed imports: https://glot.io/snippets/eoii3v96vs
21:34:57Tiberiumerrors is going away, if I remove try: except: and just return value from try block
21:44:26*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:49:52dom96Tiberium: Small request: please use gist. Glot.io's code window is too small.
21:49:58Tiberiumdom96, ah, ok
21:50:18Tiberiumhttps://gist.github.com/TiberiumN/a9fabd247197f378616564a78e496615
21:50:33*chemist69 quit (Ping timeout: 258 seconds)
21:50:39ldleworkWhat does * after a method or type name mean?
21:51:13ehmry[m]ldlework: export outside the module
21:54:36dom96Tiberium: The 'async' macro tries to transform try statements with 'await' in them, I guess it's failing in this case, please report it.
21:55:00Tiberiumdom96, but in my example there's no await in try statement
21:55:07dom96I know
21:55:22ldleworkah
21:55:30dom96The detection must be messed up too
21:56:20*SusWombat quit (Remote host closed the connection)
21:57:46*SusWombat joined #nim
21:58:09*SusWombat quit (Client Quit)
22:05:06Tiberiumdom96, I'll report it, ok. question about yield: if I do "let quality = await something(); yield quality;" how can I get result of something() call?
22:05:11TiberiumI use yield for error check
22:09:14Tiberiumah, complete?
22:10:42Tiberiumah, read :D
22:11:11*PMunch joined #nim
22:13:24dom96read indeed
22:13:40dom96and yeah, you should be using it instead of wrapping the 'await' inside a 'try'
22:14:27*SusWombat joined #nim
22:17:23*chemist69 joined #nim
22:18:41FromGitter<TiberiumPY> @Varriount I've checked - yes, downloading file to memory and then sending it to another URL via formdata WORKS
22:24:01*SusWombat quit (Remote host closed the connection)
22:33:17Tiberiumcan I check what causes the reason of blocking my app for some seconds? my app is async; it's happening in a module which gets an url from web api (using await), then downloads it, and uploads it to another URL (using asynchttpclient)
22:36:22*rauss joined #nim
22:37:04TiberiumI'm awaiting proc, so I suppose execution of main branch must continue, but it doesn't
22:39:55*SusWombat joined #nim
22:40:14*nsf quit (Quit: WeeChat 1.7)
22:44:46*bjz joined #nim
22:45:10*fastrom quit (Quit: Leaving.)
22:45:18*SusWombat quit (Remote host closed the connection)
22:46:43*SusWombat joined #nim
22:48:14*rokups joined #nim
22:48:33*SusWombat quit (Client Quit)
22:53:23*SusWombat joined #nim
22:54:46Tiberiumhow to make my app really unblocking?
22:55:22Tiberiumso if I execute some plugin (which maybe does some http request, json parsing), I could pull other events?
22:55:35*Tiberium quit (Remote host closed the connection)
23:00:39*SusWombat quit (Remote host closed the connection)
23:05:25*SusWombat joined #nim
23:55:19*chemist69 quit (Ping timeout: 246 seconds)
23:58:46*chemist69 joined #nim