<< 22-01-2021 >>

00:02:12*disruptek throbs.
00:03:12disruptekleorize: you shouldn't search the future path; if the user already has the path, they can simply supply it to the binary.
00:03:55disruptekK-: we really need a decent package manager.
00:10:01*abm quit (Read error: Connection reset by peer)
00:11:26*abm joined #nim
00:25:53FromDiscord<K-> as in a nim package manager?
00:26:10FromDiscord<K-> hmm, sounds like an idea
00:31:24FromDiscord<treeform> find .dll in all system paths that would be loaded
00:32:14FromDiscord<K-> Well, Im on Linux
00:32:51FromDiscord<K-> That wouldn't be very useful for me
00:33:15FromDiscord<K-> They dont have to be nim specific btw. Its just something to get used to nim
00:38:33*Gustavo6046 quit (Ping timeout: 264 seconds)
00:41:36*leorize quit (*.net *.split)
00:41:57*Gustavo6046 joined #nim
00:55:17*Tanger joined #nim
00:55:27FromDiscord<ElegantBeef> Back at crying at the async + threading code
00:55:39FromDiscord<ElegantBeef> Why am i here, clearly it's just to cry that code isnt working for whatever reason
01:14:16*leorize joined #nim
01:14:49FromDiscord<ElegantBeef> Ok so i'm just dumb, good to know
01:20:20FromDiscord<exelotl> oh hey you can make a `defer` that works at the global scope an doesn't require a colon
01:20:27FromDiscord<exelotl> https://media.discordapp.net/attachments/371759389889003532/801984588167118878/unknown.png
01:27:15FromDiscord<Clyybber> hehe, nice little hack
01:33:21*rockcavera quit (Read error: Connection reset by peer)
01:33:51*rockcavera joined #nim
01:37:34*lritter joined #nim
01:56:02*abm quit (Read error: Connection reset by peer)
02:33:49FromDiscord<Avatarfighter> Does nayone know if there are any wrappers for js interpreters?
02:35:06FromDiscord<ElegantBeef> To use JS code inside Nim at runtime?
02:35:12FromDiscord<Avatarfighter> sadly
02:35:35FromDiscord<ElegantBeef> https://github.com/manguluka/duktape-nim eh?
02:35:41FromDiscord<Avatarfighter> mmm
02:35:44FromDiscord<Avatarfighter> oh jeez
02:35:53FromDiscord<Avatarfighter> lets hope no website uses old javascript lmao
02:37:12FromDiscord<Avatarfighter> https://github.com/ImVexed/quickjs4nim this seems good
02:37:21FromDiscord<Avatarfighter> gotta make some glue procs to clean things up
02:37:26FromDiscord<Avatarfighter> and update the wrapper
02:37:55FromDiscord<ElegantBeef> Why js?
02:39:16FromDiscord<Avatarfighter> bypassing antibots
02:39:50FromDiscord<Avatarfighter> i dont wanna reverse engineer the heavily obfuscated fingerprinting script when I can just shove it straight into a vm to evaluate it lol
02:48:59FromDiscord<shadow.> now just make python's with ;)
02:50:59FromDiscord<exelotl> haha I was just talking to a friend about that, I ended up making something like this for my game's asset tool
02:51:14FromDiscord<exelotl> sent a code paste, see https://play.nim-lang.org/#ix=2MRc
02:51:22FromDiscord<shadow.> oooh nice
02:51:47FromDiscord<exelotl> hopefully it won't be needed in Nim 2.0 or something
02:52:01FromDiscord<shadow.> what won't be needed?
02:53:16FromDiscord<exelotl> I'm expecting `File` in the stdlib to have a `=destroy` implementation which closes the file
02:53:37FromDiscord<exelotl> so you won't need to remember to call close()
02:58:12*lritter quit (Ping timeout: 265 seconds)
02:58:53*lritter joined #nim
02:59:07FromDiscord<ElegantBeef> Yea it'll be possible
03:00:01FromDiscord<ElegantBeef> It'll be nice aswell
03:11:19*muffindrake quit (Ping timeout: 272 seconds)
03:13:08*muffindrake joined #nim
03:18:53FromDiscord<ElegantBeef> Is nim's `random` deterministic cross platform on the same architecture?
03:36:59*rockcavera quit (Remote host closed the connection)
04:11:03ForumUpdaterBotNew thread by Halloleo: Best practice for OOP-style of procedure calling, see https://forum.nim-lang.org/t/7410
04:14:05*spiderstew_ joined #nim
04:15:38*spiderstew quit (Ping timeout: 264 seconds)
04:25:04ForumUpdaterBotNew thread by Halloleo: Any new edition of the Nim in Action book in the making?, see https://forum.nim-lang.org/t/7411
04:36:36leorize@Beef should be, the module does said what algo it uses, so you can look it up yourself
04:39:40leorizedisruptek: I don't think I can get away with findExe without configuration :P
04:40:39leorizethe differences between Windows and POSIX can be a security issue
04:44:12FromDiscord<ElegantBeef> It doesnt matter much for this impl, so will just have to toss someone a windows build of my game to test when i get to it, though annoyingly the JS doesnt result in the same values as native
04:44:55leorizeI think the random module uses js' random when compiled to js
04:45:33FromDiscord<ElegantBeef> Yea i assumed so
04:46:35FromDiscord<ElegantBeef> Actually it doesnt seem so, it just uses a 32bit version
04:57:19FromDiscord<ElegantBeef> I assume there is a valid reason, but i'll jokingly shake my hand at the sky
05:00:37*wowi42 quit (Quit: Kowa Bunga!!!)
05:01:20*wowi42 joined #nim
06:12:18disruptekthere's nothing funny about this guy.
06:13:04FromDiscord<ElegantBeef> That's what everyone tells me but i still laugh
06:19:06*habamax joined #nim
06:38:19*narimiran joined #nim
06:46:27*waleee-cl quit (Quit: Connection closed for inactivity)
06:51:22ForumUpdaterBotNew thread by Halloleo: Current state of list comprehison in Nim, see https://forum.nim-lang.org/t/7412
07:03:23ForumUpdaterBotNew thread by Dogwater: Best showcase of tests in Nim standard library?, see https://forum.nim-lang.org/t/7413
07:05:49Zevvwhat timezone is lqdev in, approximately?
07:06:19FromDiscord<Rika> europe i believe?
07:06:21FromDiscord<ElegantBeef> He's polish
07:06:30FromDiscord<ache of head> utc +2
07:06:35Zevvright, almost my neighbour
07:06:40FromDiscord<ache of head> nice
07:07:14*idf left #nim ("ERC (IRC client for Emacs 27.1)")
07:07:17*idf joined #nim
07:12:45*hoijui joined #nim
07:12:45*hoijui_ joined #nim
07:22:48FromDiscord<enimatek> what would be 'the' way to extend the eg. the WIndow object in dom.nim? i would like to add the indexeddb declarations in my code
07:23:15FromDiscord<lqdev> yo Zevv
07:23:43FromDiscord<lqdev> i'm awake but i'll be starting e-lessons soon
07:27:14*vicfred quit (Quit: Leaving)
07:27:25*vicfred joined #nim
07:33:13*PMunch joined #nim
07:56:42miprihttps://www.youtube.com/watch?v=6lurOCdaj0Y&t=13m52s - simplifying C++ parameter passing
08:02:57*lritter quit (Quit: Leaving)
08:08:00ZevvOh, no worries, I was just wondering if you were .eu or .us zoned
08:09:32FromDiscord<ElegantBeef> How dare you say ".us", i'll have you know it's NA
08:09:45FromDiscord<Rika> stands for not applicable
08:10:13FromDiscord<ElegantBeef> How dare you insult Canada, i've got my meese and polar bears ready to attack
08:10:42FromDiscord<Rika> i'm not worried unless youve trained them to swim large distances
08:10:49idfisnt canada just a state in USA
08:11:00FromDiscord<ElegantBeef> šŸ˜¦
08:11:38PMunchHaha, Meese :P
08:11:57FromDiscord<ElegantBeef> Ah perfect timing, go play linerino now šŸ˜„
08:11:59PMunchAnd @Rika, they can walk across the pole and come down through Russia during winter!
08:12:12FromDiscord<Rika> remember that im in japan
08:12:50FromDiscord<ElegantBeef> Polarbears are known to stay afloat on icesheets, so with climate change might get a sheet down there with any luck
08:14:18PMunchUhm, I think something is wrong: https://uploads.peterme.net/linerino_2.png
08:14:43FromDiscord<ElegantBeef> Any errors in the console?
08:15:23PMunchUncaught Error: Error: unhandled exception: index 94 not in 0 .. 93 [IndexDefect]
08:15:41PMunchRight after: "loading font from RGBA assets/font.png chars 94"
08:16:02FromDiscord<ElegantBeef> Yea seems like some weird bug, level generated properly so idk
08:16:10FromDiscord<ElegantBeef> You got a main menu right?
08:16:29FromDiscord<ElegantBeef> If not clear your cache and reload
08:16:51PMunchYeah I got a main menu
08:17:08PMunchAha, I get a lot of "Blocked third party https://v6p9d9t4.ssl.hwcdn.net/html/3242502/index.html from extracting canvas data."
08:17:10FromDiscord<ElegantBeef> Both firefox and chrome have no issues with it here, so maybe the norway internet is a little different šŸ˜›
08:17:23PMunchI don't get those in Chrome, and there it seems to work fine
08:17:29PMunchBut in Firefox I get those and it doesn't work
08:17:47FromDiscord<ElegantBeef> What firefox version?
08:18:01PMunchAha, it was my Private Internet Access plug-in
08:18:08FromDiscord<ElegantBeef> Ah
08:18:18PMunchTurned off fingerprint protection and it worked fine
08:18:24FromDiscord<ElegantBeef> Nice
08:18:42FromDiscord<ElegantBeef> And yes i know that the "completed seeds" menu is currently unusable
08:18:57FromDiscord<ElegantBeef> And the enter seed one isnt great either
08:19:00PMunchUhm, what are the arrows?
08:19:05FromDiscord<ElegantBeef> Jump!
08:19:12FromDiscord<ElegantBeef> You can go over a tile
08:19:22PMunchOooh, that's what they did
08:19:36PMunchSuper confusing with the line being drawn
08:19:52PMunchFirst level of today you jump over a space you then have to go back to
08:20:12FromDiscord<ElegantBeef> Yep
08:20:29FromGitter<gogolxdong> Is there a way to make chronos`proc write*(transp: StreamTransport, msg: string, msglen = -1): Future[int] =` works with --gc:arc, memory exhausts rapidly when writing.
08:20:30FromDiscord<ElegantBeef> Line might need removed
08:21:04PMunchBut then you can't backtrack your motions as easily..
08:21:17FromDiscord<ElegantBeef> z exists
08:22:23PMunchHmm, I guess
08:22:34PMunchNot as intuitive though..
08:23:35FromDiscord<ElegantBeef> i'll probably leave it, just without understanding what the jump does it's weird, so more just need a proper tutorial
08:24:31PMunchZ doesn't seem to do anything for me..
08:24:51FromDiscord<ElegantBeef> It should undo
08:25:37FromDiscord<ElegantBeef> Might be mapped in a different key due to your keyboard, but idk
08:26:00PMunchThat's likely, since I used Dvorak
08:26:11PMunchBut WASD seems to work..
08:26:33FromDiscord<ElegantBeef> Can only suggest try the key under D, but idk
08:26:52PMunchThat scrolled the container down..
08:26:59PMunchIt seems to not be the right size by the way
08:27:10FromDiscord<ElegantBeef> Sorry A
08:27:50FromDiscord<ElegantBeef> I doubt it'd be positionally mapped as that's dumb, but hey if your Z isnt working anything might šŸ˜„
08:29:30*skelett joined #nim
08:31:15*Tanger quit (Remote host closed the connection)
08:41:47*idf left #nim ("ERC (IRC client for Emacs 27.1)")
08:43:44PMunchMan, gotta love norwegian education. I've signed up for a class on functional programming at the local university. Not only is it all online with YouTube lectures (that's because of Covid, but great for me since I won't have to skip work to go to lectures). And the book we need for the course is available to us for free :)
08:45:29*xet7 joined #nim
08:57:18FromDiscord<ElegantBeef> Nice communism you've got there šŸ˜›
09:02:28PMunchIt's pretty amazing
09:04:42FromDiscord<ElegantBeef> Yea wont ever happen here, hell the provincial government wants to privatize healthcare again, but anyway that Nim huh? šŸ˜„
09:13:07Clonkk[m]Is there a way to iterate over enums backwards (without using ordinal values) ?
09:13:36ForumUpdaterBotNew thread by Nucky9: Allocating a cstringArray, see https://forum.nim-lang.org/t/7415
09:13:56*revere quit (Ping timeout: 240 seconds)
09:14:07*koltrast quit (*.net *.split)
09:14:07*k0mpjut0r quit (*.net *.split)
09:14:07*matthias[m] quit (*.net *.split)
09:14:08*jaens[m] quit (*.net *.split)
09:14:08*astronavt quit (*.net *.split)
09:14:16*revere joined #nim
09:14:39PMunchClonkk[m], don't think so
09:15:04*koltrast joined #nim
09:15:04*k0mpjut0r joined #nim
09:15:04*jaens[m] joined #nim
09:15:04*matthias[m] joined #nim
09:15:18*astronavt joined #nim
09:15:33FromDiscord<K-> every book is for free if you use libgen
09:15:57PMunch@ElegantBeef, that is such a bad idea.. I mean the US spends more public funds on health-care than we do, and yet we barely pay anything to go to the hospital
09:17:21PMunchReminds me of this: https://memeguy.com/photos/images/breaking-bad-swedish-edition-436977.png
09:18:13*matthias[m] quit (Ping timeout: 258 seconds)
09:18:13*jaens[m] quit (Ping timeout: 258 seconds)
09:18:27FromDiscord<ElegantBeef> Clonkk you can apparently use countdown with enums https://play.nim-lang.org/#ix=2MSq
09:18:27*vindaar[m] quit (Ping timeout: 260 seconds)
09:18:27*Avatarfighter[m] quit (Ping timeout: 260 seconds)
09:18:32*silvernode[m] quit (Ping timeout: 260 seconds)
09:18:36*k0mpjut0r quit (Ping timeout: 258 seconds)
09:18:55*Clonkk[m] quit (Ping timeout: 260 seconds)
09:21:21*dilawar_uchiha[m quit (Ping timeout: 244 seconds)
09:21:21*codic quit (Ping timeout: 244 seconds)
09:21:21*xigoi[m] quit (Ping timeout: 244 seconds)
09:21:22*BitPuffin quit (Ping timeout: 244 seconds)
09:21:22*j-james[m] quit (Ping timeout: 244 seconds)
09:21:26*GitterIntegratio quit (Ping timeout: 240 seconds)
09:21:26*cadmium[m] quit (Ping timeout: 240 seconds)
09:21:26*VijayMarupudi[m] quit (Ping timeout: 240 seconds)
09:21:26*MTRNord1 quit (Ping timeout: 240 seconds)
09:21:26*lytedev[m] quit (Ping timeout: 240 seconds)
09:21:26*leorize[m] quit (Ping timeout: 240 seconds)
09:21:26*unclechu quit (Ping timeout: 240 seconds)
09:21:32*Kurre[m] quit (Ping timeout: 246 seconds)
09:21:32*BauxnaMatrix[m] quit (Ping timeout: 246 seconds)
09:21:32*Zoom[m] quit (Ping timeout: 246 seconds)
09:21:33*planetis[m] quit (Ping timeout: 246 seconds)
09:21:33*reversem3 quit (Ping timeout: 246 seconds)
09:21:33*juanfra__ quit (Ping timeout: 246 seconds)
09:21:33*lnxw37d4 quit (Ping timeout: 246 seconds)
09:22:02*ee7[m] quit (Ping timeout: 268 seconds)
09:22:02*stisa[m] quit (Ping timeout: 268 seconds)
09:22:03*himup[m] quit (Ping timeout: 260 seconds)
09:22:03*awici[m] quit (Ping timeout: 260 seconds)
09:22:11*Avahe[m] quit (Ping timeout: 260 seconds)
09:22:14*cmc[m] quit (Ping timeout: 264 seconds)
09:22:14*Juno[m] quit (Ping timeout: 264 seconds)
09:25:21*nekits07 quit (Ping timeout: 265 seconds)
09:29:12*mbomba joined #nim
09:30:30*mbomba quit (Client Quit)
09:34:29FromDiscord<ElegantBeef> Pmunch how's the jump anywho?
09:35:03*hnOsmium0001 quit (Quit: Connection closed for inactivity)
09:35:18PMunchNot quite sure what I think about it to be honest..
09:35:54FromDiscord<ElegantBeef> I really like it as it makes even more complicated levels
09:36:04FromDiscord<ElegantBeef> Have you played with the difficulty slider any?
09:36:16PMunchI couldn't get it to work..
09:36:28PMunchIt does suffer a little bit from the issue before portals that it's obvious where you need to jump though
09:36:43FromDiscord<ElegantBeef> You slide it then hit play endless
09:36:47PMunchBut that might just be because I'm stuck on easy..
09:36:56FromDiscord<ElegantBeef> It's a slider
09:37:04PMunchOh wait, now it's working
09:37:11PMunchMaybe it was the same fingerprint issue
09:37:17FromDiscord<ElegantBeef> Possibly
09:39:42FromDiscord<ElegantBeef> Superhard is sorta i a misnomer as the level complexity isnt increased any it's just more blocks
09:40:02PMunchAha, found out that N is Z
09:40:13FromDiscord<ElegantBeef> No N is N šŸ˜›
09:40:22FromDiscord<ElegantBeef> Ah both actually work
09:40:44PMunchAah, Z works as well after I disabled Vimium :P
09:41:13FromDiscord<ElegantBeef> Do you have any software that doesnt cause issues?
09:42:30FromDiscord<ElegantBeef> Also X/M do a full level reset
09:45:05PMunchHaha, my software is optimised for my normal use case
09:45:14PMunchWhich isn't playing browser games :P
09:46:34PMunchThis one is really fun though..
09:47:37FromDiscord<ElegantBeef> Glad to hear
09:48:14FromDiscord<ElegantBeef> I really should go "I want to make a puzzle game more often"
09:56:20FromDiscord<mratsim> Programming is already a puzzle game
09:57:54FromDiscord<ElegantBeef> Debugging level gen i really felt that quote of "Debugging is a like you're the murderer and detective"
09:59:09FromDiscord<ElegantBeef> There are still possibly some phantom level gens where the game just says "Yea you can jump around the screen" or "Yea you can jump from this normal tile to this one in the middle of nowhere"
10:03:15FromDiscord<mratsim> I think debugging raytracing or cryptography is worse.
10:03:20FromDiscord<ElegantBeef> Probably
10:03:41FromDiscord<mratsim> raytracing is like: "mmmh is the shading actually correct?"
10:04:05FromDiscord<mratsim> crypto is like oh, this is completely wrong, is it an off by one or something more obscure.
10:04:22FromDiscord<ElegantBeef> Debugging shaders atleast is very fun, no clue about raytracing though, assume it's similar
10:04:32FromDiscord<mratsim> no idea about shaders
10:04:46FromDiscord<mratsim> but for raytracing ask @shadow.
10:04:55FromDiscord<ElegantBeef> He asked me last time he had an issue šŸ˜„
10:05:26FromDiscord<mratsim> if you had a black image, it could be because you have wrong collision code between ray and objects.
10:05:38FromDiscord<mratsim> and so your rays get lost in infinity of empty space.
10:06:45FromDiscord<ElegantBeef> Yea i have done some basic raymarching which is in similar ball park of, yea i'm getting A result
10:07:45FromDiscord<ElegantBeef> Idk there is just something fun about using the output image to try to figure out where your math went wrong
10:11:01*Clonkk[m] joined #nim
10:12:45*Q-Master quit (Ping timeout: 264 seconds)
10:20:52*grobe0ba quit (Quit: ZNC 1.7.5 - https://znc.in)
10:24:53*grobe0ba joined #nim
10:46:01*Q-Master joined #nim
10:50:59*Q-Master quit (Ping timeout: 258 seconds)
10:59:03*unclechu joined #nim
10:59:03*xigoi[m] joined #nim
10:59:03*lnxw37d4 joined #nim
10:59:03*VijayMarupudi[m] joined #nim
10:59:03*k0mpjut0r joined #nim
10:59:04*j-james[m] joined #nim
10:59:04*Avahe[m] joined #nim
10:59:04*jaens[m] joined #nim
10:59:04*lytedev[m] joined #nim
10:59:05*stisa[m] joined #nim
10:59:05*matthias[m] joined #nim
10:59:05*juanfra__ joined #nim
10:59:05*reversem3 joined #nim
10:59:05*GitterIntegratio joined #nim
10:59:05*planetis[m] joined #nim
10:59:05*Avatarfighter[m] joined #nim
10:59:05*MTRNord joined #nim
10:59:05*leorize[m] joined #nim
10:59:06*BitPuffin joined #nim
10:59:10*awici[m] joined #nim
10:59:10*silvernode[m] joined #nim
10:59:11*dilawar_uchiha[m joined #nim
10:59:11*Zoom[m] joined #nim
10:59:11*cadmium[m] joined #nim
10:59:11*vindaar[m] joined #nim
10:59:11*Juno[m] joined #nim
10:59:11*ee7[m] joined #nim
10:59:11*Kurre[m] joined #nim
10:59:12*codic joined #nim
10:59:12*himup[m] joined #nim
10:59:13*cmc[m] joined #nim
10:59:13*BauxnaMatrix[m] joined #nim
10:59:51*nekits07 joined #nim
11:05:50*Q-Master joined #nim
11:34:28*vicfred quit (Quit: Leaving)
11:38:25*vicfred joined #nim
11:38:29*natrys joined #nim
11:42:32FromDiscord<Recruit_main707> can posix be used in windows?
11:43:20FromDiscord<lqdev> no
11:43:32FromDiscord<lqdev> windows is not a POSIX-compatible OS
11:44:47FromDiscord<Recruit_main707> ive read something about a subsystem
11:45:10FromDiscord<lqdev> yeah you can compile your program under WSL
11:45:17FromDiscord<lqdev> windows subsystem for linux
11:45:25FromDiscord<lqdev> which is a misnomer btw
11:50:44FromDiscord<digitcrusher> windows implements a subset of posix https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem
11:51:37FromDiscord<lqdev> TIL
12:03:08*hoijui_ quit (Quit: Leaving)
12:03:27*hoijui_ joined #nim
12:03:46FromDiscord<Rika> Itā€™s a subsystem in windows made for Linux
12:03:56FromDiscord<Rika> Windows subsystem for Linux
12:05:05PMunchHmm, I'm doing some home automation stuff. And I want to dim my lights progressively to a certain value. I have a start time, a stop time, and the start and stop values (in the range 0-255). I want the value to follow a sine curve (or any curve really), what would be the best way to figure out how long I need to sleep to get to the next step?
12:05:23PMunchI guess I could just sleep a second at a time at be done with it..
12:06:40FromDiscord<digitcrusher> what do you mean by `made for Linux`?
12:07:16FromDiscord<Rika> Made for Linux to run in
12:08:10FromDiscord<Rika> PMunch sounds like the job of a differential equation
12:15:06*abm joined #nim
12:18:59FromDiscord<InventorMatt> I think he would need to play around with the parameters of a sine function. Something like 255sin(cx - 1.5) + 255 where c is the parameter to change based on your start and end time
12:20:55FromDiscord<mratsim> @PMunch look for sine curve + amplitude.
12:21:22FromDiscord<mratsim> and for the time you can add frequency or pulse to your search
12:21:41FromDiscord<mratsim> period
12:22:04FromDiscord<mratsim> https://www.expii.com/t/finding-amplitude-and-period-of-sine-functions-5228
12:22:14*Torro joined #nim
12:22:25FromDiscord<mratsim> so A.sin(Bx) with A the amplitude and B your period
12:29:41FromDiscord<Clyybber> @timotheecour Please don't inflate your issues with unrelated/invalid issues like in #16794, it's misleading and annoying.
12:29:49disbothttps://github.com/nim-lang/Nim/issues/16794 -- 3`let a = someConst.unsafeAddr` is very buggy and should be replaced ; snippet at 12https://play.nim-lang.org/#ix=2MTD
12:30:14FromDiscord<Clyybber> It also distracts from the actual valid issues raised.
12:32:15*Vladar joined #nim
12:41:40*agent0x00 joined #nim
12:43:08*agent0x00 quit (Client Quit)
12:52:45*rockcavera joined #nim
13:28:10FromDiscord<bark> wsl is a reversed name. It's Linux for Windows users not Windows for Linux users
13:28:32FromDiscord<bark> Linux Subsystem for Windows would refer to it better
13:28:42FromDiscord<bark> because it is a Linux Subsystem, for windows users
13:29:24FromDiscord<Rika> that confuses me more than wsl
13:29:36FromDiscord<bark> what really
13:29:39FromDiscord<Rika> yes
13:29:50FromDiscord<Rika> because its a subsystem of windows
13:29:50FromDiscord<bark> but Linux <noun> means <noun> is running linux imo
13:30:02FromDiscord<bark> Windows <noun> means <noun> is running windows
13:30:05FromDiscord<Rika> no?
13:30:06FromDiscord<bark> but I'm no native speaker so
13:30:09FromDiscord<Rika> not necessarily
13:30:24FromDiscord<bark> if it was a windows virtual machine, is windows the guest or the host
13:30:32FromDiscord<bark> imo the guest
13:30:46FromDiscord<Rika> vm doesnt have the same semantics as subsystem
13:31:16FromDiscord<Rika> if i replaced windows with something else eg computer
13:31:20FromDiscord<Rika> computer subsystem
13:32:24FromDiscord<bark> "Voyager 2 was the troublesome twin. Even before launch, failures in its onboard computer subsystems had to be rectified. The problems continued after liftoff as the attitude-control subsystem behaved in an unexpected fashion.ā€” William I. McLaughlin"
13:32:37FromDiscord<bark> yes computer subsystems, subsystems containing computers
13:32:48FromDiscord<bark> at least that's how I'd understand that
13:33:23FromDiscord<Rika> its not how i would
13:33:57FromDiscord<Rika> man i cant give enough shits to continue discussing something as useless to argue about as this
13:34:02FromDiscord<Rika> think whatever
13:34:17FromDiscord<bark> so https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem is a subsystem inside posix systems?
13:34:20FromDiscord<bark> yeah nevermind
14:00:32*NimBot joined #nim
14:04:10FromDiscord<Recruit_main707> godbolt or any other tool cant show generated c code, right?
14:05:52*Vladar quit (Remote host closed the connection)
14:06:56FromDiscord<Clyybber> Araq: ping
14:08:31*Vladar joined #nim
14:09:16FromDiscord<digitcrusher> wsl is technically a linux vm
14:09:21FromDiscord<digitcrusher> (edit) "wsl ... is" added "2"
14:13:20FromDiscord<Rika> refer to this
14:19:54FromDiscord<Recruit_main707> also, strictFuncs also affect procs?
14:20:26FromDiscord<Recruit_main707> nvm im dumb :P
14:32:31FromDiscord<Clyybber> Araq: Pls take a look at 16787, replied to your comment
14:40:35*junland quit (Quit: %ZNC Disconnected%)
14:41:41*junland joined #nim
14:55:24*waleee-cl joined #nim
15:04:28*habamax quit (Ping timeout: 260 seconds)
15:06:24FromDiscord<carpal> araq is a fucking genius
15:07:07FromDiscord<carpal> (edit) "fucking" => "fuckin"
15:12:57*Gustavo6046 quit (Quit: ZNC 1.8.2 - https://znc.in)
15:16:05*Gustavo6046 joined #nim
15:36:50disruptekthe irony is, on his planet, araq is the village idiot.
15:57:57*PMunch quit (Quit: leaving)
16:06:27FromDiscord<carpal> ok šŸ˜’
16:17:30disrupteki have a new sponsor and he's sexier than zevv.
16:31:46FromDiscord<shadow.> ooo
16:31:52FromDiscord<shadow.> spicy
16:36:46*disruptek is now known as asd
16:39:53*asd is now known as disruptek
16:43:17*hnOsmium0001 joined #nim
16:56:30*habamax joined #nim
17:03:14Zevvyeaaeeah and I just clicked "cancel"
17:03:15Zevvthat was not hard
17:03:23FromDiscord<carpal> yo stop
17:03:28FromDiscord<carpal> i've a question
17:03:37*disruptek rm -rf cps
17:03:43Zevvtoo late I got the git repo
17:03:47disruptekpfffbt
17:03:54Zevvso, you actually mean "he pays more"
17:03:58Zevvwell, good for you
17:04:12Zevvaw, he *is* sexy
17:04:14disrupteki was all excited "$48" but it's /yearly/
17:04:31disruptekthat's a latte iirc.
17:04:37*a_b_m joined #nim
17:04:47FromDiscord<carpal> i'm trying to use nim with godot
17:04:51disruptekwhy?
17:05:09*Torro quit (Quit: bye)
17:05:12FromDiscord<carpal> but for first there's no documentation (but i can use that of gdscript)
17:06:18FromDiscord<carpal> secondly I've no idea how to add a script to a godot node
17:07:25*abm quit (Ping timeout: 240 seconds)
17:07:48FromDiscord<mratsim> #gamedev has (a lot of?) godot users
17:08:38*a_b_m quit (Client Quit)
17:12:10*rockcavera quit (Remote host closed the connection)
17:18:16*narimiran quit (Quit: leaving)
17:19:41disruptekhow come someone we've never met in #nim is supporting me and the rest of your folks aren't?
17:19:52disrupteki mean, i get why zevv does it.
17:20:00disruptekhe just wants to get in my pants.
17:20:17disruptekbut what's your excuse, rika?
17:20:22disruptekWHAT'S YOUR EXCUSE?
17:22:41*xet7 quit (Quit: Leaving)
17:24:44FromDiscord<konsumlamm> what are you even doing?
17:24:52*a_chou joined #nim
17:25:18disruptekyou think it's easy talking shit in irc all day?
17:25:22disruptekthis is work, man.
17:28:13*Jjp137 quit (Read error: Connection reset by peer)
17:34:11FromDiscord<Clyybber> Araq: ping
17:44:27*rominf joined #nim
18:00:07FromDiscord<Avatarfighter> o7 everyone
18:00:10FromDiscord<Avatarfighter> o7 disruptek
18:10:48OddmongerHį“‡ŹŸŹŸį“ DÉŖsŹ€į“œį“˜į“›į“‡į“‹
18:17:01*tane joined #nim
18:32:01*rominf quit (Ping timeout: 248 seconds)
18:33:37*jjido joined #nim
18:34:51FromDiscord<andeee> sent a code paste, see https://paste.rs/Mac
18:38:03*rominf joined #nim
18:46:39FromDiscord<carpal> mhh, https://media.discordapp.net/attachments/371759389889003532/802247874767093830/unknown.png
18:48:08FromDiscord<carpal> let me copy paste it into a file
18:48:53FromDiscord<carpal> sure is only this code snippet that causes crash?
18:51:30FromDiscord<carpal> what should this code do lol?
18:51:37FromDiscord<carpal> it is not clear
18:53:40disrupteksup fighter.
18:53:46disruptekAvatarfighter[m]: you have any code to show me?
18:54:02disruptekGOOD AFTERNOON TO YOU ODD MONGER
18:54:25*rominf quit (Ping timeout: 248 seconds)
18:54:51planetis[m]@sdmcallister did you managew to use inline svg elements with karax?
18:55:23FromDiscord<carpal> what the fuck are doing these bots?
18:55:32FromDiscord<carpal> šŸ˜‚
18:56:54FromDiscord<sdmcallister> @planetis I ended up getting it to work using verbatim.
18:57:12planetis[m]nice
18:58:25FromDiscord<Yardanico> @carpal those are real people, not bors
18:58:33FromDiscord<Yardanico> (edit) "bors" => "bots"
18:59:08disruptekspeak for yourself.
18:59:20disrupteki'm half man, half machine.
19:04:00disruptekso here's the interview question i just got; see what your answer is:
19:04:43disruptekyou have a flakey service that you need to query; how can you work around its misbehavior.
19:04:53disruptekimagine that sometimes it returns 503 for a simple api call.
19:06:08*hyiltiz quit (Ping timeout: 264 seconds)
19:06:20FromDiscord<Yardanico> well I'm not good at these, but you'll have to build retries right into the API client (possibly with backoff) ?
19:06:51FromDiscord<Yardanico> Having like 5 retries by default I mean
19:09:28*hyiltiz joined #nim
19:13:39FromDiscord<carpal> yes I can imagine
19:14:26*habamax quit (Ping timeout: 246 seconds)
19:15:38FromDiscord<Avatarfighter> disruptek: I dont wanna show code
19:15:52FromDiscord<Avatarfighter> disruptek: I'm onto more important things anyways, testing irc bots muahhaha
19:20:02disruptekmy answer was leaky-bucket-backoff, but the answer i think they were looking for is, "use a cache."
19:25:56*hyiltiz quit (Ping timeout: 264 seconds)
19:27:00*def-- joined #nim
19:28:07*def- quit (Read error: Connection reset by peer)
19:28:07*def-- is now known as def-
19:28:17*hyiltiz joined #nim
19:28:17*hyiltiz quit (Changing host)
19:28:17*hyiltiz joined #nim
19:28:51*Jjp137 joined #nim
19:32:31*evbo joined #nim
19:42:11FromDiscord<Yardanico> Huh
19:44:06FromDiscord<iWonderAboutTuatara> I don't know
19:44:18FromDiscord<iWonderAboutTuatara> but you should try declaring the seq in a more normal way
19:44:30FromDiscord<iWonderAboutTuatara> `var acc : seq[string]`
19:45:22FromDiscord<carpal> yes and there are other some things you should change
19:46:09FromDiscord<iWonderAboutTuatara> it's crazy he doesn't get an illegal storage access error for not -1 or < ing s.len
19:46:23FromDiscord<iWonderAboutTuatara> oh nevermind
19:46:24FromDiscord<Yardanico> @iWonderAboutTuatara that shouldn't affect anything really though
19:46:27FromDiscord<iWonderAboutTuatara> wrong type of loop
19:46:47FromDiscord<iWonderAboutTuatara> agree, but there's not anything there that looks like it should give segfault
19:46:48FromDiscord<carpal> for example: useā†µāœ“ `temp.add(s[i])`ā†µinstead ofā†µĆ— `temp = temp & s[i]`
19:47:03FromDiscord<iWonderAboutTuatara> and the playground is fine with it
19:47:22FromDiscord<carpal> strings in nim are mutable, so add method can be used as `+=`
19:47:22FromDiscord<iWonderAboutTuatara> seems like a bug outside his program
19:47:41ForumUpdaterBotNew post on r/nim by iSuperAwesome: Why aren't the built-in math procs (`+`, `-`, `*`, ...) procvars?, see https://www.reddit.com/r/nim/comments/l2vfmu/why_arent_the_builtin_math_procs_procvars/
19:47:42FromDiscord<iWonderAboutTuatara> might be the temp & s[i] thing
19:47:57*pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
19:49:19FromDiscord<carpal> anyway I don't understand the purpose of the proc..m
19:49:43FromDiscord<iWonderAboutTuatara> can I make a way for custom indexing?
19:49:55FromDiscord<carpal> probably the error is not raised there but in another proc
19:50:03FromDiscord<Yardanico> You mean add indexing for your custom types? @iWonderAboutTuatara
19:50:07FromDiscord<iWonderAboutTuatara> ie I want to index into a seq[seq[int]] with a Vector2 type instead of going map[vec.x][vec.y]
19:50:11FromDiscord<carpal> what do you mean?
19:50:18FromDiscord<iWonderAboutTuatara> not quite
19:50:20FromDiscord<iWonderAboutTuatara> maybe
19:50:29FromDiscord<Yardanico> it should be possible, yes
19:50:33FromDiscord<Yardanico> and not really hard
19:50:37FromDiscord<iWonderAboutTuatara> using a macro?
19:50:47miprijust define a `[]` proc
19:50:51FromDiscord<Yardanico> No, an ordinary proc should suffice
19:51:02FromDiscord<iWonderAboutTuatara> I can define a custom `[]` proc?
19:51:05FromDiscord<Yardanico> yes
19:51:06FromDiscord<carpal> yes
19:51:16FromDiscord<carpal> this is the nim power bro šŸ˜‚
19:51:30FromDiscord<carpal> just use ` in its id declaration
19:51:34FromDiscord<carpal> for example
19:51:41FromDiscord<iWonderAboutTuatara> wait what should it return?
19:51:43FromDiscord<iWonderAboutTuatara> just that slice?
19:51:44FromDiscord<iWonderAboutTuatara> wow
19:52:00FromDiscord<Yardanico> well it can return anything you want
19:52:34*asdflkj joined #nim
19:53:24FromDiscord<carpal> sent a code paste, see https://play.nim-lang.org/#ix=2MW2
19:53:34FromDiscord<carpal> what you want
19:53:47FromDiscord<Yardanico> no need for the method though
19:53:54FromDiscord<Yardanico> sent a code paste, see https://play.nim-lang.org/#ix=2MW3
19:54:05FromDiscord<Yardanico> @iWonderAboutTuatara is this what you want?
19:54:31FromDiscord<carpal> where index is only an example, it could be anything you want, for example a string for dictionary
19:54:32FromDiscord<haxscramper> @Yardanico While you are here, could you please bridge `#nim-internals` to IRC - dom told me that I need to ping you for that matter
19:54:47FromDiscord<Yardanico> is the irc channel already created?
19:54:52FromDiscord<Yardanico> then sure, no problem
19:55:01FromDiscord<Yardanico> will need to restart the bridge for that matter though :P
19:55:04FromDiscord<Yardanico> but it's fast
19:55:14FromDiscord<haxscramper> I don't know if the channel is created
19:55:50Yardanico123
19:56:02FromDiscord<carpal> honestly I didn't find the difference between them...
19:56:11FromDiscord<Yardanico> methods are for dynamic dispatch
19:56:30FromDiscord<Yardanico> @haxscramper yeah I just created it
19:56:50FromDiscord<iWonderAboutTuatara> yep pretty much
19:56:55FromDiscord<iWonderAboutTuatara> logged off fior a second to write it
19:57:04FromDiscord<iWonderAboutTuatara> works perfectly
19:57:16FromDiscord<iWonderAboutTuatara> sent a code paste, see https://play.nim-lang.org/#ix=2MW5
19:57:27FromDiscord<carpal> mhh, that is?
19:57:41FromDiscord<Yardanico> deciding which method to call based on its runtime type
19:57:54FromDiscord<Yardanico> you really only need methods if you're using inheritance
19:59:14FromDiscord<carpal> ah
19:59:20FromDiscord<carpal> thanks
19:59:33*FromDiscord quit (Remote host closed the connection)
19:59:50*FromDiscord joined #nim
20:00:18FromDiscord<carpal> and should I use `var`? that's `proc x(self: var Type)`
20:00:40FromDiscord<Yardanico> only when you want to mutate `self` in its original location
20:00:42FromDiscord<carpal> with var is it passed by ref?
20:00:46FromDiscord<Yardanico> and only if it's an object
20:00:53FromDiscord<carpal> ah ok as i was imaging
20:01:09FromDiscord<Yardanico> @carpal the compiler automatically passes big objects by reference anyway
20:02:38FromDiscord<carpal> sent a code paste, see https://play.nim-lang.org/#ix=2MWd
20:02:41FromDiscord<carpal> or am I wrong?
20:03:39FromDiscord<Yardanico> sorry if my wording was a bit incorrect. I meant that you only need to use `var` if you want to mutate a non-ref type that was passed to a procedure/method
20:04:00FromDiscord<Yardanico> in the argument type
20:05:56FromDiscord<Yardanico> it goes for all `object` types and built-in types like int/float/bool/string/seq/etc
20:06:55FromDiscord<Yardanico> of course you can use it for `ref` types too, but it just doesn't make sense since ref types are mutable in procs/methods already
20:07:26FromDiscord<Yardanico> and if you do use them with ref, you're also adding one more pointer indirection IIRC
20:07:44FromDiscord<Yardanico> yes
20:07:47FromDiscord<carpal> sent a code paste, see https://play.nim-lang.org/#ix=2MWj
20:07:53FromDiscord<carpal> ok thank you
20:09:05*hoijui_ quit (Quit: Leaving)
20:13:01FromDiscord<Yardanico> /\restarting the bridge/\
20:13:03*FromDiscord quit (Remote host closed the connection)
20:13:20*FromDiscord joined #nim
20:16:41*hoijui quit (Ping timeout: 272 seconds)
20:19:49*FromDiscord quit (Remote host closed the connection)
20:20:05*FromDiscord joined #nim
20:23:33FromDiscord<carpal> a part from the allowing to mutate a variable passed as parameter, if the size of the struct i'm passing as value (not var) is bigger than 15 bytes shouldn't better pass it as var even if i haven't to mutate it?
20:23:58FromDiscord<carpal> (edit) "a part" => "apart"
20:24:20FromDiscord<Yardanico> maybe you missed what I said above - " the compiler automatically passes big objects by reference anyway"
20:24:35FromDiscord<carpal> ah ok yes i missed to read it šŸ’š
20:25:34FromDiscord<Yardanico> you can check that in the compiled C code if you're really curious
20:26:27FromDiscord<carpal> no please šŸ˜‚ nim generated code is not human readable
20:26:38FromDiscord<carpal> I already tryed do it
20:26:43FromDiscord<carpal> (edit) "I already tryed ... do" added "to"
20:26:50FromDiscord<Yardanico> it's quite readable if you know what to look for (and compile with things like -d:danger --gc:arc)
20:27:08FromDiscord<carpal> (edit) "I" => "I've"
20:27:26FromDiscord<carpal> danger?
20:27:34FromDiscord<Yardanico> -d:danger is -d:release + disables all runtime checks
20:27:58FromDiscord<carpal> release I think could get better the code readability
20:28:26FromDiscord<carpal> what are runtime checks?
20:28:59FromDiscord<Yardanico> checks that are performed in runtime so that a program doesn't enter an inconsistent state but rather gracefully fail
20:29:33FromDiscord<carpal> for example a byte overflow?
20:29:34FromDiscord<Yardanico> https://nim-lang.org/docs/nimc.html
20:29:35FromDiscord<Yardanico> https://media.discordapp.net/attachments/371759389889003532/802273778871959552/unknown.png
20:32:13FromDiscord<Yardanico> @carpal so about our original topic - generally the compiler will pass a stack-allocated `object` to other procs by reference if it's larger than 3 `float`s
20:32:50FromDiscord<Yardanico> and `float` in Nim is always `float64`
20:33:08FromDiscord<Yardanico> so if an object is larger than 12 bytes it's passed by ref
20:33:15*Vladar quit (Ping timeout: 272 seconds)
20:33:17FromDiscord<Yardanico> sorry
20:33:20FromDiscord<lqdev> 24 bytes
20:33:20FromDiscord<Yardanico> 24
20:33:26FromDiscord<Yardanico> yes i don't know math anymore
20:33:27FromDiscord<lqdev> 3 sizeof(pointer)
20:34:19FromDiscord<Yardanico> @carpal and I mentioned C code because when it's passed by copy you'll see `N_LIB_PRIVATE N_NIMCALL(void, testTdbH3qqphqiKx7ANjPYpZw)(tyObject_MyObjuwHmUP9bDCyGkyDazJMXMcg x);` but when it's passed by ref it's `N_LIB_PRIVATE N_NIMCALL(void, testTdbH3qqphqiKx7ANjPYpZw)(tyObject_MyObjuwHmUP9bDCyGkyDazJMXMcg x);`
20:34:36FromDiscord<Yardanico> @lqdev it's not sizeof(pointer) though
20:34:51FromDiscord<Yardanico> because on 32-bit it's 24 bytes as well, so it's `3 sizeof(float)`
20:35:53FromDiscord<mratsim> oh it's always 24 bytes?
20:35:54FromDiscord<Yardanico> sent a code paste, see https://paste.rs/fSD
20:36:32FromDiscord<Yardanico> well I'm not sure if it's like that on all architectures, but on i686 and x86_64 - yes
20:36:37FromDiscord<mratsim> it's better if it was 12, so that you can more often pass by registers instead of by stack
20:36:48FromDiscord<mratsim> but well I don't care enough about 32-bit
20:37:22*Vladar joined #nim
20:37:29FromDiscord<Yardanico> " a, b, c, d, e, f: pointer" by-copy but " a, b, c, d, e, f: pointer" and "x: byte" is by-ref
20:37:34FromDiscord<Yardanico> on 32-bit
20:38:26FromDiscord<lqdev> odd
20:39:12FromDiscord<Yardanico> lemme find the relevant compiler heuristic again..
20:40:02FromDiscord<Yardanico> ccgtypes.nim line 264
20:40:06FromDiscord<Yardanico> " elif (optByRef in s.options) or (getSize(conf, pt) > conf.target.floatSize 3):"
20:40:18FromDiscord<mratsim> why floatSize šŸ˜®
20:40:29FromDiscord<mratsim> should be pointer size
20:40:37FromDiscord<Yardanico> it was like this for years though :P
20:40:52FromDiscord<mratsim> on x86_32 with a x87 floating point unit, a float can be 80-bit
20:40:58FromDiscord<mratsim> what are we gonna do
20:41:42FromDiscord<Yardanico> in the past it even was floatSize 2
20:41:49FromDiscord<Yardanico> https://media.discordapp.net/attachments/371759389889003532/802276856786059325/unknown.png
20:41:50FromDiscord<mratsim> also floats usually live in simd registers so they aren't really involved in param passing.
20:42:09FromDiscord<Yardanico> and floatSize 2 was there since the dawn of time
20:42:12FromDiscord<Yardanico> https://media.discordapp.net/attachments/371759389889003532/802276947148537936/unknown.png
20:43:29FromDiscord<carpal> so 12 bytes on x86_32
20:43:30FromDiscord<carpal> (edit) "x86_32" => "x86_32bit"
20:43:39FromDiscord<carpal> (edit) "x86_32bit" => "32bit"
20:43:41FromDiscord<carpal> (edit) "32bit" => "x32"
20:44:03FromDiscord<Yardanico> no
20:44:09FromDiscord<Yardanico> 24 bytes on x64 :)
20:45:57FromDiscord<carpal> and 32?
20:46:01FromDiscord<carpal> (edit) "32?" => "x32?"
20:46:04FromDiscord<Yardanico> 24 bytes on x32
20:46:09FromDiscord<carpal> ah ok
20:46:11FromDiscord<carpal> the same
20:46:34FromDiscord<carpal> so this is partially wrong? https://media.discordapp.net/attachments/371759389889003532/802278045209591838/unknown.png
20:47:04FromDiscord<lqdev> that's what the manual states.
20:47:13FromDiscord<Recruit_main707> how do the magic functions work?
20:47:53FromDiscord<carpal> but a pointer on x32 weighs 4 bytes not 8
20:47:53*Vladar quit (Ping timeout: 246 seconds)
20:48:02FromDiscord<carpal> and lol 34 = 12
20:48:21FromDiscord<Yardanico> @lqdev HUH
20:48:29FromDiscord<lqdev> i swear i saw that
20:48:29FromDiscord<Yardanico> sorry for caps-lock
20:48:31FromDiscord<lqdev> somewhere
20:48:51FromDiscord<carpal> ?
20:48:55FromDiscord<haxscramper> If you mean `magic:` for proc definitions they are implemented in compiler internally
20:49:03FromDiscord<Yardanico> @carpal it's sizeof(float) not sizeof(pointer) that's why it's larger 8 3 = 24 on 32 bit as well
20:49:06FromDiscord<carpal> ah ok but probably I'm wrong
20:49:09FromDiscord<Yardanico> `float` is 64-bit even on i686
20:49:11FromDiscord<Yardanico> in Nim
20:49:20FromDiscord<Yardanico> because `float` is an alias for `float64`
20:49:29FromDiscord<carpal> ahh that's more sensible
20:50:25FromDiscord<carpal> ok you said float is the same as float64, 64 make me think it is a 8 bytes (64 bit) data so now it works in my brain
20:50:47FromDiscord<lqdev> yard is right
20:50:56FromDiscord<lqdev> i just peeked at the compiler's source code
20:51:10FromDiscord<lqdev> and it indeed is `3 sizeof(float)`
20:51:21FromDiscord<Yardanico> yes I showed the src myself
20:51:32FromDiscord<Yardanico> @lqdev :P
20:51:40FromDiscord<lqdev> heck, you're right
20:51:44FromDiscord<lqdev> i didn't read the convo fully
20:51:52FromDiscord<lqdev> to my excuse i'm a bit busy atm
20:51:58FromDiscord<mratsim> neck, you're beard
20:52:01FromDiscord<Yardanico> haha
20:52:17FromDiscord<carpal> "make me think" in the sense that it could even not weighs 64 bit, and 64 could means something other (so improbably lol)
20:52:29FromDiscord<carpal> (edit) "other" => "else"
20:52:49FromDiscord<mratsim> I can give you math courses Yardanico btw
20:52:59FromDiscord<mratsim> 1 course bought, 10 math nightmares offered
20:53:39FromDiscord<lqdev> https://media.discordapp.net/attachments/371759389889003532/802279834361004062/unknown.png
20:54:14FromDiscord<mratsim> So it leaves a void above you creating lift just like an airplane?
20:54:56FromDiscord<lqdev> no
20:55:03*Vladar joined #nim
20:55:08*pbb joined #nim
20:55:13FromDiscord<lqdev> it went over my head, silly you
20:57:28reversem3when using Karax , is the css only called when you call a class ?
20:57:56reversem3what if the css what is in another directory would you then add the path a nims config file?
20:58:15reversem3 * what if the css was is in another directory would you then add the path a nims config file?
20:58:35FromDiscord<Avatarfighter> can't believe the difference in air pressure from the joke caused that @lqdev
20:58:40FromDiscord<Yardanico> you don't have to resend the whole message if you want to fix one typo, you know :P @reversem3
20:58:41FromDiscord<Zachary Carter> reversem3: probably best to ask in #webdev
20:58:54FromDiscord<Yardanico> oh you're from matrix
20:58:56FromDiscord<Yardanico> there's a native nim matrix bridge
20:59:15FromDiscord<Yardanico> +nim:asra.gr
20:59:25leorize~matrix
20:59:25disbotmatrix: 11Nim channels on Matrix can be found at +nim:asra.gr (https://matrix.to/#/+nim:asra.gr) -- leorize
20:59:25FromDiscord<Recruit_main707> @haxscramper does that mean they dont have any tangible source or smthng?
20:59:28reversem3yeah it has a delay though or at least used to
20:59:32reversem3#nim-webdev ?
20:59:42FromDiscord<Zachary Carter> Nevermind I think it's a discord channel
20:59:47leorizereversem3: should be linked there
20:59:54FromDiscord<Yardanico> there's #nim-webdev for IRC
20:59:57FromDiscord<Yardanico> it's all bridged
21:00:13reversem3kk thanks
21:00:19FromDiscord<Zachary Carter> to answer your question - I don't think CSS has anything to do with Karax
21:00:29FromDiscord<Yardanico> as of right now, all channels in primary and community are bridged to IRC
21:00:51FromDiscord<Zachary Carter> you would reference the CSS file in your HTML file and then assign classes to the HTML DOM nodes karax produces
21:00:56FromDiscord<Zachary Carter> reversem3 ^
21:01:59FromDiscord<haxscramper> Yes, there is no source, per se, and you need to follow particular value of `compiler/ast/TMagic` enum. For example if you have `magic: "DotDot"`, you need to check how `mDotDot` is handled
21:02:28FromDiscord<haxscramper> In `compiler/semmagic/magicsAfterOverloadResolution`
21:02:36reversem3ok but in the todo example for Karax the style.css isn't called in the nim file at all
21:03:00reversem3only the classes for the html are called
21:03:18FromDiscord<Yardanico> ah, right, need to update the wiki for newly bridged channels as well..
21:03:28FromDiscord<Yardanico> I mean this https://media.discordapp.net/attachments/371759389889003532/802282302784012368/unknown.png
21:03:39FromDiscord<Zachary Carter> reversem3: I started replying in webdev, so let's move the convo there
21:08:38FromDiscord<Yardanico> time to delete https://github.com/nim-lang/Nim/wiki/Status-of-gc%3Aarc-and-gc%3Aorc-%28library-compatibility%29 as a remnant of a dark past :P
21:08:53FromDiscord<lqdev> you'd wanna
21:09:09FromDiscord<Yardanico> hmm I won't delete it, just hide from the sidebar
21:09:12*natrys quit (Quit: natrys)
21:09:20FromDiscord<Yardanico> (edit) "hide" => "remove"
21:09:26FromDiscord<lqdev> lemme try devel and tell you if any of my games compile and run
21:09:42FromDiscord<Yardanico> I wonder if that NiGui bug with ORC is still there
21:11:00mipribignum doesn't work with arc, but as it's not on that page already...
21:11:46FromDiscord<Yardanico> I hope you didn't miss the big :) "Disclaimer: this list is outdated - nowadays most libraries work with ARC/ORC just fine"
21:11:57FromDiscord<Yardanico> that list was last updated in july
21:12:07FromDiscord<Yardanico> when I was actively spamming arc issues
21:12:34FromDiscord<lqdev> oh my, OH MY!
21:12:38FromDiscord<lqdev> I SMELL A BREAKING CHANGE!
21:12:53FromDiscord<Yardanico> that can be fixed with relative ease in most cases
21:12:55FromDiscord<lqdev> not sure if that's intended but i guess it's a side effect of --gc:destructors
21:12:56FromDiscord<lqdev> sent a code paste, see https://play.nim-lang.org/#ix=2MWM
21:13:01FromDiscord<Yardanico> yes that's known
21:13:09FromDiscord<Yardanico> lemme find the relevant issue for you
21:13:17FromDiscord<lqdev> i mean i could fix it, just can't be arsed to do it
21:13:22FromDiscord<lqdev> because orc isn't the default yet
21:13:33FromDiscord<Yardanico> https://github.com/nim-lang/Nim/issues/14226
21:13:34FromDiscord<Yardanico> https://github.com/nim-lang/Nim/issues/14226#issuecomment-696178108
21:13:35disbotāž„ [ARC] Code with a finaliser and object initialisation doesn't compile ; snippet at 12https://play.nim-lang.org/#ix=2xS2
21:13:36disbotāž„ [ARC] Code with a finaliser and object initialisation doesn't compile ; snippet at 12https://play.nim-lang.org/#ix=2xS2
21:14:00FromDiscord<lqdev> yeah someday i'll just use =destroy and the compiler will shut up and everyone will be happy
21:14:09FromDiscord<lqdev> but i'm too lazy
21:15:43leorizeit's not like destroy even work properly :P
21:16:05leorizewanna join me in beta testing destructors? :)
21:18:26asdflkjI enabled the LineTooLong hint in my nim.cfg and now I get dozens of hints like `/etc/nim/nim.cfg(252, 107) Hint: line too long [LineTooLong]` whenever I compile. Is there any way I can get them only when my code Iā€™m trying to compile has long lines, and not hear about them in other files (like the config)?
21:20:16leorizeI guess there is a bug in how that function work, since I believe it's untested
21:29:08FromDiscord<Clyybber> leorize: What do you mean destroy doesn't work properly?
21:29:37leorizethat destroy before initialization bug
21:29:46FromDiscord<Clyybber> thats not a bug
21:29:53FromDiscord<Clyybber> I mean, the root cause is a bug
21:29:58FromDiscord<Clyybber> but you are relying on an optimization
21:30:16FromDiscord<Clyybber> your type should really have an invalid state
21:30:37leorizeif my type said {.requiresInit.}, you should assume that it is not valid until initialization
21:30:37FromDiscord<Clyybber> or be tolerant of being destroyed multiple times otherwise
21:31:42FromDiscord<Clyybber> well, your `=destroy` hook defines what you consider invalid
21:31:52FromDiscord<Clyybber> you are supposed to have an if check in there
21:32:12leorizegive me `=init` then?
21:32:27FromDiscord<Clyybber> yeah
21:32:30FromDiscord<Clyybber> thats the solution
21:33:21FromDiscord<Clyybber> eh, actually its not
21:34:31FromDiscord<Clyybber> because =init for a requiresInit type doesn't make sense
21:34:48FromDiscord<Clyybber> arc should be forced to apply the optimization by requiresInit so you are correct
21:34:50leorizewhy not? it let me encode a static "invalid" value, so I don't need {.requiresInit.} anymore
21:35:01FromDiscord<Clyybber> well yeah
21:35:09FromDiscord<Clyybber> I thought you meant in conjunction with requiresInit
21:38:42FromDiscord<Clyybber> claiming destroy doesn't work is a bit much
21:40:43FromDiscord<Clyybber> but of course we still have bugs/different features interacting in unexpected ways
21:41:16leorizeit doesn't work as I would expected it to tbf
21:41:34leorizemy object has an invalid state, it is not the same as the zero state is the issue
21:43:52disruptekiiuc, it's a lot to ask that the user handle a destroy when they never init'd the object in the first place.
21:44:05disrupteki have the same problem with invalid data. i think it's madness that it exists at all.
21:44:17disruptekafter all the work i do to not even create bad data in the first place...
21:48:55PrestigeI'm surprised you don't call it naughty data, or the like
21:49:11disruptekdirty. dirty data.
21:49:13Prestigea lot of normal sentences coming from disruptek
21:49:16Prestigeah that's better
21:49:18FromDiscord<iWonderAboutTuatara> that's a good one
21:49:19FromDiscord<iWonderAboutTuatara> dity data
21:49:23FromDiscord<iWonderAboutTuatara> dirty
21:49:49disruptekit's "invalid data" because that's what it renders as. šŸ˜‰
21:50:28FromDiscord<iWonderAboutTuatara> not quite sharp enough to catch this innuendo
21:50:34FromDiscord<iWonderAboutTuatara> unfortunately
21:52:24disruptek!eval import osproc; let x = ProcessOption ord(10); echo $x
21:52:27NimBotCompile failed: /usercode/in.nim(1, 38) Error: 10 can't be converted to ProcessOption
21:52:33disruptekboo
21:52:43disruptek!eval import osproc; let x = cast[ProcessOption] ord(10); echo $x
21:52:46NimBotCompile failed: /usercode/in.nim(1, 47) Error: expected: '(', but got: 'ord'
21:52:53disruptek!eval import osproc; let x = cast[ProcessOption] 10; echo $x
21:52:56NimBotCompile failed: /usercode/in.nim(1, 46) Error: expected: '(', but got: '10'
21:53:03disruptek!eval import osproc; let x = cast[ProcessOption](10); echo $x
21:53:05disruptekjesus.
21:53:07NimBot10 (invalid data!)
22:00:28FromDiscord<iWonderAboutTuatara> is there a type for fifo sets in nim?
22:04:30disrupteksee the deques module
22:04:50*Vladar quit (Quit: Leaving)
22:05:27disrupteklqdev: i want comments on your tsuki example from the readme.
22:06:32disruptekcan the vm live in a stack object?
22:06:56FromDiscord<lqdev> nope
22:06:59FromDiscord<lqdev> right now it's a ref object
22:07:16FromDiscord<lqdev> btw why are you asking?
22:07:24FromDiscord<lqdev> and which readme are you referring to?
22:07:53disrupteki'm looking at https://github.com/liquidev/tsuki
22:08:12FromDiscord<iWonderAboutTuatara> ah deque
22:08:13FromDiscord<iWonderAboutTuatara> thanks
22:08:16FromDiscord<iWonderAboutTuatara> exactlyt what I wanted
22:08:31disrupteki'm wondering if i want to use this instead of nim itself for my tierra thing.
22:08:38FromDiscord<lqdev> oy
22:08:43FromDiscord<lqdev> well
22:08:49FromDiscord<lqdev> it's not ready for use as of now
22:08:55disruptekwhen you say it's lightweight, what does that mean?
22:09:06FromDiscord<lqdev> good question.
22:09:16FromDiscord<lqdev> definitely less lightweight than lua
22:09:24FromDiscord<lqdev> but more lightweight than nimscript
22:10:06disruptekwhat does the lua vm weigh?
22:10:45FromDiscord<lqdev> no clue, but i was referring to memory footprint/implementation complexity
22:10:55FromDiscord<lqdev> lua uses a single pass compiler
22:11:02FromDiscord<lqdev> it emits bytecode right as it parses your program
22:11:06FromDiscord<lqdev> tsuki first does an AST pass
22:11:14FromDiscord<lqdev> which obviously uses more memory and is slower
22:11:29disruptekokay, i don't care about that. i can precompile shit.
22:12:01FromDiscord<lqdev> runtime should be about on-par with lua or maybe a bit faster _provided i do some optimizations_
22:12:25FromDiscord<lqdev> i haven't done any benchmarking yet though
22:12:26FromDiscord<dk> can someone please explain `setForeignNode` from karax
22:12:46disruptekso you wanted something less noisy than wren and more comfortable than lua.
22:12:46FromDiscord<dk> it's not very documented and I'm making some false assumptions about how it works
22:12:58FromDiscord<lqdev> less rigid than wren, actually
22:13:13FromDiscord<Avatarfighter> @dk I think it removes the specified node from being updated by Karax's VDOM
22:13:15FromDiscord<lqdev> in wren you have to declare everything inside of a class and then you can't add any more methods to it
22:13:25disrupteki rather liked wren.
22:13:35FromDiscord<lqdev> i'm not saying it's bad
22:13:39FromDiscord<lqdev> it's just too much like java
22:14:38FromDiscord<Clyybber> good luck beating luajit :p
22:15:40leorize@dk it means that karax will not check the node for external modifications
22:15:40FromDiscord<lqdev> you're saying that almost as if that was my goal
22:17:54disruptekwhat is the memory footprint of nimscript? tsuki?
22:18:39FromDiscord<Clyybber> lqdev: was only jesting
22:18:48FromDiscord<Clyybber> disruptek: I imagine tsuki will be lighter
22:19:04FromDiscord<Clyybber> after all nimscript stores non-primitives as ast
22:19:07disruptekyes, i'm just curious about numbers.
22:19:28FromDiscord<lqdev> disruptek: well i already told you i didn't benchmark it :p
22:19:47disrupteki figure that tsuki's numbers won't include the compilation.
22:19:53FromDiscord<lqdev> i'm focusing on implementation right now rather than shiny numbers
22:20:00FromDiscord<Clyybber> disruptek: probably cflang is more interesting to terria
22:20:07FromDiscord<lqdev> what's terria btw
22:20:20disruptekgoogle tierra tom ray
22:20:45FromDiscord<Clyybber> lqdev: in a nutshell its a thing where programs evolve
22:21:16FromDiscord<lqdev> interesting
22:22:03FromDiscord<lqdev> well yeah cflang is a decent base for implementing something like that
22:22:13FromDiscord<lqdev> you'd have to fork it though if you wanna add any builtins
22:24:36disrupteki dunno, i go back and forth on what i want to accomplish.
22:25:59FromDiscord<Clyybber> I would just go with some turing tarpit
22:26:17FromDiscord<Clyybber> because I find it more fun if the computer spits out stuff I don't understand anymore
22:26:33disrupteksee, i find that /less/ fun.
22:27:19FromDiscord<Clyybber> if you can understand it its not magic
22:29:10FromDiscord<Clyybber> disruptek: this could be your counter movement to "explainable AI" :p
22:40:29disruptekmy experience is that it's hard enough to read the signal in the noise when the language is legible; a tarpit will just be obfuscation.
22:40:38FromDiscord<carpal> !evalā†µecho "lol"
22:40:43FromDiscord<carpal> (edit) "!evalā†µecho" => "!eval echo"
22:40:47FromDiscord<carpal> !eval echo "lol"
22:40:49NimBotlol
22:41:02FromDiscord<carpal> mhh why online inline command?
22:41:37FromDiscord<lqdev> !eval echo "lol"; echo "yes"
22:41:39NimBotlolā†µyes
22:42:19asdflkj!eval echo system.Nimversion
22:42:22NimBot1.4.2
22:43:04FromDiscord<carpal> can any admin add the way to execute an entire block of code?
22:43:36FromDiscord<lqdev> not possible with IRC
22:43:41FromDiscord<carpal> why not?
22:43:45FromDiscord<carpal> sent a code paste, see https://play.nim-lang.org/#ix=2MXf
22:43:50FromDiscord<lqdev> IRC doesn't support line breaks
22:43:55FromDiscord<lqdev> the bot is actually on the IRC side
22:44:14FromDiscord<lqdev> i guess it could take paste links tho
22:45:08FromDiscord<carpal> I don't understand why a bot cannot read all message
22:45:16asdflkjit could take multiple messages/lines in a row, terminated with lave! or smth
22:45:20FromDiscord<carpal> https://media.discordapp.net/attachments/371759389889003532/802307941063196742/unknown.png
22:45:39FromDiscord<iWonderAboutTuatara> also. sets are super weird
22:45:43FromDiscord<ElegantBeef> No you
22:45:45FromDiscord<iWonderAboutTuatara> is there an equivalent to python set() in nim?
22:45:49asdflkj(in IRC, all messages are one line each)
22:45:50FromDiscord<iWonderAboutTuatara> oh hello
22:45:52FromDiscord<iWonderAboutTuatara> nice to see you
22:46:03FromDiscord<iWonderAboutTuatara> man that sounds like hell for code
22:46:09FromDiscord<ElegantBeef> Is python's `set` a `hashset`?
22:46:13FromDiscord<iWonderAboutTuatara> I have no idea
22:46:19FromDiscord<iWonderAboutTuatara> but I wasn't able to set a variable as set
22:46:20FromDiscord<ElegantBeef> What values does it accept
22:46:23FromDiscord<iWonderAboutTuatara> any
22:46:28FromDiscord<ElegantBeef> So then yes it's a hashset
22:46:36FromDiscord<lqdev> @carpal well it's a limitation of the protocol it's operating on, it doesn't depend on the bot
22:46:39FromDiscord<carpal> but lol, why?
22:46:45FromDiscord<ElegantBeef> `import sets` `var yourSet: HashSet[T]`
22:46:46FromDiscord<carpal> ah ok
22:46:55FromDiscord<lqdev> IRC is quite old by now
22:47:13FromDiscord<lqdev> so it doesn't have fancy modern features like multiline messages :p
22:47:23FromDiscord<ElegantBeef> Nim's builtin `sets` are bitsets that are limited to any ordinal less than or equal to 16 bits
22:47:26FromDiscord<iWonderAboutTuatara> @ElegantBeef that didn't work for whatever reason
22:47:39FromDiscord<iWonderAboutTuatara> oh I need to store a custom type
22:47:42FromDiscord<ElegantBeef> If a picture can paint a thousand words, why can i not see your code
22:48:06FromDiscord<iWonderAboutTuatara> oh now it works
22:48:07FromDiscord<iWonderAboutTuatara> so confused
22:48:29FromDiscord<iWonderAboutTuatara> that's super strange
22:48:35FromDiscord<iWonderAboutTuatara> thanks!
22:48:38FromDiscord<iWonderAboutTuatara> if it works it works
22:50:00FromDiscord<iWonderAboutTuatara> also, this isn't working for whatever reason
22:50:23FromDiscord<iWonderAboutTuatara> sent a code paste, see https://play.nim-lang.org/#ix=2MXj
22:50:27FromDiscord<iWonderAboutTuatara> start is a vector2 that's passed as a param to the proc
22:50:33FromDiscord<ElegantBeef> You need to declare a hash function for your custom type
22:50:42FromDiscord<iWonderAboutTuatara> oh
22:50:43FromDiscord<ElegantBeef> https://nim-lang.org/docs/hashes.html it
22:50:47FromDiscord<ElegantBeef> (edit) "it" => "it's shown how to here"
22:54:29asdflkj!eval import os; os.execShellCmd("uname -a")
22:54:32NimBotCompile failed: /usercode/in.nim(1, 27) Error: expression 'execShellCmd("uname -a")' is of type 'int' and has to be used (or discarded)
22:54:44asdflkj!eval import os; echo os.execShellCmd("uname -a")
22:54:44FromDiscord<Yardanico> @asdflkj all code runs in a container anyway
22:54:47NimBotLinux 99d8bbb625e2 4.15.0-126-generic #129-Ubuntu SMP Mon Nov 23 18:53:38 UTC 2020 x86_64 Linuxā†µ0
22:55:16asdflkjYardanico: a new one each time?
22:55:43FromDiscord<Yardanico> not really, but it doesn't matter much in our case
22:55:46FromDiscord<Yardanico> see https://github.com/PMunch/nim-playground
22:57:02FromDiscord<ElegantBeef> Oh hey yard
22:57:08FromDiscord<Yardanico> privet
22:57:08asdflkj!eval import os; echo os.execShellCmd("touch foo")
22:57:12NimBottouch: foo: Permission deniedā†µ1
22:57:34asdflkj!eval import os; echo os.execShellCmd("whoami")
22:57:38NimBotnobodyā†µ0
22:57:43FromDiscord<Yardanico> haha
22:57:56asdflkjlol
22:58:24FromDiscord<iWonderAboutTuatara> That did it, thanks!
22:58:32FromDiscord<Yardanico> well that's the default user name for users with (almost) no rights
22:58:34FromDiscord<ElegantBeef> No problem it works the same with `tables`
22:58:46asdflkjI know, still funny
23:00:39asdflkjbut now Iā€™m tempted to run `:(){ :|:& };:` and see how /etc/security/limits.conf and PAM are configured
23:00:44leorizeif you found some docker escape bug you can probably hijack the playground :P
23:01:06leorizedon't worry, Zevv did it so we have timeout for the playground now
23:01:07FromDiscord<Yardanico> @asdflkj docker has 200MB of RAM allocated
23:01:10FromDiscord<Yardanico> and .8 of the cpu
23:02:02FromDiscord<Yardanico> so it'll use 80% of a single CPU core at max
23:02:20leorizenot that it matters, the playground runs on its own vm
23:02:24FromDiscord<Yardanico> yeah
23:02:39FromDiscord<Yardanico> but does the playground website run in the same VM? :)
23:02:55asdflkjso not crash the vm, but maybe stop ! eval from working for a while?
23:03:10leorizeasdflkj: there's a 10-30s timeout
23:03:20leorizeI think it's 10s
23:03:55leorize!eval import os; sleep 1000; echo "done!"
23:04:00NimBotdone!
23:04:08leorize!eval import os; sleep 3000; echo "done!"
23:04:14NimBotdone!
23:04:48FromDiscord<Yardanico> try 15s
23:04:57FromDiscord<Yardanico> !eval import os; sleep 15000; echo "done!"
23:04:58FromDiscord<carpal> !eval import os; for file in walkFiles("."): echo "file: ", file
23:05:05FromDiscord<Yardanico> !eval import os; echo "done!"
23:05:07NimBot<no output>
23:05:09NimBotdone!
23:05:18leorize!eval import os; sleep 30000; echo "done!"
23:05:19NimBot<no output>
23:05:21FromDiscord<Yardanico> @carpal there are no files in the directory it's being run from
23:05:39NimBot<no output>
23:05:43leorize!eval import osproc; echo execCmd "ls /"
23:05:47NimBotbinā†µdevā†µetcā†µhomeā†µlibā†µmediaā†µmntā†µplaygroundā†µprocā†µrootā†µrunā†µsbinā†µsrvā†µsysā†µtmpā†µusercodeā†µusrā†µvarā†µ0
23:05:49FromDiscord<carpal> !eval import os; for file in walkFiles(".."): echo "file: ", file
23:05:53NimBot<no output>
23:05:53FromDiscord<Yardanico> meh
23:05:58FromGitter<redblack3_gitlab> Hey guys. Was just wondering if this feature in Swift can be implemented with Nim macros: āŽ āŽ ```code paste, see link``` āŽ āŽ Basically the `.` operator infers the type that the following token belongs to. Can this be done with `callsite` and macros? [https://gitter.im/nim-lang/Nim?at=600b5a56cf8b8277344a4945]
23:06:29FromDiscord<carpal> let me see
23:06:31FromDiscord<Yardanico> you can do that in nim without even using .
23:06:42FromDiscord<ElegantBeef> Yea nim doesnt enforce pure enums
23:07:12leorizedon't know if Araq implemented it but iirc there was a proposal to make pure enums similar to modules
23:07:20FromGitter<redblack3_gitlab> But I think the point is that this feature will avoid identifier collisions
23:07:27FromDiscord<Yardanico> @redblack3
23:07:37FromDiscord<Yardanico> sent a code paste, see https://play.nim-lang.org/#ix=2MXo
23:07:51FromGitter<redblack3_gitlab> so if you have two different enums with the same fields, the macro would match with the type that is in the function prototype
23:08:15FromDiscord<ElegantBeef> Except that nim doesnt let you have impure enums with the same identifier
23:08:29FromDiscord<ElegantBeef> https://play.nim-lang.org/#ix=2MXp
23:09:04FromDiscord<carpal> but why? in nim is as in c with enums, you can also omit the enum name and write directly the enum value, that for convention should be prefixed the the first letter of the enum name
23:09:08FromGitter<redblack3_gitlab> avoids this issue i gues: https://play.nim-lang.org/#ix=2MXs
23:09:14FromDiscord<carpal> (edit) removed "is"
23:09:22FromDiscord<carpal> (edit) "nim" => "nim," | "c with enums," => "c,"
23:09:34leorizeit's doable with a macro but should be a language function tbh
23:09:43asdflkjnow what Iā€™m curious about is what `curl -s -L https://raw.githubusercontent.com/keroserene/rickrollrc/master/roll.sh | bash` looks like piped through the bot. Maybe I should switch to #nim-offtopic, but for some reason itā€™s +r so I canā€™t
23:10:13leorizeit's +r due to a spam flood in the past
23:10:20FromDiscord<carpal> yes the thing araq should fix is that enum shouldn't be declared like constansts
23:11:19FromGitter<redblack3_gitlab> > *<leorize>* it's doable with a macro but should be a language function tbh āŽ āŽ Are you saying that Swift feature can be done with a macro? Would `callsite` work for that? I wanted to try and implement it for kicks
23:11:31FromDiscord<Yardanico> @asdflkj it's not hard to register on freenode though :) and you don't even need a mail (it's optional)
23:12:04asdflkjYardanico: really? how do I register w/o mail?
23:12:09FromDiscord<ElegantBeef> Am i the only one that doesnt get the point of what `.enum` solves?
23:12:10asdflkjthat would be great
23:12:14FromDiscord<Yardanico> just register with https://freenode.net/kb/answer/registration
23:12:24leorize!rfc 149
23:12:24disbothttps://github.com/nim-lang/RFCs/issues/149 -- 3New rules for type inference 7& 1 more...
23:12:32FromDiscord<Yardanico> ah they need emails now
23:12:39FromDiscord<Yardanico> well you can use some temp mail I guess
23:13:37asdflkjno, they block temp providers
23:13:59leorizejust bug @dom96 to open it back up again
23:16:45FromDiscord<Yardanico> @asdflkj I doubt that they block ALL of them though :P
23:16:58asdflkjleorize: ok. Hey @dom96 please -r #nim-offtopic, I havnā€™t seen any spam on freenode ā€”except a little in #freenodeā€” over months of use
23:17:26asdflkjYardanico: Iā€™m sure youā€™re right
23:17:47asdflkjbut Iā€™m too lazy to find whatever niche one they donā€™t
23:17:56FromDiscord<Yardanico> @asdflkj well freenode was globally spammed for quite a few times in the past
23:18:02FromDiscord<Yardanico> you can even find those messages in irclogs
23:19:23asdflkjI wish ChanServ or some bot would just automatically require registration for speaking (but not joining) when floods happened, and then lift the restriction right after
23:20:05FromDiscord<Zachary Carter> Can someone please port this - http://karim.naaji.fr/blog/2019/15.11.19.html & https://github.com/karimnaaji/melt
23:20:10FromDiscord<Zachary Carter> don't make me do it!
23:20:37asdflkj(Iā€™ve seen channels like #tinycorelinux ban unregistered users from speaking, but not joining)
23:21:58*a_chou quit (Ping timeout: 256 seconds)
23:23:59FromDiscord<Zachary Carter> We've had quite a few problems in the past with spammers on freenode channels
23:24:49FromDiscord<Zachary Carter> but yeah - that would be a nice feature
23:25:17FromDiscord<iWonderAboutTuatara> I think most people who don't have an irc account are mostly going to be using discord
23:25:24FromDiscord<Zachary Carter> I think we were trying to do this manually for a bit, and it got tiresome so the registered user restriction was put in place
23:25:54FromDiscord<Zachary Carter> @iWonderAboutTuatara that's not the point
23:26:17FromDiscord<Zachary Carter> it's IRC users that don't have a freenode account
23:26:35leorizeremoving +r would make it much easier for matrix users too :P
23:26:47FromDiscord<Zachary Carter> I say we get rid of it - we can always add it back
23:29:33asdflkj^
23:30:29FromDiscord<carpal> is there araq in this chat?
23:31:09leorizeyes, but he's probably off by now
23:34:31*tane quit (Quit: Leaving)
23:34:39FromDiscord<lqdev> heck, it's half past 12 am right now in germany
23:35:15FromDiscord<Yardanico> @carpal he's almost always online in IRC, but he's not always available to respond (but he'll see all your pings)
23:35:18FromDiscord<Yardanico> and he needs to sleep too
23:37:24FromDiscord<iWonderAboutTuatara> Oh I see
23:37:37FromDiscord<iWonderAboutTuatara> iirc he's from hungary
23:37:45FromDiscord<iWonderAboutTuatara> so he's almost certainly asleep @carpal
23:38:11FromDiscord<lqdev> araq's from germany
23:38:13FromDiscord<iWonderAboutTuatara> nope, german
23:38:16FromDiscord<iWonderAboutTuatara> yeah didn't realize
23:38:34FromDiscord<Zachary Carter> A few core nim devs are from Germany
23:38:56FromDiscord<Zachary Carter> and most are European
23:39:08FromDiscord<Recruit_main707> deutchland
23:39:16leorizewe only have like 3 core devs atm
23:39:28FromDiscord<iWonderAboutTuatara> araq, dom, and?
23:39:40FromDiscord<lqdev> dom isn't really a core dev atm
23:39:52FromDiscord<lqdev> araq, clyybber and disruptek
23:39:54FromDiscord<iWonderAboutTuatara> oh nevermind then
23:39:56FromDiscord<iWonderAboutTuatara> oh I see
23:39:56FromDiscord<lqdev> would be my bet
23:39:59FromDiscord<Recruit_main707> :disruptek:
23:40:04FromDiscord<iWonderAboutTuatara> oh wow disruptek really?
23:40:08FromDiscord<Recruit_main707> oh right, IC
23:40:09*sz0 joined #nim
23:40:15FromDiscord<iWonderAboutTuatara> :disruptek:
23:40:16leorizein term of hired devs: araq, narimiran, and someone
23:40:21FromDiscord<Avatarfighter> :disruptek:
23:40:24FromDiscord<iWonderAboutTuatara> we have an entire emote dedicated to disruptek lmao
23:40:26FromDiscord<iWonderAboutTuatara> oh narimiran
23:40:36FromDiscord<iWonderAboutTuatara> probably third one is avatarfighter
23:40:42leorizethe third used to be krux02
23:40:51FromDiscord<iWonderAboutTuatara> oh did he leave nim?
23:40:52leorizebut I don't know if anyone replaced his position
23:40:54FromDiscord<iWonderAboutTuatara> never heard of him
23:41:11FromDiscord<Zachary Carter> well whatever I was speaking to former and past
23:41:19FromDiscord<iWonderAboutTuatara> the occluder thing?
23:41:38FromDiscord<Zachary Carter> no I mean as far as nim core devs mostly being from Europe
23:42:18FromDiscord<Zachary Carter> when I joined the Nim community there were a handful of active US irc / gitter users
23:42:41FromDiscord<Zachary Carter> like myself, Varriount, and then some people who are probably no longer using Nim
23:42:52FromDiscord<K-> whats a good irc client frens?
23:42:57FromDiscord<Zachary Carter> for what OS?
23:43:03FromDiscord<ElegantBeef> Based off the survey only around 25% of the community is NA based
23:43:07FromDiscord<Zachary Carter> https://irssi.org/
23:43:14FromDiscord<K-> Linux
23:43:19FromDiscord<K-> and one for Android
23:43:45FromDiscord<Yardanico> @ElegantBeef that also corresponds to Discord stats
23:43:59FromDiscord<Yardanico> https://media.discordapp.net/attachments/371759389889003532/802322700617121792/unknown.png
23:44:12asdflkjI just switched from irssi to weechat, maybe try both bc weechat is newer and maybe better
23:44:17FromDiscord<ElegantBeef> I know a fair few of the active NA users seem to be Canadian, but eh
23:44:23FromDiscord<ElegantBeef> Probably just me wishing too much šŸ˜›
23:44:58FromDiscord<ElegantBeef> Fuck you yard, saying 25% is NA and have a stat that only shows US, shame on you
23:45:06asdflkjhttps://webchat.freenode.net/ may be a good client to start if youā€™re new to IRC
23:45:07FromDiscord<K-> wee chat good?
23:45:12FromDiscord<K-> i heard people recommend me to it
23:45:27asdflkjIMO, yes, but I just barely switched
23:45:31FromDiscord<ElegantBeef> ~~Hopefully my last comment comes of as joking and not really hostile~~
23:45:33FromDiscord<K-> whats the channel name for nim?
23:45:35FromDiscord<Yardanico> @ElegantBeef but US is NA :)
23:45:40FromDiscord<ElegantBeef> šŸ˜¦
23:45:40FromDiscord<Yardanico> I know NA is not US
23:45:51asdflkjK-: #nim
23:46:03FromDiscord<Yardanico> on freenode
23:46:21FromDiscord<K-> thanks :=
23:48:41FromDiscord<Zachary Carter> I mean to be fair - when it was Varriount and I as the most active NA users, we were both located in northern Virginia, USA
23:48:58FromDiscord<Zachary Carter> we include the Canadians in the stats when it's convenient for us to
23:49:33FromDiscord<K-> what about hexchat btw?
23:49:36FromDiscord<Zachary Carter> but most of the time it's just beef and he doesn't move the needle
23:50:16FromDiscord<Zachary Carter> @K- I guess it mostly depends on what style of client you're looking for - GUI based or terminal based
23:50:39FromDiscord<ElegantBeef> Hey i move the needle of expectations directly off the scale in the negative direction
23:50:47FromDiscord<K-> is there something that has both?
23:50:48asdflkj@K- Iā€™ve used it a little, itā€™s not bad but I prefer terminal stuff and I havenā€™t tried any other GUI clients to compare it to, except Kiwi
23:51:01FromDiscord<K-> I see
23:51:11FromDiscord<Zachary Carter> I think hexchat is more simliar to mIRC and weechat and irssi are terminal based
23:51:34asdflkj@K- yes, weechat has optional gui frontend[s]
23:51:51FromDiscord<Zachary Carter> @ElegantBeef we love you either way
23:53:20leorizewe don't even have that many NA users til recently
23:53:28leorizethe discord server helped a lot
23:53:50FromDiscord<ElegantBeef> And my Canadian hospitality helped the rest of the way
23:53:55saemY'all need to stop denying Canada and Mexico
23:54:07FromDiscord<ElegantBeef> Also known as spewing misinformation and pretending to know anything
23:54:47asdflkj@K- here are weechatā€™s GUIs (thereā€™s even 2 for Android): https://weechat.org/about/interfaces/
23:55:16leorizeirc on android is a disaster
23:55:28leorizedon't even try unless you have a bouncer
23:56:13saemI just have IRCCloud money
23:56:34saemBut yeah, total mess otherwise
23:56:35FromDiscord<carpal> do anyone tried nimkernel?
23:56:42FromDiscord<carpal> there are no releases
23:56:52*Guest22737 joined #nim
23:56:54FromDiscord<carpal> so I should compile by me
23:56:57Guest22737alright
23:57:16FromDiscord<carpal> but I don't know the format in which compile
23:57:17FromDiscord<carpal> iso^
23:57:20FromDiscord<carpal> (edit) "iso^" => "iso?"
23:57:25FromDiscord<carpal> to try it in qemu
23:57:46leorizenimkernel compiles into a grub bootable elf kernel iirc
23:58:06Guest22737yo
23:58:10Guest22737this is pretty cool ngl
23:58:17leorizeGuest22737: o/, you should change your nick though
23:58:19leorize /nick
23:58:20Guest22737yeah
23:58:40Guest22737hmm
23:58:43Guest22737not working
23:58:45asdflkjhttps://github.com/ubergeek42/weechat-android says ā€œThis application is not a standalone an IRC client. It connects to WeeChat that has to be running on a remote machineā€. So it sounds like it uses WeeChat as a sort of bouncer
23:59:19asdflkjGuest22737: /nick NewUserName
23:59:23*Guest22737 is now known as newuser
23:59:25newuserahhh
23:59:32FromDiscord<Zachary Carter> @carpal nimkernel hasn't been updated in six years
23:59:38*newuser is now known as prussianboy
23:59:42FromDiscord<Zachary Carter> I don't think it's going to compile
23:59:46prussianboythanks frens
23:59:49prussianboyyou are helping me ascend