<< 28-04-2024 >>

00:10:14FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=LstQFTnjgEJR
00:10:49FromDiscord<sOkam! 🫐> I just want to exit the top loop from the inner loop
00:12:14FromDiscord<Elegantbeef> https://forum.nim-lang.org/t/9897#65308 steal this code
00:13:21FromDiscord<Elegantbeef> You also could move the `SearchFilters` above the first for
00:13:29FromDiscord<Elegantbeef> Which is what you truly want
00:15:19FromDiscord<Elegantbeef> Though I'd just make that into a proc
00:16:39FromDiscord<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:03FromDiscord<Elegantbeef> Well that was unclear in your example
00:17:22FromDiscord<sOkam! 🫐> sry
00:17:30FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=YNREaJWWJFHz
00:17:44FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=nwxjaMtQSVik
00:17:54FromDiscord<Elegantbeef> But I'd still just use a proc
00:18:28FromDiscord<sOkam! 🫐> how would that look like with a proc? returning a bool from it?
00:19:09FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=hAnIvwJwzUQj
00:19:53FromDiscord<Elegantbeef> Whoops
00:19:57FromDiscord<Elegantbeef> `data.maybeAdd(...)`
00:22:27FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=VGmYMRDxcZVr
00:22:59FromDiscord<sOkam! 🫐> (edit) "https://play.nim-lang.org/#pasty=mRffSRMcppJR" => "https://play.nim-lang.org/#pasty=wqokEIgNtLcY"
00:23:39FromDiscord<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:24NimEventerNew 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:48FromDiscord<stefanlight> sent a code paste, see https://play.nim-lang.org/#pasty=CCosZMmCiTNF
07:45:10FromDiscord<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:16FromDiscord<Elegantbeef> Pmunch do you mean to use for Nim development or for going from unhandled exceptions to a url?
08:02:44FromDiscord<intellij_gamer> In reply to @stefanlight "hi everyone, i trying": Remember having that error . Compile with `-d:ssl` maybe?
08:03:55FromDiscord<Phil> Ah beef, araq also suggested closures but even after experimenting with them I seem to be missing the point
08:05:11FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=eWyqEdiHMTCT
08:05:26FromDiscord<stefanlight> In reply to @intellij_gamer "Remember having that error": thanks! it's helped : )
08:05:41FromDiscord<Phil> Wait is this where I really must look into closure iterator because they do some magic sauce different?
08:06:54FromDiscord<Elegantbeef> No closure iterators are just continuable routines
08:07:05FromDiscord<Elegantbeef> I still do not get what behaviour is required so cannot elaborate about closures
08:07:11FromDiscord<Elegantbeef> But it can just be used for type erasure
08:08:40FromDiscord<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:55FromDiscord<Phil> In reply to @Elegantbeef "But it can just": Type erasure is what I need here I think
08:11:16FromDiscord<Phil> So I guess I'll look into some closure iterator docs first
08:11:21FromDiscord<Phil> and see if I can learn the concept
08:13:55FromDiscord<Phil> Wait, how the heck would that differ from a normal closure for my purposes
08:14:10FromDiscord<Phil> Let me try to see if I can come up with a code example
08:28:23*cnx joined #nim
08:29:31FromDiscord<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:24FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=VAosWTXosNlm
08:38:29FromDiscord<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:46FromDiscord<Phil> closures coming in clutch
08:39:11FromDiscord<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:38FromDiscord<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:50FromDiscord<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:58FromDiscord<zidsal> (edit) "~has" => "~~has" | "seconds~↵↵never" => "seconds~~↵↵never"
09:07:27FromDiscord<Elegantbeef> @Phil Nice, but why are you screaming generic parameters?
09:07:52FromDiscord<Phil> To differentiate them from actual types and variables
09:08:13FromDiscord<Elegantbeef> Well that's pointless
09:08:15FromDiscord<Elegantbeef> But you do you
09:08:15FromDiscord<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:43FromDiscord<the_real_hypno> I wouldnt say pointless
09:11:58FromDiscord<the_real_hypno> It just doesnt have an effect
09:12:47FromDiscord<odexine> Generic types are pretty much just as real as concrete types to me
09:20:03FromDiscord<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:42FromDiscord<zidsal> I mean thats clearly just the compiler inflicting divine punishing you for forcing it to do more work
09:21:49FromDiscord<zidsal> (edit) "I mean thats clearly just the compiler inflicting divine punishing ... you" added "on"
09:24:55FromDiscord<the_real_hypno> Also T is getting screamed aswell
09:25:04FromDiscord<Elegantbeef> No it's not
09:25:06FromDiscord<Elegantbeef> It's a type
09:25:09FromDiscord<Elegantbeef> Types are capitalised
09:25:17FromDiscord<the_real_hypno> But a big one
09:25:22FromDiscord<the_real_hypno> Thats getting screamed
09:25:52FromDiscord<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:09FromDiscord<the_real_hypno> Like int?
09:28:37FromDiscord<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:57FromDiscord<madonuko> (the "additional file" is a polkit policy file)
09:29:38FromDiscord<the_real_hypno> In reply to @madonuko "how can I write": https://github.com/nim-lang/Nim/tree/devel/tools%2Fniminst
09:29:42FromDiscord<the_real_hypno> ?
09:30:52FromDiscord<the_real_hypno> Need to admit i didn't use it yet but i read that its for creating installers
09:32:40FromDiscord<madonuko> In reply to @the_real_hypno "https://github.com/nim-lang/Nim/tree/devel/tools%2F": no documentations?
09:34:22FromDiscord<the_real_hypno> Can't tell you, i just saw it while i was lurking through the folder
09:35:03FromDiscord<the_real_hypno> https://nim-lang.org/docs/niminst.html
09:35:15FromDiscord<the_real_hypno> Tools category
09:35:15FromDiscord<madonuko> oh
09:36:00FromDiscord<madonuko> I have been lurking in the nimble docs because I thought I could somehow change the behaviour of nimble install
09:38:28FromDiscord<the_real_hypno> I usually do such things with Nimscript or a seperate Python script. Probably just out of laziness 🤷‍♂️
09:38:59FromDiscord<madonuko> you can import os in nimscript?
09:39:11FromDiscord<the_real_hypno> Yes
09:39:27FromDiscord<madonuko> I've been living under a giant rock or something
09:40:08FromDiscord<the_real_hypno> Na, i don't think its getting used a lot
09:40:25FromDiscord<the_real_hypno> Atleast judging by the public repos
09:41:17FromDiscord<madonuko> I see
09:41:32FromDiscord<madonuko> I'm current writing a system upgrader so that's why
09:54:14FromDiscord<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:22FromDiscord<Phil> And it appears to behave as anticipated
09:57:01FromDiscord<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:14FromDiscord<zidsal> now you just need to implement the DSL for marbel diagram testing!
09:57:27FromDiscord<Phil> Yeah no, ain't gonna happen, somebody can contribute that
09:57:42FromDiscord<Phil> I'll have enough to do just implementing operators and not going insane
09:58:13FromDiscord<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:15FromDiscord<Phil> Funnily enough what I was actually working on is my multithreading runtime that I'm procrastinating on like a motherfucker
09:58:16FromDiscord<zidsal> (edit) removed "😛"
09:58:42FromDiscord<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:54FromDiscord<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:21FromDiscord<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:22FromDiscord<Phil> sent a long message, see https://pasty.ee/ydKGcstFsIhn
13:41:35FromDiscord<Phil> (edit) "https://pasty.ee/nGDVlWpJGNlP" => "https://pasty.ee/nlSUjsaRLCSt"
13:43:46FromDiscord<nocturn9x> is there no way to compile code in release mode and keeping the stack/linetrace=
13:43:49FromDiscord<nocturn9x> (edit) "stack/linetrace=" => "stack/linetrace?"
13:44:11FromDiscord<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:15FromDiscord<nocturn9x> like thanks lmao b
13:44:16FromDiscord<nocturn9x> (edit) removed "b"
13:46:08FromDiscord<odexine> In reply to @isofruit "Can someone give me": …procedure
13:46:38FromDiscord<Phil> procedure is the overarching term for everything executable in nim though
13:46:47FromDiscord<Phil> or callable rather I guess
13:47:03FromDiscord<Phil> you even define closures with proc
13:47:15FromDiscord<Phil> So that feels meh
13:47:19FromDiscord<nocturn9x> because closures are procedures? lol
13:47:34FromDiscord<nocturn9x> a procedure is a series of steps packaged up with a name and a signature
13:47:36FromDiscord<nocturn9x> it's all it is
13:47:41FromDiscord<Phil> Yeah but I want to very specifically name `proc(value : T)`
13:48:09FromDiscord<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:19FromDiscord<odexine> Mutator
13:48:32FromDiscord<odexine> If you want a term I just thought of
13:48:37FromDiscord<odexine> With no regard for meaning
13:48:47FromDiscord<odexine> With no careful regard of meaning
13:48:50FromDiscord<Phil> I'm about to go with mapper, filter and tapper
13:48:58FromDiscord<Phil> I don't like the last one
13:49:05FromDiscord<Phil> But at the very least its reminiscent of the FP term
13:49:21FromDiscord<odexine> Mona—
13:52:06*MacDef joined #nim
13:54:46*MacDefender quit (Ping timeout: 255 seconds)
13:56:28FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=qWUEHTLAAHfO
13:56:30FromDiscord<nocturn9x> In reply to @nocturn9x "If I compile with": is there any way to get this to wor?
13:56:31FromDiscord<nocturn9x> (edit) "wor?" => "work?"
13:56:34FromDiscord<nocturn9x> it's really annoying
13:57:07FromDiscord<Phil> I'm not familiar with anything.
13:59:27FromDiscord<Phil> Okay not even ading the closure pragma helps here, hmm
14:02:15*krux02_ joined #nim
14:03:17FromDiscord<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:27FromDiscord<nocturn9x> I am using `nim c`
14:03:43FromDiscord<nocturn9x> I even tried with just `-d:release`
14:03:52FromDiscord<nocturn9x> it will not print a stack trace unless it's in debug mode
14:04:00FromDiscord<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:56FromDiscord<pmunch> In reply to @nocturn9x "it's really annoying": Use status-im/libbacktrace perhaps?
14:06:39FromDiscord<pmunch> Oh wait, with a segfault? Hmm
14:07:15FromDiscord<nocturn9x> yeah
14:19:29FromDiscord<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:30FromDiscord<Phil> Yup, if I name it `filta` it works
14:29:06FromDiscord<odexine> Prolly means your proc isn’t specific enough?
14:30:24FromDiscord<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:44FromDiscord<pmunch> I can't find a way to get program counters from Nim stack traces though..
14:30:52FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=yrShEpzlfRvR
14:31:19FromDiscord<odexine> That should apply properly
14:31:30FromDiscord<odexine> It’s more specific than the other filter proc
14:32:06FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=JbTAvDxHOXjM
14:32:17FromDiscord<Phil> (edit) "https://play.nim-lang.org/#pasty=oIkAOlgbEBei" => "https://play.nim-lang.org/#pasty=sDAnXJPrcGQC"
14:32:25FromDiscord<Phil> (edit) "https://play.nim-lang.org/#pasty=nYJqTLLprYpC" => "https://play.nim-lang.org/#pasty=HLLoVhvoxgBS"
14:32:37FromDiscord<odexine> Full error
14:33:13FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=IdpHUZKaGOCu
14:33:42FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=rqLOpMXTXKPq
14:35:11FromDiscord<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:30FromDiscord<odexine> What externals are you importing
14:36:49FromDiscord<odexine> Or everything you’re importing
14:38:25FromDiscord<Phil> `import std/[times, monotimes, os, sequtils, options, sugar, strutils]`
14:38:30FromDiscord<Phil> wait, wtf
14:38:35FromDiscord<Phil> Why is sequtils in there
14:38:52FromDiscord<odexine> :baqua:
14:39:17FromDiscord<Phil> Welp, removing that didn't change anything
14:39:21FromDiscord<odexine> Why would that filter match your observable type though?
14:39:28FromDiscord<Phil> I wasn't using it and removing the import still fucks me
14:39:42FromDiscord<odexine> Why would any of the filters match your observable type
14:40:02FromDiscord<Phil> absolutely beyond me
14:40:09FromDiscord<Phil> actually...
14:40:14FromDiscord<Phil> Oh god damn, one sec, I think I got it
14:40:21FromDiscord<odexine> What did you make the type
14:41:21FromDiscord<Phil> 😮‍💨
14:41:31FromDiscord<Phil> My definition of OperatorObservable screwed me because I'm not smart
14:41:45FromDiscord<Phil> Remember when I needed names for side-effect procs, so I went mapper, filter tapper
14:42:02FromDiscord<odexine> Sure
14:42:20FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=aAAljZqnbPwz
14:42:27FromDiscord<Phil> (edit) "https://play.nim-lang.org/#pasty=PoHVxTpdjutS" => "https://play.nim-lang.org/#pasty=CYDSNDRWNcCl"
14:42:53FromDiscord<odexine> Ah this is just like the “read write past tense” enum
14:42:54FromDiscord<Phil> I have changed the name to `mapProc`, `filterProc` and `tapProc`, works as intended now
14:43:24FromDiscord<odexine> Congrats on discovering the one possible pitfall of UFCS
14:43:31FromDiscord<odexine> Field collision
15:03:12*ntat joined #nim
15:39:53*fallback quit (Read error: Connection reset by peer)
15:43:10FromDiscord<madonuko> how can I turn Path into string
15:43:23FromDiscord<madonuko> why doesn't it implement `$` or something
15:47:45*MacDef quit (Quit: WeeChat 4.2.2)
15:49:27FromDiscord<kots> it's a distinct string so just do a type conversion
15:49:41FromDiscord<madonuko> cast[string]()?
15:49:45FromDiscord<Phil> .string
15:49:50FromDiscord<madonuko> oh ok
15:49:59FromDiscord<Phil> distinct types you can convert the easy way
15:50:13FromDiscord<madonuko> nvm `std/paths` doesn't even work in nimscripts
15:50:27FromDiscord<madonuko> that sucks
15:50:35FromDiscord<madonuko> awwww
15:50:53FromDiscord<madonuko> this is painful
15:51:30FromDiscord<madonuko> sent a code paste, see https://play.nim-lang.org/#pasty=CVNXivYFhlQa
15:51:43FromDiscord<madonuko> so yeah
16:04:48*fallback joined #nim
16:08:09*xet7 quit (Remote host closed the connection)
16:15:37FromDiscord<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:19FromDiscord<Robyn [She/Her]> In reply to @af0rg02 "Tf is nimscripts and": Nimscript is an interpreted subset of Nim
16:33:33FromDiscord<Robyn [She/Her]> Used for configuration and nimble
16:37:21FromDiscord<the_real_hypno> In reply to @madonuko "nvm `std/paths` doesn't even": Are you trying to launch the script?
16:37:47FromDiscord<madonuko> no
16:37:49FromDiscord<madonuko> https://github.com/Ultramarine-Linux/umupgrader/blob/master/install.nims
16:37:53FromDiscord<madonuko> I fixed it
16:37:54FromDiscord<af0rg02> That sounds idiotic, but whatever.↵(@Robyn [She/Her])
16:37:59FromDiscord<the_real_hypno> Ah ok
16:38:50FromDiscord<madonuko> basically by reinventing the wheel
16:38:56FromDiscord<madonuko> sent a code paste, see https://play.nim-lang.org/#pasty=byigcHEQfbIK
16:39:39FromDiscord<madonuko> In reply to @af0rg02 "That sounds idiotic, but": also there's `nim secret`
16:39:49FromDiscord<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:59FromDiscord<madonuko> agreed
16:41:10FromDiscord<madonuko> somehow it's still better than shell scripts in some cases
16:42:05FromDiscord<Robyn [She/Her]> Nim's syntax is just delightful imo :)
16:42:13FromDiscord<madonuko> exactly
16:43:12FromDiscord<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:23FromDiscord<shalokshalom> Yeah, Bash is much better 😛
17:01:19FromDiscord<Robyn [She/Her]> I use 🐟
17:01:29FromDiscord<shalokshalom> me too
17:01:37FromDiscord<shalokshalom> Hey, fellow fishy wink
17:02:01FromDiscord<shalokshalom> I made a thing
17:02:02FromDiscord<shalokshalom> codeberg.org/shalokshalom/add-and-friends
17:02:20FromDiscord<shalokshalom> (edit) "codeberg.org/shalokshalom/add-and-friends" => "https://codeberg.org/shalokshalom/add-and-friends"
17:06:23FromDiscord<Robyn [She/Her]> Garuda Linux?
17:10:19FromDiscord<odexine> distro
17:11:06FromDiscord<shalokshalom> Arch derivate
17:11:19FromDiscord<shalokshalom> Hi Rika 👋🏼
17:11:42FromDiscord<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:29FromDiscord<shalokshalom> It has fish set as default shell
17:18:58FromDiscord<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:49FromDiscord<odexine> In reply to @shalokshalom "Hi Rika 👋🏼": hello
19:04:13*fallback joined #nim
19:06:26FromDiscord<pmunch> In reply to @chronos.vitaqua "Used for configuration and": And macros
19:06:55FromDiscord<pmunch> In reply to @af0rg02 "That sounds idiotic, but": It's not
19:07:44*ntat quit (Quit: Leaving)
19:13:01FromDiscord<Robyn [She/Her]> In reply to @pmunch "And macros": And macros, I forgot about that xD
19:28:58FromDiscord<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:01FromDiscord<Elegantbeef> @pmunch do you have an exception?
19:37:10FromDiscord<Elegantbeef> If so you can use `trace` to get a `StackTraceEntry` then if you compile with `nimStackTraceOverride` you can access the `programCounter`
19:37:20FromDiscord<Robyn [She/Her]> Who says he isn't results-oriented 😛
19:37:35FromDiscord<Elegantbeef> Then you could replace the `unhandledExceptionHook` with your own that does what you want
19:38:11FromDiscord<Elegantbeef> Are you mocking me for not seeing messages?!
19:38:56FromDiscord<Robyn [She/Her]> Am I? 🙃
19:39:46FromDiscord<Elegantbeef> I don't know which message has got your goat!
19:41:08FromDiscord<Robyn [She/Her]> Then you should pop on Discord to check :rotated_left_smile:
19:41:13FromDiscord<Robyn [She/Her]> I wish that was an emoji
19:41:42FromDiscord<Elegantbeef> I just mean I sent two messages before you responded
19:42:51strogon14Discord is proprietary bullshit. Why should one prefer it over free platforms like Matrix or IRC?
19:43:04FromDiscord<Robyn [She/Her]> I'm just being annoying xD
19:43:24FromDiscord<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:47FromDiscord<Elegantbeef> Mwaaaaah robyn says in response
19:45:30FromDiscord<pmunch> In reply to @Elegantbeef "If so you can": Oooh, didn't think about that!
19:46:55FromDiscord<Elegantbeef> There are honestly quite a bit of hidden low level details in global pointer procs 😄
19:47:08strogon14I recommend reading the up on "enshittyfication": https://doctorow.medium.com/social-quitting-1ce85b67b456
19:47:08strogon14Or the WP article if TL;DR: https://en.wikipedia.org/wiki/Enshittification
19:47:36FromDiscord<Elegantbeef> The irony of linking a medium post about enshittification
19:47:58FromDiscord<Elegantbeef> It's like making a discord server against ephemeral messages
19:48:59FromDiscord<Elegantbeef> For context medium now opens up with a banner covering half of your screen if you are not signed in
19:49:14FromDiscord<Elegantbeef> You can close it of course, but that's shit
19:53:43FromDiscord<Robyn [She/Her]> In reply to @strogon14 "I recommend reading the": Already well aware of this honestly
19:53:44FromDiscord<nnsee> In reply to @af0rg02 "That sounds idiotic, but": and it sounds idiotic because...?
19:54:51FromDiscord<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:10FromDiscord<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:19FromDiscord<Robyn [She/Her]> I'm curious honestly
19:56:28FromDiscord<Elegantbeef> What does that even mean
19:56:33FromDiscord<Elegantbeef> My messages go in and they go out
19:57:01FromDiscord<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:03FromDiscord<odexine> well its one thing to have some sort of basic usability
19:57:13FromDiscord<odexine> another thing to be tolerable for the masses
19:57:24FromDiscord<Robyn [She/Her]> That and offering QoL features that make the non-techies wanna move
19:58:06FromDiscord<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:15FromDiscord<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:48FromDiscord<.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:18FromDiscord<Elegantbeef> Nim does not generate portable C it generated platform dependant C
20:01:39FromDiscord<Elegantbeef> You can do `--os:any -d:useMalloc` to get it more protable
20:01:43FromDiscord<.lisuwu_> In reply to @Elegantbeef "Nim does not generate": Then what is the point of `--os:any` ?
20:01:45FromDiscord<Elegantbeef> portable even
20:02:20FromDiscord<.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:33FromDiscord<.lisuwu_> Stuff like setjmp, am i supposed to implement those on my own or?
20:02:36*nazgulsenpai joined #nim
20:03:02FromDiscord<.lisuwu_> (edit) "Oh, but it does still generate C with those libraries, which again ... boils" added "issue"
20:03:07FromDiscord<Robyn [She/Her]> Use `--exceptions:goto` ^^
20:03:16FromDiscord<Elegantbeef> If they're using arc/orc that's the default
20:03:42FromDiscord<odexine> In reply to @Elegantbeef "You can do `--os:any": the antitable faction is against this behaviour
20:03:45FromDiscord<Robyn [She/Her]> I remember a regression where setjmp was used in `exceptions:goto` and iirc Ringabout fixed it but 🤷‍♀️
20:03:50FromDiscord<odexine> down with tables
20:04:15FromDiscord<Elegantbeef> Rika I was so confused for a second
20:04:24FromDiscord<Elegantbeef> I think the better joke is "The chair faction"
20:04:42FromDiscord<.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:44FromDiscord<odexine> ok jokester go make the joke quicker next time
20:04:48FromDiscord<Robyn [She/Her]> No worries! :D
20:05:38FromDiscord<Elegantbeef> Rika we all know I have the comedic skills of a dead horse being pummelled
20:06:23FromDiscord<odexine> i dont know how you figured that out, seems pretty impressive that you have
20:06:43FromDiscord<.lisuwu_> In reply to @Elegantbeef "You can do `--os:any": Any more options I could use?
20:06:47FromDiscord<Elegantbeef> I'm no longer allowed on any ranches
20:07:01FromDiscord<.lisuwu_> All I want is to be able to use Nim really, I don't like using C here
20:07:02FromDiscord<Elegantbeef> Those are the important flags
20:07:17FromDiscord<odexine> nim compiles to c so you essentially have to use it
20:07:19FromDiscord<Elegantbeef> https://nim-lang.org/docs/nimc.html#nim-for-embedded-systems has some more information
20:07:22FromDiscord<shalokshalom> sent a long message, see https://pasty.ee/mCOlWLeJmAcJ
20:07:22FromDiscord<.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:33FromDiscord<.lisuwu_> In reply to @odexine "nim compiles to c": Atleast I don't write C directly
20:07:48FromDiscord<.lisuwu_> That's all it matters for me
20:08:18FromDiscord<.lisuwu_> (edit) removed "where I don't even have OS"
20:08:29FromDiscord<.lisuwu_> In reply to @Elegantbeef "https://nim-lang.org/docs/nimc.html#nim-for-embedde": Thanks!
20:08:51FromDiscord<Robyn [She/Her]> In reply to @shalokshalom "I think about XMPP.": That checks out tbf
20:09:59FromDiscord<Elegantbeef> But many snails live in the desert
20:11:04FromDiscord<odexine> how many tho
20:11:16FromDiscord<odexine> how do u know, have u checked? smh smh
20:11:37FromDiscord<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:43FromDiscord<shalokshalom> When you think about it, Discord is so successful, because it offers the bare minimum. 🤷🏼‍♂️
20:12:48FromDiscord<shalokshalom> "Miss snail, we are doing a census. How long do you already live at this address, dune 239203, sandcorn 231-b?"
20:12:57FromDiscord<Robyn [She/Her]> Discord is putting junk upon junk unfortunately
20:13:13FromDiscord<odexine> when the infinite growth
20:14:50FromDiscord<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:15FromDiscord<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:43FromDiscord<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:53FromDiscord<pmunch> But that makes this much more useful
20:17:04strogon14Hi 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:05strogon14If 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:05strogon14https://git.0x20.eu/chris/nymph
20:19:00FromDiscord<Elegantbeef> @pmunch is the goal to have your own unhandled exception hook or for your own error library?
20:19:10FromDiscord<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:13FromDiscord<odexine> good luck on the endeavour, sounds exciting ~~heh sounds~~
20:19:45strogon14Yeah, audio development is its own world :)
20:19:46FromDiscord<Elegantbeef> Morgan will want a #audio-chat even more 😄
20:19:52FromDiscord<odexine> ngl the state of audio plugins is kinda fucked
20:20:06FromDiscord<pmunch> In reply to @Elegantbeef "<@392962235737047041> is the goal": Goal is a strong word, I'm mostly messing around
20:20:07FromDiscord<odexine> ah, the irreversible effects ~~heh effect~~ of vst
20:20:32FromDiscord<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:45FromDiscord<Elegantbeef> Yea pmunch we already talked about bun
20:20:48FromDiscord<Elegantbeef> It's past your bed time
20:21:01strogon14odexine, 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:47FromDiscord<pmunch> That was hours ago though, maybe you had forgotten 😛
20:21:56FromDiscord<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:03FromDiscord<odexine> ive not really looked into the impl details
20:22:18strogon14On the FLOSS world, I have the impression that almost every other day a new exciting effect or synth plugin is released.
20:22:22FromDiscord<odexine> i just hear a lot of devs complaining about vst2 and sometimes 3
20:23:02FromDiscord<saint.___.> I think everyone will move to clap soon
20:23:07FromDiscord<saint.___.> I mean not soon but eventually
20:23:20strogon14Steinberg declared VST2 dead and is trying to force devs and users away from it, but VST3 is a bit over-enigineered.
20:24:30FromDiscord<odexine> In reply to @saint.___. "I think everyone will": 👏
20:24:39FromDiscord<odexine> maybe i should sleep
20:24:40strogon14Also 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:07FromDiscord<odexine> In reply to @strogon14 "Also it's kinda married": wow thats frustrating, tying it to a specific language...
20:25:24strogon14C++ dominates audio dev in general.
20:27:04strogon14You 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:06strogon14Anyway, back to making music :-) CU
20:45:13*lucasta joined #nim
20:52:58FromDiscord<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:07FromDiscord<pmunch> It seems to throw some hooks in here and there which messes with things
20:58:11FromDiscord<Elegantbeef> I guess nothing populates `trace`
20:59:04FromDiscord<pmunch> Yeah, but it also modifies how traces are written etc.
20:59:21FromDiscord<pmunch> https://github.com/search?q=repo%3Anim-lang%2FNim%20stackTraceOverride&type=code
20:59:28FromDiscord<pmunch> Touches quite a few things
21:01:56FromDiscord<Elegantbeef> Yea it does not write to it with that flag set
21:01:56FromDiscord<Elegantbeef> Odd
21:03:24FromDiscord<Elegantbeef> With the flag enabled it emits `stackTraceOverrideGetProgramCounters` and by default it's a noop
21:03:52FromDiscord<Elegantbeef> So seems one is suppose to register their own procs for getting traces
21:04:19FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=ftyRPboEjpEi
21:05:18FromDiscord<pmunch> Yeah, that's what libbacktrace does (and why this feature was added in the first place)
21:05:20FromDiscord<Elegantbeef> So I guess what I told you does not help much
21:05:29FromDiscord<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:14FromDiscord<pmunch> It's quite messy and doesn't work great, but it might be a starting point
21:07:16FromDiscord<Elegantbeef> I assume this will require rewriting `globalRaiseHook` and `globalUnhandledHook`
21:07:20FromDiscord<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:27FromDiscord<Elegantbeef> Inside the raise hook you get the program counters and add them to the error
21:07:38FromDiscord<pmunch> Of course unless you enable it with --stacktraces:on
21:08:08FromDiscord<pmunch> Hmm, that is an interesting proposal
21:09:41FromDiscord<pmunch> But without the stackTraceOverride there isn't a field to put the address in..
21:10:01FromDiscord<pmunch> Could of course stuff it in the message, but that's a bit of a hack
21:10:09FromDiscord<pmunch> Anyways, I'm off to bed as I said
21:19:57FromDiscord<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:50FromDiscord<MDuardo> I believe `std/terminal` as a bug↵Bright colors aren't the same as the ones set in the terminal
23:33:13FromDiscord<MDuardo> This can be compensated using ANSI but it's a bit painful
23:33:23FromDiscord<Elegantbeef> "PRs welcome" 😄
23:33:48FromDiscord<MDuardo> I'm trying to see if someone already made a PR
23:34:26FromDiscord<Elegantbeef> I have to stop myself from giving a sassy response to that
23:34:40FromDiscord<MDuardo> Nah, it was funny
23:35:00FromDiscord<Elegantbeef> Well then the sassy response is, "Sir this is a matrix, not the github pull request tab"
23:42:18FromDiscord<MDuardo> I just don't want Araq to say someone already made a PR and send me to the Shadow Realm