00:02:12 | * | disruptek throbs. |
00:03:12 | disruptek | leorize: you shouldn't search the future path; if the user already has the path, they can simply supply it to the binary. |
00:03:55 | disruptek | K-: 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:53 | FromDiscord | <K-> as in a nim package manager? |
00:26:10 | FromDiscord | <K-> hmm, sounds like an idea |
00:31:24 | FromDiscord | <treeform> find .dll in all system paths that would be loaded |
00:32:14 | FromDiscord | <K-> Well, Im on Linux |
00:32:51 | FromDiscord | <K-> That wouldn't be very useful for me |
00:33:15 | FromDiscord | <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:27 | FromDiscord | <ElegantBeef> Back at crying at the async + threading code |
00:55:39 | FromDiscord | <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:49 | FromDiscord | <ElegantBeef> Ok so i'm just dumb, good to know |
01:20:20 | FromDiscord | <exelotl> oh hey you can make a `defer` that works at the global scope an doesn't require a colon |
01:20:27 | FromDiscord | <exelotl> https://media.discordapp.net/attachments/371759389889003532/801984588167118878/unknown.png |
01:27:15 | FromDiscord | <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:49 | FromDiscord | <Avatarfighter> Does nayone know if there are any wrappers for js interpreters? |
02:35:06 | FromDiscord | <ElegantBeef> To use JS code inside Nim at runtime? |
02:35:12 | FromDiscord | <Avatarfighter> sadly |
02:35:35 | FromDiscord | <ElegantBeef> https://github.com/manguluka/duktape-nim eh? |
02:35:41 | FromDiscord | <Avatarfighter> mmm |
02:35:44 | FromDiscord | <Avatarfighter> oh jeez |
02:35:53 | FromDiscord | <Avatarfighter> lets hope no website uses old javascript lmao |
02:37:12 | FromDiscord | <Avatarfighter> https://github.com/ImVexed/quickjs4nim this seems good |
02:37:21 | FromDiscord | <Avatarfighter> gotta make some glue procs to clean things up |
02:37:26 | FromDiscord | <Avatarfighter> and update the wrapper |
02:37:55 | FromDiscord | <ElegantBeef> Why js? |
02:39:16 | FromDiscord | <Avatarfighter> bypassing antibots |
02:39:50 | FromDiscord | <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:59 | FromDiscord | <shadow.> now just make python's with ;) |
02:50:59 | FromDiscord | <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:14 | FromDiscord | <exelotl> sent a code paste, see https://play.nim-lang.org/#ix=2MRc |
02:51:22 | FromDiscord | <shadow.> oooh nice |
02:51:47 | FromDiscord | <exelotl> hopefully it won't be needed in Nim 2.0 or something |
02:52:01 | FromDiscord | <shadow.> what won't be needed? |
02:53:16 | FromDiscord | <exelotl> I'm expecting `File` in the stdlib to have a `=destroy` implementation which closes the file |
02:53:37 | FromDiscord | <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:07 | FromDiscord | <ElegantBeef> Yea it'll be possible |
03:00:01 | FromDiscord | <ElegantBeef> It'll be nice aswell |
03:11:19 | * | muffindrake quit (Ping timeout: 272 seconds) |
03:13:08 | * | muffindrake joined #nim |
03:18:53 | FromDiscord | <ElegantBeef> Is nim's `random` deterministic cross platform on the same architecture? |
03:36:59 | * | rockcavera quit (Remote host closed the connection) |
04:11:03 | ForumUpdaterBot | New 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:04 | ForumUpdaterBot | New 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:36 | leorize | @Beef should be, the module does said what algo it uses, so you can look it up yourself |
04:39:40 | leorize | disruptek: I don't think I can get away with findExe without configuration :P |
04:40:39 | leorize | the differences between Windows and POSIX can be a security issue |
04:44:12 | FromDiscord | <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:55 | leorize | I think the random module uses js' random when compiled to js |
04:45:33 | FromDiscord | <ElegantBeef> Yea i assumed so |
04:46:35 | FromDiscord | <ElegantBeef> Actually it doesnt seem so, it just uses a 32bit version |
04:57:19 | FromDiscord | <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:18 | disruptek | there's nothing funny about this guy. |
06:13:04 | FromDiscord | <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:22 | ForumUpdaterBot | New thread by Halloleo: Current state of list comprehison in Nim, see https://forum.nim-lang.org/t/7412 |
07:03:23 | ForumUpdaterBot | New thread by Dogwater: Best showcase of tests in Nim standard library?, see https://forum.nim-lang.org/t/7413 |
07:05:49 | Zevv | what timezone is lqdev in, approximately? |
07:06:19 | FromDiscord | <Rika> europe i believe? |
07:06:21 | FromDiscord | <ElegantBeef> He's polish |
07:06:30 | FromDiscord | <ache of head> utc +2 |
07:06:35 | Zevv | right, almost my neighbour |
07:06:40 | FromDiscord | <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:48 | FromDiscord | <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:15 | FromDiscord | <lqdev> yo Zevv |
07:23:43 | FromDiscord | <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:42 | mipri | https://www.youtube.com/watch?v=6lurOCdaj0Y&t=13m52s - simplifying C++ parameter passing |
08:02:57 | * | lritter quit (Quit: Leaving) |
08:08:00 | Zevv | Oh, no worries, I was just wondering if you were .eu or .us zoned |
08:09:32 | FromDiscord | <ElegantBeef> How dare you say ".us", i'll have you know it's NA |
08:09:45 | FromDiscord | <Rika> stands for not applicable |
08:10:13 | FromDiscord | <ElegantBeef> How dare you insult Canada, i've got my meese and polar bears ready to attack |
08:10:42 | FromDiscord | <Rika> i'm not worried unless youve trained them to swim large distances |
08:10:49 | idf | isnt canada just a state in USA |
08:11:00 | FromDiscord | <ElegantBeef> š¦ |
08:11:38 | PMunch | Haha, Meese :P |
08:11:57 | FromDiscord | <ElegantBeef> Ah perfect timing, go play linerino now š |
08:11:59 | PMunch | And @Rika, they can walk across the pole and come down through Russia during winter! |
08:12:12 | FromDiscord | <Rika> remember that im in japan |
08:12:50 | FromDiscord | <ElegantBeef> Polarbears are known to stay afloat on icesheets, so with climate change might get a sheet down there with any luck |
08:14:18 | PMunch | Uhm, I think something is wrong: https://uploads.peterme.net/linerino_2.png |
08:14:43 | FromDiscord | <ElegantBeef> Any errors in the console? |
08:15:23 | PMunch | Uncaught Error: Error: unhandled exception: index 94 not in 0 .. 93 [IndexDefect] |
08:15:41 | PMunch | Right after: "loading font from RGBA assets/font.png chars 94" |
08:16:02 | FromDiscord | <ElegantBeef> Yea seems like some weird bug, level generated properly so idk |
08:16:10 | FromDiscord | <ElegantBeef> You got a main menu right? |
08:16:29 | FromDiscord | <ElegantBeef> If not clear your cache and reload |
08:16:51 | PMunch | Yeah I got a main menu |
08:17:08 | PMunch | Aha, I get a lot of "Blocked third party https://v6p9d9t4.ssl.hwcdn.net/html/3242502/index.html from extracting canvas data." |
08:17:10 | FromDiscord | <ElegantBeef> Both firefox and chrome have no issues with it here, so maybe the norway internet is a little different š |
08:17:23 | PMunch | I don't get those in Chrome, and there it seems to work fine |
08:17:29 | PMunch | But in Firefox I get those and it doesn't work |
08:17:47 | FromDiscord | <ElegantBeef> What firefox version? |
08:18:01 | PMunch | Aha, it was my Private Internet Access plug-in |
08:18:08 | FromDiscord | <ElegantBeef> Ah |
08:18:18 | PMunch | Turned off fingerprint protection and it worked fine |
08:18:24 | FromDiscord | <ElegantBeef> Nice |
08:18:42 | FromDiscord | <ElegantBeef> And yes i know that the "completed seeds" menu is currently unusable |
08:18:57 | FromDiscord | <ElegantBeef> And the enter seed one isnt great either |
08:19:00 | PMunch | Uhm, what are the arrows? |
08:19:05 | FromDiscord | <ElegantBeef> Jump! |
08:19:12 | FromDiscord | <ElegantBeef> You can go over a tile |
08:19:22 | PMunch | Oooh, that's what they did |
08:19:36 | PMunch | Super confusing with the line being drawn |
08:19:52 | PMunch | First level of today you jump over a space you then have to go back to |
08:20:12 | FromDiscord | <ElegantBeef> Yep |
08:20:29 | FromGitter | <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:30 | FromDiscord | <ElegantBeef> Line might need removed |
08:21:04 | PMunch | But then you can't backtrack your motions as easily.. |
08:21:17 | FromDiscord | <ElegantBeef> z exists |
08:22:23 | PMunch | Hmm, I guess |
08:22:34 | PMunch | Not as intuitive though.. |
08:23:35 | FromDiscord | <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:31 | PMunch | Z doesn't seem to do anything for me.. |
08:24:51 | FromDiscord | <ElegantBeef> It should undo |
08:25:37 | FromDiscord | <ElegantBeef> Might be mapped in a different key due to your keyboard, but idk |
08:26:00 | PMunch | That's likely, since I used Dvorak |
08:26:11 | PMunch | But WASD seems to work.. |
08:26:33 | FromDiscord | <ElegantBeef> Can only suggest try the key under D, but idk |
08:26:52 | PMunch | That scrolled the container down.. |
08:26:59 | PMunch | It seems to not be the right size by the way |
08:27:10 | FromDiscord | <ElegantBeef> Sorry A |
08:27:50 | FromDiscord | <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:44 | PMunch | Man, 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:18 | FromDiscord | <ElegantBeef> Nice communism you've got there š |
09:02:28 | PMunch | It's pretty amazing |
09:04:42 | FromDiscord | <ElegantBeef> Yea wont ever happen here, hell the provincial government wants to privatize healthcare again, but anyway that Nim huh? š |
09:13:07 | Clonkk[m] | Is there a way to iterate over enums backwards (without using ordinal values) ? |
09:13:36 | ForumUpdaterBot | New 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:39 | PMunch | Clonkk[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:33 | FromDiscord | <K-> every book is for free if you use libgen |
09:15:57 | PMunch | @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:21 | PMunch | Reminds 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:27 | FromDiscord | <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:29 | FromDiscord | <ElegantBeef> Pmunch how's the jump anywho? |
09:35:03 | * | hnOsmium0001 quit (Quit: Connection closed for inactivity) |
09:35:18 | PMunch | Not quite sure what I think about it to be honest.. |
09:35:54 | FromDiscord | <ElegantBeef> I really like it as it makes even more complicated levels |
09:36:04 | FromDiscord | <ElegantBeef> Have you played with the difficulty slider any? |
09:36:16 | PMunch | I couldn't get it to work.. |
09:36:28 | PMunch | It does suffer a little bit from the issue before portals that it's obvious where you need to jump though |
09:36:43 | FromDiscord | <ElegantBeef> You slide it then hit play endless |
09:36:47 | PMunch | But that might just be because I'm stuck on easy.. |
09:36:56 | FromDiscord | <ElegantBeef> It's a slider |
09:37:04 | PMunch | Oh wait, now it's working |
09:37:11 | PMunch | Maybe it was the same fingerprint issue |
09:37:17 | FromDiscord | <ElegantBeef> Possibly |
09:39:42 | FromDiscord | <ElegantBeef> Superhard is sorta i a misnomer as the level complexity isnt increased any it's just more blocks |
09:40:02 | PMunch | Aha, found out that N is Z |
09:40:13 | FromDiscord | <ElegantBeef> No N is N š |
09:40:22 | FromDiscord | <ElegantBeef> Ah both actually work |
09:40:44 | PMunch | Aah, Z works as well after I disabled Vimium :P |
09:41:13 | FromDiscord | <ElegantBeef> Do you have any software that doesnt cause issues? |
09:42:30 | FromDiscord | <ElegantBeef> Also X/M do a full level reset |
09:45:05 | PMunch | Haha, my software is optimised for my normal use case |
09:45:14 | PMunch | Which isn't playing browser games :P |
09:46:34 | PMunch | This one is really fun though.. |
09:47:37 | FromDiscord | <ElegantBeef> Glad to hear |
09:48:14 | FromDiscord | <ElegantBeef> I really should go "I want to make a puzzle game more often" |
09:56:20 | FromDiscord | <mratsim> Programming is already a puzzle game |
09:57:54 | FromDiscord | <ElegantBeef> Debugging level gen i really felt that quote of "Debugging is a like you're the murderer and detective" |
09:59:09 | FromDiscord | <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:15 | FromDiscord | <mratsim> I think debugging raytracing or cryptography is worse. |
10:03:20 | FromDiscord | <ElegantBeef> Probably |
10:03:41 | FromDiscord | <mratsim> raytracing is like: "mmmh is the shading actually correct?" |
10:04:05 | FromDiscord | <mratsim> crypto is like oh, this is completely wrong, is it an off by one or something more obscure. |
10:04:22 | FromDiscord | <ElegantBeef> Debugging shaders atleast is very fun, no clue about raytracing though, assume it's similar |
10:04:32 | FromDiscord | <mratsim> no idea about shaders |
10:04:46 | FromDiscord | <mratsim> but for raytracing ask @shadow. |
10:04:55 | FromDiscord | <ElegantBeef> He asked me last time he had an issue š |
10:05:26 | FromDiscord | <mratsim> if you had a black image, it could be because you have wrong collision code between ray and objects. |
10:05:38 | FromDiscord | <mratsim> and so your rays get lost in infinity of empty space. |
10:06:45 | FromDiscord | <ElegantBeef> Yea i have done some basic raymarching which is in similar ball park of, yea i'm getting A result |
10:07:45 | FromDiscord | <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:32 | FromDiscord | <Recruit_main707> can posix be used in windows? |
11:43:20 | FromDiscord | <lqdev> no |
11:43:32 | FromDiscord | <lqdev> windows is not a POSIX-compatible OS |
11:44:47 | FromDiscord | <Recruit_main707> ive read something about a subsystem |
11:45:10 | FromDiscord | <lqdev> yeah you can compile your program under WSL |
11:45:17 | FromDiscord | <lqdev> windows subsystem for linux |
11:45:25 | FromDiscord | <lqdev> which is a misnomer btw |
11:50:44 | FromDiscord | <digitcrusher> windows implements a subset of posix https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem |
11:51:37 | FromDiscord | <lqdev> TIL |
12:03:08 | * | hoijui_ quit (Quit: Leaving) |
12:03:27 | * | hoijui_ joined #nim |
12:03:46 | FromDiscord | <Rika> Itās a subsystem in windows made for Linux |
12:03:56 | FromDiscord | <Rika> Windows subsystem for Linux |
12:05:05 | PMunch | Hmm, 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:23 | PMunch | I guess I could just sleep a second at a time at be done with it.. |
12:06:40 | FromDiscord | <digitcrusher> what do you mean by `made for Linux`? |
12:07:16 | FromDiscord | <Rika> Made for Linux to run in |
12:08:10 | FromDiscord | <Rika> PMunch sounds like the job of a differential equation |
12:15:06 | * | abm joined #nim |
12:18:59 | FromDiscord | <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:55 | FromDiscord | <mratsim> @PMunch look for sine curve + amplitude. |
12:21:22 | FromDiscord | <mratsim> and for the time you can add frequency or pulse to your search |
12:21:41 | FromDiscord | <mratsim> period |
12:22:04 | FromDiscord | <mratsim> https://www.expii.com/t/finding-amplitude-and-period-of-sine-functions-5228 |
12:22:14 | * | Torro joined #nim |
12:22:25 | FromDiscord | <mratsim> so A.sin(Bx) with A the amplitude and B your period |
12:29:41 | FromDiscord | <Clyybber> @timotheecour Please don't inflate your issues with unrelated/invalid issues like in #16794, it's misleading and annoying. |
12:29:49 | disbot | https://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:14 | FromDiscord | <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:10 | FromDiscord | <bark> wsl is a reversed name. It's Linux for Windows users not Windows for Linux users |
13:28:32 | FromDiscord | <bark> Linux Subsystem for Windows would refer to it better |
13:28:42 | FromDiscord | <bark> because it is a Linux Subsystem, for windows users |
13:29:24 | FromDiscord | <Rika> that confuses me more than wsl |
13:29:36 | FromDiscord | <bark> what really |
13:29:39 | FromDiscord | <Rika> yes |
13:29:50 | FromDiscord | <Rika> because its a subsystem of windows |
13:29:50 | FromDiscord | <bark> but Linux <noun> means <noun> is running linux imo |
13:30:02 | FromDiscord | <bark> Windows <noun> means <noun> is running windows |
13:30:05 | FromDiscord | <Rika> no? |
13:30:06 | FromDiscord | <bark> but I'm no native speaker so |
13:30:09 | FromDiscord | <Rika> not necessarily |
13:30:24 | FromDiscord | <bark> if it was a windows virtual machine, is windows the guest or the host |
13:30:32 | FromDiscord | <bark> imo the guest |
13:30:46 | FromDiscord | <Rika> vm doesnt have the same semantics as subsystem |
13:31:16 | FromDiscord | <Rika> if i replaced windows with something else eg computer |
13:31:20 | FromDiscord | <Rika> computer subsystem |
13:32:24 | FromDiscord | <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:37 | FromDiscord | <bark> yes computer subsystems, subsystems containing computers |
13:32:48 | FromDiscord | <bark> at least that's how I'd understand that |
13:33:23 | FromDiscord | <Rika> its not how i would |
13:33:57 | FromDiscord | <Rika> man i cant give enough shits to continue discussing something as useless to argue about as this |
13:34:02 | FromDiscord | <Rika> think whatever |
13:34:17 | FromDiscord | <bark> so https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem is a subsystem inside posix systems? |
13:34:20 | FromDiscord | <bark> yeah nevermind |
14:00:32 | * | NimBot joined #nim |
14:04:10 | FromDiscord | <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:56 | FromDiscord | <Clyybber> Araq: ping |
14:08:31 | * | Vladar joined #nim |
14:09:16 | FromDiscord | <digitcrusher> wsl is technically a linux vm |
14:09:21 | FromDiscord | <digitcrusher> (edit) "wsl ... is" added "2" |
14:13:20 | FromDiscord | <Rika> refer to this |
14:19:54 | FromDiscord | <Recruit_main707> also, strictFuncs also affect procs? |
14:20:26 | FromDiscord | <Recruit_main707> nvm im dumb :P |
14:32:31 | FromDiscord | <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:24 | FromDiscord | <carpal> araq is a fucking genius |
15:07:07 | FromDiscord | <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:50 | disruptek | the irony is, on his planet, araq is the village idiot. |
15:57:57 | * | PMunch quit (Quit: leaving) |
16:06:27 | FromDiscord | <carpal> ok š |
16:17:30 | disruptek | i have a new sponsor and he's sexier than zevv. |
16:31:46 | FromDiscord | <shadow.> ooo |
16:31:52 | FromDiscord | <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:14 | Zevv | yeaaeeah and I just clicked "cancel" |
17:03:15 | Zevv | that was not hard |
17:03:23 | FromDiscord | <carpal> yo stop |
17:03:28 | FromDiscord | <carpal> i've a question |
17:03:37 | * | disruptek rm -rf cps |
17:03:43 | Zevv | too late I got the git repo |
17:03:47 | disruptek | pfffbt |
17:03:54 | Zevv | so, you actually mean "he pays more" |
17:03:58 | Zevv | well, good for you |
17:04:12 | Zevv | aw, he *is* sexy |
17:04:14 | disruptek | i was all excited "$48" but it's /yearly/ |
17:04:31 | disruptek | that's a latte iirc. |
17:04:37 | * | a_b_m joined #nim |
17:04:47 | FromDiscord | <carpal> i'm trying to use nim with godot |
17:04:51 | disruptek | why? |
17:05:09 | * | Torro quit (Quit: bye) |
17:05:12 | FromDiscord | <carpal> but for first there's no documentation (but i can use that of gdscript) |
17:06:18 | FromDiscord | <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:48 | FromDiscord | <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:41 | disruptek | how come someone we've never met in #nim is supporting me and the rest of your folks aren't? |
17:19:52 | disruptek | i mean, i get why zevv does it. |
17:20:00 | disruptek | he just wants to get in my pants. |
17:20:17 | disruptek | but what's your excuse, rika? |
17:20:22 | disruptek | WHAT'S YOUR EXCUSE? |
17:22:41 | * | xet7 quit (Quit: Leaving) |
17:24:44 | FromDiscord | <konsumlamm> what are you even doing? |
17:24:52 | * | a_chou joined #nim |
17:25:18 | disruptek | you think it's easy talking shit in irc all day? |
17:25:22 | disruptek | this is work, man. |
17:28:13 | * | Jjp137 quit (Read error: Connection reset by peer) |
17:34:11 | FromDiscord | <Clyybber> Araq: ping |
17:44:27 | * | rominf joined #nim |
18:00:07 | FromDiscord | <Avatarfighter> o7 everyone |
18:00:10 | FromDiscord | <Avatarfighter> o7 disruptek |
18:10:48 | Oddmonger | Hį“ŹŹį“ 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:51 | FromDiscord | <andeee> sent a code paste, see https://paste.rs/Mac |
18:38:03 | * | rominf joined #nim |
18:46:39 | FromDiscord | <carpal> mhh, https://media.discordapp.net/attachments/371759389889003532/802247874767093830/unknown.png |
18:48:08 | FromDiscord | <carpal> let me copy paste it into a file |
18:48:53 | FromDiscord | <carpal> sure is only this code snippet that causes crash? |
18:51:30 | FromDiscord | <carpal> what should this code do lol? |
18:51:37 | FromDiscord | <carpal> it is not clear |
18:53:40 | disruptek | sup fighter. |
18:53:46 | disruptek | Avatarfighter[m]: you have any code to show me? |
18:54:02 | disruptek | GOOD AFTERNOON TO YOU ODD MONGER |
18:54:25 | * | rominf quit (Ping timeout: 248 seconds) |
18:54:51 | planetis[m] | @sdmcallister did you managew to use inline svg elements with karax? |
18:55:23 | FromDiscord | <carpal> what the fuck are doing these bots? |
18:55:32 | FromDiscord | <carpal> š |
18:56:54 | FromDiscord | <sdmcallister> @planetis I ended up getting it to work using verbatim. |
18:57:12 | planetis[m] | nice |
18:58:25 | FromDiscord | <Yardanico> @carpal those are real people, not bors |
18:58:33 | FromDiscord | <Yardanico> (edit) "bors" => "bots" |
18:59:08 | disruptek | speak for yourself. |
18:59:20 | disruptek | i'm half man, half machine. |
19:04:00 | disruptek | so here's the interview question i just got; see what your answer is: |
19:04:43 | disruptek | you have a flakey service that you need to query; how can you work around its misbehavior. |
19:04:53 | disruptek | imagine that sometimes it returns 503 for a simple api call. |
19:06:08 | * | hyiltiz quit (Ping timeout: 264 seconds) |
19:06:20 | FromDiscord | <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:51 | FromDiscord | <Yardanico> Having like 5 retries by default I mean |
19:09:28 | * | hyiltiz joined #nim |
19:13:39 | FromDiscord | <carpal> yes I can imagine |
19:14:26 | * | habamax quit (Ping timeout: 246 seconds) |
19:15:38 | FromDiscord | <Avatarfighter> disruptek: I dont wanna show code |
19:15:52 | FromDiscord | <Avatarfighter> disruptek: I'm onto more important things anyways, testing irc bots muahhaha |
19:20:02 | disruptek | my 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:11 | FromDiscord | <Yardanico> Huh |
19:44:06 | FromDiscord | <iWonderAboutTuatara> I don't know |
19:44:18 | FromDiscord | <iWonderAboutTuatara> but you should try declaring the seq in a more normal way |
19:44:30 | FromDiscord | <iWonderAboutTuatara> `var acc : seq[string]` |
19:45:22 | FromDiscord | <carpal> yes and there are other some things you should change |
19:46:09 | FromDiscord | <iWonderAboutTuatara> it's crazy he doesn't get an illegal storage access error for not -1 or < ing s.len |
19:46:23 | FromDiscord | <iWonderAboutTuatara> oh nevermind |
19:46:24 | FromDiscord | <Yardanico> @iWonderAboutTuatara that shouldn't affect anything really though |
19:46:27 | FromDiscord | <iWonderAboutTuatara> wrong type of loop |
19:46:47 | FromDiscord | <iWonderAboutTuatara> agree, but there's not anything there that looks like it should give segfault |
19:46:48 | FromDiscord | <carpal> for example: useāµā `temp.add(s[i])`āµinstead ofāµĆ `temp = temp & s[i]` |
19:47:03 | FromDiscord | <iWonderAboutTuatara> and the playground is fine with it |
19:47:22 | FromDiscord | <carpal> strings in nim are mutable, so add method can be used as `+=` |
19:47:22 | FromDiscord | <iWonderAboutTuatara> seems like a bug outside his program |
19:47:41 | ForumUpdaterBot | New 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:42 | FromDiscord | <iWonderAboutTuatara> might be the temp & s[i] thing |
19:47:57 | * | pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
19:49:19 | FromDiscord | <carpal> anyway I don't understand the purpose of the proc..m |
19:49:43 | FromDiscord | <iWonderAboutTuatara> can I make a way for custom indexing? |
19:49:55 | FromDiscord | <carpal> probably the error is not raised there but in another proc |
19:50:03 | FromDiscord | <Yardanico> You mean add indexing for your custom types? @iWonderAboutTuatara |
19:50:07 | FromDiscord | <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:11 | FromDiscord | <carpal> what do you mean? |
19:50:18 | FromDiscord | <iWonderAboutTuatara> not quite |
19:50:20 | FromDiscord | <iWonderAboutTuatara> maybe |
19:50:29 | FromDiscord | <Yardanico> it should be possible, yes |
19:50:33 | FromDiscord | <Yardanico> and not really hard |
19:50:37 | FromDiscord | <iWonderAboutTuatara> using a macro? |
19:50:47 | mipri | just define a `[]` proc |
19:50:51 | FromDiscord | <Yardanico> No, an ordinary proc should suffice |
19:51:02 | FromDiscord | <iWonderAboutTuatara> I can define a custom `[]` proc? |
19:51:05 | FromDiscord | <Yardanico> yes |
19:51:06 | FromDiscord | <carpal> yes |
19:51:16 | FromDiscord | <carpal> this is the nim power bro š |
19:51:30 | FromDiscord | <carpal> just use ` in its id declaration |
19:51:34 | FromDiscord | <carpal> for example |
19:51:41 | FromDiscord | <iWonderAboutTuatara> wait what should it return? |
19:51:43 | FromDiscord | <iWonderAboutTuatara> just that slice? |
19:51:44 | FromDiscord | <iWonderAboutTuatara> wow |
19:52:00 | FromDiscord | <Yardanico> well it can return anything you want |
19:52:34 | * | asdflkj joined #nim |
19:53:24 | FromDiscord | <carpal> sent a code paste, see https://play.nim-lang.org/#ix=2MW2 |
19:53:34 | FromDiscord | <carpal> what you want |
19:53:47 | FromDiscord | <Yardanico> no need for the method though |
19:53:54 | FromDiscord | <Yardanico> sent a code paste, see https://play.nim-lang.org/#ix=2MW3 |
19:54:05 | FromDiscord | <Yardanico> @iWonderAboutTuatara is this what you want? |
19:54:31 | FromDiscord | <carpal> where index is only an example, it could be anything you want, for example a string for dictionary |
19:54:32 | FromDiscord | <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:47 | FromDiscord | <Yardanico> is the irc channel already created? |
19:54:52 | FromDiscord | <Yardanico> then sure, no problem |
19:55:01 | FromDiscord | <Yardanico> will need to restart the bridge for that matter though :P |
19:55:04 | FromDiscord | <Yardanico> but it's fast |
19:55:14 | FromDiscord | <haxscramper> I don't know if the channel is created |
19:55:50 | Yardanico | 123 |
19:56:02 | FromDiscord | <carpal> honestly I didn't find the difference between them... |
19:56:11 | FromDiscord | <Yardanico> methods are for dynamic dispatch |
19:56:30 | FromDiscord | <Yardanico> @haxscramper yeah I just created it |
19:56:50 | FromDiscord | <iWonderAboutTuatara> yep pretty much |
19:56:55 | FromDiscord | <iWonderAboutTuatara> logged off fior a second to write it |
19:57:04 | FromDiscord | <iWonderAboutTuatara> works perfectly |
19:57:16 | FromDiscord | <iWonderAboutTuatara> sent a code paste, see https://play.nim-lang.org/#ix=2MW5 |
19:57:27 | FromDiscord | <carpal> mhh, that is? |
19:57:41 | FromDiscord | <Yardanico> deciding which method to call based on its runtime type |
19:57:54 | FromDiscord | <Yardanico> you really only need methods if you're using inheritance |
19:59:14 | FromDiscord | <carpal> ah |
19:59:20 | FromDiscord | <carpal> thanks |
19:59:33 | * | FromDiscord quit (Remote host closed the connection) |
19:59:50 | * | FromDiscord joined #nim |
20:00:18 | FromDiscord | <carpal> and should I use `var`? that's `proc x(self: var Type)` |
20:00:40 | FromDiscord | <Yardanico> only when you want to mutate `self` in its original location |
20:00:42 | FromDiscord | <carpal> with var is it passed by ref? |
20:00:46 | FromDiscord | <Yardanico> and only if it's an object |
20:00:53 | FromDiscord | <carpal> ah ok as i was imaging |
20:01:09 | FromDiscord | <Yardanico> @carpal the compiler automatically passes big objects by reference anyway |
20:02:38 | FromDiscord | <carpal> sent a code paste, see https://play.nim-lang.org/#ix=2MWd |
20:02:41 | FromDiscord | <carpal> or am I wrong? |
20:03:39 | FromDiscord | <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:00 | FromDiscord | <Yardanico> in the argument type |
20:05:56 | FromDiscord | <Yardanico> it goes for all `object` types and built-in types like int/float/bool/string/seq/etc |
20:06:55 | FromDiscord | <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:26 | FromDiscord | <Yardanico> and if you do use them with ref, you're also adding one more pointer indirection IIRC |
20:07:44 | FromDiscord | <Yardanico> yes |
20:07:47 | FromDiscord | <carpal> sent a code paste, see https://play.nim-lang.org/#ix=2MWj |
20:07:53 | FromDiscord | <carpal> ok thank you |
20:09:05 | * | hoijui_ quit (Quit: Leaving) |
20:13:01 | FromDiscord | <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:33 | FromDiscord | <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:58 | FromDiscord | <carpal> (edit) "a part" => "apart" |
20:24:20 | FromDiscord | <Yardanico> maybe you missed what I said above - " the compiler automatically passes big objects by reference anyway" |
20:24:35 | FromDiscord | <carpal> ah ok yes i missed to read it š |
20:25:34 | FromDiscord | <Yardanico> you can check that in the compiled C code if you're really curious |
20:26:27 | FromDiscord | <carpal> no please š nim generated code is not human readable |
20:26:38 | FromDiscord | <carpal> I already tryed do it |
20:26:43 | FromDiscord | <carpal> (edit) "I already tryed ... do" added "to" |
20:26:50 | FromDiscord | <Yardanico> it's quite readable if you know what to look for (and compile with things like -d:danger --gc:arc) |
20:27:08 | FromDiscord | <carpal> (edit) "I" => "I've" |
20:27:26 | FromDiscord | <carpal> danger? |
20:27:34 | FromDiscord | <Yardanico> -d:danger is -d:release + disables all runtime checks |
20:27:58 | FromDiscord | <carpal> release I think could get better the code readability |
20:28:26 | FromDiscord | <carpal> what are runtime checks? |
20:28:59 | FromDiscord | <Yardanico> checks that are performed in runtime so that a program doesn't enter an inconsistent state but rather gracefully fail |
20:29:33 | FromDiscord | <carpal> for example a byte overflow? |
20:29:34 | FromDiscord | <Yardanico> https://nim-lang.org/docs/nimc.html |
20:29:35 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/802273778871959552/unknown.png |
20:32:13 | FromDiscord | <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:50 | FromDiscord | <Yardanico> and `float` in Nim is always `float64` |
20:33:08 | FromDiscord | <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:17 | FromDiscord | <Yardanico> sorry |
20:33:20 | FromDiscord | <lqdev> 24 bytes |
20:33:20 | FromDiscord | <Yardanico> 24 |
20:33:26 | FromDiscord | <Yardanico> yes i don't know math anymore |
20:33:27 | FromDiscord | <lqdev> 3 sizeof(pointer) |
20:34:19 | FromDiscord | <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:36 | FromDiscord | <Yardanico> @lqdev it's not sizeof(pointer) though |
20:34:51 | FromDiscord | <Yardanico> because on 32-bit it's 24 bytes as well, so it's `3 sizeof(float)` |
20:35:53 | FromDiscord | <mratsim> oh it's always 24 bytes? |
20:35:54 | FromDiscord | <Yardanico> sent a code paste, see https://paste.rs/fSD |
20:36:32 | FromDiscord | <Yardanico> well I'm not sure if it's like that on all architectures, but on i686 and x86_64 - yes |
20:36:37 | FromDiscord | <mratsim> it's better if it was 12, so that you can more often pass by registers instead of by stack |
20:36:48 | FromDiscord | <mratsim> but well I don't care enough about 32-bit |
20:37:22 | * | Vladar joined #nim |
20:37:29 | FromDiscord | <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:34 | FromDiscord | <Yardanico> on 32-bit |
20:38:26 | FromDiscord | <lqdev> odd |
20:39:12 | FromDiscord | <Yardanico> lemme find the relevant compiler heuristic again.. |
20:40:02 | FromDiscord | <Yardanico> ccgtypes.nim line 264 |
20:40:06 | FromDiscord | <Yardanico> " elif (optByRef in s.options) or (getSize(conf, pt) > conf.target.floatSize 3):" |
20:40:18 | FromDiscord | <mratsim> why floatSize š® |
20:40:29 | FromDiscord | <mratsim> should be pointer size |
20:40:37 | FromDiscord | <Yardanico> it was like this for years though :P |
20:40:52 | FromDiscord | <mratsim> on x86_32 with a x87 floating point unit, a float can be 80-bit |
20:40:58 | FromDiscord | <mratsim> what are we gonna do |
20:41:42 | FromDiscord | <Yardanico> in the past it even was floatSize 2 |
20:41:49 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/802276856786059325/unknown.png |
20:41:50 | FromDiscord | <mratsim> also floats usually live in simd registers so they aren't really involved in param passing. |
20:42:09 | FromDiscord | <Yardanico> and floatSize 2 was there since the dawn of time |
20:42:12 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/802276947148537936/unknown.png |
20:43:29 | FromDiscord | <carpal> so 12 bytes on x86_32 |
20:43:30 | FromDiscord | <carpal> (edit) "x86_32" => "x86_32bit" |
20:43:39 | FromDiscord | <carpal> (edit) "x86_32bit" => "32bit" |
20:43:41 | FromDiscord | <carpal> (edit) "32bit" => "x32" |
20:44:03 | FromDiscord | <Yardanico> no |
20:44:09 | FromDiscord | <Yardanico> 24 bytes on x64 :) |
20:45:57 | FromDiscord | <carpal> and 32? |
20:46:01 | FromDiscord | <carpal> (edit) "32?" => "x32?" |
20:46:04 | FromDiscord | <Yardanico> 24 bytes on x32 |
20:46:09 | FromDiscord | <carpal> ah ok |
20:46:11 | FromDiscord | <carpal> the same |
20:46:34 | FromDiscord | <carpal> so this is partially wrong? https://media.discordapp.net/attachments/371759389889003532/802278045209591838/unknown.png |
20:47:04 | FromDiscord | <lqdev> that's what the manual states. |
20:47:13 | FromDiscord | <Recruit_main707> how do the magic functions work? |
20:47:53 | FromDiscord | <carpal> but a pointer on x32 weighs 4 bytes not 8 |
20:47:53 | * | Vladar quit (Ping timeout: 246 seconds) |
20:48:02 | FromDiscord | <carpal> and lol 34 = 12 |
20:48:21 | FromDiscord | <Yardanico> @lqdev HUH |
20:48:29 | FromDiscord | <lqdev> i swear i saw that |
20:48:29 | FromDiscord | <Yardanico> sorry for caps-lock |
20:48:31 | FromDiscord | <lqdev> somewhere |
20:48:51 | FromDiscord | <carpal> ? |
20:48:55 | FromDiscord | <haxscramper> If you mean `magic:` for proc definitions they are implemented in compiler internally |
20:49:03 | FromDiscord | <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:06 | FromDiscord | <carpal> ah ok but probably I'm wrong |
20:49:09 | FromDiscord | <Yardanico> `float` is 64-bit even on i686 |
20:49:11 | FromDiscord | <Yardanico> in Nim |
20:49:20 | FromDiscord | <Yardanico> because `float` is an alias for `float64` |
20:49:29 | FromDiscord | <carpal> ahh that's more sensible |
20:50:25 | FromDiscord | <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:47 | FromDiscord | <lqdev> yard is right |
20:50:56 | FromDiscord | <lqdev> i just peeked at the compiler's source code |
20:51:10 | FromDiscord | <lqdev> and it indeed is `3 sizeof(float)` |
20:51:21 | FromDiscord | <Yardanico> yes I showed the src myself |
20:51:32 | FromDiscord | <Yardanico> @lqdev :P |
20:51:40 | FromDiscord | <lqdev> heck, you're right |
20:51:44 | FromDiscord | <lqdev> i didn't read the convo fully |
20:51:52 | FromDiscord | <lqdev> to my excuse i'm a bit busy atm |
20:51:58 | FromDiscord | <mratsim> neck, you're beard |
20:52:01 | FromDiscord | <Yardanico> haha |
20:52:17 | FromDiscord | <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:29 | FromDiscord | <carpal> (edit) "other" => "else" |
20:52:49 | FromDiscord | <mratsim> I can give you math courses Yardanico btw |
20:52:59 | FromDiscord | <mratsim> 1 course bought, 10 math nightmares offered |
20:53:39 | FromDiscord | <lqdev> https://media.discordapp.net/attachments/371759389889003532/802279834361004062/unknown.png |
20:54:14 | FromDiscord | <mratsim> So it leaves a void above you creating lift just like an airplane? |
20:54:56 | FromDiscord | <lqdev> no |
20:55:03 | * | Vladar joined #nim |
20:55:08 | * | pbb joined #nim |
20:55:13 | FromDiscord | <lqdev> it went over my head, silly you |
20:57:28 | reversem3 | when using Karax , is the css only called when you call a class ? |
20:57:56 | reversem3 | what if the css what is in another directory would you then add the path a nims config file? |
20:58:15 | reversem3 | * what if the css was is in another directory would you then add the path a nims config file? |
20:58:35 | FromDiscord | <Avatarfighter> can't believe the difference in air pressure from the joke caused that @lqdev |
20:58:40 | FromDiscord | <Yardanico> you don't have to resend the whole message if you want to fix one typo, you know :P @reversem3 |
20:58:41 | FromDiscord | <Zachary Carter> reversem3: probably best to ask in #webdev |
20:58:54 | FromDiscord | <Yardanico> oh you're from matrix |
20:58:56 | FromDiscord | <Yardanico> there's a native nim matrix bridge |
20:59:15 | FromDiscord | <Yardanico> +nim:asra.gr |
20:59:25 | leorize | ~matrix |
20:59:25 | disbot | matrix: 11Nim channels on Matrix can be found at +nim:asra.gr (https://matrix.to/#/+nim:asra.gr) -- leorize |
20:59:25 | FromDiscord | <Recruit_main707> @haxscramper does that mean they dont have any tangible source or smthng? |
20:59:28 | reversem3 | yeah it has a delay though or at least used to |
20:59:32 | reversem3 | #nim-webdev ? |
20:59:42 | FromDiscord | <Zachary Carter> Nevermind I think it's a discord channel |
20:59:47 | leorize | reversem3: should be linked there |
20:59:54 | FromDiscord | <Yardanico> there's #nim-webdev for IRC |
20:59:57 | FromDiscord | <Yardanico> it's all bridged |
21:00:13 | reversem3 | kk thanks |
21:00:19 | FromDiscord | <Zachary Carter> to answer your question - I don't think CSS has anything to do with Karax |
21:00:29 | FromDiscord | <Yardanico> as of right now, all channels in primary and community are bridged to IRC |
21:00:51 | FromDiscord | <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:56 | FromDiscord | <Zachary Carter> reversem3 ^ |
21:01:59 | FromDiscord | <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:28 | FromDiscord | <haxscramper> In `compiler/semmagic/magicsAfterOverloadResolution` |
21:02:36 | reversem3 | ok but in the todo example for Karax the style.css isn't called in the nim file at all |
21:03:00 | reversem3 | only the classes for the html are called |
21:03:18 | FromDiscord | <Yardanico> ah, right, need to update the wiki for newly bridged channels as well.. |
21:03:28 | FromDiscord | <Yardanico> I mean this https://media.discordapp.net/attachments/371759389889003532/802282302784012368/unknown.png |
21:03:39 | FromDiscord | <Zachary Carter> reversem3: I started replying in webdev, so let's move the convo there |
21:08:38 | FromDiscord | <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:53 | FromDiscord | <lqdev> you'd wanna |
21:09:09 | FromDiscord | <Yardanico> hmm I won't delete it, just hide from the sidebar |
21:09:12 | * | natrys quit (Quit: natrys) |
21:09:20 | FromDiscord | <Yardanico> (edit) "hide" => "remove" |
21:09:26 | FromDiscord | <lqdev> lemme try devel and tell you if any of my games compile and run |
21:09:42 | FromDiscord | <Yardanico> I wonder if that NiGui bug with ORC is still there |
21:11:00 | mipri | bignum doesn't work with arc, but as it's not on that page already... |
21:11:46 | FromDiscord | <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:57 | FromDiscord | <Yardanico> that list was last updated in july |
21:12:07 | FromDiscord | <Yardanico> when I was actively spamming arc issues |
21:12:34 | FromDiscord | <lqdev> oh my, OH MY! |
21:12:38 | FromDiscord | <lqdev> I SMELL A BREAKING CHANGE! |
21:12:53 | FromDiscord | <Yardanico> that can be fixed with relative ease in most cases |
21:12:55 | FromDiscord | <lqdev> not sure if that's intended but i guess it's a side effect of --gc:destructors |
21:12:56 | FromDiscord | <lqdev> sent a code paste, see https://play.nim-lang.org/#ix=2MWM |
21:13:01 | FromDiscord | <Yardanico> yes that's known |
21:13:09 | FromDiscord | <Yardanico> lemme find the relevant issue for you |
21:13:17 | FromDiscord | <lqdev> i mean i could fix it, just can't be arsed to do it |
21:13:22 | FromDiscord | <lqdev> because orc isn't the default yet |
21:13:33 | FromDiscord | <Yardanico> https://github.com/nim-lang/Nim/issues/14226 |
21:13:34 | FromDiscord | <Yardanico> https://github.com/nim-lang/Nim/issues/14226#issuecomment-696178108 |
21:13:35 | disbot | ā„ [ARC] Code with a finaliser and object initialisation doesn't compile ; snippet at 12https://play.nim-lang.org/#ix=2xS2 |
21:13:36 | disbot | ā„ [ARC] Code with a finaliser and object initialisation doesn't compile ; snippet at 12https://play.nim-lang.org/#ix=2xS2 |
21:14:00 | FromDiscord | <lqdev> yeah someday i'll just use =destroy and the compiler will shut up and everyone will be happy |
21:14:09 | FromDiscord | <lqdev> but i'm too lazy |
21:15:43 | leorize | it's not like destroy even work properly :P |
21:16:05 | leorize | wanna join me in beta testing destructors? :) |
21:18:26 | asdflkj | I 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:16 | leorize | I guess there is a bug in how that function work, since I believe it's untested |
21:29:08 | FromDiscord | <Clyybber> leorize: What do you mean destroy doesn't work properly? |
21:29:37 | leorize | that destroy before initialization bug |
21:29:46 | FromDiscord | <Clyybber> thats not a bug |
21:29:53 | FromDiscord | <Clyybber> I mean, the root cause is a bug |
21:29:58 | FromDiscord | <Clyybber> but you are relying on an optimization |
21:30:16 | FromDiscord | <Clyybber> your type should really have an invalid state |
21:30:37 | leorize | if my type said {.requiresInit.}, you should assume that it is not valid until initialization |
21:30:37 | FromDiscord | <Clyybber> or be tolerant of being destroyed multiple times otherwise |
21:31:42 | FromDiscord | <Clyybber> well, your `=destroy` hook defines what you consider invalid |
21:31:52 | FromDiscord | <Clyybber> you are supposed to have an if check in there |
21:32:12 | leorize | give me `=init` then? |
21:32:27 | FromDiscord | <Clyybber> yeah |
21:32:30 | FromDiscord | <Clyybber> thats the solution |
21:33:21 | FromDiscord | <Clyybber> eh, actually its not |
21:34:31 | FromDiscord | <Clyybber> because =init for a requiresInit type doesn't make sense |
21:34:48 | FromDiscord | <Clyybber> arc should be forced to apply the optimization by requiresInit so you are correct |
21:34:50 | leorize | why not? it let me encode a static "invalid" value, so I don't need {.requiresInit.} anymore |
21:35:01 | FromDiscord | <Clyybber> well yeah |
21:35:09 | FromDiscord | <Clyybber> I thought you meant in conjunction with requiresInit |
21:38:42 | FromDiscord | <Clyybber> claiming destroy doesn't work is a bit much |
21:40:43 | FromDiscord | <Clyybber> but of course we still have bugs/different features interacting in unexpected ways |
21:41:16 | leorize | it doesn't work as I would expected it to tbf |
21:41:34 | leorize | my object has an invalid state, it is not the same as the zero state is the issue |
21:43:52 | disruptek | iiuc, 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:05 | disruptek | i have the same problem with invalid data. i think it's madness that it exists at all. |
21:44:17 | disruptek | after all the work i do to not even create bad data in the first place... |
21:48:55 | Prestige | I'm surprised you don't call it naughty data, or the like |
21:49:11 | disruptek | dirty. dirty data. |
21:49:13 | Prestige | a lot of normal sentences coming from disruptek |
21:49:16 | Prestige | ah that's better |
21:49:18 | FromDiscord | <iWonderAboutTuatara> that's a good one |
21:49:19 | FromDiscord | <iWonderAboutTuatara> dity data |
21:49:23 | FromDiscord | <iWonderAboutTuatara> dirty |
21:49:49 | disruptek | it's "invalid data" because that's what it renders as. š |
21:50:28 | FromDiscord | <iWonderAboutTuatara> not quite sharp enough to catch this innuendo |
21:50:34 | FromDiscord | <iWonderAboutTuatara> unfortunately |
21:52:24 | disruptek | !eval import osproc; let x = ProcessOption ord(10); echo $x |
21:52:27 | NimBot | Compile failed: /usercode/in.nim(1, 38) Error: 10 can't be converted to ProcessOption |
21:52:33 | disruptek | boo |
21:52:43 | disruptek | !eval import osproc; let x = cast[ProcessOption] ord(10); echo $x |
21:52:46 | NimBot | Compile failed: /usercode/in.nim(1, 47) Error: expected: '(', but got: 'ord' |
21:52:53 | disruptek | !eval import osproc; let x = cast[ProcessOption] 10; echo $x |
21:52:56 | NimBot | Compile failed: /usercode/in.nim(1, 46) Error: expected: '(', but got: '10' |
21:53:03 | disruptek | !eval import osproc; let x = cast[ProcessOption](10); echo $x |
21:53:05 | disruptek | jesus. |
21:53:07 | NimBot | 10 (invalid data!) |
22:00:28 | FromDiscord | <iWonderAboutTuatara> is there a type for fifo sets in nim? |
22:04:30 | disruptek | see the deques module |
22:04:50 | * | Vladar quit (Quit: Leaving) |
22:05:27 | disruptek | lqdev: i want comments on your tsuki example from the readme. |
22:06:32 | disruptek | can the vm live in a stack object? |
22:06:56 | FromDiscord | <lqdev> nope |
22:06:59 | FromDiscord | <lqdev> right now it's a ref object |
22:07:16 | FromDiscord | <lqdev> btw why are you asking? |
22:07:24 | FromDiscord | <lqdev> and which readme are you referring to? |
22:07:53 | disruptek | i'm looking at https://github.com/liquidev/tsuki |
22:08:12 | FromDiscord | <iWonderAboutTuatara> ah deque |
22:08:13 | FromDiscord | <iWonderAboutTuatara> thanks |
22:08:16 | FromDiscord | <iWonderAboutTuatara> exactlyt what I wanted |
22:08:31 | disruptek | i'm wondering if i want to use this instead of nim itself for my tierra thing. |
22:08:38 | FromDiscord | <lqdev> oy |
22:08:43 | FromDiscord | <lqdev> well |
22:08:49 | FromDiscord | <lqdev> it's not ready for use as of now |
22:08:55 | disruptek | when you say it's lightweight, what does that mean? |
22:09:06 | FromDiscord | <lqdev> good question. |
22:09:16 | FromDiscord | <lqdev> definitely less lightweight than lua |
22:09:24 | FromDiscord | <lqdev> but more lightweight than nimscript |
22:10:06 | disruptek | what does the lua vm weigh? |
22:10:45 | FromDiscord | <lqdev> no clue, but i was referring to memory footprint/implementation complexity |
22:10:55 | FromDiscord | <lqdev> lua uses a single pass compiler |
22:11:02 | FromDiscord | <lqdev> it emits bytecode right as it parses your program |
22:11:06 | FromDiscord | <lqdev> tsuki first does an AST pass |
22:11:14 | FromDiscord | <lqdev> which obviously uses more memory and is slower |
22:11:29 | disruptek | okay, i don't care about that. i can precompile shit. |
22:12:01 | FromDiscord | <lqdev> runtime should be about on-par with lua or maybe a bit faster _provided i do some optimizations_ |
22:12:25 | FromDiscord | <lqdev> i haven't done any benchmarking yet though |
22:12:26 | FromDiscord | <dk> can someone please explain `setForeignNode` from karax |
22:12:46 | disruptek | so you wanted something less noisy than wren and more comfortable than lua. |
22:12:46 | FromDiscord | <dk> it's not very documented and I'm making some false assumptions about how it works |
22:12:58 | FromDiscord | <lqdev> less rigid than wren, actually |
22:13:13 | FromDiscord | <Avatarfighter> @dk I think it removes the specified node from being updated by Karax's VDOM |
22:13:15 | FromDiscord | <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:25 | disruptek | i rather liked wren. |
22:13:35 | FromDiscord | <lqdev> i'm not saying it's bad |
22:13:39 | FromDiscord | <lqdev> it's just too much like java |
22:14:38 | FromDiscord | <Clyybber> good luck beating luajit :p |
22:15:40 | leorize | @dk it means that karax will not check the node for external modifications |
22:15:40 | FromDiscord | <lqdev> you're saying that almost as if that was my goal |
22:17:54 | disruptek | what is the memory footprint of nimscript? tsuki? |
22:18:39 | FromDiscord | <Clyybber> lqdev: was only jesting |
22:18:48 | FromDiscord | <Clyybber> disruptek: I imagine tsuki will be lighter |
22:19:04 | FromDiscord | <Clyybber> after all nimscript stores non-primitives as ast |
22:19:07 | disruptek | yes, i'm just curious about numbers. |
22:19:28 | FromDiscord | <lqdev> disruptek: well i already told you i didn't benchmark it :p |
22:19:47 | disruptek | i figure that tsuki's numbers won't include the compilation. |
22:19:53 | FromDiscord | <lqdev> i'm focusing on implementation right now rather than shiny numbers |
22:20:00 | FromDiscord | <Clyybber> disruptek: probably cflang is more interesting to terria |
22:20:07 | FromDiscord | <lqdev> what's terria btw |
22:20:20 | disruptek | google tierra tom ray |
22:20:45 | FromDiscord | <Clyybber> lqdev: in a nutshell its a thing where programs evolve |
22:21:16 | FromDiscord | <lqdev> interesting |
22:22:03 | FromDiscord | <lqdev> well yeah cflang is a decent base for implementing something like that |
22:22:13 | FromDiscord | <lqdev> you'd have to fork it though if you wanna add any builtins |
22:24:36 | disruptek | i dunno, i go back and forth on what i want to accomplish. |
22:25:59 | FromDiscord | <Clyybber> I would just go with some turing tarpit |
22:26:17 | FromDiscord | <Clyybber> because I find it more fun if the computer spits out stuff I don't understand anymore |
22:26:33 | disruptek | see, i find that /less/ fun. |
22:27:19 | FromDiscord | <Clyybber> if you can understand it its not magic |
22:29:10 | FromDiscord | <Clyybber> disruptek: this could be your counter movement to "explainable AI" :p |
22:40:29 | disruptek | my 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:38 | FromDiscord | <carpal> !evalāµecho "lol" |
22:40:43 | FromDiscord | <carpal> (edit) "!evalāµecho" => "!eval echo" |
22:40:47 | FromDiscord | <carpal> !eval echo "lol" |
22:40:49 | NimBot | lol |
22:41:02 | FromDiscord | <carpal> mhh why online inline command? |
22:41:37 | FromDiscord | <lqdev> !eval echo "lol"; echo "yes" |
22:41:39 | NimBot | lolāµyes |
22:42:19 | asdflkj | !eval echo system.Nimversion |
22:42:22 | NimBot | 1.4.2 |
22:43:04 | FromDiscord | <carpal> can any admin add the way to execute an entire block of code? |
22:43:36 | FromDiscord | <lqdev> not possible with IRC |
22:43:41 | FromDiscord | <carpal> why not? |
22:43:45 | FromDiscord | <carpal> sent a code paste, see https://play.nim-lang.org/#ix=2MXf |
22:43:50 | FromDiscord | <lqdev> IRC doesn't support line breaks |
22:43:55 | FromDiscord | <lqdev> the bot is actually on the IRC side |
22:44:14 | FromDiscord | <lqdev> i guess it could take paste links tho |
22:45:08 | FromDiscord | <carpal> I don't understand why a bot cannot read all message |
22:45:16 | asdflkj | it could take multiple messages/lines in a row, terminated with lave! or smth |
22:45:20 | FromDiscord | <carpal> https://media.discordapp.net/attachments/371759389889003532/802307941063196742/unknown.png |
22:45:39 | FromDiscord | <iWonderAboutTuatara> also. sets are super weird |
22:45:43 | FromDiscord | <ElegantBeef> No you |
22:45:45 | FromDiscord | <iWonderAboutTuatara> is there an equivalent to python set() in nim? |
22:45:49 | asdflkj | (in IRC, all messages are one line each) |
22:45:50 | FromDiscord | <iWonderAboutTuatara> oh hello |
22:45:52 | FromDiscord | <iWonderAboutTuatara> nice to see you |
22:46:03 | FromDiscord | <iWonderAboutTuatara> man that sounds like hell for code |
22:46:09 | FromDiscord | <ElegantBeef> Is python's `set` a `hashset`? |
22:46:13 | FromDiscord | <iWonderAboutTuatara> I have no idea |
22:46:19 | FromDiscord | <iWonderAboutTuatara> but I wasn't able to set a variable as set |
22:46:20 | FromDiscord | <ElegantBeef> What values does it accept |
22:46:23 | FromDiscord | <iWonderAboutTuatara> any |
22:46:28 | FromDiscord | <ElegantBeef> So then yes it's a hashset |
22:46:36 | FromDiscord | <lqdev> @carpal well it's a limitation of the protocol it's operating on, it doesn't depend on the bot |
22:46:39 | FromDiscord | <carpal> but lol, why? |
22:46:45 | FromDiscord | <ElegantBeef> `import sets` `var yourSet: HashSet[T]` |
22:46:46 | FromDiscord | <carpal> ah ok |
22:46:55 | FromDiscord | <lqdev> IRC is quite old by now |
22:47:13 | FromDiscord | <lqdev> so it doesn't have fancy modern features like multiline messages :p |
22:47:23 | FromDiscord | <ElegantBeef> Nim's builtin `sets` are bitsets that are limited to any ordinal less than or equal to 16 bits |
22:47:26 | FromDiscord | <iWonderAboutTuatara> @ElegantBeef that didn't work for whatever reason |
22:47:39 | FromDiscord | <iWonderAboutTuatara> oh I need to store a custom type |
22:47:42 | FromDiscord | <ElegantBeef> If a picture can paint a thousand words, why can i not see your code |
22:48:06 | FromDiscord | <iWonderAboutTuatara> oh now it works |
22:48:07 | FromDiscord | <iWonderAboutTuatara> so confused |
22:48:29 | FromDiscord | <iWonderAboutTuatara> that's super strange |
22:48:35 | FromDiscord | <iWonderAboutTuatara> thanks! |
22:48:38 | FromDiscord | <iWonderAboutTuatara> if it works it works |
22:50:00 | FromDiscord | <iWonderAboutTuatara> also, this isn't working for whatever reason |
22:50:23 | FromDiscord | <iWonderAboutTuatara> sent a code paste, see https://play.nim-lang.org/#ix=2MXj |
22:50:27 | FromDiscord | <iWonderAboutTuatara> start is a vector2 that's passed as a param to the proc |
22:50:33 | FromDiscord | <ElegantBeef> You need to declare a hash function for your custom type |
22:50:42 | FromDiscord | <iWonderAboutTuatara> oh |
22:50:43 | FromDiscord | <ElegantBeef> https://nim-lang.org/docs/hashes.html it |
22:50:47 | FromDiscord | <ElegantBeef> (edit) "it" => "it's shown how to here" |
22:54:29 | asdflkj | !eval import os; os.execShellCmd("uname -a") |
22:54:32 | NimBot | Compile failed: /usercode/in.nim(1, 27) Error: expression 'execShellCmd("uname -a")' is of type 'int' and has to be used (or discarded) |
22:54:44 | asdflkj | !eval import os; echo os.execShellCmd("uname -a") |
22:54:44 | FromDiscord | <Yardanico> @asdflkj all code runs in a container anyway |
22:54:47 | NimBot | Linux 99d8bbb625e2 4.15.0-126-generic #129-Ubuntu SMP Mon Nov 23 18:53:38 UTC 2020 x86_64 Linuxāµ0 |
22:55:16 | asdflkj | Yardanico: a new one each time? |
22:55:43 | FromDiscord | <Yardanico> not really, but it doesn't matter much in our case |
22:55:46 | FromDiscord | <Yardanico> see https://github.com/PMunch/nim-playground |
22:57:02 | FromDiscord | <ElegantBeef> Oh hey yard |
22:57:08 | FromDiscord | <Yardanico> privet |
22:57:08 | asdflkj | !eval import os; echo os.execShellCmd("touch foo") |
22:57:12 | NimBot | touch: foo: Permission deniedāµ1 |
22:57:34 | asdflkj | !eval import os; echo os.execShellCmd("whoami") |
22:57:38 | NimBot | nobodyāµ0 |
22:57:43 | FromDiscord | <Yardanico> haha |
22:57:56 | asdflkj | lol |
22:58:24 | FromDiscord | <iWonderAboutTuatara> That did it, thanks! |
22:58:32 | FromDiscord | <Yardanico> well that's the default user name for users with (almost) no rights |
22:58:34 | FromDiscord | <ElegantBeef> No problem it works the same with `tables` |
22:58:46 | asdflkj | I know, still funny |
23:00:39 | asdflkj | but now Iām tempted to run `:(){ :|:& };:` and see how /etc/security/limits.conf and PAM are configured |
23:00:44 | leorize | if you found some docker escape bug you can probably hijack the playground :P |
23:01:06 | leorize | don't worry, Zevv did it so we have timeout for the playground now |
23:01:07 | FromDiscord | <Yardanico> @asdflkj docker has 200MB of RAM allocated |
23:01:10 | FromDiscord | <Yardanico> and .8 of the cpu |
23:02:02 | FromDiscord | <Yardanico> so it'll use 80% of a single CPU core at max |
23:02:20 | leorize | not that it matters, the playground runs on its own vm |
23:02:24 | FromDiscord | <Yardanico> yeah |
23:02:39 | FromDiscord | <Yardanico> but does the playground website run in the same VM? :) |
23:02:55 | asdflkj | so not crash the vm, but maybe stop ! eval from working for a while? |
23:03:10 | leorize | asdflkj: there's a 10-30s timeout |
23:03:20 | leorize | I think it's 10s |
23:03:55 | leorize | !eval import os; sleep 1000; echo "done!" |
23:04:00 | NimBot | done! |
23:04:08 | leorize | !eval import os; sleep 3000; echo "done!" |
23:04:14 | NimBot | done! |
23:04:48 | FromDiscord | <Yardanico> try 15s |
23:04:57 | FromDiscord | <Yardanico> !eval import os; sleep 15000; echo "done!" |
23:04:58 | FromDiscord | <carpal> !eval import os; for file in walkFiles("."): echo "file: ", file |
23:05:05 | FromDiscord | <Yardanico> !eval import os; echo "done!" |
23:05:07 | NimBot | <no output> |
23:05:09 | NimBot | done! |
23:05:18 | leorize | !eval import os; sleep 30000; echo "done!" |
23:05:19 | NimBot | <no output> |
23:05:21 | FromDiscord | <Yardanico> @carpal there are no files in the directory it's being run from |
23:05:39 | NimBot | <no output> |
23:05:43 | leorize | !eval import osproc; echo execCmd "ls /" |
23:05:47 | NimBot | bināµdevāµetcāµhomeāµlibāµmediaāµmntāµplaygroundāµprocāµrootāµrunāµsbināµsrvāµsysāµtmpāµusercodeāµusrāµvarāµ0 |
23:05:49 | FromDiscord | <carpal> !eval import os; for file in walkFiles(".."): echo "file: ", file |
23:05:53 | NimBot | <no output> |
23:05:53 | FromDiscord | <Yardanico> meh |
23:05:58 | FromGitter | <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:29 | FromDiscord | <carpal> let me see |
23:06:31 | FromDiscord | <Yardanico> you can do that in nim without even using . |
23:06:42 | FromDiscord | <ElegantBeef> Yea nim doesnt enforce pure enums |
23:07:12 | leorize | don't know if Araq implemented it but iirc there was a proposal to make pure enums similar to modules |
23:07:20 | FromGitter | <redblack3_gitlab> But I think the point is that this feature will avoid identifier collisions |
23:07:27 | FromDiscord | <Yardanico> @redblack3 |
23:07:37 | FromDiscord | <Yardanico> sent a code paste, see https://play.nim-lang.org/#ix=2MXo |
23:07:51 | FromGitter | <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:15 | FromDiscord | <ElegantBeef> Except that nim doesnt let you have impure enums with the same identifier |
23:08:29 | FromDiscord | <ElegantBeef> https://play.nim-lang.org/#ix=2MXp |
23:09:04 | FromDiscord | <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:08 | FromGitter | <redblack3_gitlab> avoids this issue i gues: https://play.nim-lang.org/#ix=2MXs |
23:09:14 | FromDiscord | <carpal> (edit) removed "is" |
23:09:22 | FromDiscord | <carpal> (edit) "nim" => "nim," | "c with enums," => "c," |
23:09:34 | leorize | it's doable with a macro but should be a language function tbh |
23:09:43 | asdflkj | now 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:13 | leorize | it's +r due to a spam flood in the past |
23:10:20 | FromDiscord | <carpal> yes the thing araq should fix is that enum shouldn't be declared like constansts |
23:11:19 | FromGitter | <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:31 | FromDiscord | <Yardanico> @asdflkj it's not hard to register on freenode though :) and you don't even need a mail (it's optional) |
23:12:04 | asdflkj | Yardanico: really? how do I register w/o mail? |
23:12:09 | FromDiscord | <ElegantBeef> Am i the only one that doesnt get the point of what `.enum` solves? |
23:12:10 | asdflkj | that would be great |
23:12:14 | FromDiscord | <Yardanico> just register with https://freenode.net/kb/answer/registration |
23:12:24 | leorize | !rfc 149 |
23:12:24 | disbot | https://github.com/nim-lang/RFCs/issues/149 -- 3New rules for type inference 7& 1 more... |
23:12:32 | FromDiscord | <Yardanico> ah they need emails now |
23:12:39 | FromDiscord | <Yardanico> well you can use some temp mail I guess |
23:13:37 | asdflkj | no, they block temp providers |
23:13:59 | leorize | just bug @dom96 to open it back up again |
23:16:45 | FromDiscord | <Yardanico> @asdflkj I doubt that they block ALL of them though :P |
23:16:58 | asdflkj | leorize: 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:26 | asdflkj | Yardanico: Iām sure youāre right |
23:17:47 | asdflkj | but Iām too lazy to find whatever niche one they donāt |
23:17:56 | FromDiscord | <Yardanico> @asdflkj well freenode was globally spammed for quite a few times in the past |
23:18:02 | FromDiscord | <Yardanico> you can even find those messages in irclogs |
23:19:23 | asdflkj | I 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:05 | FromDiscord | <Zachary Carter> Can someone please port this - http://karim.naaji.fr/blog/2019/15.11.19.html & https://github.com/karimnaaji/melt |
23:20:10 | FromDiscord | <Zachary Carter> don't make me do it! |
23:20:37 | asdflkj | (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:59 | FromDiscord | <Zachary Carter> We've had quite a few problems in the past with spammers on freenode channels |
23:24:49 | FromDiscord | <Zachary Carter> but yeah - that would be a nice feature |
23:25:17 | FromDiscord | <iWonderAboutTuatara> I think most people who don't have an irc account are mostly going to be using discord |
23:25:24 | FromDiscord | <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:54 | FromDiscord | <Zachary Carter> @iWonderAboutTuatara that's not the point |
23:26:17 | FromDiscord | <Zachary Carter> it's IRC users that don't have a freenode account |
23:26:35 | leorize | removing +r would make it much easier for matrix users too :P |
23:26:47 | FromDiscord | <Zachary Carter> I say we get rid of it - we can always add it back |
23:29:33 | asdflkj | ^ |
23:30:29 | FromDiscord | <carpal> is there araq in this chat? |
23:31:09 | leorize | yes, but he's probably off by now |
23:34:31 | * | tane quit (Quit: Leaving) |
23:34:39 | FromDiscord | <lqdev> heck, it's half past 12 am right now in germany |
23:35:15 | FromDiscord | <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:18 | FromDiscord | <Yardanico> and he needs to sleep too |
23:37:24 | FromDiscord | <iWonderAboutTuatara> Oh I see |
23:37:37 | FromDiscord | <iWonderAboutTuatara> iirc he's from hungary |
23:37:45 | FromDiscord | <iWonderAboutTuatara> so he's almost certainly asleep @carpal |
23:38:11 | FromDiscord | <lqdev> araq's from germany |
23:38:13 | FromDiscord | <iWonderAboutTuatara> nope, german |
23:38:16 | FromDiscord | <iWonderAboutTuatara> yeah didn't realize |
23:38:34 | FromDiscord | <Zachary Carter> A few core nim devs are from Germany |
23:38:56 | FromDiscord | <Zachary Carter> and most are European |
23:39:08 | FromDiscord | <Recruit_main707> deutchland |
23:39:16 | leorize | we only have like 3 core devs atm |
23:39:28 | FromDiscord | <iWonderAboutTuatara> araq, dom, and? |
23:39:40 | FromDiscord | <lqdev> dom isn't really a core dev atm |
23:39:52 | FromDiscord | <lqdev> araq, clyybber and disruptek |
23:39:54 | FromDiscord | <iWonderAboutTuatara> oh nevermind then |
23:39:56 | FromDiscord | <iWonderAboutTuatara> oh I see |
23:39:56 | FromDiscord | <lqdev> would be my bet |
23:39:59 | FromDiscord | <Recruit_main707> :disruptek: |
23:40:04 | FromDiscord | <iWonderAboutTuatara> oh wow disruptek really? |
23:40:08 | FromDiscord | <Recruit_main707> oh right, IC |
23:40:09 | * | sz0 joined #nim |
23:40:15 | FromDiscord | <iWonderAboutTuatara> :disruptek: |
23:40:16 | leorize | in term of hired devs: araq, narimiran, and someone |
23:40:21 | FromDiscord | <Avatarfighter> :disruptek: |
23:40:24 | FromDiscord | <iWonderAboutTuatara> we have an entire emote dedicated to disruptek lmao |
23:40:26 | FromDiscord | <iWonderAboutTuatara> oh narimiran |
23:40:36 | FromDiscord | <iWonderAboutTuatara> probably third one is avatarfighter |
23:40:42 | leorize | the third used to be krux02 |
23:40:51 | FromDiscord | <iWonderAboutTuatara> oh did he leave nim? |
23:40:52 | leorize | but I don't know if anyone replaced his position |
23:40:54 | FromDiscord | <iWonderAboutTuatara> never heard of him |
23:41:11 | FromDiscord | <Zachary Carter> well whatever I was speaking to former and past |
23:41:19 | FromDiscord | <iWonderAboutTuatara> the occluder thing? |
23:41:38 | FromDiscord | <Zachary Carter> no I mean as far as nim core devs mostly being from Europe |
23:42:18 | FromDiscord | <Zachary Carter> when I joined the Nim community there were a handful of active US irc / gitter users |
23:42:41 | FromDiscord | <Zachary Carter> like myself, Varriount, and then some people who are probably no longer using Nim |
23:42:52 | FromDiscord | <K-> whats a good irc client frens? |
23:42:57 | FromDiscord | <Zachary Carter> for what OS? |
23:43:03 | FromDiscord | <ElegantBeef> Based off the survey only around 25% of the community is NA based |
23:43:07 | FromDiscord | <Zachary Carter> https://irssi.org/ |
23:43:14 | FromDiscord | <K-> Linux |
23:43:19 | FromDiscord | <K-> and one for Android |
23:43:45 | FromDiscord | <Yardanico> @ElegantBeef that also corresponds to Discord stats |
23:43:59 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/802322700617121792/unknown.png |
23:44:12 | asdflkj | I just switched from irssi to weechat, maybe try both bc weechat is newer and maybe better |
23:44:17 | FromDiscord | <ElegantBeef> I know a fair few of the active NA users seem to be Canadian, but eh |
23:44:23 | FromDiscord | <ElegantBeef> Probably just me wishing too much š |
23:44:58 | FromDiscord | <ElegantBeef> Fuck you yard, saying 25% is NA and have a stat that only shows US, shame on you |
23:45:06 | asdflkj | https://webchat.freenode.net/ may be a good client to start if youāre new to IRC |
23:45:07 | FromDiscord | <K-> wee chat good? |
23:45:12 | FromDiscord | <K-> i heard people recommend me to it |
23:45:27 | asdflkj | IMO, yes, but I just barely switched |
23:45:31 | FromDiscord | <ElegantBeef> ~~Hopefully my last comment comes of as joking and not really hostile~~ |
23:45:33 | FromDiscord | <K-> whats the channel name for nim? |
23:45:35 | FromDiscord | <Yardanico> @ElegantBeef but US is NA :) |
23:45:40 | FromDiscord | <ElegantBeef> š¦ |
23:45:40 | FromDiscord | <Yardanico> I know NA is not US |
23:45:51 | asdflkj | K-: #nim |
23:46:03 | FromDiscord | <Yardanico> on freenode |
23:46:21 | FromDiscord | <K-> thanks := |
23:48:41 | FromDiscord | <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:58 | FromDiscord | <Zachary Carter> we include the Canadians in the stats when it's convenient for us to |
23:49:33 | FromDiscord | <K-> what about hexchat btw? |
23:49:36 | FromDiscord | <Zachary Carter> but most of the time it's just beef and he doesn't move the needle |
23:50:16 | FromDiscord | <Zachary Carter> @K- I guess it mostly depends on what style of client you're looking for - GUI based or terminal based |
23:50:39 | FromDiscord | <ElegantBeef> Hey i move the needle of expectations directly off the scale in the negative direction |
23:50:47 | FromDiscord | <K-> is there something that has both? |
23:50:48 | asdflkj | @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:01 | FromDiscord | <K-> I see |
23:51:11 | FromDiscord | <Zachary Carter> I think hexchat is more simliar to mIRC and weechat and irssi are terminal based |
23:51:34 | asdflkj | @K- yes, weechat has optional gui frontend[s] |
23:51:51 | FromDiscord | <Zachary Carter> @ElegantBeef we love you either way |
23:53:20 | leorize | we don't even have that many NA users til recently |
23:53:28 | leorize | the discord server helped a lot |
23:53:50 | FromDiscord | <ElegantBeef> And my Canadian hospitality helped the rest of the way |
23:53:55 | saem | Y'all need to stop denying Canada and Mexico |
23:54:07 | FromDiscord | <ElegantBeef> Also known as spewing misinformation and pretending to know anything |
23:54:47 | asdflkj | @K- here are weechatās GUIs (thereās even 2 for Android): https://weechat.org/about/interfaces/ |
23:55:16 | leorize | irc on android is a disaster |
23:55:28 | leorize | don't even try unless you have a bouncer |
23:56:13 | saem | I just have IRCCloud money |
23:56:34 | saem | But yeah, total mess otherwise |
23:56:35 | FromDiscord | <carpal> do anyone tried nimkernel? |
23:56:42 | FromDiscord | <carpal> there are no releases |
23:56:52 | * | Guest22737 joined #nim |
23:56:54 | FromDiscord | <carpal> so I should compile by me |
23:56:57 | Guest22737 | alright |
23:57:16 | FromDiscord | <carpal> but I don't know the format in which compile |
23:57:17 | FromDiscord | <carpal> iso^ |
23:57:20 | FromDiscord | <carpal> (edit) "iso^" => "iso?" |
23:57:25 | FromDiscord | <carpal> to try it in qemu |
23:57:46 | leorize | nimkernel compiles into a grub bootable elf kernel iirc |
23:58:06 | Guest22737 | yo |
23:58:10 | Guest22737 | this is pretty cool ngl |
23:58:17 | leorize | Guest22737: o/, you should change your nick though |
23:58:19 | leorize | /nick |
23:58:20 | Guest22737 | yeah |
23:58:40 | Guest22737 | hmm |
23:58:43 | Guest22737 | not working |
23:58:45 | asdflkj | https://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:19 | asdflkj | Guest22737: /nick NewUserName |
23:59:23 | * | Guest22737 is now known as newuser |
23:59:25 | newuser | ahhh |
23:59:32 | FromDiscord | <Zachary Carter> @carpal nimkernel hasn't been updated in six years |
23:59:38 | * | newuser is now known as prussianboy |
23:59:42 | FromDiscord | <Zachary Carter> I don't think it's going to compile |
23:59:46 | prussianboy | thanks frens |
23:59:49 | prussianboy | you are helping me ascend |