<< 16-06-2020 >>

00:08:05*Trustable quit (Remote host closed the connection)
00:08:56*rusua joined #nim
00:10:17FromGitter<Knaque> Thanks!
00:10:26*rusua left #nim (#nim)
00:10:49*D_ quit (Quit: No Ping reply in 180 seconds.)
00:11:46*D_ joined #nim
00:14:02*marnix joined #nim
00:16:19*xet7 joined #nim
00:42:41*marnix quit (Ping timeout: 256 seconds)
00:48:58*fredrikhr quit (Ping timeout: 260 seconds)
00:49:57*vicfred quit (Quit: Leaving)
00:56:02*vikfret joined #nim
01:15:23TongirIf a nimble package doesn't tag it's releases, is there any other way to pin a certain version against a project?
01:15:34*endragor joined #nim
01:18:10shashlickpackage#version
01:23:02Tongirshashlick, can version be a comit hash?
01:23:04Tongir*commit
01:25:38FromDiscord<Technisha Circuit> While using Jester, how would i add paths via json? So i can do ```json↵{↵ "path/to/page":"path/to/html/file"↵}```? What I've tried hasn't worked :/
01:29:17TongirTechnisha Circuit: Paths as in paths to static content (css, html, js etc)?
01:29:57FromDiscord<Technisha Circuit> Yup
01:30:10FromDiscord<Technisha Circuit> I think i figured out my issue though
01:30:34TongirGood ol' rubber duckying :D
01:30:57FromDiscord<Technisha Circuit> Lmao
01:34:24FromDiscord<Technisha Circuit> How do i get the full url of the page visited by Jester
01:36:39shashlick@Tongir - yes commit, branch, tag
01:37:56TongirOoooh
01:38:29TongirTechnisha Circuit: Uhhh, window.location or something?
01:38:37*dddddd quit (Ping timeout: 264 seconds)
01:40:15Tongirhttps://nim-lang.org/docs/dom.html#Window
01:40:38TongirAlso consider using this (I hear it's good, haven't used it https://github.com/xmonader/nimassets)
01:42:06leorize[m]testers needed for experimental macosx builds: https://github.com/alaviss/nightlies/releases
01:42:17leorize[m]these builds should work for Mac OSX >= 10.10
01:50:25*oddp quit (Ping timeout: 246 seconds)
01:52:15FromDiscord<Zed> is it possible to forward declare an object?
01:53:31leorize[m]if it's in the same `type` block, then yes
01:55:30FromDiscord<Zed> example? declaring with Model* = object and then defining it later on doesn't work
01:57:22*chemist69 quit (Ping timeout: 260 seconds)
01:59:23*chemist69 joined #nim
02:03:40*unihernandez22 joined #nim
02:03:53shashlick@leorize - i plan on testing all your nightlies with travister - will download all your binaries and run all nim tests and a few other random things
02:04:05shashlickam trying to finish up my conan and jbb work
02:04:41*unihernandez22 quit (Client Quit)
02:05:06leorize[m]we can add more stages to the nightlies pipeline too :)
02:05:19leorize[m]binaries are uploaded as soon as they're built, so the total runtime doesn't matter
02:05:31leorize[m]I still want real machines to test these builds though
02:06:28leorize[m]these builds are also reproducible, but I need to add some tests and upload the build environment somewhere for those who want to reproduce it
02:07:01FromDiscord<Elegant Beef> @Zed Unless you're doing inheritance that's quite pointless https://play.nim-lang.org/#ix=2pj4
02:36:45*unihernandez22 joined #nim
02:53:22*muffindrake quit (Ping timeout: 260 seconds)
02:55:33*muffindrake joined #nim
03:54:16vikfrethi
03:54:47vikfretI am new to nim and I am trying to develop a discord bot
03:54:53vikfretis the author of FromDiscord here?
03:55:37vikfretis FromDiscord made using nim?
03:56:07leorize[m]yes
03:56:10leorize[m]!repo ircord
03:56:10disbothttps://github.com/Yardanico/ircord -- 9ircord: 11Discord <-> IRC bridge in Nim 15 6⭐ 0🍴
03:56:28FromDiscord<Vicfred> cool thanks
03:56:36leorize[m]!repo dimscord
03:56:36disbothttps://github.com/krisppurg/dimscord -- 9dimscord: 11A Discord Bot & REST Library for Nim. 15 17⭐ 2🍴 7& 2 more...
04:06:02*supakeen quit (Quit: WeeChat 2.8)
04:06:39*supakeen joined #nim
04:17:47*aenesidemus joined #nim
04:18:17*waleee-cl quit (Quit: Connection closed for inactivity)
04:21:30FromDiscord<Vicfred> I tried to compile it/run it and got this error, any idea?
04:22:04FromDiscord<Rika> prolly yardanico using some local version of dimscord if you're compiling ircord
04:22:12FromDiscord<Vicfred> sent a long message, see http://ix.io/2pjf
04:22:50FromDiscord<Rika> see my message
04:23:01FromDiscord<Rika> either that, or theyre using dimscord head
04:23:19FromDiscord<Rika> so do `nimble install dimscord@#head` and maybe uninstall the other version
04:26:27*marnix joined #nim
04:27:05FromDiscord<Vicfred> i did `nimble uninstall dimscord` and then `nimble install dimscord@#head` but got the same error
04:32:33FromDiscord<Vicfred> im looking at line 213 and it looks like its using an optional but the type is a string `if m.webhook_id.isSome() and m.webhook_id.get() in webhooks: return`
04:38:41FromDiscord<Rika> Yeah then it's probably Yardanico's fault
04:39:11FromDiscord<Rika> @Vicfred actually
04:39:15FromDiscord<Rika> Try installing devel instead
04:39:31FromDiscord<Rika> Same way, devel instead of head
04:39:36FromDiscord<Vicfred> `nimble install dimscord@#devel`? ok
04:39:43FromDiscord<Rika> No hash i think
04:39:45FromDiscord<Elegant Beef> Yea devel uses options
04:39:48FromDiscord<Rika> Dunno
04:40:02FromDiscord<Elegant Beef> https://github.com/krisppurg/dimscord/blob/devel/dimscord/objects.nim#L40
04:40:06FromDiscord<Elegant Beef> Will solve problem
04:40:37*bung_ joined #nim
04:40:38FromDiscord<Rika> kinda wish options was more popular
04:40:45FromDiscord<Rika> and that it was easier to work with
04:41:20FromDiscord<Elegant Beef> Yea i like options
04:41:43FromDiscord<Vicfred> its working bois
04:41:56FromDiscord<Vicfred> `nimble install dimscord@#devel`
04:41:57FromDiscord<Rika> congrats
04:42:00FromDiscord<Elegant Beef> I didnt intially see the point much coming from a OOP based language, but i do see the light!
04:42:15FromDiscord<Vicfred> I guess they took options from haskell right?
04:42:21FromDiscord<Vicfred> maybe monad
04:42:29FromDiscord<Rika> maybe i'll copy C# 9.0's null check bang
04:42:30FromDiscord<Elegant Beef> Options are common in most languages
04:42:42FromDiscord<Elegant Beef> Which is that again
04:42:47FromDiscord<Elegant Beef> I forget what each version adds 😄
04:42:55FromDiscord<Rika> think they called it "simplified parameter null validation"
04:42:59FromDiscord<Elegant Beef> Plus im in Unityland so im like 1-2 versions behind
04:43:18FromDiscord<Elegant Beef> is that `a ?? b` or `a?.b` or something else
04:43:43FromDiscord<Rika> string argname!
04:43:44FromDiscord<Elegant Beef> Think those are both "Null colescing"
04:44:02FromDiscord<Rika> sent a code paste, see https://discordapp.com/channels/371759389889003530/371759389889003532/722310491740831825
04:44:10FromDiscord<Elegant Beef> Ah
04:44:14FromDiscord<Elegant Beef> Early return for nullable types
04:44:25FromDiscord<Rika> doesnt look doable with macros i think
04:44:48FromDiscord<Rika> at least w/o an extra pragma i imagine
04:46:40*endragor quit (Remote host closed the connection)
04:47:03FromDiscord<Elegant Beef> Can pragmas insert AST inside a proc?
04:47:07*endragor joined #nim
04:47:25FromDiscord<Rika> yes
04:47:28FromDiscord<Rika> pragma macros
04:47:33FromDiscord<Rika> some pragmas are just macros
04:47:46FromDiscord<Elegant Beef> Yea i know that but i havent ever added to a proc call 😄
04:47:56FromDiscord<Rika> they get the whole proc's ast
04:48:06FromDiscord<Rika> its not to a call, its to the proc
04:48:19FromDiscord<Elegant Beef> Yea that's what i meant
04:49:49*Senny quit (Ping timeout: 272 seconds)
04:51:16FromDiscord<Elegant Beef> A `{.onlySome.}` or similar would be nice i guess
04:51:33FromDiscord<Elegant Beef> Checks if all the parameters are options if so adds an early out for them
04:51:44*unihernandez22 quit (Ping timeout: 245 seconds)
04:51:49*endragor quit (Ping timeout: 264 seconds)
04:52:19FromDiscord<Rika> (i think) pmunch made a really good options helper library tho
04:52:37*endragor joined #nim
04:52:52*endragor quit (Remote host closed the connection)
04:53:03*endragor joined #nim
04:53:48*nsf joined #nim
04:55:30FromDiscord<Elegant Beef> Ah nice
04:57:52FromGitter<eagledot> I was looking for gui library in Nim and found one (https://github.com/nim-lang/iup).But couldnot find an example for displaying RGB image. Basically i have RGB raw data and want to display it continuously in a loop.Is there a simple example available to do so?
05:00:15FromDiscord<Elegant Beef> http://webserver2.tecgraf.puc-rio.br/iup/
05:00:20FromDiscord<Elegant Beef> Did you look at the IUP Docs?
05:01:26FromGitter<eagledot> I tried to ,but couldnot find direct function to display image with raw rgb data .
05:01:34FromDiscord<Zed> https://github.com/treeform/flippy
05:01:36FromDiscord<Zed> try this
05:01:55FromDiscord<Zed> im pretty sure you can create an image from raw data
05:02:35FromGitter<eagledot> Thanks,I will try this.
05:10:09FromDiscord<Zed> hey @treeform with figma, would it be possible to run the opengl ui in an sdl/glfw window?
05:11:17FromDiscord<Zed> *fidget
05:13:31FromDiscord<Vicfred> does anyone use ircord? can you help me configure it? I already created the bot account and got the token and invited the bot to the server but Im not sure I did it right
05:20:28FromDiscord<Rika> what's the issue tho
05:20:29FromDiscord<treeform> @Zed Yes. that's what it does now. It uses openGL in a glfw.
05:23:02FromDiscord<Vicfred> what "scopes" should I grant the bot?
05:25:10FromDiscord<treeform> @eagledot are you generating the raw RGB image? Are you going to be updating it?
05:25:37FromDiscord<Rika> @Vicfred all that you need, i think scopes are intents right? you can check which are which in the discord dev docs
05:26:37FromDiscord<Zed> thanks @treeform
05:26:43FromDiscord<Zed> ill be back with more questions lol
05:37:02FromDiscord<treeform> @eagledot, @Zed, here is how I would generate and display and image with Fidget, Flippy, & Chroma: https://gist.github.com/treeform/260e4c5318353937e40c897e706c56b6
05:37:14*aenesidemus quit (Ping timeout: 240 seconds)
05:52:52FromDiscord<Vicfred> https://media.discordapp.net/attachments/371759389889003532/722327810890530896/unknown.png
05:53:15FromDiscord<Vicfred> sent a code paste, see http://ix.io/2pjm
05:55:49*opDispatch quit (Quit: Konversation terminated!)
05:57:13FromDiscord<treeform> Is that a nim discord library?
05:59:06FromDiscord<Vicfred> this one https://github.com/Yardanico/ircord
05:59:42FromDiscord<Vicfred> !repo ircord
05:59:43disbothttps://github.com/Yardanico/ircord -- 9ircord: 11Discord <-> IRC bridge in Nim 15 6⭐ 0🍴
06:12:18FromGitter<eagledot> @treeform Thanks for the code.But i am looking to display image continuously from raw RGB data in memory in a continuous loop, more like OpenCV `cv2.imshow` function .Do you some idea how i can do this?
06:12:30*testbotnimjue joined #nim
06:13:46FromDiscord<Zed> put the image updating in a while loop?
06:13:54FromDiscord<Zed> image drawing
06:15:12FromGitter<eagledot> According the code here (https://gist.github.com/treeform/260e4c5318353937e40c897e706c56b6).Widget show saved image ,is there a function that would take array or seq to display image?
06:17:42vikfretit looks like the bot sometimes work and sends messages from irc to discord but no the other way arround
06:18:30vikfrettestbotnimjue
06:20:21*narimiran joined #nim
06:20:28*testbotnimjue quit (Remote host closed the connection)
06:25:02FromDiscord<Rika> really?
06:25:20*tdc joined #nim
06:25:27FromDiscord<Vicfred> yes
06:25:33FromDiscord<Vicfred> the webhook works
06:27:25*solitudesf joined #nim
06:28:00*mklooste joined #nim
06:30:49*marnix quit (Ping timeout: 264 seconds)
06:34:18*mklooste1 joined #nim
06:38:34*mklooste quit (Ping timeout: 256 seconds)
06:53:23PrestigeHmm is it possible to have a proc for = to execute some code every time a value is assigned to a particular object?
06:58:49*kenran joined #nim
06:59:16FromDiscord<Rika> not that i know of
07:00:06FromDiscord<Zed> why not something like a simple if check?
07:00:31FromDiscord<Rika> prestige: i can think of other solutions if you give more context 😛
07:01:02PrestigeWas curious if I could be notified when a variable is assigned a value, but I could just make a proc for assignment and just not use = I suppose
07:01:20PrestigeJust thought it'd be neat if that proc were called = to capture assignment
07:11:29*krux02 joined #nim
07:20:20FromDiscord<Zed> what about `===` *javascript vibes*
07:21:31PrestigeLol
07:21:44bung_it cam compiles when you define `=` proc, I just checked
07:22:19bung_can
07:22:20PrestigeHmm maybe I'll have to try that tomorrow
07:24:07bung_sounds like you are design a data binding system
08:00:51*fredrikhr joined #nim
08:18:57FromDiscord<KrispPurg> @Vicfred, install websocket 0.4.0 and not 0.5.0
08:19:21FromDiscord<KrispPurg> Are you using compress as well? If so then it off.
08:19:43FromDiscord<Rika> zlib pure port to nim when
08:20:06FromDiscord<Rika> (/s)
08:22:37FromGitter<bung87> I thought once , guess others might think worthless porting c lib
08:23:23FromDiscord<Rika> you calling my linenoise port worthless?
08:23:26FromDiscord<Rika> ree
08:23:57FromDiscord<KrispPurg> ~~libopus port in Nim, when???~~
08:24:33FromDiscord<KrispPurg> (edit) 'Are you using compress as well? If so then ... it' => 'Are you using compress as well? If so thenturn'
08:25:37FromGitter<bung87> idk , if it portibg is done then it worth
08:26:30FromDiscord<Rika> krisppurg is libopus a pain to deal with?
08:32:29FromDiscord<Vicfred> @KrispPurg thx I will try tomorrow I'm about to sleep now
08:32:57FromDiscord<KrispPurg> @Rika, I haven't tried it yet lol.
08:35:06FromDiscord<KrispPurg> I thought of delaying voice, because I want to first release v1.0.0 and I don't want it take too long, since there might issues laying around.
08:35:19FromDiscord<KrispPurg> might be*
08:35:41FromDiscord<KrispPurg> gn, vicfred
08:44:13*leorize quit (Remote host closed the connection)
08:44:37*leorize joined #nim
08:47:49*Vladar joined #nim
08:54:30*Tlanger joined #nim
08:57:06*Tongir quit (Ping timeout: 260 seconds)
09:00:59*PMunch joined #nim
09:08:02*Tongir joined #nim
09:09:32*couven92 joined #nim
09:09:45*oddp joined #nim
09:09:57*fredrikhr quit (Disconnected by services)
09:10:03*couven92 is now known as fredrikhr
09:10:07*mklooste1 is now known as mklooste
09:10:18*mklooste is now known as marnix
09:10:27*couven92 joined #nim
09:10:34*Tlanger quit (Ping timeout: 258 seconds)
09:17:54*fredrikhr quit (Ping timeout: 240 seconds)
09:18:28*fredrikhr joined #nim
09:18:42*fredrikhr quit (Read error: Connection reset by peer)
09:19:16*fredrikhr joined #nim
09:30:24*fredrikhr quit (Read error: Connection reset by peer)
09:31:56*fredrikhr joined #nim
09:33:35*Trustable joined #nim
09:50:14*NimBot joined #nim
09:51:19*abm joined #nim
09:52:34*pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
09:53:09*pbb joined #nim
10:16:14*vsantana joined #nim
10:24:59*Cthalupa quit (Ping timeout: 260 seconds)
10:27:47*Cthalupa joined #nim
10:34:17*voltist quit (Quit: Ping timeout (120 seconds))
10:34:25*Senny joined #nim
10:34:36*voltist joined #nim
10:56:42*brainbomb1 joined #nim
11:03:19*nikita` joined #nim
11:20:36*dddddd joined #nim
11:23:28*lritter joined #nim
11:24:03*drdee joined #nim
11:27:54*couven92 quit (Read error: Connection reset by peer)
11:28:17*couven92 joined #nim
11:33:49*abm quit (Ping timeout: 264 seconds)
11:43:37*aeverr quit (Remote host closed the connection)
11:44:01*aeverr joined #nim
12:06:02*supakeen quit (Quit: WeeChat 2.8)
12:06:37*supakeen joined #nim
12:11:29*Tlanger joined #nim
12:13:56*qwertfisch quit (Quit: ZNC - http://znc.in)
12:14:10*Tongir quit (Ping timeout: 265 seconds)
12:19:24shashlickShould be easy to wrap it
12:20:32*Tongir joined #nim
12:23:01*Tlanger quit (Ping timeout: 264 seconds)
12:26:30*fredrikhr quit (Quit: Client disconnecting)
12:26:46*couven92 quit (Quit: Client Disconnecting)
12:34:21*drdee quit (Quit: Leaving)
12:39:59*drdee joined #nim
12:51:51*vsantana quit (Read error: Connection reset by peer)
12:52:59FromDiscord<KrispPurg> @treeform , yes.
13:02:31*vsantana joined #nim
13:15:13*Senny quit (Ping timeout: 272 seconds)
13:20:20*drdee quit (Ping timeout: 256 seconds)
13:31:36*PMunch quit (Remote host closed the connection)
13:35:43*endragor quit (Remote host closed the connection)
13:36:11*endragor joined #nim
13:41:55*endragor quit (Ping timeout: 260 seconds)
13:46:18*vsantana quit (Read error: Connection reset by peer)
13:46:24*vsantana joined #nim
13:51:47*vsantana1 joined #nim
13:53:37*vsantana quit (Ping timeout: 264 seconds)
13:54:24*PMunch joined #nim
13:56:27*drdee joined #nim
13:56:36*vsantana1 quit (Client Quit)
13:56:51*vsantana joined #nim
14:00:56PMunchHmm, when interacting with the compiler can I stop it from quitting on error?
14:02:42Araq--maxErrors
14:03:26PMunchOh, I meant like returning to my code on error
14:04:10shashlickyou importing the compiler into your code?
14:04:15PMunchYes
14:04:38PMunchI'm using it to find all dependencies of a file
14:04:44PMunchFrom the standard library
14:04:46shashlickhttps://github.com/nimterop/nimterop/blob/master/nimterop/comphelp.nim#L7
14:05:07*willyboar joined #nim
14:05:08shashlickalso line 17
14:05:43FromDiscord<Recruit_main707> how can something like this be made, maybe by using separate files or something, having the method under the next object would look bad af... https://media.discordapp.net/attachments/371759389889003532/722451845066260480/unknown.png
14:05:51FromDiscord<Recruit_main707> be done*
14:08:10*abm joined #nim
14:08:33FromDiscord<Recruit_main707> i could use `agent: Bot`, but thats not ideal really, if there is another way, let me know pls
14:09:10*willyboar quit (Client Quit)
14:09:29*willyboar joined #nim
14:10:13FromDiscord<Varriount> @Recruit_main707 Why not put it under the `GoslingAgent` type? It's referencing that type.
14:10:41FromDiscord<Recruit_main707> GoslingAgent references Routine in the stack
14:11:07FromDiscord<Varriount> Put the two types in the same `type` block, then put the method under the block.
14:11:54FromDiscord<Varriount> Nim doesn't have forward type declaration. There's some experimental stuff, but I wouldn't recommend using it.
14:12:45FromDiscord<Recruit_main707> > Put the two types in the same `type` block, then put the method under the block.↵thats what id like to avoid
14:13:05FromDiscord<Recruit_main707> Thank you nevertheless 🙂
14:13:48FromDiscord<Recruit_main707> about forward type declarations, are they planned to happen in a close future?
14:14:18FromDiscord<Varriount> No. I believe there's an experimental feature, but I've used it, and wouldn't recommend it.
14:14:51FromDiscord<Varriount> Sorry, there's an experimental feature to automatically reorder type definitions, but I wouldn't recommend it.
14:15:27FromDiscord<Recruit_main707> and that would probably not even work for this case
14:15:29FromDiscord<Varriount> Because it also reorders error messages from the compiler, resulting in false negatives.
14:15:52*pietroppeter quit (Ping timeout: 256 seconds)
14:16:05*Lord_Nightmare quit (Remote host closed the connection)
14:16:08FromDiscord<Varriount> Forward type declarations can't work, because of macros.
14:16:19*Lord_Nightmare2 joined #nim
14:16:26*drewr quit (Ping timeout: 256 seconds)
14:16:26*r4vi quit (Ping timeout: 256 seconds)
14:16:29FromDiscord<Varriount> What happens when a macro needs to get the definition of a type, and the definition isn't available?
14:17:00*Tlanger joined #nim
14:17:17*Lord_Nightmare2 is now known as Lord_Nightmare
14:17:36*pietroppeter joined #nim
14:17:48PMunchHmm @Recruit_main707, I'm not using parseString though..
14:17:55*r4vi joined #nim
14:18:37FromDiscord<Recruit_main707> missping? :P
14:19:09PMunchOh, yes.. That was for shashlick :P
14:19:14*Tongir quit (Ping timeout: 240 seconds)
14:21:08*drewr joined #nim
14:28:02AraqVarriount: then we can produce an error but ideally the existence of a macro system shouldn't hinder us from having more convenience
14:28:57AraqNim has an infix/indentation based syntax even though we know it doesn't play as well with macros as a Lisp would
14:29:53Araqso we should take the next steps and remove forward decls from Nim, IMO
14:32:38*vsantana left #nim (#nim)
14:36:07PMunchHmm, I tried to set a "structuredErrorHook", but that also fires for statements like "when compiles" so my program would output stuff on those errors as well..
14:37:57Araqthat's a bug I think, system.compiles should overwrite the error hook
14:43:51PMunchSame thing on 1.2.0 by the way (I was using devel before that)
14:48:41*narimiran quit (Quit: leaving)
14:49:19*aenesidemus joined #nim
14:56:24*vsantana1 joined #nim
14:56:30PMunchSo, no way around it?
14:57:09FromDiscord<gokr> So.. I have gotten further down the road with c2nim wrapping of ORX. Now... these headers have quite a few inlined functions - and c2nim (when compiling to C) decided to convert that code to "corresponding Nim code" I guess. How do we handle this "in general"?
14:57:57FromDiscord<gokr> I have like... 91 functions to go through - either I can try to make them work in Nim, or I guess I could just sprinkle `{.emit` all over the place.
14:59:34FromDiscord<gokr> An example: <https://github.com/gokr/orx/blob/master/code/include/memory/orxMemory.nim#L138-L144>
15:08:02*bung_ quit (Quit: Lost terminal)
15:09:00FromDiscord<gokr> So can I instruct c2nim to... not convert the bodies of these C functions, but still get them inlined in the end in the resulting C code? As intended by the ORX developer.
15:12:22FromDiscord<Recruit_main707> so... c2nim inlines the c functions beforehand?↵is that the issue?
15:13:31FromDiscord<gokr> The C functions in question are in the header files, marked as "inline". c2nim converts the code to Nim code.
15:13:42FromDiscord<gokr> As the shown lines above - see link.
15:15:42FromDiscord<Recruit_main707> but with the `{.inline.}` pragma
15:16:47FromDiscord<gokr> Right, so... I interpret this to mean that the Nim proc will turn into a C function again marked for inlining, that the C compiler should perform in the end.
15:17:07FromDiscord<Recruit_main707> yes, generated c code will still be a function, marked as inline as well
15:18:00FromDiscord<gokr> Thinking more closely... this is what c2nim "has" to do. Or possibly it could have used emit.
15:18:43FromDiscord<gokr> _wonders what Araq would do ;)_
15:23:26*narimiran joined #nim
15:25:55*vsantana joined #nim
15:27:42*vsantana1 quit (Ping timeout: 260 seconds)
15:33:00*qwertfisch joined #nim
15:33:23Araqgokr: you can indeed use #header and remove the '{ body; }' for the inline functions
15:35:18*vicfred joined #nim
15:36:45FromDiscord<gokr> Oh, so... #header is the directive to use
15:37:34FromDiscord<Clyybber> Araq: Should we also assign Showstopper to really weird issues like this one: https://github.com/nim-lang/Nim/issues/14665 ?
15:37:37disbot[quote do] weird error when trying to use continue after "quote do" in an else branch in a loop ; snippet at 12https://play.nim-lang.org/#ix=2plc
15:39:30leorizePMunch: that's fixed in the latest devel, no?
15:39:59*vsantana quit (Ping timeout: 260 seconds)
15:40:05FromDiscord<gokr> Araq: So... I could - for these functions, add the header pragma and remove the bodies. But then I also ... need the headers available when compiling I presume.
15:42:14FromDiscord<Recruit_main707> yes iirc
15:49:00Araqyeah well, c2nim can translate function bodies too
15:49:05Araqso what's really the problem? ;-)
15:49:30FromDiscord<gokr> Just curious about what approach I should take.
15:50:26leorizeif it's simple enough, I'd go for not having a header
15:50:37leorizebut if it's not then you don't have too many choices here
15:50:46FromDiscord<gokr> Would be nice to not need the original headers, so ... perhaps for the easier variants, go with Nim version of the code. And for trickier ones, like say the memcpy etc - use emit.
15:52:31leorizewe do have copyMem() :)
15:54:12FromDiscord<Shucks> Im trying to scan a byte sequence with a hex pattern including wildcards and getting the index from the match. ↵My approach seems to be very inefficient and slow. Any other ideas? https://play.nim-lang.org/#ix=2plg
15:54:14AraqI avoid #header if I can
15:55:53leorize[m]@Shucks what are you trying to do here?
15:56:08leorize[m]it's kinda rare to see people needing to do regex match on hex
15:57:06FromDiscord<Shucks> Im reading some memory pages from a process and want to scan that page with a pattern and getting the address from the hit.
15:57:44leorizenpeg might be better at this
15:58:11disruptekstrscan
15:59:06FromDiscord<Shucks> Was thinking about strscans but its just able to return substrings
15:59:51leorizealso btw we have a `div` operator for integer division
16:00:06FromDiscord<Shucks> oh thanks
16:00:41disrupteki guess npeg might be better, then.
16:01:26FromDiscord<Shucks> aight gonna take a looksie then 🙂
16:02:05disrupteki need to recharge after the ball-breaking zedeus gave me yesterday.
16:02:10disruptekany recommendations?
16:03:32*willyboa_ joined #nim
16:04:53FromDiscord<treeform> @eagledot, @Zed, I added a way to fidget to update an image every frame: https://github.com/treeform/fidget/blob/master/tests/imagestatic/imagestatic.nim
16:05:08FromDiscord<treeform> https://media.discordapp.net/attachments/371759389889003532/722481898156458046/unknown.png
16:05:28Araqtreeform: can we re-enable fidget for important packages?
16:05:34Araqfor some reason we had to disable it
16:06:13*willyboar quit (Ping timeout: 272 seconds)
16:06:35FromDiscord<treeform> what was the reason?
16:06:42FromDiscord<treeform> I have a CI now so it should be good?
16:07:27leorizedamn, zevv did some insane work on npeg
16:07:49Araqsome missing file iirc
16:07:55FromDiscord<treeform> It would be nice if the important packages would notify me some how if it breaks.
16:07:59leorizenpeg can now run on any openArray[T]
16:08:30Araqtreeform: indeed
16:08:41FromDiscord<treeform> I would be happy to fix any issue that arise, but I can't fix them if I am never notified.
16:09:05FromDiscord<treeform> I was not even aware that fidget was in important packages.
16:10:02*kenran quit (Ping timeout: 265 seconds)
16:10:20FromDiscord<treeform> oh yeah the command is just wrong: `pkg1 "fidget", true, "nim c -d:release -r tests/runNative.nim"`
16:10:43FromDiscord<treeform> it should just be `nimble test`
16:11:52FromDiscord<treeform> well its more complex then that....
16:12:25FromDiscord<treeform> to run tests fully it requires openGL to be installed ... if you are doing that on linux in a CI thats kind of complex.
16:12:41FromDiscord<treeform> But testing that it all compiles is probably good enough?
16:13:08FromDiscord<treeform> In my own CI I install x org and mesa drivers.
16:13:13Araqup to you to decide
16:13:32Araqbtw does it work with --gc:arc?
16:14:23FromDiscord<treeform> yes it should
16:14:32FromDiscord<treeform> I use it with --gc:arc for my new project.
16:14:51Araqdoes your CI set --gc:arc?
16:15:00FromDiscord<treeform> I don't think so.
16:15:52Araqok, please change it so that it does
16:16:04AraqI'll claim during my talk that Fidget works with --gc:arc
16:16:13Araq:D
16:17:05FromDiscord<treeform> lol ok
16:17:29disruptekall my ci is dead because --useVersion:1.0 fails due to lib/system/gc.nim(848, 9) Error: can raise an unlisted exception: ref AssertionDefect on devel.
16:17:34FromDiscord<treeform> does nimble test --gc:arc work?
16:17:56leorize[m]@Shucks here's how you do it with nim-regex: https://play.nim-lang.org/#ix=2plr
16:18:11leorize[m]more efficient than your current version, for sure :P
16:18:14Araqdisruptek, humm
16:18:25*marnix quit (Ping timeout: 246 seconds)
16:18:42Araqtreeform: I don't know but it works inside nim.cfg and config.nims
16:20:06zedeusdisruptek: how about gzip support for httpclient? could be an external thing, there's a zip library with gzip support
16:20:21zedeusthat would massively improve nitter's bandwidth at least lol
16:21:04leorizerenders you vulnerable to BREACH but it's not like anyone actually cares :P
16:21:12disruptekyou told me it's a non-issue.
16:21:34zedeusoutgoing gzip we use nginx, ingoing is the issue
16:22:08zedeusbrotli support would be cool too, but gzip has more support
16:22:20disrupteki hate broccoli.
16:22:51disrupteki mean, i really hate it.
16:23:11disruptekactually, brussells sprouts are worse.
16:23:14disrupteksame plant.
16:23:25disruptekbastards of the flora kingdom.
16:23:38FromDiscord<Shucks> > @Shucks here's how you do it with nim-regex: https://play.nim-lang.org/#ix=2plr↵@leorize[Matrix]#0000 It's failing atm. but where comes that "regex" module come from. Docs just gave me `re` ;D
16:23:42Araqtry it with salt
16:23:54disrupteklike, a super huge amount?
16:24:08leorize@Shucks
16:24:10leorize!repo regex
16:24:12disbothttps://github.com/nitely/nim-regex -- 9nim-regex: 11Pure Nim regex engine with linear time match 15 85⭐ 10🍴 7& 7 more...
16:24:39FromDiscord<Shucks> oh it isnt a standard lib
16:25:00leorizeoh I forgot to rename bytes -> byteString :P
16:25:05leorizefix that and it'll work again
16:25:11disrupteki would kill for a job.
16:25:20*disruptek is thinking about working at an animal shelter.
16:25:36disruptekfuck cats, i mean, seriously.
16:25:37disruptekfuck 'em.
16:26:07zedeusif you're actually looking for work, i know a company in canada that uses nim
16:26:23disruptekkinda a long commute.
16:26:36disruptekis the border even open? i don't think it is.
16:26:38zedeusi was under the impression you lived there
16:26:50disruptekcanada?
16:27:16disruptekcanada isn't big enough for setenforce and i to cohabitate.
16:27:18zedeusdidn't you talk about staying there in the middle of nowhere some time ago?
16:28:18disrupteki can't talk about my travels any more.
16:28:23disruptektoo many ears.
16:28:56disruptekwhat's the company, though?
16:29:33FromDiscord<treeform> @Araq, Hmm --gc:arc is not playing nice with examples that use async stuff.
16:29:35zedeusi'll probably be working there soon, so i can tell you in private
16:29:48disrupteknice?
16:30:26disruptekgzip sounds like work. i need to either write a game or play a game.
16:31:09zedeusit might be as easy as just giving the string to zip
16:31:11zedeushttps://github.com/nim-lang/zip
16:34:49shashlickgokr: see how nimterop handles static inline - look for `static inline` in the readme
16:35:00*hpyc9 quit (Quit: FREENODE IS FUCKING GAY)
16:45:23disruptek#14179 yay thank you.
16:45:23disbothttps://github.com/nim-lang/Nim/issues/14179 -- 5`nim dump` is roughly 100x slower in 1.3 versus 1.2
16:49:53disruptek"A simpler option for anyone that wants to spend time on this is to simply fork"
16:50:21disruptekarnetheduck: forking the compiler is a simpler option than creating an RFC?
16:51:21FromDiscord<SeanOMik> How could I create a C++ library binding for nim?
16:51:40*kenran joined #nim
16:51:50FromDiscord<SeanOMik> In other words, I have a C++ library that I want to allow users to use in Nim
16:52:36*TheManiac[m] quit (Quit: Idle for 30+ days)
16:53:29*dannyfritz[m] quit (Quit: Idle for 30+ days)
16:54:05shashlickc2nim or nimline
16:54:11FromDiscord<SeanOMik> Okay
16:54:16FromDiscord<SeanOMik> I saw the tutorial: https://gist.github.com/zacharycarter/846869eb3423e20af04dea226b65c18f
16:54:26FromDiscord<SeanOMik> But I wasn't sure that would also work for C++
16:54:34FromDiscord<SeanOMik> I'll try that
16:54:35FromDiscord<SeanOMik> THanks
16:54:47FromDiscord<SeanOMik> (edit) 'THanks' => 'Thanks'
17:00:08*kragil[m] quit (Quit: Idle for 30+ days)
17:00:38*anti[m] left #nim ("Kicked by @appservice-irc:matrix.org : Idle for 30+ days")
17:00:50disruptekoff the top of your head, is there an option to disable config.nims reads?
17:01:03leorize--skipUserCfg
17:01:06leorizebut then it skips all
17:01:16*matthias[m]3 quit (Quit: Idle for 30+ days)
17:01:22disruptekyeah, i just want to skip nimscript.
17:02:52*kenran quit (Ping timeout: 246 seconds)
17:02:53leorize[m]Zevv: not sure why this doesn't work: https://play.nim-lang.org/#ix=2plx
17:03:01leorize[m]regex for comparison: https://play.nim-lang.org/#ix=2ply
17:03:04*j4nvkvc left #nim ("Kicked by @appservice-irc:matrix.org : Idle for 30+ days")
17:07:58disruptekshashlick: latest nimble dump doesn't work on latest nimterop: http://ix.io/2plz/nim -- paramCount problem.
17:10:15disrupteki'm working on a new version of choosenim.
17:10:53shashlickugh how do i fix that now
17:11:33disruptekit's just a github repo that reflects the current binary distributions. so you just checkout any version you want. done.
17:11:56disruptekshashlick: i dunno, who gives a fuck about nimscript?
17:12:13shashlickhttps://github.com/nimterop/nimterop/blob/master/nimterop/docs.nim#L5
17:12:50disrupteki just built it today; it's nim-e35b21e55310e93ca04980febe1a48c9436bded9.
17:15:00disruptekof course, this binary distribution includes choosenim. so to install choosenim, you (shallow) clone the repo at whatever tag you want. thereafter, individual tags can be changed upstream dynamically and choosenim can warn you or update you or whatever. since we know which platform you're on, the distribution includes choosenim itself, already compiled for you and statically linked.
17:15:31disruptekchoosenim also includes nimph, because it's better.
17:16:31disruptekyou can host your own choosenim repo, of course. so you can have your whole organization setup with the same choosenim tags and releases, etc.
17:17:02disruptekjust set an environmental variable called ARAQ_HATES_THE_ENV=https://some/github/repo
17:18:05disruptekand everyone gets quiet...
17:20:03FromDiscord<Shucks> > ```var a = "abcd"↵> echo a[..a.high]↵> echo a[1..]```
17:20:14FromDiscord<Shucks> Im able to skip the first expression but not the last one on slicing?
17:20:39disruptekwas that a code paste? if so, it's awesome that the bot translated it.
17:20:49FromDiscord<Shucks> yea
17:21:19zedeushmm getting an unsureAsgnRef segfault
17:22:08FromDiscord<Shucks> I basically want to use pythons `"abcd"[1:]`
17:22:16disruptekwell, don't.
17:22:28disruptekTHIS IS NIM
17:22:50disruptekwe barely let zedeus in here; don't push your luck.
17:22:59FromDiscord<Shucks> ;D
17:23:14FromDiscord<Shucks> so a[1..a.high]?
17:23:25disruptekidiom is a[1..^1]
17:23:26zedeusyes
17:23:59disruptekie. very high.
17:24:12FromDiscord<Shucks> btw. im using `https://github.com/nim-lang/Nim/wiki/Nim-for-Python-Programmers` all the time *hides*
17:24:22disruptek~veryhigh is ^1
17:24:22disbotveryhigh: 11^1
17:25:45disruptek~Shucks is a new Pythonista transient
17:25:45disbotShucks: 11a new Pythonista transient
17:29:11FromGitter<ynfle> Is there a way to force recompilation even if a file is cached?
17:29:28disrupteknim -f someproj.nim
17:29:32disrupteknim c -f someproj.nim
17:29:43FromGitter<ynfle> Thanks!!!
17:29:55disruptekcheck out `nim --fullhelp` for more ideas.
17:33:06FromGitter<ynfle> 👍
17:34:00*kenran joined #nim
17:40:23*opal quit (Ping timeout: 240 seconds)
17:41:48disrupteki guess it's not called choosenim. that's just confusing.
17:41:53disruptekit's call `gitnim`.
17:41:57disruptekGITNIM
17:42:09disruptekLOL
17:45:00Zevvleorize[m]: https://play.nim-lang.org/#ix=2plJ
17:46:35leorize[m]well that's quite surprising :P
17:46:51leorize[m]anyhow, @Shucks ^ that's the npeg version of the thing
17:47:25FromDiscord<Shucks> oh 😮
17:47:51Zevvyou're treading on wild territory. Never heard of anyone using non-string parsers yet
17:48:29leorizenot sure if you can make npeg take input variables :P
17:49:39leorizeZevv: why does it have to be @> and not >@?
17:53:14FromDiscord<Shucks> I don't understand that at all lol
17:54:28*opal joined #nim
18:06:54FromDiscord<Shucks> well currently trying that one https://play.nim-lang.org/#ix=2plP
18:08:54shashlickdisruptek does it use official binaries
18:09:07disruptekyeah.
18:09:17disruptekwell, leorize's awesome builds.
18:12:26shashlickrepo will get big fast no
18:12:35disrupteki hope so.
18:13:03shashlicksparse checkout is not really small
18:13:10disrupteksure it is.
18:13:22disruptekwhatever it takes is whatever it takes.
18:14:26shashlickin fact it isn't choosable unless you get all tags
18:14:37disruptekso what?
18:14:56disruptekfetching the tags or just getting a tag list isn't hard, heavy, slow, or expensive.
18:15:10shashlicki need to download every release to use one
18:15:17disruptekwhy?
18:16:00shashlickhow do u clone a specific tag
18:16:38leorize[m]git clone -b <tagname>?
18:16:50leorize[m]works for commits too
18:16:57leorize[m]--depth=1 and it will clone that exact ref
18:17:10leorize[m]only*
18:18:18shashlickyou cant move around then
18:18:32disruptekwhat the hell are you talking about?
18:20:49*hpyc9 joined #nim
18:20:53disruptekmove around?
18:21:24*solitudesf- joined #nim
18:21:54shashlickhttps://stackoverflow.com/questions/1911109/how-do-i-clone-a-specific-git-branch
18:22:08*marnix joined #nim
18:23:34*solitudesf quit (Ping timeout: 240 seconds)
18:23:51leorize[m]you can still use git fetch to fetch additional refs to checkout if you wanted to
18:24:17disrupteki dunno what this has to do with anything, honestly.
18:24:43shashlicksee the 5GB reference in the first answer
18:25:12disruptekwell, did you read it?
18:25:26disruptekthe first line is "The --single-branch option is valid from version 1.7.10 and later."
18:26:18shashlickyes and when you checkout a single branch, you still checkout the entire repo
18:26:23disruptekdude.
18:26:29disruptekdo you think i won't come down there?
18:26:31disrupteki will.
18:26:36disrupteki am not afraid of you, shashlick.
18:26:45*Kaivo quit (Quit: WeeChat 2.8)
18:26:45shashlickwhich means if i want 1.2.0 and 1.0.6, I still get every other version in git history with no compression that you get with xz/zip
18:26:59disruptekgit objects are compressed.
18:27:39disruptekanyway, it doesn't even matter.
18:27:48disruptekif i need to push the repo every so often, big deal.
18:28:06shashlickits like the nim or csources repo - takes a while to download it
18:28:28shashlickanyway, my brain is hobbled with eating lunch in parallel so continue to stay home
18:28:59disruptekyeah, because that's the important factor here. and anyway, i think it's about 70meg uncompressed. on the wire it should be around 15mb, tops.
18:29:41disruptekbut the real win is that the package manager and gitnim itself track the compiler.
18:29:51leorizewhat's gitnim?
18:30:07disruptekchoosenim for choosey nimions.
18:30:17leorizeshashlick: actually if you use --single-branch csources can be downloaded in seconds :P
18:30:52*tdc quit (Ping timeout: 256 seconds)
18:31:15*aenesidemus quit (Ping timeout: 260 seconds)
18:32:00*kenran_ joined #nim
18:34:16*kenran quit (Ping timeout: 256 seconds)
18:34:34*solitudesf joined #nim
18:37:27*solitudesf- quit (Ping timeout: 265 seconds)
18:37:40*marnix quit (Ping timeout: 256 seconds)
18:38:07*aenesidemus joined #nim
18:39:46*Trustable quit (Remote host closed the connection)
18:40:36*drdee quit (Remote host closed the connection)
18:44:06Zevvleorize: Because you want to capture the thing you search
18:44:20Zevvnow you capture the searching and the thing
18:44:26Zevvand searching starts at 0
18:45:48leorize[m]lol, the logic in my head was: @P means search for P and >P means captures P, so >@P would mean capturing the searched P :P
18:47:51leorize[m]does the @0 capture work without specifying one?
18:48:15leorize[m]I had to specify one because of template substituting npeg symbols with nnkSymChoice
18:48:38*kenran joined #nim
18:48:58leorize[m]read: I need to write >@ because @ collides with a ton of `@` in system.nim
18:49:56*Trustable joined #nim
18:50:09Zevvyeah $0 is the implicit rule-level capture
18:50:42*kenran_ quit (Ping timeout: 256 seconds)
18:51:27leorizewell I guess npeg doesn't work too well with templates then :P
18:51:41Zevvnever tried what you are doing here :)
18:52:06ZevvI'm afraid the day will come when people start really using this and outsmart me anyway. I got this guy with wild ideas on a github issue. No clue what he's about yet
18:52:14Zevvhe problable knows how this stuff actually works
18:53:07leorizepeople will certainly outsmart you once they use it :p it's like the pitfall of api design: it's clever until it's used
18:53:28ZevvI know, that's why I made this issue to discuss API's
18:53:36Zevvbut he's going way beyond.
18:54:32*drdee joined #nim
18:55:51*tane joined #nim
19:01:05*simian_ joined #nim
19:01:59PMunchleorize, what is fixed in the latest version?
19:02:30*simian_ quit (Client Quit)
19:02:31leorizestructuredErrorHook not being unregistered before a trySemExpr (compiles())
19:02:49*simian_ joined #nim
19:02:53*simian_ quit (Client Quit)
19:03:01PMunchDoesn't appear so
19:03:04*simian_ joined #nim
19:03:11PMunchTried with 1.2.0 and latest nightly
19:03:45leorize[m]https://github.com/nim-lang/Nim/pull/14527/files
19:03:46disbotFix `compiles` for nimsuggest [backport]
19:04:01leorize[m]only used when you define nimsuggest it seems
19:04:08leorize[m]maybe PR so that it'd be unconditional?
19:05:01leorizewe really need a stash() template here :P
19:08:23*simian_ quit (Ping timeout: 265 seconds)
19:09:32*Trustable quit (Remote host closed the connection)
19:12:11PMunchHmm, running `conf.symbols.defineSymbol("nimsuggest", "true")` didn't really help either
19:12:48leorizeit's done at compile time
19:13:09leorizecompile your program with -d:nimsuggest
19:14:44PMunchStill no dice
19:15:25PMunchAnd it should be within the script running code surely? That's where the compile() is used
19:16:05PMunchhttp://ix.io/2pmf <- this is my code by the way
19:16:33PMunchIt builds the minimal standard library required for a set of imports
19:19:23leorizelooks like that's not the only place where the structuredErrorHook should be removed...
19:19:46leorizeoh btw your program doesn't work if the first argument is a relative path :P
19:21:18leorizehmm it does work with tables
19:21:30leorizeI wonder why it doesn't work with other things
19:22:42leorizePMunch: I'd need a reproducible test case
19:23:04leorizeI tried with terminal.nim but the result is pretty much to be expected
19:23:38PMunchBuild it and call it with: ./libbuilder ~/.choosenim/toolchains/nim-\#devel/lib system pure/collections/tables
19:23:50PMunchThat shouldn't output anything
19:24:06leorizewell if you define nimsuggest it won't
19:24:17PMunchWell it does..
19:25:26leorizeit doesn't :P latest nightlies
19:25:42leorizebuilt with nim c -d:nimsuggest builder.nim
19:25:50PMunchIt does for me.. On latest nightlies..
19:25:59PMunchOh wait, maybe my compiler package is outdated
19:27:01leorizeput -p:'$nim' in there and it should use the bundled compiler source
19:27:39PMunchI just did `nimble install compiler@#head`
19:27:46PMunchOkay, that works
19:27:52disruptekdon't use that; yikes.
19:28:26disruptekfwiw gitnim takes <100mb and <7s to install nim. after 1.2 is installed, it costs +15mb to add devel.
19:28:26leorizeyou should PR a change to remove structuredErrorHook in tryExpr() unconditionally then
19:28:53disruptekand <3s to install devel.
19:29:03PMunchWhy not?
19:29:16disruptekbecause it shouldn't exist.
19:29:39PMunchBecause? I need it for my NimScript stuff anyways
19:29:40disruptekit's super confusing to the entire ecosystem.
19:29:46zedeusjeez. nitter.net is serving 8750 rss feeds right now
19:29:47disruptekwhat's wrong with $nim?
19:29:57FromDiscord<KrispPurg> Is there a way to convert from json to an object, if a field is not present in the json object and say it was a string, is there a way to let it be `""` on default if it doesn't exist?
19:30:17FromDiscord<KrispPurg> I know I could just convert them to options.
19:30:31FromDiscord<Recruit_main707> JsonNode.to(ObjectType) iirc
19:30:38FromDiscord<Shucks> Shouldn't `-d:danger` use `--opt:speed`? My code still runs 3x times faster with using speed explicit https://github.com/nim-lang/Nim/blob/e35b21e55310e93ca04980febe1a48c9436bded9/config/nim.cfg#L72
19:30:57leorize-d:danger implies -d:release and all of its optimization
19:31:00leorizeunless you're on outdated nim
19:31:53PMunchdisruptek, well I didn't know about it until now :P
19:32:00FromDiscord<KrispPurg> @Recruit_main707, I know but if a json field like for example name doesn't exist in the field, would it default to "", if not found?
19:32:13FromDiscord<Recruit_main707> idk, try it :)
19:32:14FromDiscord<KrispPurg> (if string field for example"
19:32:17FromDiscord<KrispPurg> (edit) 'example"' => 'example)'
19:32:20leorizeit won't
19:32:26leorizemake your own to() for it :P
19:32:40FromDiscord<Varriount> Anyone know of using webgl with Nim (on the Javascript target)?
19:32:56FromDiscord<KrispPurg> Any easier way for it?
19:33:10leorizeif you're following a schema then maybe try PMunch's jsonschema?
19:33:17leorize!repo jsonschema
19:33:18disbothttps://github.com/PMunch/jsonschema -- 9jsonschema: 11Schema validation of JSON for Nim 15 17⭐ 2🍴 7& 2 more...
19:44:05*Trustable joined #nim
19:46:40*kenran quit (Ping timeout: 246 seconds)
19:52:52*solitudesf- joined #nim
19:55:06*solitudesf quit (Ping timeout: 260 seconds)
19:58:00*simian joined #nim
19:58:11FromDiscord<creatable> i'm trying to use os.execShellCmd to check if a command exists by using the exit code. i want to prevent execShellCmd from having any console output. how would i do that?↵if there's a better way to check if a command exists i'd prefer to know that
19:58:28leorizefindExe
19:58:33FromDiscord<creatable> thank you
19:59:25*simian quit (Remote host closed the connection)
20:01:51FromGitter<Knaque> I remember seeing a bar graph showing the size difference in some language's binaries (compared against Nim), but I can't remember where it was. Would anyone happen to know? I'm double-checking something.
20:03:26PMunch@Knaque, might it be this one? https://hackaday.com/2018/09/25/nim-writes-c-code-and-more-for-you/
20:04:10FromGitter<Knaque> That's the one, thanks.
20:04:41leorizeit's used to be in our advertising materials iirc
20:05:56FromGitter<Knaque> Yeah, that's where I think I remember seeing it.
20:06:29FromGitter<Knaque> Out of curiosity, is it still pretty accurate? It is from 2018 after all, and things might have changed since then.
20:06:47leorizeno idea
20:07:46*solitudesf- quit (Ping timeout: 256 seconds)
20:07:58PMunchThe Nim one should be accurate, don't think they have grown much
20:08:56PMunch44K for `echo "Hello world"` with -d:release --opt:size
20:09:08PMunchBut otherwise no other optimisations
20:09:36PMunchThat being said you can push it quite far: https://hookrace.net/blog/nim-binary-size/
20:09:41PMunchDown to 150 bytes
20:10:10FromGitter<Knaque> Read that already just a little while ago, vvv interesting.
20:11:01*Vladar quit (Quit: Leaving)
20:13:16PMunchWhat are you doing where binary size matters that much`
20:13:17PMunch?*
20:14:16*vsantana joined #nim
20:15:18FromGitter<Knaque> Nothing, just having a discussion with someone.
20:15:22PMunchAh
20:16:47leorizewho would've thought that abs() can actually overflow :P
20:17:41PMunchOhohoh, me!
20:18:41PMunchThe biggest negative number in twos compliment is one bigger than the biggest
20:19:00disruptekyou're blowin' my mind right now.
20:19:09leorizeyea and this is the exact problem in std/times :)
20:19:29disruptekAraq: ^
20:19:43disruptekexactly what you told me would never, never, ever happen.
20:20:18disruptekgitnim is hilarious, btw.
20:20:57PMunchginim?
20:20:59PMunchgitnim*?
20:22:01*vsantana quit (Quit: vsantana)
20:25:54*nsf quit (Quit: WeeChat 2.8)
20:26:23disruptekit's choosenim based upon git.
20:27:02disruptek!repo gitnim
20:27:03disbothttps://github.com/disruptek/gitnim -- 9gitnim: 11choosenim for choosey nimions 15 0⭐ 0🍴
20:27:34disruptekit's embarassing how good it is.
20:27:56disrupteklike, neil young.
20:27:59PMunchWhat is the current choosenim based on?
20:28:44ldleworkjust use nix
20:29:15ldleworkchoosenim for literally all software :)
20:29:24disrupteknix isn't really what i want.
20:29:32disrupteki want to evolve the system alongside the compiler.
20:29:35disruptekthis does that.
20:29:42ldleworki don't know what that means
20:30:06disruptekyou never have to worry about synchronizing package management or build tools with the compiler or its stdlib.
20:30:07zedeuschoosenim uses git for devel
20:30:29ldleworkdisruptek: you could definitely do that with nix..
20:30:42ldleworkmy remark was offhanded though, don't take it too seriously
20:31:06disruptekyou're not wrong, but it's also a worse approach.
20:31:22ldleworkif you say so i guess
20:31:49disruptek"you can disagree, but first you must understand the problem"
20:34:23ldleworkgiven that nix is capable of building thousands of different software packages, with a panoply of requirements I have little doubt it could express an environment where tools and nim packages all align with the compiler (given that's a typical thing done).
20:34:47disruptekyeah, but that's not the problem.
20:35:17*Jesin quit (Quit: Leaving)
20:35:23leorizeyou'll run into a big problem with this disruptek
20:35:29disruptekyeah?
20:35:32leorizetags are not updated via pull
20:35:39disruptekso what?
20:35:57leorizeif you move the tag as you import a newer nightly, people who cloned the repo won't get the update
20:36:04disrupteki know.
20:36:24shashlickdisruptek - 104mb for 2 releases and that doesn't include csources
20:36:58disrupteksounds like whatever that is is about 10mb lighter.
20:37:01disruptekkudos.
20:38:31leorizeI'm interested to see how this idea will work, there were linux distros in the past that uses a git repo as the rootfs
20:38:37leorizethey're all dead now though :P
20:39:21disrupteki should have it up on gitnim.com by the end of the night.
20:39:40*Jesin joined #nim
20:39:47shashlicki'll suggest adding more older versions
20:40:01disruptekleorize: any luck with 1.0?
20:40:10shashlickalso if you have any way to get this working cross platform
20:40:22disrupteksure, different repos for different platforms.
20:40:24leorizewell it's built, but it won't get published until tonight, per nightlies schedule
20:40:30disrupteknice.
20:40:41leorizeyou can still download the artifacts, those are already built
20:40:50disruptekthe distribution comes with the tool to create new distributions.
20:40:58disruptekand all the source to said tool.
20:41:27leorizethis is a feature I invented :P push to nightlies will generate github artifacts unless the commit summary have [deploy] in it
20:41:56leorizean effective way to make developing nightlies easier
20:42:09disrupteki would think [deploy] would mean "push it out".
20:42:30leorizedeploy here just mean generate a release
20:42:50disrupteki think your logic is backwards, right?
20:43:16leorizeI don't quite get it :P
20:43:26disruptekunless? do you mean "if"?
20:44:57leorizeah github terminology can be confusing
20:45:04leorizeby artifacts I meant these: https://github.com/alaviss/nightlies/actions/runs/137561883
20:45:31disruptekright, but you create them IF the commit summary includes "[deploy]", right?
20:45:33leorize[deploy] create a release that you can find in the release page
20:45:51leorize[deploy] uploads them into a release :P
20:46:19leorizethis is just a feature so you can check if your builds are generated correctly
20:46:24leorizeI should've phrased this better :P
20:46:36disruptekhmm, so what do i want to key off of? deploy?
20:46:48disruptekactually, i think i just care about releases.
20:47:02disrupteki won't even track a branch.
20:47:06leorizeyea, just track those
20:47:19leorizeartifacts are just for testing purposes
20:47:32leorizeoh can you check the 1.0.7 builds linked there for me? thanks :)
20:47:40leorizethis is the first time those are built
20:48:01disruptekwhaddya think about having nim-1.2.3 containing bin/nim -> bin/nim-1.2.3
20:48:27disrupteklets you abuse semver in the shell.
20:48:33disruptekgives more useful error messages.
20:50:53*vsantana joined #nim
20:51:05disruptekleorize: if you build it, i will come.
20:53:28FromDiscord<lqdev> I've been looking into that async OpenGL thing, @leorize is there any way to cancel an async timer?
20:53:40*narimiran quit (Ping timeout: 256 seconds)
20:53:43leorizeuse chronos :P
20:53:52disruptekso rude.
20:54:00leorizewith fds you can close them but with timers...
20:54:43leorizewell you can attach a `cancel` bool to your timer callback and check if it should be run
20:55:03FromDiscord<lqdev> but that leaks resources
20:55:58FromDiscord<lqdev> I'm kind of hestitant of pulling in any external dependencies, I'd rather my library being dependency-free
20:56:20leorize^ that's usually a sign that the package manager is being terrible :P
20:57:00FromDiscord<lqdev> no not really
20:57:12FromDiscord<lqdev> it's just my mentality after seeing the dependency hell rust's ecosystem is
20:57:44leorizewell their package managment system is not nice at all :P
20:57:45FromDiscord<lqdev> you could say that I have PTSD lol
20:58:17FromDiscord<lqdev> npm is a similar story
20:58:21leorizeI'm kinda baffled that people think running multiple version of the same lib is a good thing
20:58:34FromDiscord<lqdev> so I'd prefer not to pull in too many dependencies
20:58:45FromDiscord<lqdev> though, I already have nimterop which has like, 5 or 6…
20:58:52*aenesidemus quit (Read error: Connection reset by peer)
21:00:01leorizewell you should not manage the resource via your timer callback then
21:00:30leorizeregister a timer unconditionally and only let it run once you have set everything up
21:00:33FromDiscord<lqdev> I'm saying that the *timer* is the resource
21:00:56leorizehuh? how are you designing your system?
21:01:22FromDiscord<lqdev> I want to have a `download` proc which downloads pixel data from the GPU asynchronously
21:01:45FromDiscord<lqdev> and I'm saying that adding a non-oneshot timer is a resource allocation
21:02:12FromDiscord<lqdev> and you can't free that resource
21:02:19FromDiscord<lqdev> the timer just keeps running and eating away CPU cycles
21:03:23leorizethe timer is managed by the os
21:03:28leorizeonce it's done it's done
21:03:41leorizeand the callback won't be run unless you do poll()
21:03:47FromDiscord<lqdev> but how do I mark it done
21:04:01leorizejust flip a switch to tell it not to run
21:04:28leorizeif you're poll()-ing you have more worries to think of than a cycle caused by a disabled branch
21:04:28FromDiscord<lqdev> but where's that switch
21:04:38leorizethe callback can be a closure
21:04:46leorizekeep a ref to something, somewhere as the switch
21:04:55*PMunch quit (Quit: leaving)
21:05:17*NimBot joined #nim
21:05:33leorizewdym?
21:05:39FromDiscord<lqdev> how does the OS know about the switch and when to free my timer?
21:05:52FromDiscord<lqdev> :s/free/reclaim
21:06:37leorizeit doesn't
21:07:00leorizetimers are lightweight, there are a ton of things that the kernel has to worry about
21:07:31leorizewell, but if you're paranoid, then you can make the timer self-register when it still has to be called
21:08:00leorizemake it a oneshot, and tell it to re-register itself as needed
21:08:25leorizehowever the overhead from syscalls due to this registration will set you back even further
21:08:30FromDiscord<lqdev> but what if someone calls `download` every frame? it will continue adding more and more timers
21:08:42FromDiscord<lqdev> do I just create one global timer or what?
21:08:52leorizeyea, that's what I told you to do :P
21:09:01FromDiscord<lqdev> you could've been more clear about that…
21:09:11leorizesorry :P
21:09:21FromDiscord<lqdev> np
21:09:38FromDiscord<lqdev> anyways now that that's out of the way, is it possible to call `poll()` with a timeout of 0?
21:10:03FromDiscord<lqdev> because I already have my own timeout and it's VSync
21:10:21leorizeyes, but the timeout is not realtime
21:10:43leorizepoll() still has to trigger the dispatcher to do it's work and that might take more time than you'd want
21:11:20FromDiscord<lqdev> is it really heavy work?
21:11:37leorizedepends on how many events you registered
21:11:40FromDiscord<lqdev> I have a 16.66666ms window so quite a bit of time
21:11:57leorizethanks to meltdown the syscall overhead is now huge
21:12:17FromDiscord<lqdev> well
21:12:18leorizeso keep that in mind
21:12:46FromDiscord<lqdev> I managed to reallocate a seq every frame and still maintain 60fps on a lowend laptop so eh
21:12:59leorizeyou need your own dispatcher for soft realtime guarantee
21:13:15leorizeyou do realize that the gc can reuse memory, right?
21:13:19FromDiscord<lqdev> yeah
21:13:26leorizeand that our allocator is O(1)
21:13:34FromDiscord<lqdev> oh that's nice
21:13:39FromDiscord<lqdev> good to know
21:15:47FromDiscord<lqdev> guess I'd have to benchmark to see whether using async is really viable or not
21:15:56FromDiscord<lqdev> otherwise I may as well roll my own simple dispatcher
21:16:27FromDiscord<lqdev> and just roll with callbacks instead of full async and whatnot
21:16:35FromDiscord<lqdev> that would most likely be much simpler
21:17:16FromDiscord<lqdev> thanks for the help
21:17:22leorizenp
21:18:46leorizeif you do manage to create a generic dispatcher framework, please let me know, I might look into making async work with it :)
21:19:13leorizealso ask Zevv for this recent work on CSP
21:19:34leorizeCPS*
21:19:52leorizeit should allow translation of async-await constructs into callbacks if I understand that correctly
21:28:18*jeko joined #nim
21:54:27*FromGitter quit (Ping timeout: 256 seconds)
21:54:27*FromGitter joined #nim
21:54:29*Cthalupa quit (Ping timeout: 256 seconds)
21:56:13*nikita` quit (Quit: leaving)
21:59:58*tane quit (Quit: Leaving)
22:00:29*Cthalupa joined #nim
22:01:27*khanate[m]0 quit (*.net *.split)
22:01:28*koltrast_ quit (*.net *.split)
22:03:36*cyraxjoe quit (Ping timeout: 256 seconds)
22:03:56*cyraxjoe joined #nim
22:04:31*lritter quit (Ping timeout: 256 seconds)
22:04:42*salotz[m] quit (*.net *.split)
22:04:43*sepples quit (*.net *.split)
22:06:11*krux02_ joined #nim
22:06:13*FromGitter quit (Ping timeout: 256 seconds)
22:06:33*FromGitter joined #nim
22:09:02*krux02 quit (Ping timeout: 256 seconds)
22:12:17*salotz[m] joined #nim
22:12:17*sepples joined #nim
22:12:38*Jesin quit (Ping timeout: 246 seconds)
22:20:36*khanate[m]0 joined #nim
22:20:37*koltrast_ joined #nim
22:23:03*vsantana quit (Ping timeout: 272 seconds)
22:27:16*khanate[m]0 quit (*.net *.split)
22:27:17*koltrast_ quit (*.net *.split)
22:30:28*giaco quit (Ping timeout: 246 seconds)
22:30:43*salotz[m] quit (*.net *.split)
22:30:43*sepples quit (*.net *.split)
22:33:28*Trustable quit (*.net *.split)
22:33:29*drdee quit (*.net *.split)
22:33:29*FromGitter quit (*.net *.split)
22:33:29*krux02_ quit (*.net *.split)
22:33:29*watzon quit (*.net *.split)
22:33:30*BitPuffin quit (*.net *.split)
22:33:31*shodan45 quit (*.net *.split)
22:33:31*nickster quit (*.net *.split)
22:33:31*Mister_Magister quit (*.net *.split)
22:33:31*acidx quit (*.net *.split)
22:33:31*skrylar[m] quit (*.net *.split)
22:33:32*k0mpjut0r quit (*.net *.split)
22:33:32*casaca quit (*.net *.split)
22:33:33*tyler569 quit (*.net *.split)
22:33:33*bozaloshtsh_ quit (*.net *.split)
22:33:33*Cadey quit (*.net *.split)
22:33:33*def- quit (*.net *.split)
22:33:33*screens_ quit (*.net *.split)
22:33:34*disbot quit (*.net *.split)
22:33:34*ldlework quit (*.net *.split)
22:33:34*dgb quit (*.net *.split)
22:33:35*Tlanger quit (*.net *.split)
22:33:35*supakeen quit (*.net *.split)
22:33:35*chemist69 quit (*.net *.split)
22:33:35*sentreen quit (*.net *.split)
22:33:35*oculuxe quit (*.net *.split)
22:33:35*zedeus quit (*.net *.split)
22:33:35*sagax quit (*.net *.split)
22:33:35*Jjp137_ quit (*.net *.split)
22:33:35*Hotbees quit (*.net *.split)
22:33:35*matlock quit (*.net *.split)
22:33:35*euantor quit (*.net *.split)
22:33:35*vqrs quit (*.net *.split)
22:33:36*CcxWrk quit (*.net *.split)
22:33:36*lain quit (*.net *.split)
22:33:36*drewr quit (*.net *.split)
22:33:36*brainbomb1 quit (*.net *.split)
22:33:37*muffindrake quit (*.net *.split)
22:33:37*D_ quit (*.net *.split)
22:33:37*oprypin quit (*.net *.split)
22:33:37*noonien quit (*.net *.split)
22:33:37*ormiret quit (*.net *.split)
22:33:37*alehander92_ quit (*.net *.split)
22:33:37*sz0 quit (*.net *.split)
22:33:37*matti quit (*.net *.split)
22:33:37*zielmicha__ quit (*.net *.split)
22:33:37*disruptek quit (*.net *.split)
22:33:38*Avatarfighter quit (*.net *.split)
22:33:38*golechwi1 quit (*.net *.split)
22:33:38*jeko quit (*.net *.split)
22:33:38*xet7 quit (*.net *.split)
22:33:39*surma quit (*.net *.split)
22:33:39*bacterio quit (*.net *.split)
22:33:39*so quit (*.net *.split)
22:33:40*voltist quit (*.net *.split)
22:33:40*arecaceae quit (*.net *.split)
22:33:40*jxy quit (*.net *.split)
22:33:40*WilhelmVonWeiner quit (*.net *.split)
22:33:40*nerthus quit (*.net *.split)
22:33:40*zama quit (*.net *.split)
22:33:40*sacredfrog quit (*.net *.split)
22:33:40*vesper11 quit (*.net *.split)
22:33:41*Amun_Ra quit (*.net *.split)
22:33:41*dv^_^ quit (*.net *.split)
22:33:41*hpyc9 quit (*.net *.split)
22:33:41*dzamo[m]1 quit (*.net *.split)
22:33:41*stever quit (*.net *.split)
22:33:41*beatmox- quit (*.net *.split)
22:33:41*unclechu quit (*.net *.split)
22:33:41*codic quit (*.net *.split)
22:33:41*planetis[m] quit (*.net *.split)
22:33:41*oneark quit (*.net *.split)
22:33:41*sendell quit (*.net *.split)
22:33:41*d10n-work quit (*.net *.split)
22:33:42*leorize[m] quit (*.net *.split)
22:33:42*vicfred quit (*.net *.split)
22:33:42*FromDiscord quit (*.net *.split)
22:33:43*cornfeedhobo quit (*.net *.split)
22:33:43*gsingh93 quit (*.net *.split)
22:33:43*d10n quit (*.net *.split)
22:33:43*Araq quit (*.net *.split)
22:33:43*cyraxjoe quit (*.net *.split)
22:33:43*oddp quit (*.net *.split)
22:33:43*xace quit (*.net *.split)
22:33:43*kungtotte quit (*.net *.split)
22:33:44*notandinus quit (*.net *.split)
22:33:44*rayman22201 quit (*.net *.split)
22:33:44*ljoonal quit (*.net *.split)
22:33:44*wgetch quit (*.net *.split)
22:33:44*livcd quit (*.net *.split)
22:33:44*Ekho quit (*.net *.split)
22:33:44*literal quit (*.net *.split)
22:33:45*federico3 quit (*.net *.split)
22:33:45*ChanServ quit (*.net *.split)
22:33:45*opal quit (*.net *.split)
22:33:45*leorize quit (*.net *.split)
22:33:45*qwertfisch quit (*.net *.split)
22:33:45*neceve quit (*.net *.split)
22:33:45*nisstyre quit (*.net *.split)
22:33:46*bab quit (*.net *.split)
22:33:46*Northstrider[m] quit (*.net *.split)
22:33:46*oz quit (*.net *.split)
22:33:46*EastByte quit (*.net *.split)
22:33:47*go|dfish quit (*.net *.split)
22:33:47*dom96 quit (*.net *.split)
22:33:47*shashlick quit (*.net *.split)
22:33:47*revere quit (*.net *.split)
22:33:48*r4vi quit (*.net *.split)
22:33:48*pietroppeter quit (*.net *.split)
22:33:48*pbb quit (*.net *.split)
22:33:48*vikfret quit (*.net *.split)
22:33:48*marcpm quit (*.net *.split)
22:33:48*gangstacat quit (*.net *.split)
22:33:48*pangey quit (*.net *.split)
22:33:48*LyndsySimon quit (*.net *.split)
22:33:48*npgm quit (*.net *.split)
22:33:48*ehmry quit (*.net *.split)
22:33:49*msmorgan quit (*.net *.split)
22:33:49*stefantalpalaru quit (*.net *.split)
22:33:49*sknebel quit (*.net *.split)
22:33:49*JStoker quit (*.net *.split)
22:33:49*sirn quit (*.net *.split)
22:33:49*Yardanico quit (*.net *.split)
22:33:49*Prestige quit (*.net *.split)
22:33:49*skelett quit (*.net *.split)
22:33:50*Lord_Nightmare quit (*.net *.split)
22:33:50*letto quit (*.net *.split)
22:33:50*idxu quit (*.net *.split)
22:33:50*jholland__ quit (*.net *.split)
22:33:51*lbart quit (*.net *.split)
22:33:51*mal`` quit (*.net *.split)
22:33:51*Cthalupa quit (*.net *.split)
22:33:51*abm quit (*.net *.split)
22:33:51*dddddd quit (*.net *.split)
22:33:51*nekits quit (*.net *.split)
22:33:52*clemens3 quit (*.net *.split)
22:33:52*crem quit (*.net *.split)
22:33:52*tribly quit (*.net *.split)
22:33:52*Zevv quit (*.net *.split)
22:33:52*blackbeard420 quit (*.net *.split)
22:33:52*lmariscal quit (*.net *.split)
22:33:52*onionhammer quit (*.net *.split)
22:33:52*wowi42 quit (*.net *.split)
22:33:52*yumaikas quit (*.net *.split)
22:33:52*GaveUp quit (*.net *.split)
22:33:53*jken quit (*.net *.split)
22:36:56*jken joined #nim
22:36:56*GaveUp joined #nim
22:36:56*yumaikas joined #nim
22:36:56*wowi42 joined #nim
22:36:56*onionhammer joined #nim
22:36:56*lmariscal joined #nim
22:36:56*blackbeard420 joined #nim
22:36:56*tribly joined #nim
22:36:56*crem joined #nim
22:36:56*clemens3 joined #nim
22:36:56*Zevv joined #nim
22:36:56*nekits joined #nim
22:36:56*dddddd joined #nim
22:36:56*abm joined #nim
22:36:56*Cthalupa joined #nim
22:36:56*screens_ joined #nim
22:36:56*def- joined #nim
22:36:56*shodan45 joined #nim
22:36:57*nickster joined #nim
22:36:57*Mister_Magister joined #nim
22:36:57*acidx joined #nim
22:37:11*hpyc9 joined #nim
22:37:12*stever joined #nim
22:37:12*dzamo[m]1 joined #nim
22:37:12*beatmox- joined #nim
22:37:12*unclechu joined #nim
22:37:12*codic joined #nim
22:37:12*planetis[m] joined #nim
22:37:12*oneark joined #nim
22:37:12*sendell joined #nim
22:37:12*d10n-work joined #nim
22:37:12*leorize[m] joined #nim
22:37:22*vicfred joined #nim
22:37:22*FromDiscord joined #nim
22:37:22*cornfeedhobo joined #nim
22:37:22*gsingh93 joined #nim
22:37:22*d10n joined #nim
22:37:22*Araq joined #nim
22:37:25*r4vi joined #nim
22:37:25*pietroppeter joined #nim
22:37:25*pbb joined #nim
22:37:25*vikfret joined #nim
22:37:25*marcpm joined #nim
22:37:25*gangstacat joined #nim
22:37:25*pangey joined #nim
22:37:25*LyndsySimon joined #nim
22:37:25*npgm joined #nim
22:37:25*ehmry joined #nim
22:37:25*msmorgan joined #nim
22:37:25*stefantalpalaru joined #nim
22:37:25*sknebel joined #nim
22:37:25*JStoker joined #nim
22:37:25*sirn joined #nim
22:37:25*Yardanico joined #nim
22:37:25*Prestige joined #nim
22:37:25*skelett joined #nim
22:37:29*ldlework joined #nim
22:37:29*disbot joined #nim
22:37:29*dgb joined #nim
22:37:31*dzamo[m]1 quit (Ping timeout: 244 seconds)
22:37:31*unclechu quit (Ping timeout: 244 seconds)
22:37:32*planetis[m] quit (Ping timeout: 244 seconds)
22:37:32*oneark quit (Ping timeout: 244 seconds)
22:37:32*sendell quit (Ping timeout: 244 seconds)
22:37:32*d10n-work quit (Ping timeout: 244 seconds)
22:37:33*voltist joined #nim
22:37:33*arecaceae joined #nim
22:37:33*jxy joined #nim
22:37:33*WilhelmVonWeiner joined #nim
22:37:33*nerthus joined #nim
22:37:33*zama joined #nim
22:37:33*sacredfrog joined #nim
22:37:33*vesper11 joined #nim
22:37:33*Amun_Ra joined #nim
22:37:33*dv^_^ joined #nim
22:37:41*npgm quit (Ping timeout: 253 seconds)
22:37:46*k0mpjut0r joined #nim
22:37:46*casaca joined #nim
22:37:46*tyler569 joined #nim
22:37:46*bozaloshtsh_ joined #nim
22:37:46*Cadey joined #nim
22:37:52*Tlanger joined #nim
22:37:52*supakeen joined #nim
22:37:52*chemist69 joined #nim
22:37:52*sentreen joined #nim
22:37:52*oculuxe joined #nim
22:37:52*zedeus joined #nim
22:37:52*sagax joined #nim
22:37:52*Jjp137_ joined #nim
22:37:52*Hotbees joined #nim
22:37:52*matlock joined #nim
22:37:52*euantor joined #nim
22:37:52*vqrs joined #nim
22:37:52*CcxWrk joined #nim
22:37:52*lain joined #nim
22:37:58*Trustable joined #nim
22:37:58*drdee joined #nim
22:38:03*go|dfish joined #nim
22:38:03*dom96 joined #nim
22:38:03*shashlick joined #nim
22:38:03*revere joined #nim
22:38:25*letto joined #nim
22:38:26*FromGitter joined #nim
22:38:26*krux02_ joined #nim
22:38:26*BitPuffin joined #nim
22:38:28*jeko joined #nim
22:38:28*xet7 joined #nim
22:38:28*surma joined #nim
22:38:28*bacterio joined #nim
22:38:28*so joined #nim
22:38:31*koltrast_ joined #nim
22:38:34*neceve joined #nim
22:38:35*nisstyre joined #nim
22:38:35*bab joined #nim
22:38:35*Northstrider[m] joined #nim
22:38:35*oz joined #nim
22:38:35*EastByte joined #nim
22:38:37*cyraxjoe joined #nim
22:38:37*oddp joined #nim
22:38:37*xace joined #nim
22:38:37*kungtotte joined #nim
22:38:37*notandinus joined #nim
22:38:37*rayman22201 joined #nim
22:38:37*ljoonal joined #nim
22:38:37*wgetch joined #nim
22:38:37*livcd joined #nim
22:38:37*Ekho joined #nim
22:38:37*literal joined #nim
22:38:37*federico3 joined #nim
22:38:46*opal joined #nim
22:38:46*leorize joined #nim
22:39:00*drewr joined #nim
22:39:00*brainbomb1 joined #nim
22:39:00*muffindrake joined #nim
22:39:00*D_ joined #nim
22:39:00*oprypin joined #nim
22:39:00*ormiret joined #nim
22:39:00*alehander92_ joined #nim
22:39:00*zielmicha__ joined #nim
22:39:00*disruptek joined #nim
22:39:00*Avatarfighter joined #nim
22:39:00*golechwi1 joined #nim
22:39:07*zama_ joined #nim
22:39:13*zama quit (Ping timeout: 264 seconds)
22:39:24*zama_ quit (Changing host)
22:39:24*zama_ joined #nim
22:39:26*zama_ is now known as zama
22:39:51*k0mpjut0r quit (Ping timeout: 246 seconds)
22:39:55*abm quit (Read error: Connection reset by peer)
22:40:07*BitPuffin quit (Ping timeout: 240 seconds)
22:40:09*msmorgan quit (Ping timeout: 270 seconds)
22:41:03*l1x quit (Ping timeout: 265 seconds)
22:41:05*matlock quit (Ping timeout: 256 seconds)
22:41:16*qwertfisch joined #nim
22:41:25*LyndsySimon quit (Ping timeout: 272 seconds)
22:41:25*sirn quit (Ping timeout: 272 seconds)
22:41:33*msmorgan joined #nim
22:41:37*sepples joined #nim
22:42:33*Lord_Nightmare joined #nim
22:42:34*idxu joined #nim
22:42:34*jholland__ joined #nim
22:42:34*lbart joined #nim
22:42:34*mal`` joined #nim
22:42:36*l1x joined #nim
22:42:38*sirn joined #nim
22:43:25*npgm joined #nim
22:43:35*matti joined #nim
22:43:41*sz0 joined #nim
22:44:40*noonien joined #nim
22:45:18*LyndsySimon joined #nim
22:45:42*matlock joined #nim
22:46:16*skrylar[m] joined #nim
22:47:08*d10n-work joined #nim
22:47:29*dzamo[m]1 joined #nim
22:47:49*sendell joined #nim
22:47:50*oneark joined #nim
22:47:56*planetis[m] joined #nim
22:48:27*watzon joined #nim
22:49:16disruptek!repo gitnim
22:49:17disbothttps://github.com/disruptek/gitnim -- 9gitnim: 11choosenim for choosey nimions 15 0⭐ 0🍴
22:51:34*salotz[m] joined #nim
22:53:20*brainbomb1 quit (Quit: Leaving.)
22:54:07FromDiscord<willyboar> dissssss
22:54:07*giaco joined #nim
22:54:49*khanate[m]0 joined #nim
22:55:43*drdee quit (Read error: Connection reset by peer)
22:56:45*k0mpjut0r joined #nim
22:58:05*unclechu joined #nim
22:58:25*Trustable quit (Remote host closed the connection)
23:03:55*BitPuffin joined #nim
23:04:17disruptekhttp://gitnim.com/
23:07:31*fredrikhr joined #nim
23:11:48FromDiscord<willyboar> oh! new project
23:16:17*unknown joined #nim
23:21:57leorize[m]disruptek: did you statically linked glibc into that binary?
23:22:17Yardanicoglibc? lol
23:22:40leorize[m]grab a toolchain at musl.cc and build better static binaries instead
23:23:04Yardanicoyep
23:24:59*willyboa_ quit ()
23:25:15*willyboar joined #nim
23:33:51leorize[m]in the future I'll look into creating docker images dedicated to cross compiling Nim to build nightlies
23:33:58leorize[m]crosstool-ng seems to be useful for this
23:36:46FromDiscord<Zed> > @eagledot, @Zed, I added a way to fidget to update an image every frame: https://github.com/treeform/fidget/blob/master/tests/imagestatic/imagestatic.nim↵@treeform Thanks! that's super useful!, did it take long to implement?
23:37:41shashlick@leorize - have implemented the nimterop feature to copy .so/.dll/.dylib files to a target directory
23:37:56leorizenice
23:37:59shashlickby default, i'm copying it to the outdir - where the nim binary is being written
23:38:13shashlickright now i'm checking if the binary exists and file dates
23:38:37shashlickbut that might not mean much, i'm already running into build issues cause it isn't overwriting and the version is wrong
23:38:41shashlickso should i always overwrite
23:38:51leorizechecking the last modified time is usually a good option
23:39:01Yardanicoyou can rewrite and save old one as file.old
23:39:11leorizethat's how most build tools does it
23:39:27leorizeYardanico: then you'll have to bother with .old.00n
23:39:31leorizenot worth it tbh
23:40:29shashlickya will get overwritten every build
23:40:39shashlickchecking hash will be slower than just overwriting
23:40:47shashlickand modified date isn't helping
23:40:50shashlickstat -c %y
23:41:11leorizewe have a proc in os.nim to check for last modified time iirc
23:42:03shashlicknot usable at compile tme
23:42:09shashlickpleasures of the vm
23:42:27shashlickhttps://travis-ci.org/github/nimterop/nimterop/jobs/699111710#L1979
23:42:43shashlickchecking out v1.2.0 and building it but still loading the 1.2.11 zlib still in the dir
23:42:58leorizewell stat -c %Y will give you the posix epoch
23:43:20leorizeprobably won't work on windows though
23:43:58shashlickhttps://github.com/nimterop/nimterop/blob/master/nimterop/cimport.nim#L73
23:44:09FromDiscord<treeform> @Zed, no it did not, everything was already there just needed to be wired up.
23:44:14shashlicksome day i can throw out a lot of code
23:44:21leorizeshashlick: use upper case Y
23:44:35leorizeposix epoch is indefinitely better
23:45:46shashlickCool
23:46:00shashlickBut still need to see why modified date didn't work here
23:48:41FromDiscord<demotomohiro> @treeform Hi, I sent 1 issue and 1 pull request to your openal repository.
23:48:42leorizedid you mess up the direction of the arrow?
23:48:50leorizeoperator*
23:49:09shashlickCould very well be
23:49:33shashlickBut in Conan and binary builder case, I'm downloading a precompiled binary
23:49:42shashlickSo modified date is meaningless
23:50:38Yardanicoanyone on linux can confirm if they get the same crash? https://github.com/nim-lang/Nim/issues/13935
23:50:39disbotSIGSEV encountered when creating threads in a loop w/ --gc:arc ; snippet at 12https://play.nim-lang.org/#ix=2ioe
23:50:50Yardanicotry to compile and run the example on the bottom with --gc:arc --threads:on -d:danger
23:50:57Yardanicoif you're on devel
23:51:52FromDiscord<treeform> @demotomohiro thanks, ill take a look
23:51:52leorizeshashlick: well set the modified date to "now" for them once you've downloaded them
23:53:48*willyboar quit ()
23:54:51leorizeshashlick: on *nix it's a simple touch "filename"
23:55:12leorizeor alternatively configure whatever that downloads your file to not use the date from the source