<< 29-08-2020 >>

00:05:18*synshroud quit (Quit: ZNC 1.7.5 - https://znc.in)
00:05:34*synshroud joined #nim
00:14:18*bung joined #nim
00:14:26*vicfred joined #nim
00:38:23*bunbunbunbunny joined #nim
00:40:19FromDiscord<Clyybber> bung: I think theres also an --index option
00:42:02bozaloshtshanyone have any examples of a karax app that generates SVGs inside the DOM?
00:42:58bozaloshtshtrying to add SVGs to mine but they just don't show up. I even hacked around karax's toDom() function to get it to set the namespace on SVG elements correctly.
00:47:37FromDiscord<Varriount> Is the SVG present in the HTML?
00:47:46bozaloshtshyes.
00:47:55*synshroud quit (Quit: ZNC 1.7.5 - https://znc.in)
00:48:28bozaloshtshI'm playing around with the web inspector in chrome and all of the SVG elements are there, exactly as they should be.
00:48:54bozaloshtshI even copied some SVGs from random websites and pasted thm into the DOM (via the inspector) and those worked too.
00:49:09FromDiscord<Varriount> Hm, then why wouldn't they be displaying? CSS? Invalid SVG?
00:49:51bozaloshtshIn my inspector, I just right clicked my SVG element (not showing up), copied its HTML, and pasted it into a nearby tag and it shows up fine.
00:49:56bozaloshtshso I'm pretty sure it's valid SVG
00:50:10FromDiscord<Varriount> Hm, then is the parent hidden?
00:50:14*synshroud joined #nim
00:50:15bozaloshtshand yeah, I checked CSS too everything is shown
00:50:23FromDiscord<Varriount> Z Index?
00:50:28*bung quit (Ping timeout: 258 seconds)
00:50:28bozaloshtshyep yep, all that
00:50:42bozaloshtshwill check again for sanity though
00:51:11FromDiscord<Varriount> I'm not a web developer, so that's where my knowledge ends.
00:51:33FromDiscord<Varriount> What happens if you replace the SVG element with something else, like an input?
00:51:36bozaloshtshyeah, I don't think anyone will really be able to help here unless they have a working SVG example
00:51:39bozaloshtshthen it shows up fine
00:52:17FromDiscord<Varriount> Is this something I could download and reproduce?
00:52:36bozaloshtshI can try to make it so, give me 5 mins
00:54:47bozaloshtshVarriount: https://hastebin.com/fevimoyoyo.nim <-- works with karun
00:55:11bozaloshtshopen up the HTML file, then in the inspector right click the SVG element, copy as HTML, then paste it into a different element and it will work fine
00:55:23bozaloshtshI AM a web developer and this totally stumps me :p
00:56:17bozaloshtshI suspect the solution is here, and I didn't implement it properly with my original hack http://xahlee.info/js/js_scritping_svg_basics.html
00:57:24bozaloshtshthe hack (patch) https://hastebin.com/buzabajawu.diff
01:11:03*bunbunbunbunny quit (Quit: Lost terminal)
01:17:16*bung joined #nim
01:23:11*arecacea1 quit (Remote host closed the connection)
01:23:45*arecacea1 joined #nim
01:35:40*jwm224 quit (Ping timeout: 246 seconds)
01:37:55*apahl quit (Ping timeout: 240 seconds)
01:38:05*synshroud quit (Quit: ZNC 1.7.5 - https://znc.in)
01:38:21*synshroud joined #nim
01:40:11*apahl joined #nim
01:42:58*jwm224 joined #nim
01:45:04*bung quit (Ping timeout: 240 seconds)
01:45:30*Jesin quit (Quit: Leaving)
01:51:27*Jesin joined #nim
01:59:08*ptdel joined #nim
01:59:56*synshroud quit (Quit: ZNC 1.7.5 - https://znc.in)
02:00:10*synshroud joined #nim
02:07:30*bung joined #nim
02:11:25*audiofile quit (Quit: Default Quit Message)
02:21:42*muffindrake quit (Ping timeout: 260 seconds)
02:23:29*muffindrake joined #nim
02:31:29*ptdel quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
02:38:42*ForumUpdaterBot quit (Remote host closed the connection)
02:38:49*ForumUpdaterBot joined #nim
02:45:49FromDiscord<impbox> strictFuncs looks good! It's how I imagined they would work
02:46:01*synshroud quit (Quit: ZNC 1.7.5 - https://znc.in)
02:46:20*synshroud joined #nim
02:50:09FromDiscord<Kaynato> If it's fine to ask, what would be a good recommended resource for writing a nim binding to a c interface to a relatively large c++ project, for a first-timer? I'm trying to get a grasp of how I should start but I'm completely lost already
03:00:57FromDiscord<impbox> @Kaynato Nim In Action has a section on it https://livebook.manning.com/book/nim-in-action/chapter-8/37
03:05:47*Tanger quit (Ping timeout: 240 seconds)
03:06:55*bung quit (Ping timeout: 240 seconds)
03:08:27*sagax quit (Remote host closed the connection)
03:10:04FromDiscord<Kaynato> Mm, I've been looking at that but still pretty lost on what I'm supposed to do (wrapping the C interface of Diligent Engine) - as far as I follow, what it ultimately comes down to is importing the methods present in the relevant header files and binding them with compatible datatypes - but all I can see so far are layers of indirection with vtables everywhere and not an exposed function in sight
03:11:35FromDiscord<Kaynato> It looks like the build produces dlls for appropriate graphics engine backends, which I could dynamically link (on windows only) and *.a files (which, could I link statically via --passL?)
03:28:11shashlick@Kaynato do you know how to use the library
03:28:24shashlickLike the top level C headers
03:28:50shashlickI can give you some tips with wrapping then
03:29:09FromDiscord<Kaynato> Diligent itself? No, this is the first time I've really taken a look at it
03:29:24FromDiscord<Kaynato> I'm struggling to find where the entrypoint is in the C interface example
03:33:48FromDiscord<Kaynato> Looking at https://github.com/DiligentGraphics/DiligentSamples/blob/master/Tutorials/Tutorial03_Texturing-C/src/Tutorial03_Texturing.c
03:34:04FromDiscord<Kaynato> Headers accessible from C interface seem to be in two main groups: first https://github.com/DiligentGraphics/DiligentCore/tree/master/Primitives/interface
03:34:27FromDiscord<Kaynato> second https://github.com/DiligentGraphics/DiligentCore/tree/master/Graphics/GraphicsEngine/interface
03:35:34shashlickYou need to know two things - which headers your care about for your code and what defines you need to set
03:37:17FromDiscord<Kaynato> I've been working backward from the example (tutorial3), seeing which heads it imports, defines in those headers and etc. I take it I should also look for defines specified by build script(s?)
03:37:19FromDiscord<Kaynato> (edit) 'script(s?)' => 'script(s)'
03:37:21FromDiscord<Kaynato> (edit) 'script(s)' => 'script(s)?'
03:38:04shashlickNot the build scripts but what they ask users to set
03:38:19shashlickLike if you want to pick opengl or stuff like that
03:38:23shashlickThere might not be any
03:38:38shashlickWhich os are you working on
03:41:07FromDiscord<Kaynato> seems the choice of backend is set in program via engine initialization choice, with some headers provided to automatically do all of it for the main backends
03:43:53shashlickOk like one you tried toast
03:44:06shashlickWhat did you try and the output
03:45:24FromDiscord<Kaynato> I've tried all of the headers in primitive, and the output was empty
03:48:29FromDiscord<Kaynato> There's probably something wrong with my toast installation..?
03:50:14FromDiscord<Kaynato> Ok, you know what, it's probably not unreasonable to just go and try my hand at porting Diligent entirely to nim. Ok. Alright.
03:52:47shashlickWhat did you try, I can try locally
03:53:01shashlickLinux?
03:55:39FromDiscord<Kaynato> I am on windows using msys
03:56:29shashlickokay - i ran on linux with toast -pnkr and got some output
03:56:52FromDiscord<Kaynato> Ah, the flags are required?
03:56:59shashlickhttps://github.com/DiligentGraphics/DiligentCore#api-basics
03:57:08shashlickyou got to tell it to do something
04:01:11*bung joined #nim
04:01:42shashlickwhat engine do you plan using on windows
04:03:14FromDiscord<Kaynato> Probably Vulkan? Wouldn't it not be too much a hassle to let it be configurable, since it can be done via dynamic linking?
04:05:17shashlicki don't think you'll have much luck with toast at least on the high-level headers
04:05:35*bung quit (Ping timeout: 258 seconds)
04:05:43shashlick```"EngineFactoryD3D11.h" "EngineFactoryD3D12.h" "EngineFactoryOpenGL.h" "EngineFactoryVk.h"```
04:06:01*supakeen quit (Quit: WeeChat 2.9)
04:06:19shashlickcause all the procs in them are #define macros which toast doesn't support yet
04:06:33shashlickif there's other stuff, it should work - like in primitives
04:06:38*supakeen joined #nim
04:06:44shashlickbut again, it's important to know what you need to use before wrapping
04:08:05FromDiscord<Kaynato> More or less what I'm experiencing too - though even going through the files I noticed something really strange what with Object.h not even having `IReferenceCounters` defined in itself or its imports when DILIGENT_C_INTERFACE is defined
04:08:15FromDiscord<Kaynato> Which is just... particularly strange?
04:43:49FromDiscord<Kaynato> Ok, I seem to be making progress now, the ones that had issues were apparently just internal headers.
04:46:24*waleee-cl quit (Quit: Connection closed for inactivity)
04:51:28shashlickokay have fun
04:57:57*rayman22201 quit (Ping timeout: 240 seconds)
04:59:14*rayman22201 joined #nim
05:01:32*njoseph_ joined #nim
05:01:34*kwilczynski quit (Ping timeout: 240 seconds)
05:01:34*njoseph quit (Ping timeout: 240 seconds)
05:03:56*mal`` quit (Ping timeout: 240 seconds)
05:04:25*euantorano quit (Ping timeout: 264 seconds)
05:04:26*pangey quit (Ping timeout: 240 seconds)
05:04:45*kwilczynski joined #nim
05:04:51*pangey joined #nim
05:06:25*kitech1- quit (Ping timeout: 240 seconds)
05:06:26*zedeus quit (Ping timeout: 240 seconds)
05:06:44*euantorano joined #nim
05:06:56*rakgew[m] quit (Ping timeout: 240 seconds)
05:07:02*rakgew[m]1 joined #nim
05:07:36*kitech1 joined #nim
05:09:04*zedeus joined #nim
05:09:28*mal`` joined #nim
05:11:23*kwilczynski_ joined #nim
05:11:46*kwilczynski quit (Ping timeout: 240 seconds)
05:11:48*kwilczynski_ is now known as kwilczynski
05:57:07*solitudesf joined #nim
05:57:17*narimiran joined #nim
06:43:18*bung joined #nim
06:48:52*apahl quit (Ping timeout: 260 seconds)
06:49:25*apahl joined #nim
07:11:31ForumUpdaterBotNew thread by ElAfalw: Observing value changes, see https://forum.nim-lang.org/t/6745
07:21:16bunghow `with` macro work with await ? it parsed as <first param, proc call> ,that's two params
07:37:17*superbia joined #nim
08:03:42*synshroud quit (Quit: ZNC 1.7.5 - https://znc.in)
08:03:59*synshroud joined #nim
08:32:46*narimiran quit (Ping timeout: 258 seconds)
08:36:38*vicfred quit (Quit: Leaving)
08:48:02FromDiscord<vieru> sent a long message, see http://ix.io/2vyo
08:48:06FromDiscord<vieru> any idea on how to do it ?
08:49:21FromDiscord<vieru> the code for a.nim is ↵```nim↵writeFile("test.txt", "place holder")↵```
08:49:42FromDiscord<Rika> what
08:50:03FromDiscord<impbox> vieru, it might work with a `cstring`, but a `string` includes the length
08:50:13FromDiscord<Rika> i dont get what you mean
08:50:34*schurig_ quit (Quit: Leaving)
08:50:44FromDiscord<vieru> @Rika i want to replace a string in a compiled exe
08:50:46FromDiscord<impbox> modifying a string in the binary output
08:50:50FromDiscord<vieru> yep
08:51:09FromDiscord<impbox> you'd need to also change the length
08:51:20FromDiscord<impbox> but if use a cstring it should be easier
08:51:44FromDiscord<vieru> @impbox any idea how to use cstring with writeFile?
08:52:11FromDiscord<vieru> or will passing writeFile a cstring will just work
08:52:17FromDiscord<impbox> you can convert a cstring to string with `$`
08:52:44FromDiscord<vieru> oh i forgot bout that ↵w8 a sec let me test this
08:55:20FromDiscord<vieru> nope doesn't work
08:56:03FromDiscord<vieru> sent a code paste, see https://play.nim-lang.org/#ix=2vys
08:56:04*hnOsmium0001 quit (Quit: Connection closed for inactivity)
08:56:28FromDiscord<vieru> the code itself works but version where i replaced the string doesn't
08:57:03FromDiscord<vieru> (edit) 'the code itself works but ... version' => 'the code itself works butthe'
08:57:03FromDiscord<impbox> segfault?
08:57:17FromDiscord<vieru> no errors showing
08:57:27FromDiscord<impbox> what happens that's "no working"?
08:57:29FromDiscord<impbox> (edit) '"no' => '"not'
08:57:47FromDiscord<vieru> its not writing the file
08:57:55FromDiscord<vieru> test.txt
08:58:26FromDiscord<vieru> the exe just runs with no error and no file is written
08:58:49FromDiscord<impbox> try just echoing the string
08:58:57FromDiscord<vieru> ok 1sec
08:59:22*bung quit (Ping timeout: 256 seconds)
09:00:21FromDiscord<vieru> imma open discord on my pc
09:00:25FromDiscord<vieru> ill send ya the code
09:02:44FromDiscord<vieru> sent a code paste, see https://play.nim-lang.org/#ix=2vyv
09:02:52*jklhyd[m] quit (Quit: Idle for 30+ days)
09:02:54FromDiscord<vieru> sent a code paste, see https://play.nim-lang.org/#ix=2vyw
09:03:05FromDiscord<impbox> with just echoing it seems changing even a cstring length causes problems, i guess stuff is expected to be at certain locations in the file
09:03:19FromDiscord<vieru> here's how i replace the string
09:03:36FromDiscord<impbox> if you replace it with a shorter string and pad with nul it should be fine
09:03:48FromDiscord<vieru> sent a code paste, see https://play.nim-lang.org/#ix=2vyx
09:04:09FromDiscord<vieru> ```↵$ ./a2.exe↵```
09:04:11FromDiscord<vieru> and no output
09:04:43FromDiscord<vieru> > if you replace it with a shorter string and pad with nul it should be fine↵@impbox yeah but i actualy want to replace it with a bigger string like megabyte sizes
09:05:14*synshroud quit (Quit: ZNC 1.7.5 - https://znc.in)
09:05:33*synshroud joined #nim
09:05:35FromDiscord<vieru> idk much about this stuff but isn't this the stuff hex editors do ?
09:05:47FromDiscord<impbox> hex editors are not magic
09:05:52FromDiscord<impbox> they're doing the same thing
09:06:11FromDiscord<vieru> i thought so↵but the difference is they work lol
09:06:21FromDiscord<impbox> did you try it with a hex editor?
09:06:30FromDiscord<vieru> idk how to use that stuff
09:06:37FromDiscord<impbox> same issue
09:07:50FromDiscord<impbox> but it makes sense that it doesn't work, since you're changing the code addresses when you move code around (as you're replacing the string with one of a different size)
09:08:01FromDiscord<impbox> if your string was stored at the end of the file it would be fine
09:08:17FromDiscord<vieru> is there a way i can generate a string of a fixed size in nim ?
09:09:23FromDiscord<vieru> allocate i mean
09:09:35FromDiscord<vieru> and still be able to asign it a new value
09:09:40FromDiscord<vieru> (edit) 'asign' => 'asing'
09:09:47FromDiscord<vieru> (edit) 'asing' => 'assign'
09:10:06FromDiscord<vieru> > but it makes sense that it doesn't work, since you're changing the code addresses when you move code around (as you're replacing the string with one of a different size)↵@impbox oh fuck
09:10:36FromDiscord<vieru> im just trying to make a recursive program
09:10:47FromDiscord<vieru> like
09:10:55FromDiscord<vieru> a.exe can write b.exe
09:11:00FromDiscord<vieru> and b.exe can write a.exe
09:11:03FromDiscord<vieru> and so on
09:11:34*synshroud_ joined #nim
09:13:09FromDiscord<impbox> if you append the payload to the end of the file `cat file >> myapp.exe` and then in myapp you'd need to seek to find the start of the data and read it, i'm pretty sure this is how things like self extracting zips work
09:14:03FromDiscord<vieru> ok that might just work
09:14:11*synshroud quit (Ping timeout: 240 seconds)
09:15:47FromDiscord<vieru> can I from myapp.exe readFile myapp.exe ?
09:15:58FromDiscord<vieru> (edit) 'can I from myapp.exe ... readFile' => 'can I from myapp.exeuse'
09:16:35FromDiscord<impbox> yep
09:17:02FromDiscord<impbox> sent a code paste, see https://play.nim-lang.org/#ix=2vyA
09:17:54FromDiscord<vieru> thanks i was searching os for getappfilename lol
09:18:06FromDiscord<impbox> i'm not sure of a good way to figure out where the end of the executable is
09:18:35FromDiscord<impbox> best way might be to read the PE/ELF header
09:18:41FromDiscord<vieru> i thought i could append the file something like <END>
09:18:50FromDiscord<vieru> and than split using <END>
09:18:51FromDiscord<impbox> yeah you could add your own separator
09:19:02FromDiscord<impbox> though your code will probably contain that separator =)
09:19:16FromDiscord<impbox> unless you don't store the separator in code
09:19:28FromDiscord<vieru> not a big deal
09:19:42FromDiscord<vieru> ill just access [2] istead of [1]
09:19:49FromDiscord<impbox> mmm or search backwards
09:20:13FromDiscord<vieru> that could also wrok
09:20:15FromDiscord<vieru> (edit) 'wrok' => 'work'
09:24:54FromDiscord<vieru> i did it
09:25:07FromDiscord<vieru> sent a code paste, see https://play.nim-lang.org/#ix=2vyE
09:25:24FromDiscord<vieru> (edit) 'https://play.nim-lang.org/#ix=2vyE' => 'https://play.nim-lang.org/#ix=2vyF'
09:25:40FromDiscord<vieru> sent a code paste, see https://play.nim-lang.org/#ix=2vyG
09:25:52FromDiscord<vieru> and abi22.exe will be created
09:25:55ForumUpdaterBotNew thread by ElAfalw: Trouble using parallel, see https://forum.nim-lang.org/t/6746
09:26:09FromDiscord<vieru> ```↵$ ./abi↵no data↵```
09:26:23FromDiscord<vieru> sent a code paste, see https://play.nim-lang.org/#ix=2vyI
09:27:14*synshroud_ quit (Quit: ZNC 1.7.5 - https://znc.in)
09:28:37FromDiscord<vieru> but will adding a exe to the end of another will affect anything ?
09:28:50FromDiscord<impbox> shouldn't
09:28:57FromDiscord<impbox> except maybe virus detection
09:29:21FromDiscord<vieru> dumbass antiviruses
09:29:32*synshroud joined #nim
09:29:45FromDiscord<vieru> thanks again
09:33:21*waleee-cl joined #nim
09:42:14FromDiscord<Lod> Does anyone know of any nim buildpack for heroku? The one that shows up on my search is very old and always fails
09:43:46*bung joined #nim
09:52:44*synshroud quit (Quit: ZNC 1.7.5 - https://znc.in)
09:53:30*synshroud joined #nim
10:00:48*PMunch joined #nim
10:13:11Zevvsoo disruptek & clyybber, what happened?
10:24:00ForumUpdaterBotNew thread by ElAfalw: NimDecRefIsLast and EXC_BAD_ACCESS:, see https://forum.nim-lang.org/t/6747
10:45:03PMunchZevv, I get this error: .nimble/pkgs/fixedpoint-0.1.0/fixedpoint.nim(52, 3) Error: unreachable statement after 'return' statement or '{.noReturn.}' proc
10:53:40*bouzu_ joined #nim
10:58:04bunghow to use `with` macro work with await, it seems it only works with simple procs
11:02:14*NimBot joined #nim
11:08:31*bra-ket joined #nim
11:08:44*muffindrake quit (Quit: muffindrake)
11:09:02*zyklon quit (Ping timeout: 260 seconds)
11:10:36*krux02 joined #nim
11:12:30*muffindrake joined #nim
11:14:56*narimiran joined #nim
11:41:28FromDiscord<exelotl> That's by design unfortunately
11:45:19bungokay, thanks!
11:45:42FromDiscord<Clyybber> Zevv: disruptek is using my branch in which proc args are syms
11:45:48FromDiscord<Clyybber> PMunch: Thats not an error on devel
11:46:30PMunchAh, I see. I fixed it for 1.2.6 anyways :)
12:00:39*audiofile joined #nim
12:06:01*supakeen quit (Quit: WeeChat 2.9)
12:06:36*synshroud quit (Quit: ZNC 1.7.5 - https://znc.in)
12:06:44*supakeen joined #nim
12:08:53*synshroud joined #nim
12:15:53FromDiscord<Varriount> @exelotl To be fair, I think `with` would have to special-case await in order to support it's use.
12:18:17FromDiscord<exelotl> Oh right, I meant more generally, its not intended to support control flow at all
12:19:37FromDiscord<Varriount> Yeah. I think that's mostly for simplicity of implementation
12:22:58*tane joined #nim
12:32:54*waleee-cl quit (Quit: Connection closed for inactivity)
12:35:09ZevvPMunch: good good
12:36:02Zevvclyybber: cool, you got that fixed! Is it really a bugfix, or putting new furniture in the empty room?
12:36:40FromDiscord<Clyybber> its a one line addition
12:36:46FromDiscord<Clyybber> so depends on your definition
12:36:54FromDiscord<Clyybber> that rhymes so it must be true
12:50:05Zevvsounds like a shiny new feature
12:50:19Zevvsoo, up to the next bugs then, I guess! :)
12:51:01*krux02 quit (Remote host closed the connection)
12:53:28*bouzu_ quit (Quit: Leaving)
12:53:44livcdRandom nim project: https://github.com/itsumura-h/nim-basolato
13:14:09leorize[m]1What's everyone thought on this? https://forum.nim-lang.org/t/6740#41867
13:14:27leorize[m]1should the EEE branding of Nim be replaced with something else?
13:15:43FromDiscord<Clyybber> no
13:16:54FromDiscord<Clyybber> At least not the words themselves, maybe an explanation of what this means in practice
13:17:30FromDiscord<leorize> it's hard to get an explaination
13:17:55FromDiscord<leorize> the landing page couldn't do it, and I still haven't figured it out either
13:18:17FromDiscord<Clyybber> then just don't explain it /shrug
13:18:41FromDiscord<Clyybber> its catchy and it fits our ideals
13:19:22FromDiscord<leorize> do you have a better way to present nim then? if you do please comment on that thread
13:19:45FromDiscord<leorize> (I'm trying to get more community engagement in Nim branding because we sucks at it currently)
13:19:49FromDiscord<Clyybber> it looks fine to me so :P
13:20:04FromDiscord<Clyybber> in fact its one of the things I immediately liked when first looking at nim
13:20:18FromDiscord<Clyybber> but I notice that the "in this order" sentence is gone
13:20:34FromDiscord<leorize> well that thread is concerned about the entirety of the landing page 😛
13:21:01FromDiscord<leorize> we can keep that wording but we need a better list to catch people attention
13:21:10FromDiscord<Clyybber> I think these subparagraphs can be simplified
13:21:26FromDiscord<leorize> as explained in the thread the way it's presented make Nim look like yet-another-language with nothing to go for it
13:21:30FromDiscord<Clyybber> for exmple instead of "Nim generates native dependency-free executables, not dependent on a virtual machine, which are small and allow easy redistribution."
13:21:46FromDiscord<Clyybber> we say "Nim generates native executables, which are small and allow easy redistribution.
13:21:46FromDiscord<leorize> I tried to simplify it as an example in the OP, couldn't get too far though
13:21:51FromDiscord<Clyybber> oh
13:22:10FromDiscord<leorize> but please chime in the thread, the more idea the better
13:23:34FromDiscord<Clyybber> I don't have that many ideas, since I don't think its that bad tbh
13:23:49FromDiscord<Clyybber> I don't think its bad at all, but of course it could be better
13:24:19FromDiscord<Clyybber> But I don't think it needs a complete redesign
13:24:47FromDiscord<leorize> I'm not aiming for a complete redesign, but rather shift our priorities in what should be presented in the landing page
13:25:03FromDiscord<Clyybber> What would be very cool though, is if we could embed the playground with the code snippets on the right
13:25:29FromDiscord<leorize> Nim has a lot more going for it, it doesn't make sense to just present generic ideas on the front page
13:26:37FromDiscord<Clyybber> yeah, thats fair
13:26:45*bouzu_ joined #nim
13:27:40FromDiscord<leorize> we don't need any fancy ideas, you can just chime in with what you think should have more exposure and what should be compressed down as "not that important"
13:29:27FromDiscord<Clyybber> I think we should still mention the things that every other lang has
13:29:35FromDiscord<Clyybber> but it just needs to be condensed down
13:29:45FromDiscord<Clyybber> Thats the only real problem IMO
13:29:53FromDiscord<Clyybber> since it doesn't fit on a 1080p screen
13:30:39FromDiscord<Clyybber> I'm not sure if we should mention those really cool advanced features like concepts, since they are not *that* mature yet
13:31:06FromDiscord<Clyybber> if we do, we should at least move them out of the experimental section again
13:31:22FromDiscord<leorize> I was just trying to make use of some good differentiators
13:31:47livcdYou could include testimonials from people
13:32:02FromDiscord<Clyybber> lol
13:32:07livcdhaha
13:32:15FromDiscord<haxscramper> sent a long message, see http://ix.io/2vzY
13:32:25FromDiscord<leorize> there are probably other things that we could use, but I'm not too aware of what could be "the thing that Nim has that's super cool"
13:32:56livcdwhy do things need to be super cool though?
13:33:13FromDiscord<leorize> @haxscramper have you messaged @dom96 f
13:33:19FromDiscord<leorize> (edit) 'f' => 'for an account?'
13:33:30FromDiscord<haxscramper> Not directly, no, but I pinged him in this channel.
13:33:34FromDiscord<leorize> but I'll forward your message to the forum
13:33:52FromDiscord<leorize> you can ping narimiran too, if he's available
13:34:01livcdIf you want to start hype you need to be a bit ... controversial.
13:34:03FromDiscord<haxscramper> More on nimscript - when you start talking about 'statically typed, compiled language' you instantly trigger all rust/zig/c++/etc. people who start comparing fibonacchi benchmarks. But when you talk about 'statically typed language with strong DSL support, suitable for automation of anything etc' - that's much more interesting
13:34:54FromDiscord<Clyybber> livcd: Eh, hype doesn't make a good lang
13:35:18FromDiscord<haxscramper> I mean, this is the perfect replacement for YAML for example - instead of trying to squeeze things like looks etc in *markup* lanugage which was not made for it you can actually have full-blown language with DSL suited for your particular task.
13:35:22FromDiscord<leorize> I think what we lack is a reason to use Nim
13:35:34FromDiscord<leorize> like look, we are nim users and we know that nim is super cool
13:35:37FromDiscord<Clyybber> the code examples on the right should give reason
13:35:56FromDiscord<leorize> but a passer by wouldn't know that from a quick peek
13:36:19FromDiscord<leorize> it's our job to market ourselves so that we capture eyeballs before they dismiss Nim as "just another language"
13:36:50FromDiscord<haxscramper> Oh, and I think mentioning style-insensetivity anywhere is actually not that good of an idea. From my experience people just react to it so badly for some reason
13:37:11FromDiscord<leorize> yea
13:37:45FromDiscord<haxscramper> And on topic of rebranding - not main page but still: github still mentions it as 'system programming ... garbage collected language'. And there is no discord link in readme too
13:37:47*PMunch quit (Quit: leaving)
13:38:07FromDiscord<leorize> I hate to mention it, but V has shown that you can be full of hot air and still got a crowd going for you
13:39:28FromDiscord<Rika> Well it kinda backfired for the majority
13:39:34FromDiscord<haxscramper> This is just my opinion but there are several things - mainly (1) style-insensetivity, (2) writing 'js backend' and 'system programming' on one page, (3) mentioning 'system programming' and 'garbage collected' in one article - just make people *assume* things they don't really know anything about
13:42:13FromDiscord<leorize> @haxscramper https://github.com/nim-lang/website/issues/210 <- i have an issue opened for the github
13:42:13disbotImprove Nim's branding on Github
13:44:30FromDiscord<haxscramper> If I make my clang wrapper into something useful without dying in the process we can also add 'seamless integration with C++ libraries: qt, godot ... & more, C libraries: GTK ... and things like that.
13:46:47FromDiscord<ryanford> speaking of (and sorry for interrupting) but does nim handle c preprocessor statements well? like function-like macros?
13:47:05FromDiscord<ryanford> i noticed that's a choke point for a lot of languages that advertise c interop
13:47:33FromDiscord<haxscramper> It depends on what you want to do. `c2nim` can convert macros to defines/templates
13:48:29FromDiscord<haxscramper> And clang-based tools have no issues of *expanding* macros. But mapping *semantics* of C preprocessor macros completely is not yet supported
13:48:40FromDiscord<haxscramper> fully*
14:00:43*leorize[m]1 left #nim ("User left")
14:05:18*arecacea1 quit (Remote host closed the connection)
14:05:24*leorize[m] joined #nim
14:05:38*arecacea1 joined #nim
14:12:38*waleee-cl joined #nim
14:15:27*bra-ket quit (Ping timeout: 240 seconds)
14:18:23*zyklon joined #nim
14:19:20FromGitter<alehander92> https://www.youtube.com/watch?v=7vn6aGgLKfQ&feature=youtu.be
14:19:22FromGitter<alehander92> guys this is cool
14:19:27*neceve joined #nim
14:20:40Zevvdude i've been doing that since I was 12
14:22:01ZevvLook at this one: https://www.youtube.com/watch?v=I9ZNzqqBUCk You're right, it would be much cooler with sound :)
14:22:21ZevvOh this one has nicer colors: https://www.youtube.com/watch?v=11P8oUWH4Eo
14:22:58ZevvI should do that for Nim one day, would be very cool to see the difference between gc and arc for example
14:25:55FromGitter<alehander92> wow
14:26:02FromGitter<alehander92> why isn't this more popular
14:26:08ZevvI don't know
14:26:11FromGitter<alehander92> the thing about sound is that you can observe output
14:26:18FromGitter<alehander92> and use another sense in this time
14:26:21ZevvI never pushed it i's just something I made for myself for debugging memory usage
14:26:24FromGitter<alehander92> but yeah it depends
14:26:52FromGitter<alehander92> imagine sound effects while you code
14:26:59FromGitter<alehander92> hinting errors
14:27:00Zevvsooo friggin anoying!
14:27:06FromGitter<alehander92> haha
14:27:11Zevvtalk to disruptek about that
14:27:12Zevvhe has ideas
14:29:18FromGitter<deech> Are there any examples of passing a memory managed pointer to a struct from Nim to C++? The struct would be heap-allocated and initialized on the Nim side with a pointer passed to C++.
14:29:42Zevvdepends on how long you want that memory to live
14:29:52Zevvshould it survive *after* you pass it to c++?
14:29:57FromGitter<deech> yes
14:30:05ZevvYou need to make sure to keep it alive then
14:30:09Zevvso keep it referenced in nim
14:30:13Zevvor explicitly GC_ref() it
14:30:43Zevvif you pass a seq or a string, also be sure to pas the address of elem[0], not of the thing itself
14:31:39FromGitter<deech> My issue is I can't figure out how to pass a `Blah = ref object ...` to a C++ function that takes `void f (Blah* b) { ... }`.
14:35:28Zevvif 'b' is your ref to the object in nim
14:35:39ZevvUse `b[].addr` to find it's address
14:35:51Zevv`[]` dereferences your nim ref, and `.addr` finds the address of the thing itself
14:35:55Zevvdoes that make sense?
14:39:22FromGitter<deech> Ah hah I was missing the `[]`! I thought dot operators would auto deference.
14:39:45Zevvwell, the problem is that you're talking about the ref. Which is basically the "nim side" of the pointer
14:39:51Zevvwhich is not what you need
14:40:13Zevvif you come from C, do `thing[]` in nim where you would do '*thing' in C
14:48:57FromGitter<deech> The type of `b[].addr` is `ptr Blah:ObjectType`, is this expected? I haven't seen that `:ObjectType` thing before.
14:50:56FromGitter<deech> Passing that struct worked btw, making the FFI function `proc b(p:pointer) ...` somehow coerced the above type to a void pointer. It would be nice to have a more descriptive type in the FFI call but this solves my immediate problem.
15:09:55*Vladar joined #nim
15:17:41disruptekthis is expected.
15:22:42Zevvdisruptek: s whats the next bug then
15:23:53disruptekswapping symbols for env(cont).symbols blows the compiler's mind.
15:24:02Zevv~https://www.youtube.com/watch?v=e4TFD2PfVPw todays soundtrack
15:24:02disbotno footnotes for `https://www.youtube.com/watch?v=e4TFD2PfVPw`. 🙁
15:24:29Zevvwell my mommy always said, dont swap symbols boy
15:26:11disruptekis that turtleneck and sportcoat for real?
15:27:56Zevvi think they got stuck with that after a gig
15:28:10Zevvbut dang these kids play
15:28:26disruptekwe used to give each other the same hideous sportcoat at christmas every year.
15:33:06Zevvi wear that stuff
15:33:41Zevvi used to get that for christmas every year
15:33:43disruptekwhat year is it where you live?
15:33:45Zevvstill got tons left
15:36:32disruptek5th saturday of a month with 31 days. time to brush my teeth.
15:44:28Zevvso, you put clyybber on it yet?
15:44:46disruptekclyybber is in his crate recovering from the last one.
15:54:26*pietroppeter joined #nim
16:06:10disruptekthese kids are tight.
16:08:23*hnOsmium0001 joined #nim
16:09:13*endragor quit (Ping timeout: 264 seconds)
16:11:25disruptekokay. coffee on board.
16:13:29disruptekyou might expect windows to work better considering the powers that He runs it as his primary os.
16:14:11*endragor joined #nim
16:34:34Zevvdo you mingw?
16:34:39Zevvor do you really windows
16:35:03*def- joined #nim
16:35:05disrupteknah, i --os:windows if i need to repro the ci failure.
16:45:57disrupteki changed dust to let me test --os:windows before i realized that ICEs are fatal. 🙄
16:46:45disrupteki probably need to pr some changes to make it easier to do this stuff, but i dunno how popular they'd be.
16:47:06disruptekno one seems to give a shit about dust, so...
16:49:31*audiofile quit (Quit: Default Quit Message)
16:53:48disruptekalehander92: dude, i got a question for you.
16:58:18disruptekwhat's the evolutionary purpose of beards?
16:59:11*superbia1 joined #nim
17:01:04*superbia quit (Ping timeout: 258 seconds)
17:04:49Zevvsaving food for later
17:05:12disruptekjust want to make sure i'm using it correctly.
17:07:41Zevvso, what's the ETA to have CPS in a working state again
17:08:10disruptekdoesn't master work?
17:08:32ZevvI think 0.13 did
17:08:41Zevvbut I ment typed, in this case
17:09:45*disruptek consults his magic 8-ball.
17:09:52disruptekfuture cloudy, ask again tomorrow.
17:09:57Zevvsure thing!
17:10:03Zevv"are we there yet!"
17:10:29disruptekwell, i dunno if the current problem is our code or the compiler's.
17:10:45disruptekobviously, i'm inclined to think it's the compiler's fault.
17:10:54Zevvthat's the fun thing with Nim
17:11:02Zevvwith C I stopped blaming the compiler years ago, it was always me
17:11:06Zevvbut with Nim, the fun is back
17:11:07Zevvthe thrill
17:11:11disrupteklol right.
17:11:42disrupteki'd still rather read the nim compiler than gcc.
17:12:02Zevvsooo true
17:12:15disruptekat least with nim i can tell when the code is crap.
17:13:50disruptekactually, i've been impressed with a lot of modern c.
17:14:55Zevvwhich part, what you put in of what comes out?
17:16:06disruptekno, for me c is like my sex life.
17:16:15disruptekit'd be safest for everyone if i didn't put it in at all.
17:16:42Zevvbut still its fun
17:17:13disrupteklibgit2 is really nice to read.
17:17:43disruptekhonestly, i just haven't read a lot of c in years, so maybe it's just an old man's perspective.
17:20:54ZevvI still read and write quite some C here and there. They try to make me do C++, but I just type C and hope no one notices at the reviews. Mostly works out fine.
17:21:36ZevvWhen they give me shit about passing "const std::string &s" I just tellem to go use a language that is smart enough to know how to handle that itself
17:21:58*RattleyCooper joined #nim
17:22:02disruptekmaybe if you're writing c in this day and age you probably know what you're about.
17:22:29ZevvI do a lot of doublethink
17:23:23RattleyCooperIs anybody able to help with a winapi/winim question?
17:24:07ZevvJust ask your question, if it's the Nim side we might be good. If it's the windows side we might simply keep quiet and hope for someone else to help you
17:24:48RattleyCooperI can handle the winapi part, but I'm unsure how to represent the types I need or debug.
17:25:08federico3https://github.com/hoffstadt/DearPyGui this is quite nice
17:28:41RattleyCooperI may have figured it out. If not I will come back with a good example.
17:28:59disrupteki'll wait here.
17:34:30FromDiscord<haxscramper> C++ backend does not use stdlib - if some library uses `std::string` I need to wrap it too and then import this string in my wrapper?
17:34:56FromDiscord<haxscramper> If I want to wrap things like `struct A { std::string b; }`
17:36:10FromDiscord<haxscramper> And make all public fields accessible as-is
17:38:34FromDiscord<haxscramper> And in general, if library API is split over multiple headers and I don't want to put everything in one module I need to build dependency graph for includes and import them
17:38:45RattleyCooperOk, back with the winim question. Based on what I'm seeing the `GetMessage` function should look something like this: `var res = GetMessage(addr msg, GetActiveWindow(), WM_CLOSE, WM_CLOSE)`. `msg` is defined like this: `var msg: MSG`. My program hangs when I compile. It hangs at the `GetMessage` line and `GetActiveWindow()` isn't the issue. I
17:38:45RattleyCooperfeel like I'm missing something
17:39:32disruptekit hangs during compilation?
17:39:32ZevvRattleyCooper: how do you mean "hangs when I compile"
17:39:35Zevvdoes the compiler hang?
17:41:57RattleyCooperhttps://imgur.com/a/YlWwdAi
17:42:11RattleyCooper^ here is a gif
17:42:35disruptekruntime hang, then.
17:43:35RattleyCooperYeah, I'm guessing I'm using it wrong, but the author shows this part of the API and it looks like that is how it's used: https://forum.nim-lang.org/t/5122
17:43:36disruptekhow do you know it isn't working correctly?
17:45:16RattleyCooperI honestly am not sure, but the windows api documentation doesn't mention that it should block
17:47:58disruptekwhat does it do?
17:49:03RattleyCooperWell I am trying to catch the `WM_CLOSE` event from windows so that I can use the `taskkill` command on my app to shut it down gracefully. `taskkill` lets me ask my program to shut down gracefully on windows
17:49:39ZevvIt seems that GetMessage can block
17:49:53Zevv"It waits on an event object in kernel mode. When a thread is waiting on an event (or any other kernel-based synchronization object), it does not use any CPU time, because it is not scheduled to run until the wait is satisfied"
17:50:00Zevvsays someone on the internet. so it must be right.
17:50:35RattleyCooperGotcha. Do you know how to do something like a SIGINT on windows?
17:51:01disruptekyou did it, buddy.
17:51:04disruptek^C
17:51:23RattleyCooperWell I can't do that due to some constraints
17:51:37disrupteki saw you do it, liar.
17:51:41RattleyCooperLol
17:54:23RattleyCooperI'm using a game engine that can create a process and run system commands but it can't send a SIGINT to the process.
18:01:31RattleyCooperSo I can have the game engine send the `taskkill` because I have the PID. All I need to do is manage the ffmpeg process so I can finish this screen recording app :D
18:02:19*pietroppeter quit (Quit: Connection closed for inactivity)
18:26:55*bung quit (Ping timeout: 240 seconds)
18:39:43*Vladar quit (Quit: Leaving)
18:48:07*bung joined #nim
18:52:25*bung quit (Ping timeout: 240 seconds)
18:57:59disruptekdoes national residency follow your head or your body?
18:58:53disruptekor is it, like, the hand you use to swear allegiance?
18:58:56Zevvyou don't feel like a proud citizen of the US of A?
18:59:17Zevvalthough your body just happens to reside there?
18:59:20disruptekjust thinking about swapping heads with someone in canada.
18:59:32ZevvHa good luck finding a volunteer for that
18:59:48disruptekwho said anything about a volunteer?
18:59:53Zevvgood point
19:11:12*bung joined #nim
19:14:05*synshroud quit (Ping timeout: 240 seconds)
19:14:13*synshroud joined #nim
19:15:18FromDiscord<Elegant Beef> Excuse me whilst i barricade my door
19:15:25*bung quit (Ping timeout: 240 seconds)
19:22:20*superbia1 quit (Quit: WeeChat 2.9)
19:22:53FromDiscord<Rika> why would he want to swap with you
19:23:06disruptekhe? why would i want a `he`?
19:24:21FromDiscord<Elegant Beef> True, guess im safe. Or that's just what he wants me to think
19:39:11FromGitter<alehander92> disruptek how do you know i have a beard
19:39:13FromGitter<alehander92> most of the time
19:39:55*bung joined #nim
19:39:59disruptekmost of the time it's because i'm watching you.
19:40:09FromGitter<alehander92> yeah wait
19:40:11FromGitter<alehander92> my photo has one
19:40:21FromGitter<alehander92> i am not sure in evolution man
19:40:23disruptekwhich one?
19:40:33disrupteki have so many photos of you...
19:41:43FromGitter<alehander92> oooh
19:41:51FromGitter<alehander92> we should talk on video
19:41:53FromGitter<alehander92> some time
19:42:06FromGitter<alehander92> well i don't believe beard is very important
19:44:37*bung quit (Ping timeout: 264 seconds)
19:44:57ZevvI'm a *very* lazy groomer. I don't have a beard, but I just shave only 5 or 6 times a year
19:45:30disrupteki'm talking to video of you right now.
19:45:42Zevvgood for you
19:45:53Zevvdid you see me wave?
19:46:25disruptekdon't be silly.
19:46:28disrupteki'm talking to alehander92.
19:46:36disrupteki'm not allowed close enough to children to film you.
19:47:19disruptekthe thing about pop secret is, everyone knows about it.
19:47:31Zevvsshht
19:48:44FromGitter<alehander92> i am young
19:49:08FromDiscord<Elegant Beef> but you have a 92 in your name which means you're 28
19:50:10FromGitter<alehander92> <3
19:50:16FromGitter<alehander92> it's ok :)
19:50:51FromGitter<alehander92> we are all adults here
19:51:07FromDiscord<Rika> 👀
19:51:13FromGitter<alehander92> you need some older people
19:51:21FromGitter<alehander92> to give you advice and memories from 90s
19:51:27Zevvwe have stadler & waldorf
19:51:31FromGitter<alehander92> i remember some potatoes and sea
19:51:35disrupteki lost my virginity in '92.
19:51:43disrupteki mean, my homicide virginity.
19:52:06FromGitter<alehander92> dude you're born in 1985 or something
19:52:32disrupteknot yet.
19:52:38Zevvha
19:52:42disruptektalk to me once i complete this swap.
19:52:46FromGitter<alehander92> this is not true
19:53:05FromDiscord<haxscramper> Sometimes I read this chat and think to myself just how good of a decision it was to start living in former soviet nuclear bunker
19:53:11FromGitter<alehander92> i am sure you would write php to save my life
19:53:23ZevvHe could punch your cards
19:53:36RattleyCooperI figured out a solution. I can use wNim to create an app window and connect the `WM_CLOSE` event to a frame. This allows me to intercept the `taskkill` command and exit cleanly :D
19:53:54FromGitter<alehander92> haxscramper oh an eastern european?
19:54:20FromGitter<alehander92> zevv man what is endbr64 about
19:54:33FromGitter<alehander92> sounds like a dutch electro band
19:54:36FromDiscord<haxscramper> Yes
19:54:40Zevvsorry what endbr64?
19:54:47FromGitter<alehander92> but it's something that gcc insists on putting everywhere
19:54:51FromGitter<alehander92> and now i generate it as well
19:54:54FromGitter<alehander92> but i am not sure why
19:55:13Zevvwell, just read the friggin docs man
19:55:13FromGitter<alehander92> haxscramper balkans?
19:55:25FromGitter<alehander92> zevv you can explain it with memes
19:55:32FromGitter<alehander92> the docs usually don't
19:55:44FromGitter<alehander92> hm, meme-docs overflow
19:56:15ZevvI always read it as a nop
19:56:20Zevvbecause I don't know what it does
19:56:40FromGitter<alehander92> computer says NOP
19:56:50FromGitter<alehander92> ok
19:57:54*bung joined #nim
19:58:17Zevvyeah and now you made me look that stuff up of course
19:58:58Zevvalehander92: https://www.linuxplumbersconf.org/event/2/contributions/147/attachments/72/83/CET-LPC-2018.pdf
19:59:24FromGitter<alehander92> thanks
20:01:54Zevvand https://software.intel.com/content/www/us/en/develop/articles/technical-look-control-flow-enforcement-technology.html
20:02:39Zevvit's a protection against COP attacks
20:02:42FromDiscord<haxscramper> I re-read nimerop readme, but just to be sure - it is made to work with single header files, not whole projects. Things like `getHeader` etc.
20:02:49disruptekwe need more of those in the US.
20:03:20FromDiscord<haxscramper> Just trying to come with a way to handle things that depend on stdlib & other parts of the library
20:03:54Zevvif you want to inject malicious code but you have only a few bytes of buffer overflow, you can look around if there are parts in the binary that is already in memory you can abuse: find snippets that do want you want that end with at 'return'. Typically the tail part of functions. Then you make a chain of CALLs to these tails and stitch together your program
20:04:14FromGitter<alehander92> thanks
20:04:21FromGitter<alehander92> i just read about rop attacks
20:04:38FromGitter<alehander92> i didn't know about those huh
20:06:22Zevvyeah you might want to get used to that
20:07:22*bung quit (Ping timeout: 265 seconds)
20:13:18*synshroud_ joined #nim
20:14:01*synshroud quit (Ping timeout: 264 seconds)
20:16:49*narimiran quit (Quit: leaving)
20:18:21Zevvhm strictfuncts doesn't fly for me yet
20:18:26Zevvsomething in system.nim
20:20:32*bung joined #nim
20:24:45*bung quit (Ping timeout: 240 seconds)
20:25:07Zevvoh this makes me think hard. my seq add is not allowed but why oh why
20:25:36*RattleyCooper quit (Remote host closed the connection)
20:25:37*bung joined #nim
20:29:50leorize[m]Zevv: https://forum.nim-lang.org/t/6733#41875
20:30:01*bung quit (Ping timeout: 246 seconds)
20:30:05Zevvyeah I just found that
20:30:05*arecacea1 quit (Remote host closed the connection)
20:30:15Zevvsomething makes sense, but I don't understand the implications yet
20:30:30*arecacea1 joined #nim
20:34:46shashlick@haxscramper nimterop fine with entire projects, what do you mean single file
20:35:24shashlickGetHeader is just to obtain the library source and build it
20:35:41shashlickcImport does the wrapping
20:35:54shashlickAnd you can use toast on the command line if you prefer
20:36:39shashlickYou might want to read the api docs for more details
20:42:12FromDiscord<Varriount> Hrm, we need better SQL libraries
20:42:42FromDiscord<Varriount> (in the standard library)
20:43:34FromDiscord<Varriount> <3 Nimterop
20:43:56shashlickV still waiting for your feedback on nimterop
20:43:56FromDiscord<Varriount> ^ shashlick, can I get that on a mug?
20:44:21*bung joined #nim
20:44:27FromDiscord<Varriount> Oh yeah, sorry. Life's been hectic (family issues, job issues)
20:44:32shashlickI'm slowly hearing folks asking for C++ support, might get around to it later this year who knows
20:48:46*bung quit (Ping timeout: 258 seconds)
20:53:34FromDiscord<haxscramper> Libclang wrapper is like 98% done actually, I already started things related to dealing wrapping.
20:54:16*bung joined #nim
20:58:44*bung quit (Ping timeout: 258 seconds)
21:00:41*bung joined #nim
21:02:32*vicfred joined #nim
21:04:59*bung quit (Ping timeout: 240 seconds)
21:11:46*bung joined #nim
21:13:35FromDiscord<juan_carlos> is there a way to import something from Nim /tests/ folder?, `import ../tests/foo` wont work.
21:15:18shashlickyou could add `--path:$nim` and then import tests
21:15:59*oddp joined #nim
21:16:22*bung quit (Ping timeout: 258 seconds)
21:17:33*pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
21:18:53*pbb joined #nim
21:34:16*bung joined #nim
21:38:59*bung quit (Ping timeout: 258 seconds)
21:43:44*bung joined #nim
22:05:16*neceve quit (Remote host closed the connection)
22:25:48shashlickdisruptek: the travis nim script has moved to a repo - https://github.com/genotrance/nim-travis
22:26:04shashlickthe old gist will still work since it redirects to this but just fyi
22:26:13disruptekkk, thanks.
22:26:32disrupteki'm slowly moving to github ci; really liking it so far.
22:27:01FromDiscord<Hearthstone> GitHub CI?
22:27:01shashlickcool deal
22:27:15shashlickelijahr has added arm64 and ppc64 support so its getting better
22:27:24disruptekoh, neat.
22:27:58disruptekthat makes it superior for some stuff. 😉
22:28:04FromDiscord<Hearthstone> What's GitHub CI? :P
22:28:08disruptekhearthstone: github actions.
22:28:08FromDiscord<Hearthstone> GitHub Actions?-
22:28:11disruptek!repo testes
22:28:12FromDiscord<Hearthstone> Oh alright
22:28:13disbothttps://github.com/disruptek/testes -- 9testes: 11a small unittest framework with decent support 🔴🟡🟢 15 8⭐ 0🍴 7& 29 more...
22:28:24disruptekmy testes are in yer cloud now.
22:29:43*oddp quit (Quit: quit)
22:36:49*AndroUser joined #nim
22:38:25*solitudesf quit (Ping timeout: 240 seconds)
22:47:33*vicfred quit (Quit: Leaving)
23:03:10*Jesin quit (Quit: Leaving)
23:03:46*vicfred joined #nim
23:06:53*tane quit (Quit: Leaving)
23:07:46*Jesin joined #nim
23:15:06FromDiscord<Kaynato> Compiler is thinking I'm redefining `|` for typdesc when it should just be for a type which is a distinct uint8 - not sure if I might be doing something wrong - https://play.nim-lang.org/#ix=2vE3
23:16:17disruptekwell, you did define a proc named `|`.
23:17:56disrupteki mean, for both uint32 and uin8.
23:18:00disruptekuint8, too.
23:18:06FromDiscord<Kaynato> Shouldn't `|` be non-conflicting since the signatures are (a, b: CPU_ACCESS_FLAGS) and then (a, b: BIND_FLAGS) which are respectively distinct uint8 and sitinct uint32?
23:18:09FromDiscord<Kaynato> Distinct*.
23:19:01disruptekhmm.
23:19:37disruptekthe body values /are/ your distinct type, no?
23:19:58disruptekdump this shit out in expandMacros and stop writing so much gibberish.
23:20:31disrupteki swear it's like you people are trying to nauseate me.
23:22:01disruptekjust try to pretend that your grandmother has to read your code.
23:22:10disruptekol' granny disruptek.
23:22:53FromDiscord<Kaynato> Signature from CPU_ACCESS_FLAGS is ```proc `|`(a`gensym3606099, b`gensym3606100: CPU_ACCESS_FLAGS): CPU_ACCESS_FLAGS```
23:23:43disruptekexactly. so your | is operating on BIND_FLAGS just as it is supposed to.
23:24:29FromDiscord<Kaynato> And the BIND_FLAGS one is the same, but I can't have genFlag for more than one of them, despite the fact that both types are being defined correctly as distinct (source type)
23:24:29disruptekbut, really, why are you even bothering? i just don't understand people.
23:24:47FromDiscord<Kaynato> Bothering with which part?
23:25:01disruptekyou know you can use enums and sets as bitfields, right?
23:25:17disruptekand you can or integers with the `or` operator.
23:25:18leorize[m]@Kaynato my bets are on the converters
23:25:19FromDiscord<Kaynato> I have to match it to the original, since this is for wrapping a c interface
23:25:39FromDiscord<Kaynato> I'm as nauseated as you are
23:25:39disruptekso what?
23:25:48disruptekit's not like nim doesn't compile to c.
23:25:57disruptekdo you really think you're the first person to do this?
23:25:59FromDiscord<Kaynato> Some of their enums are apparently too large for set
23:26:04FromDiscord<Kaynato> No? I'm not
23:27:17leorize[m]mratsim wrote a thing for his laser project iirc
23:27:44disrupteka thing?
23:28:49leorize[m]a C enum -> bitset mapping macro for interop
23:30:54disruptekpretty sure i've done it using stdlib.
23:31:33disruptekgittyup has a bunch of this crap.
23:31:36disruptek!repo gittyup
23:31:37disbothttps://github.com/disruptek/gittyup -- 9gittyup: 11higher-level git bindings that build upon nimgit2 15 2⭐ 1🍴
23:32:44disruptektype Goatse {.size: sizeof(cint).} = enum ...
23:41:07FromDiscord<Kaynato> Can't find the macro you're talking about, leorize, but I guess it shouldn't be much time to write bitsets up to 64 bits anyhow. Thanks regardless.
23:59:41*audiofile joined #nim