00:00:11 | FromDiscord | <PunchCake> You literally write your app once and run it anywhere even in embedded systems |
00:00:19 | FromDiscord | <Hourglass [She/Her]> Oh neat |
00:00:41 | FromDiscord | <PunchCake> The neat thing is that now c# support aot so you dont need to bundle a runtime at all |
00:00:56 | FromDiscord | <PunchCake> Which reduces the size of the app by like what 20 mb |
00:02:08 | FromDiscord | <PunchCake> In reply to @Hourglass, When the Hour Strikes "Oh neat": Forgot to mention that it runs on android and ios too |
00:05:57 | FromDiscord | <Gumbercules> I think I'd rather stab my eyeballs with a rusty fork than write more C# |
00:06:07 | FromDiscord | <Gumbercules> it's slightly less terrible than writing Java |
00:06:14 | FromDiscord | <Gumbercules> Nim and Elixir have spoiled me though |
00:06:55 | FromDiscord | <PunchCake> In reply to @Gumbercules "I think I'd rather": Wdym c# is OK |
00:07:11 | FromDiscord | <PunchCake> Or maybe because I've been writing java a lot nowadays |
00:07:14 | FromDiscord | <Gumbercules> I've been programming a long time |
00:07:23 | FromDiscord | <Gumbercules> easy to get jaded by certain languages |
00:07:24 | FromDiscord | <PunchCake> But even java isnt that bad |
00:07:32 | FromDiscord | <Gumbercules> I'd rather code in C than C# or Java |
00:07:36 | FromDiscord | <PunchCake> Why |
00:07:36 | FromDiscord | <Gumbercules> I actually like C |
00:07:42 | FromDiscord | <auxym> the quality of tooling around c# (and even modern java TBH) makes it not that bad |
00:07:53 | FromDiscord | <Gumbercules> because I dislike being forced into certain paradigms |
00:07:55 | FromDiscord | <PunchCake> Nah java tooling is ass |
00:08:00 | FromDiscord | <Gumbercules> especially object oriented paradigms |
00:08:07 | FromDiscord | <PunchCake> Nowdays no decent ui lib exists for java |
00:08:19 | FromDiscord | <PunchCake> You'd say javafx try bundling an app |
00:08:30 | FromDiscord | <auxym> Nim is nice, but then you have to deal with nimble, nimsuggest, no refactoring tools, nimpretty is pretty useless, and debugging in gdb vs idea/vs |
00:08:40 | FromDiscord | <Gumbercules> I also dislike languages that have weighty runtimes - which is why I don't use Rust or Zig or any LLVM language atm |
00:08:51 | FromDiscord | <PunchCake> Tbh |
00:09:02 | FromDiscord | <PunchCake> Nimble should install package like npm |
00:09:05 | FromDiscord | <PunchCake> Not globally |
00:09:06 | FromDiscord | <Gumbercules> although if Vale materializes I'd be interested in trying it out |
00:09:10 | FromDiscord | <Gumbercules> yeah Nimble is terrible |
00:09:14 | FromDiscord | <Gumbercules> but the author write it when they were like 15 years old |
00:09:23 | FromDiscord | <auxym> no decent UI lib exists for nim either 😉 |
00:09:23 | FromDiscord | <Gumbercules> in their defense - although I don't know why I'm defending them.... |
00:09:26 | FromDiscord | <PunchCake> Cant we just for and improve |
00:09:40 | FromDiscord | <PunchCake> Wont take much work to make it install in the default workplace dir |
00:09:42 | FromDiscord | <Gumbercules> I'd start from scratch, but tha'ts just me |
00:09:47 | FromDiscord | <Gumbercules> way too many bad design decisions made |
00:09:48 | FromDiscord | <PunchCake> (edit) "for" => "fork it" |
00:10:03 | FromDiscord | <PunchCake> Why they still rolling with it |
00:10:12 | FromDiscord | <PunchCake> Just make a new one and deprecate it |
00:10:22 | FromDiscord | <Gumbercules> well you'd need someone with the initiative to do that |
00:10:24 | FromDiscord | <Gumbercules> there are alternatives |
00:10:26 | FromDiscord | <Gumbercules> like nimph |
00:10:31 | FromDiscord | <Gumbercules> and probably others as well |
00:10:39 | FromDiscord | <Gumbercules> I just use git submodules which are also terrible, but less so than Nimble |
00:10:48 | FromDiscord | <PunchCake> Gumb lets make a new package manager |
00:10:54 | FromDiscord | <PunchCake> And call it nympho |
00:11:04 | FromDiscord | <PunchCake> Its a done deal bro |
00:11:19 | FromDiscord | <Gumbercules> lol |
00:11:29 | FromDiscord | <Gumbercules> I barley have time for my project |
00:11:36 | FromDiscord | <Gumbercules> barely even |
00:11:40 | FromDiscord | <PunchCake> Rip |
00:11:45 | FromDiscord | <Gumbercules> having a kid puts a damper on your programming life |
00:11:52 | FromDiscord | <PunchCake> Just |
00:11:59 | FromDiscord | <PunchCake> Let your wife handle it |
00:12:02 | FromDiscord | <Gumbercules> until I teach him to program |
00:12:03 | FromDiscord | <PunchCake> Easy |
00:12:07 | FromDiscord | <Gumbercules> In reply to @PunchCake "Let your wife handle": HAH |
00:12:12 | FromDiscord | <Gumbercules> I wish |
00:12:19 | FromDiscord | <PunchCake> Wdym I wish |
00:12:28 | FromDiscord | <auxym> TBH if I was going to dump time in nim tooling, I'd prioritize a nice LSP and formatting tool (replacing nimsuggest/nimpretty) over nimble |
00:12:32 | FromDiscord | <PunchCake> Its easy |
00:12:41 | FromDiscord | <PunchCake> You say do this she does this |
00:12:47 | FromDiscord | <Gumbercules> she does take care of him a lot, but right now I'm on parental leave |
00:12:54 | FromDiscord | <Gumbercules> until April 1 |
00:12:56 | FromDiscord | <PunchCake> Whats that |
00:13:00 | FromDiscord | <PunchCake> Vacation? |
00:13:07 | FromDiscord | <Gumbercules> my employer gave me four months of paid leave to hang out with the baby |
00:13:07 | FromDiscord | <Gumbercules> yeah |
00:13:09 | FromDiscord | <Gumbercules> basically |
00:13:19 | FromDiscord | <PunchCake> Wait how old is your child? |
00:13:33 | FromDiscord | <Gumbercules> if I was still in Finland I would have had a year, but I left Finland to get hitched |
00:13:49 | FromDiscord | <Gumbercules> he turned six months last Sunday |
00:13:49 | FromDiscord | <PunchCake> Finland cold |
00:13:52 | FromDiscord | <PunchCake> Cold bad |
00:13:53 | FromDiscord | <Gumbercules> twas |
00:13:58 | FromDiscord | <Gumbercules> eh, you get used to it |
00:14:02 | FromDiscord | <Gumbercules> just gotta put on layers |
00:14:07 | FromDiscord | <PunchCake> In reply to @Gumbercules "he turned six months": Damn bro thats crazy congrats on the new born |
00:14:11 | FromDiscord | <Gumbercules> danke |
00:14:17 | FromDiscord | <PunchCake> Teach him chess |
00:14:22 | FromDiscord | <PunchCake> And make him be a grandmaster |
00:14:26 | FromDiscord | <Gumbercules> lol there's a Bluey episode about that |
00:14:30 | FromDiscord | <Gumbercules> which is our new favorite cartoon |
00:14:40 | FromDiscord | <PunchCake> Chess can never go wrong |
00:14:54 | FromDiscord | <PunchCake> I have yet to meet someone who's life got ruined by chess |
00:15:07 | FromDiscord | <Gumbercules> we're working on eating goop rn |
00:15:13 | FromDiscord | <Gumbercules> chess might be next |
00:15:25 | FromDiscord | <PunchCake> Hopefully |
00:15:29 | FromDiscord | <PunchCake> Do you play? |
00:16:01 | FromDiscord | <Gumbercules> Nah - I mean occasionally when I'm bored on my phone or something but not with any dedication |
00:16:11 | FromDiscord | <PunchCake> Hm yeah |
00:16:17 | FromDiscord | <PunchCake> Its practically my life now |
00:16:23 | FromDiscord | <Gumbercules> my hobbies are - astrophotography, programming, kid and dog pretty much |
00:16:29 | FromDiscord | <Gumbercules> not in that order |
00:16:35 | FromDiscord | <Gumbercules> (edit) "dog" => "dogs" |
00:16:51 | FromDiscord | <PunchCake> What in the living hell is astropornography |
00:17:25 | FromDiscord | <PunchCake> Astrophotography |
00:17:31 | FromDiscord | <PunchCake> God damn so hard to spell |
00:17:38 | FromDiscord | <Gumbercules> space porn sounds cooler |
00:17:49 | FromDiscord | <PunchCake> futurama rule 34 |
00:18:18 | FromDiscord | <PunchCake> Let me look up astro photo whatever it is |
00:18:32 | FromDiscord | <Gumbercules> https://media.discordapp.net/attachments/371759389889003532/1070860803164602378/andromeda_processed.png |
00:18:37 | FromDiscord | <Gumbercules> I was trying to find a picture |
00:18:48 | FromDiscord | <Gumbercules> shot that last summer |
00:18:55 | FromDiscord | <PunchCake> So you take pictures of stars and planets? |
00:19:01 | FromDiscord | <PunchCake> In reply to @Gumbercules "shot that last summer": No way you did bro |
00:19:07 | FromDiscord | <PunchCake> It looks insane |
00:19:13 | FromDiscord | <Gumbercules> https://media.discordapp.net/attachments/371759389889003532/1070860977303720132/orion_small.png |
00:19:23 | FromDiscord | <PunchCake> How the hell do you manage to zoom in that much |
00:19:26 | FromDiscord | <Gumbercules> I started the hobby last summer - that shot of Andromeda was about two months in |
00:19:34 | FromDiscord | <Gumbercules> to starting the hobby |
00:19:58 | FromDiscord | <Gumbercules> second pic was more recent - but I haven't really gotten the subs I want yet to spend the amount of time required to make a decent pic of the Orion Nebula |
00:20:05 | FromDiscord | <Gumbercules> In reply to @PunchCake "How the hell do": https://williamoptics.com/redcat-51-ii |
00:20:34 | FromDiscord | <PunchCake> For 840 i can take pictures like that |
00:20:38 | FromDiscord | <Gumbercules> no way |
00:20:39 | FromDiscord | <PunchCake> What a steal |
00:20:47 | FromDiscord | <Gumbercules> my setup costs more around $2500 |
00:20:53 | FromDiscord | <PunchCake> I knew it |
00:21:04 | FromDiscord | <Gumbercules> about to spend another $2000 on it |
00:21:13 | FromDiscord | <PunchCake> lmaoo |
00:21:17 | FromDiscord | <Gumbercules> on https://astronomy-imaging-camera.com/product/zwo-am5-harmonic-equatorial-mount |
00:21:23 | FromDiscord | <PunchCake> Just buy a car and throw a turbo on it |
00:21:31 | FromDiscord | <Gumbercules> if a car could take me to space |
00:21:36 | FromDiscord | <PunchCake> Its way more fun than taking pictures of the sky |
00:21:45 | FromDiscord | <Gumbercules> meh |
00:21:52 | FromDiscord | <PunchCake> Wdym meh |
00:21:59 | FromDiscord | <PunchCake> Whats the fastest car you've been in |
00:22:17 | FromDiscord | <Gumbercules> I think I got my 1.8t up to 130ish when I was drunk and young |
00:22:22 | FromDiscord | <Gumbercules> that's probably the fastest I've ever driven |
00:22:29 | FromDiscord | <Gumbercules> don't drink and drive kids |
00:22:41 | FromDiscord | <PunchCake> 130 mph? |
00:22:45 | FromDiscord | <Gumbercules> yeah |
00:22:55 | FromDiscord | <PunchCake> Shit thats like what 260 km? |
00:23:07 | FromDiscord | <Gumbercules> little bit more but yeah |
00:23:08 | FromDiscord | <Gumbercules> around there |
00:23:20 | FromDiscord | <Gumbercules> 209.215 |
00:23:22 | FromDiscord | <PunchCake> How did you not crash bro I can barley go that fast even when im sober |
00:23:23 | FromDiscord | <Gumbercules> apparently |
00:23:38 | FromDiscord | <Gumbercules> I wasn't that drunk - just kind of drunk |
00:23:44 | FromDiscord | <PunchCake> Tipsy |
00:24:05 | FromDiscord | <Gumbercules> yeah - it was very early in the morning and my friends and I were heading back to our uni from the beach |
00:24:15 | FromDiscord | <Gumbercules> got kicked out of our motel and everyone wanted to be back |
00:24:31 | FromDiscord | <Gumbercules> was a 2 lane highway and there wasn't any traffic at whatever ungodly hour it was |
00:24:59 | FromDiscord | <PunchCake> lmao classic |
00:25:20 | FromDiscord | <PunchCake> At what age did you actually have the most fun? |
00:26:04 | FromDiscord | <PunchCake> Everyone I ask says from 20 to 25 |
00:27:27 | FromDiscord | <Gumbercules> mmm I dunno - I had very little self-awareness when I was younger and that caused me quite a bit of personal drama later in my young adult life |
00:27:36 | FromDiscord | <Gumbercules> late twenties / early thirties to be more specific |
00:28:08 | FromDiscord | <Gumbercules> basically undiagnosed ADHD / autism - not really sure |
00:28:26 | FromDiscord | <Gumbercules> but I drank a lot and got into a lot of trouble and then into problem drinking, two rehab stints |
00:28:28 | FromDiscord | <PunchCake> Little self awareness is good |
00:28:42 | FromDiscord | <Gumbercules> well, for me it just ended in lots of grief |
00:28:58 | FromDiscord | <PunchCake> Yeah |
00:29:01 | FromDiscord | <Gumbercules> early twenties were fun -but mostly just lots of binge drinking |
00:29:08 | FromDiscord | <Gumbercules> ingesting various substances |
00:29:14 | FromDiscord | <PunchCake> Drinking sucks man |
00:29:16 | FromDiscord | <Gumbercules> I'd say I'm having the best time I've had in my life, now |
00:29:22 | FromDiscord | <Gumbercules> yeah, I'm not a big fan anymore |
00:29:33 | FromDiscord | <Gumbercules> a beer every now and then is fine, anymore than that is no bueno |
00:29:50 | FromDiscord | <PunchCake> Unless its jack Daniels of course its not |
00:30:00 | FromDiscord | <Gumbercules> the only drug I really enjoy anymore is mushrooms and I can't really eat mushrooms around kids |
00:30:23 | FromDiscord | <Gumbercules> but if my wife ever gives me the thumbs up and I have zero responsibilities, that's what I'd go for |
00:30:34 | FromDiscord | <Gumbercules> we're very off topic btw |
00:30:35 | FromDiscord | <Gumbercules> lol |
00:30:43 | FromDiscord | <PunchCake> Extremely yes |
00:30:57 | FromDiscord | <Array in ∀ Matrix> sir this is the nim programming language kek |
00:31:03 | FromDiscord | <PunchCake> But eh i think the only time i ever enjoyed life is when i has endless women |
00:31:07 | FromDiscord | <Gumbercules> it's okay - I used to be a mod so I can tell the other mods to shut up, but yeah let's try to steer it back towards Nim |
00:31:07 | FromDiscord | <Girvo> Any reason why `std/httpclient` would be running my server out of sockets? It seems to not re-use them, and it's keeping them all in `ESTABLISHED` for way too long, long after the request/response has completed from the looks of it |
00:31:16 | FromDiscord | <Phil> In reply to @PunchCake "But eh i think": Nim, shrooms, what's the difference |
00:31:19 | FromDiscord | <Gumbercules> true |
00:31:30 | FromDiscord | <Gumbercules> I gotta run anyway - it's been fun |
00:31:40 | FromDiscord | <Gumbercules> be back later tonight |
00:31:43 | FromDiscord | <PunchCake> take care bro |
00:31:46 | FromDiscord | <Gumbercules> you too! |
00:31:47 | FromDiscord | <Phil> In reply to @Girvo "Any reason why `std/httpclient`": Without having any closer clue since I never dealt with sockets that closely... maybe it's got something to do with that clients can only deal with one request at a time? |
00:31:53 | FromDiscord | <PunchCake> The night is over for me its 3 30 am |
00:33:42 | FromDiscord | <Girvo> In reply to @Isofruit "Without having any closer": Possibly. Each api function creates it's own httpclient instance, and sends a request, then returns the response (async, via std/asyncdispatch). Now, our devices _are_ hitting this server quite hard, but not "65K concurrent connections" hard, orders of magnitude less |
00:34:13 | FromDiscord | <Girvo> But `netstat -an | grep ESTAB | wc -l` just keeps ticking up and up and up |
00:34:38 | FromDiscord | <Girvo> Its like it's not closing the connection even after the function is returned |
00:34:59 | FromDiscord | <Phil> Is the client maybe thrown away before the connection can close? |
00:35:09 | FromDiscord | <Girvo> It's possible |
00:35:45 | FromDiscord | <Girvo> I'm honestly not super up to date with how the internals of that gets handled in Nim. I do know it's likely our collector thread that's causing the issue |
00:36:16 | FromDiscord | <Girvo> Hmm. Maybe that's the issue: it's in a thread, but the rest of it was refactored to be asyncdispatch based |
00:38:07 | FromDiscord | <Girvo> sent a code paste, see https://play.nim-lang.org/#ix=4mVc |
00:38:24 | FromDiscord | <Girvo> The rest of the system is just regular old async stuff now, this is the only direct thread that remains |
00:38:42 | FromDiscord | <Phil> Ever since I notced that the async-client can't do 2 requests at once I've found the std/httpclient api dodgy enough that it not properly closing things would be my first assumption |
00:38:50 | FromDiscord | <Girvo> Yeah |
00:38:56 | FromDiscord | <Girvo> I might just rip it out, replace it with something more robust |
00:39:18 | FromDiscord | <Girvo> I'm likely replacing asyncdispatch with chronos too, so might be worth using it's http stuff for this part |
00:39:31 | FromDiscord | <Girvo> (Once I figured out how to use Chrono's stuff for raw TCP sockets anyway) |
01:28:18 | * | xet7 quit (Remote host closed the connection) |
02:35:02 | FromDiscord | <Gumbercules> back |
02:35:14 | FromDiscord | <Gumbercules> time to draw some shit with wgpu |
02:37:45 | FromDiscord | <Gumbercules> really tho, probably going to spend all night figuring out how to implement this render graph |
02:42:45 | FromDiscord | <Elegantbeef> Seems like a lot of work to draw faeces |
02:46:28 | FromDiscord | <Gumbercules> this isn't ordinary shit |
03:43:26 | * | peterhil quit (Remote host closed the connection) |
03:43:58 | * | peterhil joined #nim |
03:45:18 | * | arkurious quit (Quit: Leaving) |
05:57:23 | * | rockcavera quit (Remote host closed the connection) |
06:43:51 | * | kenran joined #nim |
07:44:00 | * | PMunch joined #nim |
07:53:04 | * | peterhil quit (Ping timeout: 248 seconds) |
07:56:08 | * | peterhil joined #nim |
08:01:53 | * | peterhil quit (Ping timeout: 256 seconds) |
08:04:42 | * | peterhil joined #nim |
09:26:08 | FromDiscord | <EyeCon> In reply to @Amun-Ra "I started the project": That's a beautiful collection, thanks! |
09:57:53 | * | PMunch quit (Quit: Leaving) |
10:12:10 | * | PMunch joined #nim |
11:13:36 | * | jmdaemon quit (Ping timeout: 248 seconds) |
11:37:51 | * | m33mt33n joined #nim |
11:39:42 | * | m33mt33n quit (Client Quit) |
13:06:48 | FromDiscord | <Piqueiras> Is it okay if I learn metaprogramming from Nim without any idea on it or I should look onto other stuff first lol↵↵(I swear after a year and a half of using C at uni I learned from online code you can #define MAX(a, b)) |
13:20:07 | FromDiscord | <hotdog> In reply to @Piqueiras "Is it okay if": I think you can probably just start with Nim and see how you get on. Look at templates and very simple macros to begin with |
13:28:58 | FromDiscord | <Piqueiras> I saw that like... Templates are similar to those C preprocessor macros? |
13:29:05 | FromDiscord | <Piqueiras> Yeah I need to get into it |
13:29:23 | FromDiscord | <Piqueiras> Are tutorials II and III the best for it? |
13:29:41 | FromDiscord | <leorize> not really |
13:31:18 | FromDiscord | <leorize> nim templates are very different from C macros, though it behaves somewhat the same for common cases |
13:41:15 | * | derpydoo joined #nim |
13:46:25 | FromDiscord | <hotdog> In reply to @Piqueiras "Are tutorials II and": Yeah try the stuff linked on nim-lang.org docs page |
13:46:51 | Amun-Ra | EyeCon: thank you :) |
13:49:37 | FromDiscord | <Piqueiras> Time to go into std/macros and see random examples |
13:58:37 | FromDiscord | <leorize> except that there are none in there \:p |
14:00:02 | FromDiscord | <auxym> In reply to @Piqueiras "Time to go into": beef's tutorial is a pretty good introduction for macros IMO: https://dev.to/beef331/demystification-of-macros-in-nim-13n8 |
14:00:34 | FromDiscord | <firasuke> can you use escape sequences in multiline strings? |
14:01:06 | FromDiscord | <Piqueiras> I mean I think the main problem would be that I havent stumbled on a problem where I thought "mmm I might need macros" cuz idk what they are lol |
14:01:17 | FromDiscord | <auxym> see also: https://nim-by-example.github.io/macros/ |
14:01:36 | FromDiscord | <auxym> In reply to @firasuke "can you use escape": yes |
14:01:42 | FromDiscord | <Piqueiras> (havent even used templates) |
14:02:00 | FromDiscord | <firasuke> In reply to @auxym "yes": how? for multiline strings I can only use `"""` which doesn't support escape sequences |
14:03:58 | FromDiscord | <auxym> oh my mistake. I remembered they did... apparently not. I guess you can use string formatting to insert characters, or write an array of lines and `.join("")` them |
14:05:07 | FromDiscord | <leorize> if you have a lot of boilerplate that requires some adjustment based on some user-defined parameters, then macros are pretty nice↵(@Piqueiras) |
14:05:18 | FromDiscord | <leorize> most people are not gonna need it, though |
14:05:27 | FromDiscord | <firasuke> In reply to @auxym "oh my mistake. I": it's for a constant lol |
14:05:33 | FromDiscord | <auxym> In reply to @Piqueiras "(havent even used templates)": the debug log example in https://nim-lang.org/docs/tut2.html is a decent motivating example for templates |
14:05:47 | FromDiscord | <auxym> In reply to @firasuke "it's for a constant": both things I suggested will work for a const |
14:06:01 | FromDiscord | <auxym> the formatting/joining will run at CT in the nim vm |
14:06:38 | FromDiscord | <firasuke> this is frustrating really, why aren't escape sequences supported on multiline strings? |
14:07:06 | FromDiscord | <firasuke> or why can't regular strings that support escape sequences span multiple lines? |
14:17:35 | * | derpydoo quit (Ping timeout: 260 seconds) |
14:19:05 | * | rockcavera joined #nim |
14:38:53 | FromDiscord | <4zv4l> I don't find in which file does `GetModuleFileNameW` is defined in `winim` ↵Also I feel like it misses a lot of doc from https://khchen.github.io/winim/winim.html |
14:41:16 | FromDiscord | <4zv4l> ok found it in `winbase` |
14:45:22 | FromDiscord | <Piqueiras> Im also trying modular arithmetics, how do I do this lmao https://media.discordapp.net/attachments/371759389889003532/1071078950895362068/image.png |
14:57:43 | FromDiscord | <sOkam!> I have to process a bunch of files, that shouldn't be processed always, only when they have changed↵What would be a good way to approach that with nim?↵Is there an existing proc in the std to check for this? |
14:58:05 | FromDiscord | <sOkam!> (edit) "shouldn't" => "sometimes don't need to" | "processed always," => "processed," |
14:58:48 | FromDiscord | <leorize> just store the hash of those files somewhere so you know that you can skip them |
14:59:15 | FromDiscord | <sOkam!> how would you store those hashes, and how do you calculate them? |
14:59:32 | FromDiscord | <sOkam!> i guess a file for the first, but is there a proc in std for the second? |
14:59:55 | FromDiscord | <leorize> std/sha1 is probably what you need |
15:00:02 | FromDiscord | <sOkam!> kk ty |
15:02:36 | FromDiscord | <sOkam!> @leorize any reason for sha1 and not md5? or the opposite? |
15:03:23 | FromDiscord | <crow> aren't both hashes severely outdated with no good use case? |
15:03:30 | FromDiscord | <crow> (both md5 and sha1) |
15:03:41 | FromDiscord | <leorize> sha1 is better than md5 |
15:04:00 | FromDiscord | <leorize> a good middle ground between somewhat secure and fast enough for a non-sensitive job |
15:04:11 | FromDiscord | <sOkam!> kk |
15:04:31 | FromDiscord | <leorize> for sha2 and stuff you need nimcrypto or just use openssl |
15:05:18 | FromDiscord | <sOkam!> as long as its fast, then im fine. its just for a buildsystem after all |
15:06:52 | FromDiscord | <crow> In reply to @sOkam! "I have to process": another idea would be to use the system wide `sha256sum` program maybe? |
15:07:03 | FromDiscord | <sOkam!> json good for storing the hashes, or better in some other way?↵was thinking of storing key:value as filepath:hash |
15:07:46 | FromDiscord | <crow> sha256sum displays hashes in the `hash<space>filename` format |
15:07:59 | FromDiscord | <crow> you can `sha256sum ` in a folder to get the hash of everything |
15:08:17 | FromDiscord | <crow> (edit) "`hash<space>filename`" => "`hash<whitespace>filename`" |
15:08:22 | FromDiscord | <sOkam!> how do you access it? |
15:08:41 | FromDiscord | <sOkam!> meaning the function name, i cant seem to find it in the docs |
15:09:00 | FromDiscord | <crow> sha256sum is an executable, not part of nim |
15:09:17 | FromDiscord | <sOkam!> oh! |
15:09:35 | FromDiscord | <crow> also, should've mentioned that it's called something else on windows |
15:09:44 | FromDiscord | <crow> so i guess not the best idea in the end |
15:09:45 | FromDiscord | <sOkam!> well i would rather not make the buildsystem non-portable. i went that way before, and no thanks it always backfires |
15:10:37 | FromDiscord | <jtv> OpenSSL has sha256 in there somewhere, tho it's not well documented how to access from Nim. I actually pull a 3rd-party implementation that's solid because it's easy |
15:11:06 | FromDiscord | <leorize> a database is probably better, try sqlite↵(@sOkam!) |
15:11:14 | FromDiscord | <sOkam!> isn't md5 fast and simple enough for avoiding file clashes? |
15:11:20 | FromDiscord | <jtv> 'nimsha2' is the package |
15:11:31 | FromDiscord | <sOkam!> In reply to @leorize "a database is probably": good thinking |
15:12:21 | FromDiscord | <jtv> Yeah, but you will also have people scoff at you if you're using it in any context. The file system IO dominates the cost, sha256 vs md5 doesn't really matter |
15:12:31 | * | PMunch quit (Quit: Leaving) |
15:12:33 | FromDiscord | <jtv> Disk access is SLOOOW |
15:12:35 | FromDiscord | <sOkam!> i assume its gonna be faster to query the sqlite database than searching in a json 🤔 |
15:13:13 | FromDiscord | <sOkam!> In reply to @jtv "Yeah, but you will": k makes sense |
15:14:43 | FromDiscord | <leorize> sha2 is hw-accelerated on common x86 processors too, but not as fast as naive sha1 |
15:20:29 | FromDiscord | <auxym> In reply to @Piqueiras "Im also trying modular": you probably want to use a distinct type, the way you defined it is a plain type alias, so any `0..(N-1)` is also a `Modulo` and vice versa↵`type Modulo[N: static int] = distinct range[0 .. (N - 1)]` |
15:21:37 | FromDiscord | <Piqueiras> I tried some code I found which just did distinct int and then ensured it doesnt go over the limit |
15:21:45 | FromDiscord | <auxym> @sOkam! do you really need to hash files? AFAIK make and build systems like that just check the mtime |
15:22:29 | FromDiscord | <jtv> I've run into clock issues 1m times that have led to unnecessary work |
15:22:38 | FromDiscord | <jtv> I always hash for that kind of thing now personally |
15:22:50 | FromDiscord | <Piqueiras> but im having such a mess with generics rn |
15:23:41 | FromDiscord | <Piqueiras> https://media.discordapp.net/attachments/371759389889003532/1071088594875334686/image.png https://media.discordapp.net/attachments/371759389889003532/1071088595177308160/image.png https://media.discordapp.net/attachments/371759389889003532/1071088595366064309/image.png |
15:24:01 | FromDiscord | <Piqueiras> how can I make it so i dont have to write [13](10) |
15:24:24 | FromDiscord | <Piqueiras> maybe↵var x = 10 modulo 13 |
15:24:39 | FromDiscord | <jtv> N is a type, 13 isn't a type, so I don't understand why you're even doing that |
15:25:04 | FromDiscord | <jtv> Why try to have a generic type that is just always an int?? |
15:25:41 | FromDiscord | <Piqueiras> intention would be that if x=10 mod 13 and y=5 mod 13 then x+y=2 |
15:27:28 | FromDiscord | <planetis> N must be static int @Piqueiras |
15:30:44 | FromDiscord | <Piqueiras> can I then make the initModeInt[N](n) function "prettier"? |
15:31:55 | FromDiscord | <jtv> Again, it would help to understand what you're trying to accomplish over just using mod directly? |
15:32:12 | FromDiscord | <jtv> Because the prettiest would be to make N a const and just do a mod N |
15:32:27 | FromDiscord | <Piqueiras> a different type I guess |
15:32:30 | FromDiscord | <jtv> The rest just seems to be needless complexity doing nothing |
15:32:32 | FromDiscord | <Piqueiras> im trying random stuff tbh |
15:33:09 | FromDiscord | <Piqueiras> based from this https://rosettacode.org/wiki/Modular_arithmetic#Nim |
15:33:32 | FromDiscord | <Piqueiras> but thought this was kinda ugly https://media.discordapp.net/attachments/371759389889003532/1071091072077406229/image.png |
15:33:33 | FromDiscord | <sOkam!> In reply to @auxym "<@186489007247589376> do you": if you `touch` a file by accident, without modifying, it rebuilds or rechecks even if its not needed↵that's what happens in make, and when i switched to scons it felt so much better to have md5 checks instead |
15:34:31 | FromDiscord | <auxym> In reply to @Piqueiras "can I then make": it's already a single line, not sure how much you expect to be able to simplify it |
15:34:45 | FromDiscord | <auxym> you can remove `result =`, it's implicit, if you want to |
15:34:56 | FromDiscord | <Piqueiras> I mean the function call |
15:35:27 | FromDiscord | <Piqueiras> I know its useless but was looking for a way to turn it into sth like "var x = 10 modulo 13" |
15:36:17 | * | jmdaemon joined #nim |
15:36:20 | FromDiscord | <auxym> IIRC nim doesn't support arbitrary infix operators like that |
15:36:54 | FromDiscord | <Piqueiras> 10.modulo(13) might be enough tbh |
15:37:08 | FromDiscord | <auxym> symbols would work, you'd have to define some sort of operator like `10 %|| 13` or something |
15:37:09 | FromDiscord | <jtv> That can just be a function that take two ints |
15:37:27 | FromDiscord | <jtv> If it's not generic in particular, a.func(b) and func(a, b) are the same |
15:38:23 | FromDiscord | <Piqueiras> I tried doing a function and it raises an error in the other function lol |
15:39:50 | FromDiscord | <auxym> ``template `%||(a: int, b: static int): untyped = Modulo[b](a)`` |
15:39:54 | FromDiscord | <Piqueiras> sent a code paste, see https://play.nim-lang.org/#ix=4mZH |
15:40:35 | FromDiscord | <auxym> you probably have to use static int somewhere in there |
15:42:09 | FromDiscord | <Piqueiras> oh lmao now it works |
15:42:16 | FromDiscord | <Piqueiras> thats what I was looking for all along |
15:42:17 | FromDiscord | <Piqueiras> tysm |
15:43:44 | FromDiscord | <auxym> In reply to @sOkam! "if you `touch` a": sure just be aware it'll be slow if you have large files. no matter which hash you choose, you have to read the full file contents from disk |
15:43:49 | FromDiscord | <EyeCon> 5'm(10) is also a possibility, see: http://nim-lang.github.io/Nim/manual.html#numeric-literals-custom-numeric-literals |
15:46:09 | FromDiscord | <sOkam!> In reply to @auxym "sure just be aware": true that. will remember. its a good point for non-source-code files ✍️ |
15:53:30 | * | jmdaemon quit (Ping timeout: 255 seconds) |
15:54:35 | * | jmdaemon joined #nim |
16:21:15 | * | arkurious joined #nim |
16:23:38 | FromDiscord | <Piqueiras> is there an operator to make -3 mod 7 return 4? |
16:28:29 | FromDiscord | <Piqueiras> I guess.. https://media.discordapp.net/attachments/371759389889003532/1071104901897261176/image.png |
16:29:22 | FromDiscord | <planetis> In reply to @Piqueiras "is there an operator": math.floorMod |
16:32:27 | * | uics joined #nim |
16:43:55 | * | jmdaemon quit (Ping timeout: 252 seconds) |
16:51:07 | * | kenran` joined #nim |
16:52:43 | * | kenran quit (Ping timeout: 252 seconds) |
16:57:44 | * | kenran` quit (Remote host closed the connection) |
17:04:08 | * | uics quit (Remote host closed the connection) |
17:05:37 | * | jmdaemon joined #nim |
17:12:17 | * | jmdaemon quit (Ping timeout: 268 seconds) |
17:36:26 | * | uics joined #nim |
17:41:38 | * | uics quit (Remote host closed the connection) |
18:01:41 | * | uics joined #nim |
18:24:02 | * | uics quit (Remote host closed the connection) |
18:30:09 | FromDiscord | <mratsim> In reply to @jtv "OpenSSL has sha256 in": The sha256 is not accessible from C in one of their latest version↵↵https://github.com/mratsim/constantine/blob/95114bf7079e0d037c4333bde76ddc14d8e7bf42/tests/t_hash_sha256_vs_openssl.nim#L31 |
18:52:47 | FromDiscord | <Tuatarian> can I use valgrind on nim code? |
18:53:05 | FromDiscord | <Tuatarian> using ARC and `-d:useMalloc` |
18:53:53 | Zevv | sure you can |
19:01:07 | * | uics joined #nim |
19:10:24 | * | jmdaemon joined #nim |
19:26:46 | * | uics quit (Remote host closed the connection) |
19:32:21 | * | rockcavera quit (Remote host closed the connection) |
19:50:17 | * | azimut quit (Ping timeout: 255 seconds) |
19:57:04 | * | rockcavera joined #nim |
20:00:51 | * | uics joined #nim |
20:39:20 | FromDiscord | <jtv> Anyone have any best practices for exposing nim data structures to C? Just tag types with exportc to avoid mangling, and then copy the type declarations to a header file, or? |
20:44:47 | FromDiscord | <Elegantbeef> That's one way of doing it, though with how Nim generates some types probably should run it through `gcc -E` |
20:45:25 | FromDiscord | <Elegantbeef> Nim does have a `--header` flag that is deprecated but did generate a header file |
20:53:19 | FromDiscord | <jtv> Cool, thanks |
20:55:56 | * | uics left #nim (#nim) |
20:56:07 | FromDiscord | <Phil> In reply to @mratsim "The sha256 is not": Wait, they ripped SHA256 out of access for openssl? I access that shit for pbkdf2-hmac-sha256! WTF |
20:57:16 | FromDiscord | <Phil> What is this, "Break password hashing" month? |
21:00:47 | FromDiscord | <exelotl> `--header` being deprecated is a right pain, cause I have a Nim codebase with some C code that needs to access my Nim types. Telling the compiler to output a .h file with my types in it is by far the easiest way to do this. |
21:02:50 | FromDiscord | <jmgomez> In reply to @exelotl "`--header` being deprecated is": Yeah, I dont get the reasoning behind it, especially without a replacement. Hopefully it doesnt get remove any time soon |
21:14:46 | * | rockcavera quit (Remote host closed the connection) |
21:16:48 | * | rockcavera joined #nim |
21:21:28 | * | Guest38 joined #nim |
21:24:44 | * | Guest38 quit (Client Quit) |
21:31:34 | FromDiscord | <Elegantbeef> Something like Genny or Rustbindgen is certainly something that needs to be first classed↵(@exelotl) |
21:32:11 | FromDiscord | <Elegantbeef> Sorry i think i mean cbindgen |
21:33:11 | FromDiscord | <treeform> In reply to @jtv "OpenSSL has sha256 in": like https://github.com/guzba/crunchy/blob/master/src/crunchy/sha256_simd.nim ? |
21:35:03 | FromDiscord | <deech> In reply to @jmgomez "Yeah, I dont get": IIRC it was buggy. |
21:35:54 | FromDiscord | <deech> (edit) "In reply to @jmgomez "Yeah, I dont get": IIRC it was ... buggy.I" added "(is)" | "(is)buggy. ... " added "I tried using it and had issues, I can't remember the specifics but since it was deprecated I didn't report them." |
21:36:49 | FromDiscord | <Elegantbeef> Seems like using the compiler as a library and making your own codegen pass is the best outcome here |
21:38:45 | FromDiscord | <Elegantbeef> Not too dissimilar to cbindgen for rust, any procedure marked `exportc` and any types it's parameters are gets exported to a header |
21:43:10 | FromDiscord | <Elegantbeef> Sounds like a fun project at the very least 😄 |
21:43:35 | FromDiscord | <Elegantbeef> @Phil\: hey were is my PR for kashae!? 😛 |
21:43:38 | FromDiscord | <Elegantbeef> where even |
21:45:20 | FromDiscord | <Phil> In reply to @Elegantbeef "<@180601887916163073>\: hey were is": Nowhere, I noticed that I have to upgrade my nimstoryfont frontend to bootstrap 5 and formly 6 and that's been eating up my entire day |
21:46:45 | FromDiscord | <Elegantbeef> Ah then I'll do it 😄 |
21:50:54 | FromDiscord | <Phil> Might I note that CSS is painful and bad and why does ng-bootstrap have to hurt me so deeply |
21:54:26 | FromDiscord | <Arathanis> try tailwind instead 😎 |
21:58:04 | * | ltriant quit (Ping timeout: 260 seconds) |
22:01:11 | FromDiscord | <Phil> In reply to @Arathanis "try tailwind instead 😎": The issue is more general rules on how hover in CSS was applied rather than not knowing where the rules came from.↵I struggled with coming up with an HTML/CSS combo that would actually do what I wanted simply because of how components encapsulate CSS. Tailwind wouldn't really have helped there 😛 |
22:04:52 | FromDiscord | <!&luke> hi |
22:05:20 | om3ga | Hello! is it ok that newFileStream is faster than newMemMapFileStream? |
22:05:26 | FromDiscord | <!&luke> is there an easy way to turn an object into a sequence |
22:06:02 | FromDiscord | <huantian> what do you want that sequence to look like |
22:06:39 | FromDiscord | <Phil> Is there any way to... I dunno, structure my code in a way that flto doesn't start taking up half my lifetime, god damn |
22:06:58 | FromDiscord | <!&luke> ok so i have a json file that im serializing into an object all of the same type and i want to put them all into one array |
22:07:12 | FromDiscord | <!&luke> i could always do it manually |
22:07:20 | FromDiscord | <!&luke> but is there an easier way |
22:07:35 | FromDiscord | <huantian> wait do you have an array of objects |
22:07:39 | FromDiscord | <huantian> or what |
22:07:40 | FromDiscord | <!&luke> no |
22:07:46 | FromDiscord | <!&luke> i can send you my code |
22:08:25 | FromDiscord | <!&luke> sent a code paste, see https://play.nim-lang.org/#ix=4n1r |
22:08:47 | FromDiscord | <huantian> gosh what is that Colors object |
22:09:03 | FromDiscord | <!&luke> im trying to parse a pywal config |
22:09:11 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=4n1s |
22:09:16 | FromDiscord | <Elegantbeef> `Colors = array[16, string]` |
22:09:17 | FromDiscord | <Elegantbeef> QED |
22:09:25 | FromDiscord | <huantian> ^ |
22:09:41 | FromDiscord | <!&luke> oh i didnt know that that was possible with jsony |
22:09:56 | FromDiscord | <Elegantbeef> What does jsony have to do with this? |
22:10:13 | FromDiscord | <!&luke> well its what im using to parse the json |
22:10:14 | FromDiscord | <huantian> you think so little of jsony that you don't think it can (de)serialize arrays? lmao |
22:10:30 | FromDiscord | <Elegantbeef> You can define custom hooks on top of it |
22:10:53 | FromDiscord | <!&luke> oh |
22:11:14 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#ix=4n1t |
22:19:42 | FromDiscord | <!&luke> that doesnt seem to work as jsony expects an array |
22:20:04 | FromDiscord | <!&luke> maybe itll help if i send the json in question |
22:20:19 | FromDiscord | <!&luke> sent a code paste, see https://play.nim-lang.org/#ix=4n1w |
22:21:28 | FromDiscord | <Elegantbeef> Time to write a json hook |
22:23:57 | FromDiscord | <!&luke> should i use a dump or a parse hook |
22:26:33 | FromDiscord | <Elegantbeef> Are you dumping or parsing? |
22:26:53 | FromDiscord | <Elegantbeef> @Phil\: well kashae is now cleaner and depends on micros, cause i'm a bastard that loves micros 😄 |
22:27:09 | FromDiscord | <Phil> Self plug 11111!!!11 einself |
22:27:26 | FromDiscord | <Elegantbeef> No spekensy the dutch |
22:27:45 | FromDiscord | <Elegantbeef> Please be triggered by that |
22:27:59 | FromDiscord | <Phil> I don't actually know what that references |
22:28:41 | FromDiscord | <Elegantbeef> sprechen sie deutsch |
22:29:08 | FromDiscord | <Phil> I mean, I understood that one, still no idea if that references sth |
22:31:22 | FromDiscord | <Elegantbeef> Nah i was just saying dutch instead of deutsch cause you said einself |
22:37:27 | FromDiscord | <Dakedres> sent a long message, see https://paste.rs/Jx6 |
22:37:44 | FromDiscord | <Dakedres> (edit) "long message," => "code paste," | "http://ix.io/4n1E" => "https://play.nim-lang.org/#ix=4n1D" |
22:37:51 | FromDiscord | <Elegantbeef> `newSeq[Model]()` |
22:37:52 | FromDiscord | <Phil> Types don't exist at runtime |
22:37:57 | FromDiscord | <Elegantbeef> you are not calling `newSeq` |
22:37:58 | FromDiscord | <Phil> You can have dummy instances |
22:38:02 | FromDiscord | <Phil> But not types themselves |
22:38:08 | FromDiscord | <Phil> So you can't have a seq of them |
22:38:12 | FromDiscord | <Dakedres> ohh ok |
22:38:15 | FromDiscord | <Elegantbeef> Phil you're misreading the error |
22:39:08 | FromDiscord | <Phil> But that's a general issue, you don't do seq's of types, never worked for me at least |
22:39:21 | FromDiscord | <Elegantbeef> they are not doing a seq of types |
22:39:23 | FromDiscord | <Dakedres> In reply to @Elegantbeef "`newSeq[Model]()`": Oh, I just still need to call it even if I'm not passing a length |
22:39:24 | FromDiscord | <Dakedres> durr |
22:39:27 | FromDiscord | <Dakedres> my bad |
22:39:32 | FromDiscord | <Elegantbeef> `newSeq[model]()` makes a `seq[Model]` |
22:39:36 | FromDiscord | <Dakedres> yeah |
22:39:49 | FromDiscord | <Elegantbeef> It doesnt make a `seq[typedesc[Model]]` |
22:39:56 | FromDiscord | <Elegantbeef> A typedesc in a generic param strips `typedesc` |
22:40:16 | FromDiscord | <Phil> Ah, I read the intention being seq of type based on the initial code |
22:40:25 | FromDiscord | <Dakedres> Yeah, I wanted a seq[Model] |
22:41:08 | FromDiscord | <Elegantbeef> `newSeq` cannot be captured in a pointer proc is the procvar issue |
22:43:03 | FromDiscord | <Elegantbeef> Worth noting `newSeq` isnt required |
22:43:13 | FromDiscord | <Elegantbeef> so `var name: seq[Model]` is valid |
22:44:15 | * | ltriant joined #nim |
22:44:37 | FromDiscord | <Dakedres> oh, that's much nicer |
22:53:18 | * | ltriant quit (Ping timeout: 268 seconds) |
23:11:26 | FromDiscord | <PunchCake> whos the real pmunch here |
23:11:36 | FromDiscord | <PunchCake> there is 2 https://media.discordapp.net/attachments/371759389889003532/1071206348055908413/image.png |
23:17:04 | om3ga | Both are PMunch |
23:24:17 | FromDiscord | <Piqueiras> can you do array.map(sum(5))? |
23:25:20 | FromDiscord | <Elegantbeef> `map` takes an openArray so yes |
23:25:59 | FromDiscord | <Piqueiras> so it sums 5 to every element |
23:26:45 | FromDiscord | <Piqueiras> does it work with templates tho https://media.discordapp.net/attachments/371759389889003532/1071210159579353178/image.png |
23:27:10 | FromDiscord | <Elegantbeef> What's the error? |
23:27:51 | FromDiscord | <Piqueiras> expression '' has no type (or is ambiguous) |
23:28:16 | FromDiscord | <Piqueiras> https://media.discordapp.net/attachments/371759389889003532/1071210541328125993/image.png |
23:28:41 | FromDiscord | <Elegantbeef> Full error please |
23:28:52 | * | dropkick joined #nim |
23:29:08 | FromDiscord | <Elegantbeef> you likely want `mapIt` |
23:29:17 | FromDiscord | <Elegantbeef> since `%%%5` is not a procedure |
23:29:27 | FromDiscord | <Elegantbeef> `so `v.mapIt(it%%%5)\` |
23:29:31 | FromDiscord | <Piqueiras> In reply to @Elegantbeef "you likely want `mapIt`": oh, very likely |
23:29:36 | FromDiscord | <Piqueiras> very very likely |
23:30:00 | FromDiscord | <Piqueiras> yes, ty |
23:32:24 | FromDiscord | <PunchCake> whats currently the most stable and actively developed nim gui lib? |
23:33:16 | FromDiscord | <Dakedres> I can't find anything about extending types in Nim? |
23:34:12 | FromDiscord | <Elegantbeef> extending types? |
23:34:53 | FromDiscord | <Dakedres> sent a code paste, see https://play.nim-lang.org/#ix=4n1Z |
23:35:06 | FromDiscord | <Dakedres> (edit) "https://play.nim-lang.org/#ix=4n1Z" => "https://play.nim-lang.org/#ix=4n20" |
23:35:22 | FromDiscord | <Dakedres> (edit) "https://play.nim-lang.org/#ix=4n20" => "https://play.nim-lang.org/#ix=4n21" |
23:35:25 | FromDiscord | <PunchCake> In reply to @Dakedres "Maybe "extending" isn't exactly": so something like inheritance yeah? |
23:35:27 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=4n22 |
23:35:29 | FromDiscord | <Dakedres> yeah |
23:35:36 | FromDiscord | <Elegantbeef> Nim has OOP but it's not the best idea in many cases |
23:35:57 | FromDiscord | <Dakedres> I don't really want OOP, I'm just using these for JSON serialization |
23:35:59 | FromDiscord | <PunchCake> oop is very rarely the best idea |
23:36:06 | FromDiscord | <Dakedres> My code is mainly data oriented |
23:36:15 | FromDiscord | <PunchCake> In reply to @Dakedres "My code is mainly": why not python? |
23:36:40 | FromDiscord | <Dakedres> Why not Java? |
23:36:54 | FromDiscord | <PunchCake> python works best with data oriented stuff |
23:36:55 | om3ga | I really not appreciate python |
23:36:57 | FromDiscord | <PunchCake> and R |
23:36:57 | FromDiscord | <Dakedres> It's slower, I don't like it, and it doesn't have half the features I want |
23:37:01 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=4n23 |
23:37:09 | om3ga | and Java is the vorse |
23:37:10 | FromDiscord | <Elegantbeef> It doesnt give any mechanisms of OOP aside from inheriting fields/procedures |
23:37:42 | FromDiscord | <Dakedres> Yes |
23:37:50 | FromDiscord | <PunchCake> idk whats the best way to make a production gui in nim |
23:38:02 | FromDiscord | <PunchCake> i chose nim because it doesnt run on a vm nor does it have a runtime |
23:38:15 | om3ga | nigui |
23:38:30 | FromDiscord | <Dakedres> sent a code paste, see https://play.nim-lang.org/#ix=4n25 |
23:38:35 | om3ga | what you mean "production" |
23:38:37 | FromDiscord | <Dakedres> (edit) "https://play.nim-lang.org/#ix=4n25" => "https://play.nim-lang.org/#ix=4n26" |
23:38:38 | FromDiscord | <Elegantbeef> `ref` allows converting to the base type |
23:38:45 | FromDiscord | <Elegantbeef> it's not needed if you only use value types |
23:38:53 | FromDiscord | <Elegantbeef> And do not want to have a heterogenous collection |
23:39:13 | FromDiscord | <PunchCake> In reply to @om3ga "what you mean "production"": something thats stable, i can rely on if something breaks its always my code not the gui lib |
23:40:01 | om3ga | PunchCake everything can brake, I use nigui, it works well |
23:40:23 | FromDiscord | <Dakedres> In reply to @Elegantbeef "it's not needed if": Ah ok |
23:40:27 | om3ga | It might be not very beautiful , but it works |
23:40:51 | FromDiscord | <PunchCake> In reply to @om3ga "It might be not": it has to be beautiful |
23:41:07 | FromDiscord | <PunchCake> or is there any other language thats nearly as simple as nim and is aot compiled? |
23:41:07 | om3ga | well, it depends on taste |
23:41:09 | om3ga | ))) |
23:41:31 | om3ga | also I hope Mac native support will be in near future |
23:41:45 | FromDiscord | <auxym> go? |
23:41:54 | om3ga | you can compile and expect the same layout on three main os |
23:42:10 | FromDiscord | <PunchCake> In reply to @auxym "go?": go is weird |
23:42:21 | FromDiscord | <PunchCake> zig? |
23:43:01 | om3ga | very strange, MMapEd file should be faster, but regular stream beats it by speed |
23:43:10 | FromDiscord | <Dakedres> In reply to @PunchCake "python works best with": Anyway to answer your confusion I guess↵↵Nim can do it better. It has really good immutability support, procs help you pipe more elegantly, and pretty much anything it's missing can be added with macros |
23:43:23 | om3ga | seems memfiles not oprimized |
23:43:24 | FromDiscord | <auxym> zig is still very young, I wouldn't expect it to have a very mature gui lib. But maybe? |
23:43:49 | FromDiscord | <PunchCake> In reply to @Dakedres "Anyway to answer your": write in python↵code slow write slow part in nim and use nimpy |
23:43:59 | FromDiscord | <PunchCake> thats what i've been doing a lot lately |
23:44:36 | om3ga | I replaced almost anything with nim |
23:44:47 | om3ga | even scripts in bash |
23:45:07 | FromDiscord | <PunchCake> i just like python because of how many packages exist in its ecosystem |
23:45:26 | om3ga | are you use them all? |
23:45:46 | FromDiscord | <Dakedres> Who needs packages when you can write a library faster than you can learn it |
23:45:51 | FromDiscord | <PunchCake> In reply to @om3ga "are you use them": a lot yes |
23:46:10 | om3ga | Iprefer not to have deps |
23:46:20 | FromDiscord | <PunchCake> i think nim is amazing for the backend |
23:46:33 | om3ga | for anything |
23:46:54 | FromDiscord | <PunchCake> i was trying to rewrite this https://github.com/lukasmonk/lucaschessR2 gui in nim so i can reduce the bundle sizes by a lot |