00:10:14 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=LstQFTnjgEJR |
00:10:49 | FromDiscord | <sOkam! 🫐> I just want to exit the top loop from the inner loop |
00:12:14 | FromDiscord | <Elegantbeef> https://forum.nim-lang.org/t/9897#65308 steal this code |
00:13:21 | FromDiscord | <Elegantbeef> You also could move the `SearchFilters` above the first for |
00:13:29 | FromDiscord | <Elegantbeef> Which is what you truly want |
00:15:19 | FromDiscord | <Elegantbeef> Though I'd just make that into a proc |
00:16:39 | FromDiscord | <sOkam! 🫐> i want to continue and not add the file if the any of the filters is contained in the name 🤔↵but if I `break` with the macro, I don't continue searching for files at all |
00:17:03 | FromDiscord | <Elegantbeef> Well that was unclear in your example |
00:17:22 | FromDiscord | <sOkam! 🫐> sry |
00:17:30 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=YNREaJWWJFHz |
00:17:44 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=nwxjaMtQSVik |
00:17:54 | FromDiscord | <Elegantbeef> But I'd still just use a proc |
00:18:28 | FromDiscord | <sOkam! 🫐> how would that look like with a proc? returning a bool from it? |
00:19:09 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=hAnIvwJwzUQj |
00:19:53 | FromDiscord | <Elegantbeef> Whoops |
00:19:57 | FromDiscord | <Elegantbeef> `data.maybeAdd(...)` |
00:22:27 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=VGmYMRDxcZVr |
00:22:59 | FromDiscord | <sOkam! 🫐> (edit) "https://play.nim-lang.org/#pasty=mRffSRMcppJR" => "https://play.nim-lang.org/#pasty=wqokEIgNtLcY" |
00:23:39 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=ptSBzEdosvTR |
00:43:31 | * | def- quit (Quit: -) |
01:00:07 | * | nazgulsenpai quit (Quit: ZNC 1.8.2 - https://znc.in) |
01:03:02 | * | nazgulsenpai joined #nim |
01:03:42 | * | def- joined #nim |
01:25:35 | * | krux02_ quit (Quit: Leaving) |
01:33:32 | * | rockcavera quit (Remote host closed the connection) |
02:22:24 | NimEventer | New thread by DMisener: Help storing *reference* instead of copy in an object constructor., see https://forum.nim-lang.org/t/11508 |
03:23:15 | * | xet7 joined #nim |
03:42:36 | * | cnx quit (Ping timeout: 260 seconds) |
03:45:08 | * | cnx joined #nim |
03:59:59 | * | def- quit (Quit: -) |
04:01:19 | * | def- joined #nim |
04:04:20 | * | def- quit (Client Quit) |
04:04:50 | * | def- joined #nim |
05:59:33 | * | MacDefender joined #nim |
06:17:22 | * | disso-peach joined #nim |
06:18:54 | * | coldfeet joined #nim |
06:46:44 | * | coldfeet quit (Remote host closed the connection) |
06:55:10 | * | ntat joined #nim |
07:10:09 | * | rockcavera joined #nim |
07:29:24 | * | def- quit (Quit: -) |
07:30:03 | * | def- joined #nim |
07:41:48 | FromDiscord | <stefanlight> sent a code paste, see https://play.nim-lang.org/#pasty=CCosZMmCiTNF |
07:45:10 | FromDiscord | <pmunch> Implementing something like this for the Nim compiler would be amazing https://bun.sh/blog/bun-report-is-buns-new-crash-reporter |
07:53:10 | * | cnx quit (Ping timeout: 246 seconds) |
07:58:16 | FromDiscord | <Elegantbeef> Pmunch do you mean to use for Nim development or for going from unhandled exceptions to a url? |
08:02:44 | FromDiscord | <intellij_gamer> In reply to @stefanlight "hi everyone, i trying": Remember having that error . Compile with `-d:ssl` maybe? |
08:03:55 | FromDiscord | <Phil> Ah beef, araq also suggested closures but even after experimenting with them I seem to be missing the point |
08:05:11 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#pasty=eWyqEdiHMTCT |
08:05:26 | FromDiscord | <stefanlight> In reply to @intellij_gamer "Remember having that error": thanks! it's helped : ) |
08:05:41 | FromDiscord | <Phil> Wait is this where I really must look into closure iterator because they do some magic sauce different? |
08:06:54 | FromDiscord | <Elegantbeef> No closure iterators are just continuable routines |
08:07:05 | FromDiscord | <Elegantbeef> I still do not get what behaviour is required so cannot elaborate about closures |
08:07:11 | FromDiscord | <Elegantbeef> But it can just be used for type erasure |
08:08:40 | FromDiscord | <whisperecean> I want to create a small utility which when executed starts a default web browser with a UI with a simple form where I can add an input with two way communication from the program to the client and vice versa. Where should I look to achive this? |
08:09:19 | * | redj quit (Ping timeout: 260 seconds) |
08:10:21 | * | redj joined #nim |
08:10:55 | FromDiscord | <Phil> In reply to @Elegantbeef "But it can just": Type erasure is what I need here I think |
08:11:16 | FromDiscord | <Phil> So I guess I'll look into some closure iterator docs first |
08:11:21 | FromDiscord | <Phil> and see if I can learn the concept |
08:13:55 | FromDiscord | <Phil> Wait, how the heck would that differ from a normal closure for my purposes |
08:14:10 | FromDiscord | <Phil> Let me try to see if I can come up with a code example |
08:28:23 | * | cnx joined #nim |
08:29:31 | FromDiscord | <pmunch> In reply to @Elegantbeef "Pmunch do you mean": I actually meant for the compiler. Currently when it fails you get nothing and have to rebuild with debug info |
08:34:24 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#pasty=VAosWTXosNlm |
08:38:29 | FromDiscord | <Phil> And with that mechanism I can provide an initial value when you subscribe to a construct that has as its source an observable/behaviorsubject as well as pump new values through you via `next` procs |
08:38:46 | FromDiscord | <Phil> closures coming in clutch |
08:39:11 | FromDiscord | <pmunch> In reply to @Elegantbeef "Pmunch do you mean": But having it as a Nimble package to go from exception to URL would be pretty cool |
08:43:51 | * | ntat quit (Quit: Leaving) |
08:50:38 | FromDiscord | <zidsal> has anyone noticed atlas adding in noticeable increases in build time ? a simple project using yaml 2.x took 7 seconds for me to build. If I move the project out of the atlas workspace it takes me 1.3 seconds |
08:51:50 | FromDiscord | <zidsal> (edit) "has" => "~has" | "seconds" => "seconds~↵↵never mind the atlas buid is now around 1.3 seconds.... I suspect something else is going on" |
08:51:58 | FromDiscord | <zidsal> (edit) "~has" => "~~has" | "seconds~↵↵never" => "seconds~~↵↵never" |
09:07:27 | FromDiscord | <Elegantbeef> @Phil Nice, but why are you screaming generic parameters? |
09:07:52 | FromDiscord | <Phil> To differentiate them from actual types and variables |
09:08:13 | FromDiscord | <Elegantbeef> Well that's pointless |
09:08:15 | FromDiscord | <Elegantbeef> But you do you |
09:08:15 | FromDiscord | <Phil> They're screaming "I am a lie, everything is a lie, reality isn't real, I'm just a copy-paste-placeholder" |
09:11:43 | FromDiscord | <the_real_hypno> I wouldnt say pointless |
09:11:58 | FromDiscord | <the_real_hypno> It just doesnt have an effect |
09:12:47 | FromDiscord | <odexine> Generic types are pretty much just as real as concrete types to me |
09:20:03 | FromDiscord | <Elegantbeef> You say that until you see that Nim sees two generic instantiations as the same type due to a type graph bug |
09:21:42 | FromDiscord | <zidsal> I mean thats clearly just the compiler inflicting divine punishing you for forcing it to do more work |
09:21:49 | FromDiscord | <zidsal> (edit) "I mean thats clearly just the compiler inflicting divine punishing ... you" added "on" |
09:24:55 | FromDiscord | <the_real_hypno> Also T is getting screamed aswell |
09:25:04 | FromDiscord | <Elegantbeef> No it's not |
09:25:06 | FromDiscord | <Elegantbeef> It's a type |
09:25:09 | FromDiscord | <Elegantbeef> Types are capitalised |
09:25:17 | FromDiscord | <the_real_hypno> But a big one |
09:25:22 | FromDiscord | <the_real_hypno> Thats getting screamed |
09:25:52 | FromDiscord | <Elegantbeef> It's the first letter of a type name, it is captialised. Now that is indistinguishable from screaming case due to the lack of more characters |
09:27:09 | FromDiscord | <the_real_hypno> Like int? |
09:28:37 | FromDiscord | <madonuko> how can I write an "install script" so that when I run "nimble install" I will be able to install additional files besides the binary? |
09:28:57 | FromDiscord | <madonuko> (the "additional file" is a polkit policy file) |
09:29:38 | FromDiscord | <the_real_hypno> In reply to @madonuko "how can I write": https://github.com/nim-lang/Nim/tree/devel/tools%2Fniminst |
09:29:42 | FromDiscord | <the_real_hypno> ? |
09:30:52 | FromDiscord | <the_real_hypno> Need to admit i didn't use it yet but i read that its for creating installers |
09:32:40 | FromDiscord | <madonuko> In reply to @the_real_hypno "https://github.com/nim-lang/Nim/tree/devel/tools%2F": no documentations? |
09:34:22 | FromDiscord | <the_real_hypno> Can't tell you, i just saw it while i was lurking through the folder |
09:35:03 | FromDiscord | <the_real_hypno> https://nim-lang.org/docs/niminst.html |
09:35:15 | FromDiscord | <the_real_hypno> Tools category |
09:35:15 | FromDiscord | <madonuko> oh |
09:36:00 | FromDiscord | <madonuko> I have been lurking in the nimble docs because I thought I could somehow change the behaviour of nimble install |
09:38:28 | FromDiscord | <the_real_hypno> I usually do such things with Nimscript or a seperate Python script. Probably just out of laziness 🤷♂️ |
09:38:59 | FromDiscord | <madonuko> you can import os in nimscript? |
09:39:11 | FromDiscord | <the_real_hypno> Yes |
09:39:27 | FromDiscord | <madonuko> I've been living under a giant rock or something |
09:40:08 | FromDiscord | <the_real_hypno> Na, i don't think its getting used a lot |
09:40:25 | FromDiscord | <the_real_hypno> Atleast judging by the public repos |
09:41:17 | FromDiscord | <madonuko> I see |
09:41:32 | FromDiscord | <madonuko> I'm current writing a system upgrader so that's why |
09:54:14 | FromDiscord | <Phil> Okay we're slowly getting somewhere.↵With these 4 "Kinds" of nodes (Subject, Observable, OperatorObservable and Observer) I can build the node-graph I want |
09:54:22 | FromDiscord | <Phil> And it appears to behave as anticipated |
09:57:01 | FromDiscord | <Phil> Likely still needs some refactoring (pretty sure I can change the "next" proc to use the Reactive concept) but it seems to work atm https://media.discordapp.net/attachments/371759389889003532/1234080924510060574/message.txt?ex=662f6eec&is=662e1d6c&hm=6a2cb296bc6917ed17f8b9aae252f7cc36c514eaf92f59ab321b1a11f3d9f2c7& |
09:57:14 | FromDiscord | <zidsal> now you just need to implement the DSL for marbel diagram testing! |
09:57:27 | FromDiscord | <Phil> Yeah no, ain't gonna happen, somebody can contribute that |
09:57:42 | FromDiscord | <Phil> I'll have enough to do just implementing operators and not going insane |
09:58:13 | FromDiscord | <zidsal> 😛 someone was obsessed with using them for testing at work. we had to pull him aside and point out no one wants to learn this DSL, when really what you should be testing is if the frontend is working as expected 😛 |
09:58:15 | FromDiscord | <Phil> Funnily enough what I was actually working on is my multithreading runtime that I'm procrastinating on like a motherfucker |
09:58:16 | FromDiscord | <zidsal> (edit) removed "😛" |
09:58:42 | FromDiscord | <zidsal> if its any constilation I've finally started making good progress on my game and now I'm re-writing it in nim |
10:10:32 | * | krux02 joined #nim |
10:24:47 | * | dvbst joined #nim |
11:13:54 | FromDiscord | <wileycoleman> In reply to @whisperecean "I want to create": I am really new to Nim too but I find this a good starting point for finding new packages https://github.com/ringabout/awesome-nim?tab=readme-ov-file#web Are you talking about something like Wails (Go language) or Crystapp (Crystal language) ? I think this type of things is listed in the awesome site (the url above) under Web Technologies. |
11:36:24 | * | coldfeet joined #nim |
11:49:09 | * | fallback quit (Read error: Connection reset by peer) |
12:09:46 | * | fallback joined #nim |
12:38:16 | * | cnx quit (Ping timeout: 255 seconds) |
12:57:33 | * | cnx joined #nim |
13:09:27 | * | PMunch_ joined #nim |
13:36:21 | FromDiscord | <Phil> In reply to @wileycoleman "I am really new": That is pretty much the definitive starting point for finding "bigger" packages, besides the nimble.directory site itself |
13:41:22 | FromDiscord | <Phil> sent a long message, see https://pasty.ee/ydKGcstFsIhn |
13:41:35 | FromDiscord | <Phil> (edit) "https://pasty.ee/nGDVlWpJGNlP" => "https://pasty.ee/nlSUjsaRLCSt" |
13:43:46 | FromDiscord | <nocturn9x> is there no way to compile code in release mode and keeping the stack/linetrace= |
13:43:49 | FromDiscord | <nocturn9x> (edit) "stack/linetrace=" => "stack/linetrace?" |
13:44:11 | FromDiscord | <nocturn9x> If I compile with `--stacktrace:on --linetrace:on` when the program crashes with a segfault it just says "no stack trace available" |
13:44:15 | FromDiscord | <nocturn9x> like thanks lmao b |
13:44:16 | FromDiscord | <nocturn9x> (edit) removed "b" |
13:46:08 | FromDiscord | <odexine> In reply to @isofruit "Can someone give me": …procedure |
13:46:38 | FromDiscord | <Phil> procedure is the overarching term for everything executable in nim though |
13:46:47 | FromDiscord | <Phil> or callable rather I guess |
13:47:03 | FromDiscord | <Phil> you even define closures with proc |
13:47:15 | FromDiscord | <Phil> So that feels meh |
13:47:19 | FromDiscord | <nocturn9x> because closures are procedures? lol |
13:47:34 | FromDiscord | <nocturn9x> a procedure is a series of steps packaged up with a name and a signature |
13:47:36 | FromDiscord | <nocturn9x> it's all it is |
13:47:41 | FromDiscord | <Phil> Yeah but I want to very specifically name `proc(value : T)` |
13:48:09 | FromDiscord | <Phil> Which does nothing but fire off a side-effect while the other two are pure functions that don't fire off side-effects |
13:48:19 | FromDiscord | <odexine> Mutator |
13:48:32 | FromDiscord | <odexine> If you want a term I just thought of |
13:48:37 | FromDiscord | <odexine> With no regard for meaning |
13:48:47 | FromDiscord | <odexine> With no careful regard of meaning |
13:48:50 | FromDiscord | <Phil> I'm about to go with mapper, filter and tapper |
13:48:58 | FromDiscord | <Phil> I don't like the last one |
13:49:05 | FromDiscord | <Phil> But at the very least its reminiscent of the FP term |
13:49:21 | FromDiscord | <odexine> Mona— |
13:52:06 | * | MacDef joined #nim |
13:54:46 | * | MacDefender quit (Ping timeout: 255 seconds) |
13:56:28 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#pasty=qWUEHTLAAHfO |
13:56:30 | FromDiscord | <nocturn9x> In reply to @nocturn9x "If I compile with": is there any way to get this to wor? |
13:56:31 | FromDiscord | <nocturn9x> (edit) "wor?" => "work?" |
13:56:34 | FromDiscord | <nocturn9x> it's really annoying |
13:57:07 | FromDiscord | <Phil> I'm not familiar with anything. |
13:59:27 | FromDiscord | <Phil> Okay not even ading the closure pragma helps here, hmm |
14:02:15 | * | krux02_ joined #nim |
14:03:17 | FromDiscord | <odexine> In reply to @nocturn9x "is there any way": How are you compiling? I believe nimble build (still) does not pass command line flags to the compiler |
14:03:27 | FromDiscord | <nocturn9x> I am using `nim c` |
14:03:43 | FromDiscord | <nocturn9x> I even tried with just `-d:release` |
14:03:52 | FromDiscord | <nocturn9x> it will not print a stack trace unless it's in debug mode |
14:04:00 | FromDiscord | <nocturn9x> but in debug mode the code is too slow to trigger the issue |
14:04:51 | * | krux02 quit (Ping timeout: 256 seconds) |
14:05:56 | FromDiscord | <pmunch> In reply to @nocturn9x "it's really annoying": Use status-im/libbacktrace perhaps? |
14:06:39 | FromDiscord | <pmunch> Oh wait, with a segfault? Hmm |
14:07:15 | FromDiscord | <nocturn9x> yeah |
14:19:29 | FromDiscord | <Phil> Okay this is dumb, I can't use `filter` for my observable operators because it name-collides with another generic filter proc |
14:24:30 | FromDiscord | <Phil> Yup, if I name it `filta` it works |
14:29:06 | FromDiscord | <odexine> Prolly means your proc isn’t specific enough? |
14:30:24 | FromDiscord | <pmunch> Hmm, so with libbacktrace I've now been able to generate a list of numbers from a backtrace, store those in a file, and then read them back and get the original backtrace out of them |
14:30:44 | FromDiscord | <pmunch> I can't find a way to get program counters from Nim stack traces though.. |
14:30:52 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#pasty=yrShEpzlfRvR |
14:31:19 | FromDiscord | <odexine> That should apply properly |
14:31:30 | FromDiscord | <odexine> It’s more specific than the other filter proc |
14:32:06 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#pasty=JbTAvDxHOXjM |
14:32:17 | FromDiscord | <Phil> (edit) "https://play.nim-lang.org/#pasty=oIkAOlgbEBei" => "https://play.nim-lang.org/#pasty=sDAnXJPrcGQC" |
14:32:25 | FromDiscord | <Phil> (edit) "https://play.nim-lang.org/#pasty=nYJqTLLprYpC" => "https://play.nim-lang.org/#pasty=HLLoVhvoxgBS" |
14:32:37 | FromDiscord | <odexine> Full error |
14:33:13 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#pasty=IdpHUZKaGOCu |
14:33:42 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#pasty=rqLOpMXTXKPq |
14:35:11 | FromDiscord | <Phil> Swapping from the sugar way of defining callbacks to "propper" syntax, so `(value: int) => value mod 2 == 0` to `proc(value: int): bool = value mod 2 == 0` does also not change anything |
14:35:29 | * | coldfeet quit (Remote host closed the connection) |
14:36:30 | FromDiscord | <odexine> What externals are you importing |
14:36:49 | FromDiscord | <odexine> Or everything you’re importing |
14:38:25 | FromDiscord | <Phil> `import std/[times, monotimes, os, sequtils, options, sugar, strutils]` |
14:38:30 | FromDiscord | <Phil> wait, wtf |
14:38:35 | FromDiscord | <Phil> Why is sequtils in there |
14:38:52 | FromDiscord | <odexine> :baqua: |
14:39:17 | FromDiscord | <Phil> Welp, removing that didn't change anything |
14:39:21 | FromDiscord | <odexine> Why would that filter match your observable type though? |
14:39:28 | FromDiscord | <Phil> I wasn't using it and removing the import still fucks me |
14:39:42 | FromDiscord | <odexine> Why would any of the filters match your observable type |
14:40:02 | FromDiscord | <Phil> absolutely beyond me |
14:40:09 | FromDiscord | <Phil> actually... |
14:40:14 | FromDiscord | <Phil> Oh god damn, one sec, I think I got it |
14:40:21 | FromDiscord | <odexine> What did you make the type |
14:41:21 | FromDiscord | <Phil> 😮💨 |
14:41:31 | FromDiscord | <Phil> My definition of OperatorObservable screwed me because I'm not smart |
14:41:45 | FromDiscord | <Phil> Remember when I needed names for side-effect procs, so I went mapper, filter tapper |
14:42:02 | FromDiscord | <odexine> Sure |
14:42:20 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#pasty=aAAljZqnbPwz |
14:42:27 | FromDiscord | <Phil> (edit) "https://play.nim-lang.org/#pasty=PoHVxTpdjutS" => "https://play.nim-lang.org/#pasty=CYDSNDRWNcCl" |
14:42:53 | FromDiscord | <odexine> Ah this is just like the “read write past tense” enum |
14:42:54 | FromDiscord | <Phil> I have changed the name to `mapProc`, `filterProc` and `tapProc`, works as intended now |
14:43:24 | FromDiscord | <odexine> Congrats on discovering the one possible pitfall of UFCS |
14:43:31 | FromDiscord | <odexine> Field collision |
15:03:12 | * | ntat joined #nim |
15:39:53 | * | fallback quit (Read error: Connection reset by peer) |
15:43:10 | FromDiscord | <madonuko> how can I turn Path into string |
15:43:23 | FromDiscord | <madonuko> why doesn't it implement `$` or something |
15:47:45 | * | MacDef quit (Quit: WeeChat 4.2.2) |
15:49:27 | FromDiscord | <kots> it's a distinct string so just do a type conversion |
15:49:41 | FromDiscord | <madonuko> cast[string]()? |
15:49:45 | FromDiscord | <Phil> .string |
15:49:50 | FromDiscord | <madonuko> oh ok |
15:49:59 | FromDiscord | <Phil> distinct types you can convert the easy way |
15:50:13 | FromDiscord | <madonuko> nvm `std/paths` doesn't even work in nimscripts |
15:50:27 | FromDiscord | <madonuko> that sucks |
15:50:35 | FromDiscord | <madonuko> awwww |
15:50:53 | FromDiscord | <madonuko> this is painful |
15:51:30 | FromDiscord | <madonuko> sent a code paste, see https://play.nim-lang.org/#pasty=CVNXivYFhlQa |
15:51:43 | FromDiscord | <madonuko> so yeah |
16:04:48 | * | fallback joined #nim |
16:08:09 | * | xet7 quit (Remote host closed the connection) |
16:15:37 | FromDiscord | <af0rg02> Tf is nimscripts and why is this a thing? |
16:19:49 | * | xet7 joined #nim |
16:24:03 | * | PMunch_ quit (Ping timeout: 252 seconds) |
16:33:19 | FromDiscord | <Robyn [She/Her]> In reply to @af0rg02 "Tf is nimscripts and": Nimscript is an interpreted subset of Nim |
16:33:33 | FromDiscord | <Robyn [She/Her]> Used for configuration and nimble |
16:37:21 | FromDiscord | <the_real_hypno> In reply to @madonuko "nvm `std/paths` doesn't even": Are you trying to launch the script? |
16:37:47 | FromDiscord | <madonuko> no |
16:37:49 | FromDiscord | <madonuko> https://github.com/Ultramarine-Linux/umupgrader/blob/master/install.nims |
16:37:53 | FromDiscord | <madonuko> I fixed it |
16:37:54 | FromDiscord | <af0rg02> That sounds idiotic, but whatever.↵(@Robyn [She/Her]) |
16:37:59 | FromDiscord | <the_real_hypno> Ah ok |
16:38:50 | FromDiscord | <madonuko> basically by reinventing the wheel |
16:38:56 | FromDiscord | <madonuko> sent a code paste, see https://play.nim-lang.org/#pasty=byigcHEQfbIK |
16:39:39 | FromDiscord | <madonuko> In reply to @af0rg02 "That sounds idiotic, but": also there's `nim secret` |
16:39:49 | FromDiscord | <Robyn [She/Her]> In reply to @af0rg02 "That sounds idiotic, but": Eh, maybe it is, maybe it isn't, I personally think if it was improved in some ways it could be much better |
16:39:59 | FromDiscord | <madonuko> agreed |
16:41:10 | FromDiscord | <madonuko> somehow it's still better than shell scripts in some cases |
16:42:05 | FromDiscord | <Robyn [She/Her]> Nim's syntax is just delightful imo :) |
16:42:13 | FromDiscord | <madonuko> exactly |
16:43:12 | FromDiscord | <Robyn [She/Her]> Does make me wonder if a shell written in Nim using Nimscript would actually be something nice to use, but iirc performance isnt exactly great with Nimscript |
16:53:23 | FromDiscord | <shalokshalom> Yeah, Bash is much better 😛 |
17:01:19 | FromDiscord | <Robyn [She/Her]> I use 🐟 |
17:01:29 | FromDiscord | <shalokshalom> me too |
17:01:37 | FromDiscord | <shalokshalom> Hey, fellow fishy wink |
17:02:01 | FromDiscord | <shalokshalom> I made a thing |
17:02:02 | FromDiscord | <shalokshalom> codeberg.org/shalokshalom/add-and-friends |
17:02:20 | FromDiscord | <shalokshalom> (edit) "codeberg.org/shalokshalom/add-and-friends" => "https://codeberg.org/shalokshalom/add-and-friends" |
17:06:23 | FromDiscord | <Robyn [She/Her]> Garuda Linux? |
17:10:19 | FromDiscord | <odexine> distro |
17:11:06 | FromDiscord | <shalokshalom> Arch derivate |
17:11:19 | FromDiscord | <shalokshalom> Hi Rika 👋🏼 |
17:11:42 | FromDiscord | <Robyn [She/Her]> In reply to @shalokshalom "Arch derivate": Oh neat! |
17:17:31 | * | modev joined #nim |
17:18:08 | * | modev quit (Client Quit) |
17:18:29 | FromDiscord | <shalokshalom> It has fish set as default shell |
17:18:58 | FromDiscord | <Robyn [She/Her]> May take a look once I get my own pc |
17:22:28 | * | PMunch_ joined #nim |
17:22:54 | * | PMunch_ quit (Client Quit) |
18:06:18 | * | fallback quit (Read error: Connection reset by peer) |
18:20:49 | FromDiscord | <odexine> In reply to @shalokshalom "Hi Rika 👋🏼": hello |
19:04:13 | * | fallback joined #nim |
19:06:26 | FromDiscord | <pmunch> In reply to @chronos.vitaqua "Used for configuration and": And macros |
19:06:55 | FromDiscord | <pmunch> In reply to @af0rg02 "That sounds idiotic, but": It's not |
19:07:44 | * | ntat quit (Quit: Leaving) |
19:13:01 | FromDiscord | <Robyn [She/Her]> In reply to @pmunch "And macros": And macros, I forgot about that xD |
19:28:58 | FromDiscord | <Elegantbeef> af0rg02 Nim has compile time evaluation, and macros so it's pretty much required unless one wants to compile down to a binary to do simple things like `'b' in "bleh"` for constant folding |
19:36:01 | FromDiscord | <Elegantbeef> @pmunch do you have an exception? |
19:37:10 | FromDiscord | <Elegantbeef> If so you can use `trace` to get a `StackTraceEntry` then if you compile with `nimStackTraceOverride` you can access the `programCounter` |
19:37:20 | FromDiscord | <Robyn [She/Her]> Who says he isn't results-oriented 😛 |
19:37:35 | FromDiscord | <Elegantbeef> Then you could replace the `unhandledExceptionHook` with your own that does what you want |
19:38:11 | FromDiscord | <Elegantbeef> Are you mocking me for not seeing messages?! |
19:38:56 | FromDiscord | <Robyn [She/Her]> Am I? 🙃 |
19:39:46 | FromDiscord | <Elegantbeef> I don't know which message has got your goat! |
19:41:08 | FromDiscord | <Robyn [She/Her]> Then you should pop on Discord to check :rotated_left_smile: |
19:41:13 | FromDiscord | <Robyn [She/Her]> I wish that was an emoji |
19:41:42 | FromDiscord | <Elegantbeef> I just mean I sent two messages before you responded |
19:42:51 | strogon14 | Discord is proprietary bullshit. Why should one prefer it over free platforms like Matrix or IRC? |
19:43:04 | FromDiscord | <Robyn [She/Her]> I'm just being annoying xD |
19:43:24 | FromDiscord | <Robyn [She/Her]> In reply to @strogon14 "Discord is proprietary bullshit.": Because I personally don't like most IRC or Matrix clients and can't be arsed to change it, currently |
19:43:47 | FromDiscord | <Elegantbeef> Mwaaaaah robyn says in response |
19:45:30 | FromDiscord | <pmunch> In reply to @Elegantbeef "If so you can": Oooh, didn't think about that! |
19:46:55 | FromDiscord | <Elegantbeef> There are honestly quite a bit of hidden low level details in global pointer procs 😄 |
19:47:08 | strogon14 | I recommend reading the up on "enshittyfication": https://doctorow.medium.com/social-quitting-1ce85b67b456 |
19:47:08 | strogon14 | Or the WP article if TL;DR: https://en.wikipedia.org/wiki/Enshittification |
19:47:36 | FromDiscord | <Elegantbeef> The irony of linking a medium post about enshittification |
19:47:58 | FromDiscord | <Elegantbeef> It's like making a discord server against ephemeral messages |
19:48:59 | FromDiscord | <Elegantbeef> For context medium now opens up with a banner covering half of your screen if you are not signed in |
19:49:14 | FromDiscord | <Elegantbeef> You can close it of course, but that's shit |
19:53:43 | FromDiscord | <Robyn [She/Her]> In reply to @strogon14 "I recommend reading the": Already well aware of this honestly |
19:53:44 | FromDiscord | <nnsee> In reply to @af0rg02 "That sounds idiotic, but": and it sounds idiotic because...? |
19:54:51 | FromDiscord | <shalokshalom> In reply to @strogon14 "Discord is proprietary bullshit.": I just come from a couple of agonizing weeks of Matrix. I do have a few reasons for you, none of them are appropriate to say out loud next to children. Wanna hear? |
19:56:10 | FromDiscord | <shalokshalom> That the open source community hasnt managed to build up a proper communication platform in the last couple of decades, says just about everything, that is to say about us. |
19:56:19 | FromDiscord | <Robyn [She/Her]> I'm curious honestly |
19:56:28 | FromDiscord | <Elegantbeef> What does that even mean |
19:56:33 | FromDiscord | <Elegantbeef> My messages go in and they go out |
19:57:01 | FromDiscord | <Robyn [She/Her]> In reply to @shalokshalom "That the open source": Isn't the main issue advertising and marketing from stopping a new project from gaining traction? |
19:57:03 | FromDiscord | <odexine> well its one thing to have some sort of basic usability |
19:57:13 | FromDiscord | <odexine> another thing to be tolerable for the masses |
19:57:24 | FromDiscord | <Robyn [She/Her]> That and offering QoL features that make the non-techies wanna move |
19:58:06 | FromDiscord | <odexine> pretty much, oftentimes the power users' needs do not align well with the average users' needs |
19:58:15 | * | nazgulsenpai quit (Quit: ZNC 1.8.2 - https://znc.in) |
19:58:15 | FromDiscord | <Robyn [She/Her]> As that article about enshittification says, my network is already built on this platform, and no other platform that'd appeal to me would appeal to others really |
20:00:48 | FromDiscord | <.lisuwu_> Hello nimmers, I am doing kernel dev nowadays, and I am curious: How can I use Nim in this kind of environment?↵↵I know that it's possible given nimkernel and nimkernel_ext projects exist, although if I try to use nim in this environment, the generated code tries to include header files of which i cannot find freestanding version of, unless im stupid, if so, give me a lead please |
20:01:18 | FromDiscord | <Elegantbeef> Nim does not generate portable C it generated platform dependant C |
20:01:39 | FromDiscord | <Elegantbeef> You can do `--os:any -d:useMalloc` to get it more protable |
20:01:43 | FromDiscord | <.lisuwu_> In reply to @Elegantbeef "Nim does not generate": Then what is the point of `--os:any` ? |
20:01:45 | FromDiscord | <Elegantbeef> portable even |
20:02:20 | FromDiscord | <.lisuwu_> Oh, but it does still generate C with those libraries, which again boils down to me not being able to find freestanding version of the libraries it uses |
20:02:33 | FromDiscord | <.lisuwu_> Stuff like setjmp, am i supposed to implement those on my own or? |
20:02:36 | * | nazgulsenpai joined #nim |
20:03:02 | FromDiscord | <.lisuwu_> (edit) "Oh, but it does still generate C with those libraries, which again ... boils" added "issue" |
20:03:07 | FromDiscord | <Robyn [She/Her]> Use `--exceptions:goto` ^^ |
20:03:16 | FromDiscord | <Elegantbeef> If they're using arc/orc that's the default |
20:03:42 | FromDiscord | <odexine> In reply to @Elegantbeef "You can do `--os:any": the antitable faction is against this behaviour |
20:03:45 | FromDiscord | <Robyn [She/Her]> I remember a regression where setjmp was used in `exceptions:goto` and iirc Ringabout fixed it but 🤷♀️ |
20:03:50 | FromDiscord | <odexine> down with tables |
20:04:15 | FromDiscord | <Elegantbeef> Rika I was so confused for a second |
20:04:24 | FromDiscord | <Elegantbeef> I think the better joke is "The chair faction" |
20:04:42 | FromDiscord | <.lisuwu_> In reply to @chronos.vitaqua "I remember a regression": Oh yeah, wonder if that still is here, i'll try it tomorrow, thanks sis |
20:04:44 | FromDiscord | <odexine> ok jokester go make the joke quicker next time |
20:04:48 | FromDiscord | <Robyn [She/Her]> No worries! :D |
20:05:38 | FromDiscord | <Elegantbeef> Rika we all know I have the comedic skills of a dead horse being pummelled |
20:06:23 | FromDiscord | <odexine> i dont know how you figured that out, seems pretty impressive that you have |
20:06:43 | FromDiscord | <.lisuwu_> In reply to @Elegantbeef "You can do `--os:any": Any more options I could use? |
20:06:47 | FromDiscord | <Elegantbeef> I'm no longer allowed on any ranches |
20:07:01 | FromDiscord | <.lisuwu_> All I want is to be able to use Nim really, I don't like using C here |
20:07:02 | FromDiscord | <Elegantbeef> Those are the important flags |
20:07:17 | FromDiscord | <odexine> nim compiles to c so you essentially have to use it |
20:07:19 | FromDiscord | <Elegantbeef> https://nim-lang.org/docs/nimc.html#nim-for-embedded-systems has some more information |
20:07:22 | FromDiscord | <shalokshalom> sent a long message, see https://pasty.ee/mCOlWLeJmAcJ |
20:07:22 | FromDiscord | <.lisuwu_> (edit) "here" => "here, especially not in this environment where I don't even have OS" |
20:07:26 | * | dvbst quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
20:07:33 | FromDiscord | <.lisuwu_> In reply to @odexine "nim compiles to c": Atleast I don't write C directly |
20:07:48 | FromDiscord | <.lisuwu_> That's all it matters for me |
20:08:18 | FromDiscord | <.lisuwu_> (edit) removed "where I don't even have OS" |
20:08:29 | FromDiscord | <.lisuwu_> In reply to @Elegantbeef "https://nim-lang.org/docs/nimc.html#nim-for-embedde": Thanks! |
20:08:51 | FromDiscord | <Robyn [She/Her]> In reply to @shalokshalom "I think about XMPP.": That checks out tbf |
20:09:59 | FromDiscord | <Elegantbeef> But many snails live in the desert |
20:11:04 | FromDiscord | <odexine> how many tho |
20:11:16 | FromDiscord | <odexine> how do u know, have u checked? smh smh |
20:11:37 | FromDiscord | <odexine> if you dont know the exact count of snails living in the desert then u have no right to say that many do smh smh |
20:11:43 | FromDiscord | <shalokshalom> When you think about it, Discord is so successful, because it offers the bare minimum. 🤷🏼♂️ |
20:12:48 | FromDiscord | <shalokshalom> "Miss snail, we are doing a census. How long do you already live at this address, dune 239203, sandcorn 231-b?" |
20:12:57 | FromDiscord | <Robyn [She/Her]> Discord is putting junk upon junk unfortunately |
20:13:13 | FromDiscord | <odexine> when the infinite growth |
20:14:50 | FromDiscord | <Robyn [She/Her]> I do want to work on my chat platform idea but the energy I have is horrid and my time is minimal currently |
20:15:15 | FromDiscord | <Robyn [She/Her]> I'm just doing whatever I can to make me happy in the moment so I can work through the boredom in the rest of the day :p |
20:16:43 | FromDiscord | <pmunch> In reply to @Elegantbeef "There are honestly quite": Yeah I was looking at how libbacktrace was working because I had some issues with it. Didn't even occur to me I could just enable the override but not any of the other stuff in order to get the pointers |
20:16:53 | FromDiscord | <pmunch> But that makes this much more useful |
20:17:04 | strogon14 | Hi all, I am currently experimenting with writing LV2 format audio plugins in pure Nim. So far, there are only two basic example audio effect plugins, a "hello world" amp plugin, and a multi-mode state variable filter. |
20:17:05 | strogon14 | If you check this out, I'd appreciate if you let me know how things went. You need a host (e.g. a DAW), which is able to load LV2 plugins, like Ardour or Carla, so this probably not very relevant for Windows/macOS users. |
20:17:05 | strogon14 | https://git.0x20.eu/chris/nymph |
20:19:00 | FromDiscord | <Elegantbeef> @pmunch is the goal to have your own unhandled exception hook or for your own error library? |
20:19:10 | FromDiscord | <Phil> In reply to @strogon14 "https://git.0x20.eu/chris/nymph": Cool to see! I will admit however that I'm entirely unfamiliar with basically everything you mentioned in there that isn't a common word 😄 |
20:19:13 | FromDiscord | <odexine> good luck on the endeavour, sounds exciting ~~heh sounds~~ |
20:19:45 | strogon14 | Yeah, audio development is its own world :) |
20:19:46 | FromDiscord | <Elegantbeef> Morgan will want a #audio-chat even more 😄 |
20:19:52 | FromDiscord | <odexine> ngl the state of audio plugins is kinda fucked |
20:20:06 | FromDiscord | <pmunch> In reply to @Elegantbeef "<@392962235737047041> is the goal": Goal is a strong word, I'm mostly messing around |
20:20:07 | FromDiscord | <odexine> ah, the irreversible effects ~~heh effect~~ of vst |
20:20:32 | FromDiscord | <pmunch> Got inspired by this https://bun.sh/blog/bun-report-is-buns-new-crash-reporter to see if it was possible to make a Nim library which did the same thing |
20:20:45 | FromDiscord | <Elegantbeef> Yea pmunch we already talked about bun |
20:20:48 | FromDiscord | <Elegantbeef> It's past your bed time |
20:21:01 | strogon14 | odexine, is it? Windows / macOS devs are curretly tyring to get away from the Steinberg VST ( Apple AU duopoly, but that deosn#t really concern me on Linux :) |
20:21:47 | FromDiscord | <pmunch> That was hours ago though, maybe you had forgotten 😛 |
20:21:56 | FromDiscord | <odexine> from what ive heard as a user of vsts, its kinda jank, though most of the jank has come from the vst2 to 3 migration kinda thing, i think? tbh im just a user |
20:22:03 | FromDiscord | <odexine> ive not really looked into the impl details |
20:22:18 | strogon14 | On the FLOSS world, I have the impression that almost every other day a new exciting effect or synth plugin is released. |
20:22:22 | FromDiscord | <odexine> i just hear a lot of devs complaining about vst2 and sometimes 3 |
20:23:02 | FromDiscord | <saint.___.> I think everyone will move to clap soon |
20:23:07 | FromDiscord | <saint.___.> I mean not soon but eventually |
20:23:20 | strogon14 | Steinberg declared VST2 dead and is trying to force devs and users away from it, but VST3 is a bit over-enigineered. |
20:24:30 | FromDiscord | <odexine> In reply to @saint.___. "I think everyone will": 👏 |
20:24:39 | FromDiscord | <odexine> maybe i should sleep |
20:24:40 | strogon14 | Also it's kinda married to C++ and as my example shows, devs are starting to explore other languages for audio plugin dev. There's already a sizable number of Rust-based plugins. |
20:25:07 | FromDiscord | <odexine> In reply to @strogon14 "Also it's kinda married": wow thats frustrating, tying it to a specific language... |
20:25:24 | strogon14 | C++ dominates audio dev in general. |
20:27:04 | strogon14 | You generally don't want a GC messing with the code that runs in the core audio loop. With C/C++ that's just a given. But with Nim you have control over the GC, so it's a good fit. |
20:28:06 | strogon14 | Anyway, back to making music :-) CU |
20:45:13 | * | lucasta joined #nim |
20:52:58 | FromDiscord | <pmunch> In reply to @Elegantbeef "If so you can": Hmm, just tried this. Running `myException.getStackTraceEntries()` it returns an empty sequence when `-d:nimStackTraceOverride` is enabled |
20:58:07 | FromDiscord | <pmunch> It seems to throw some hooks in here and there which messes with things |
20:58:11 | FromDiscord | <Elegantbeef> I guess nothing populates `trace` |
20:59:04 | FromDiscord | <pmunch> Yeah, but it also modifies how traces are written etc. |
20:59:21 | FromDiscord | <pmunch> https://github.com/search?q=repo%3Anim-lang%2FNim%20stackTraceOverride&type=code |
20:59:28 | FromDiscord | <pmunch> Touches quite a few things |
21:01:56 | FromDiscord | <Elegantbeef> Yea it does not write to it with that flag set |
21:01:56 | FromDiscord | <Elegantbeef> Odd |
21:03:24 | FromDiscord | <Elegantbeef> With the flag enabled it emits `stackTraceOverrideGetProgramCounters` and by default it's a noop |
21:03:52 | FromDiscord | <Elegantbeef> So seems one is suppose to register their own procs for getting traces |
21:04:19 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=ftyRPboEjpEi |
21:05:18 | FromDiscord | <pmunch> Yeah, that's what libbacktrace does (and why this feature was added in the first place) |
21:05:20 | FromDiscord | <Elegantbeef> So I guess what I told you does not help much |
21:05:29 | FromDiscord | <pmunch> Anyways, I'm off to bed. If anyone wants to give it a whirl themselves this is what I've got so far: https://pasty.ee/nEPjjlZqyHiP |
21:06:14 | FromDiscord | <pmunch> It's quite messy and doesn't work great, but it might be a starting point |
21:07:16 | FromDiscord | <Elegantbeef> I assume this will require rewriting `globalRaiseHook` and `globalUnhandledHook` |
21:07:20 | FromDiscord | <pmunch> Since an error reporting system would mostly be useful for release builds anyways I guess using Nims stacktraces wouldn't work great anyways |
21:07:27 | FromDiscord | <Elegantbeef> Inside the raise hook you get the program counters and add them to the error |
21:07:38 | FromDiscord | <pmunch> Of course unless you enable it with --stacktraces:on |
21:08:08 | FromDiscord | <pmunch> Hmm, that is an interesting proposal |
21:09:41 | FromDiscord | <pmunch> But without the stackTraceOverride there isn't a field to put the address in.. |
21:10:01 | FromDiscord | <pmunch> Could of course stuff it in the message, but that's a bit of a hack |
21:10:09 | FromDiscord | <pmunch> Anyways, I'm off to bed as I said |
21:19:57 | FromDiscord | <pmunch> Maybe just calling `backtrace` would be enough: https://www.gnu.org/software/libc/manual/html_node/Backtraces.html |
22:06:05 | * | Batzy quit (Ping timeout: 256 seconds) |
22:27:32 | * | def- quit (Quit: -) |
22:28:42 | * | def- joined #nim |
22:34:47 | * | Maksimilan joined #nim |
22:54:35 | * | modev joined #nim |
22:55:07 | * | modev quit (Client Quit) |
23:23:01 | * | dza quit (Excess Flood) |
23:24:28 | * | dza joined #nim |
23:32:50 | FromDiscord | <MDuardo> I believe `std/terminal` as a bug↵Bright colors aren't the same as the ones set in the terminal |
23:33:13 | FromDiscord | <MDuardo> This can be compensated using ANSI but it's a bit painful |
23:33:23 | FromDiscord | <Elegantbeef> "PRs welcome" 😄 |
23:33:48 | FromDiscord | <MDuardo> I'm trying to see if someone already made a PR |
23:34:26 | FromDiscord | <Elegantbeef> I have to stop myself from giving a sassy response to that |
23:34:40 | FromDiscord | <MDuardo> Nah, it was funny |
23:35:00 | FromDiscord | <Elegantbeef> Well then the sassy response is, "Sir this is a matrix, not the github pull request tab" |
23:42:18 | FromDiscord | <MDuardo> I just don't want Araq to say someone already made a PR and send me to the Shadow Realm |