<< 08-03-2024 >>

00:43:54FromDiscord<bosinski2023> sent a code paste, see https://play.nim-lang.org/#pasty=ZySqmEVdqqfe
00:47:26*azimut quit (Quit: ZNC - https://znc.in)
00:49:02*azimut joined #nim
00:51:47FromDiscord<demotomohiro> In reply to @chronos.vitaqua "How would a borrow": https://nim-lang.github.io/Nim/manual_experimental.html#view-types
04:07:41FromDiscord<seb_mid> sent a code paste, see https://play.nim-lang.org/#pasty=CPaaFxbEnGWS
04:09:14FromDiscord<Elegantbeef> Hello
04:12:42FromDiscord<girvo> Does it make conceptual sense for a `withMutex(someFreeRTOSMutex, 1000.Millis):` to `raise` an exception? (Specifically if taking the mutex times out)
04:19:22FromDiscord<Elegantbeef> If you want to handle it that way instead of returning a value
04:27:03FromDiscord<girvo> Hm I didn't even think about having it return something. I dunno, I've been doing both, raises + (bool, T) but I wasn't sure what made the most sense when I'm replacing `withLock(l): some block here`
04:42:18FromDiscord<girvo> sent a code paste, see https://play.nim-lang.org/#pasty=tJTTmgFUMPxG
04:42:59FromDiscord<Elegantbeef> `const operator = ` is the only thing we have
04:43:05FromDiscord<Elegantbeef> Nim has no real runtime constness
04:43:09FromDiscord<girvo> yeah fair enough
04:54:12FromDiscord<girvo> I'll just move these to use StackStrings instead
04:54:43FromDiscord<girvo> Makes more sense in this context I think anyway, I'm trying to make the type system do more than it should run-time wise
04:54:56*krux02_ quit (Remote host closed the connection)
04:58:07FromDiscord<girvo> Ah, damn. I thought StackString[Size] was "up to" -- didn't realise `ss "whatever"` required it to be Size long
04:59:10FromDiscord<Elegantbeef> Make a new constructor that works like `ss[size]("...")` 😄
05:00:28FromDiscord<girvo> toStackStringTruncate(size) appears to do what I'm after haha
05:00:35FromDiscord<girvo> (even though I know statically it's smaller than Size)
05:12:32FromDiscord<girvo> sent a long message, see https://pasty.ee/XOMZYJGUiofe
05:13:00FromDiscord<girvo> Honestly I think all of this I'm going to make use seq + string for now anyway until the logic is sorted
05:19:44FromDiscord<Elegantbeef> Inference in object constructors is still unimplemented but would be welcomed 😄
05:20:45FromDiscord<girvo> 😄 might be a good excuse to get my hands dirty
05:25:40FromDiscord<Elegantbeef> https://github.com/nim-lang/Nim/blob/devel/compiler/semobjconstr.nim#L479 😛
05:40:00*rockcavera quit (Remote host closed the connection)
06:21:19FromDiscord<haoyu233> https://media.discordapp.net/attachments/371759389889003532/1215544859671269446/PWP2NCYHK15BX3V2.png?ex=65fd235e&is=65eaae5e&hm=268cd8a79379bc937457bad7a08a007688b35b7944c7d99ceea1121a1283eb3e&
06:44:14*azimut quit (Ping timeout: 260 seconds)
06:45:12FromDiscord<girvo> sent a code paste, see https://play.nim-lang.org/#pasty=uOxjXZgHDnGP
06:45:37FromDiscord<girvo> (which it didn't yell about before when Operator was just `Operator(code: "12345")`
06:52:25FromDiscord<girvo> Eh I've made them `let` and change some of this to `ref object` anyway
06:52:41FromDiscord<girvo> Clearer in this case and avoids some duplication
07:07:48*advesperacit joined #nim
07:16:39FromDiscord<Elegantbeef> @girvo what did you expect that last code block to do?
07:56:26FromDiscord<A2> https://gitlab.com/AsbjornOlling/nim-json-bug-reproduction
07:56:27FromDiscord<A2> I whittled my problem from yesterday down to a minimally reproducible bug.↵↵What would be the best place to report something like this? In Git? On the forum?
07:59:49Amun-Rais that related to the bug in the language? → github
08:00:10Amun-RaI mean https://github.com/nim-lang/Nim/issues
08:02:50FromDiscord<A2> Super, I'll make an issue on there \:)
08:03:11FromDiscord<A2> I mean, I guess it might be a bug in std/json
08:03:19FromDiscord<A2> Is that considered part of the language?
08:05:47FromDiscord<demotomohiro> @A2 Yes.↵Report a bug in standard library to the link @Amun-Ra posted.
08:11:25FromDiscord<Elegantbeef> There is no bug here though
08:18:14FromDiscord<Elegantbeef> Hmph although the code written is not memory safe there is a bug here
08:19:17FromDiscord<Elegantbeef> Yea there is very much a cpp backend issue here so just use C 😛
08:20:25FromDiscord<Elegantbeef> But for reference `cstring $parseJson($input)` must not outlive `$parseJson($input)` so you were doing memory unsafe behaviour
08:21:25*redj quit (Quit: No Ping reply in 180 seconds.)
08:24:17*redj joined #nim
08:24:38FromDiscord<arnetheduck> In reply to @A2 "I whittled my problem": when using nim as a statkc library from another language, you also need to initialize the garbage collector: https://status-im.github.io/nim-style-guide/interop.html#runtime-library-initialization
08:24:45FromDiscord<arnetheduck> (edit) "statkc" => "static"
08:24:59FromDiscord<Elegantbeef> Shouldn't need to with orc
08:25:47FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "*Shouldn't need to with": Why not?
08:26:02FromDiscord<Elegantbeef> Cause it doesn't need to be init
08:26:09FromDiscord<Elegantbeef> Only top level code needs `NimMain` afaik
08:26:17FromDiscord<Elegantbeef> I could be wrong and it might just be arc but I thought it was for both
08:26:21FromDiscord<Robyn [She/Her]> Oh okay then
08:26:44FromDiscord<Elegantbeef> Seems it is a gc issue so even with orc you need to init it
08:27:09FromDiscord<Elegantbeef> It's a good practice to call `NimMain` regardless for the toplevel code
08:28:19FromDiscord<Elegantbeef> Yea Arne is very much right you need that `NimMain` call
08:30:34FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=DWSgDkARFdHJ
08:30:54FromDiscord<Elegantbeef> Whilst you can bubble up exceptions to C++ it's not pretty to go across the barrier
08:40:47FromDiscord<Elegantbeef> Realising now I really made a lot minor mistakes
08:41:01FromDiscord<Elegantbeef> Someone should take my keyboard away from me until I think about what I did
08:41:25FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=yYzmNrdSBSmb
08:42:53FromDiscord<ringabout> cpp backend needs `NimMain` with whatever mm. c backend shouldn't need it with arc (or orc may be)
08:43:33FromDiscord<ringabout> typeinfo needs to be initialized in the case of cpp
08:43:41FromDiscord<A2> ahh oki. that's probably my problem.
08:43:42FromDiscord<A2> the project I'm working on has external C++ dependencies though \:/
08:43:55FromDiscord<A2> I used to have `NimMain` when I was using `--mm:refc`, but then I read somewhere that I don't need it for `orc`, so I removed it. That's probably what introduced this bug.
08:45:22FromDiscord<Robyn [She/Her]> In reply to @A2 "the project I'm working": Can't you include C code in a C++ project?
08:45:40FromDiscord<A2> yeah but I want to call c++ code from nim
08:45:47FromDiscord<Robyn [She/Her]> Ah okay
08:45:52FromDiscord<Robyn [She/Her]> Yeah fair enough
08:46:09FromDiscord<A2> yeah it's c++ calling nim calling c++
08:46:16FromDiscord<A2> i promise it makes sense in context though 😅
08:46:24FromDiscord<A2> now I'm gonna go read about initializing the gc
08:47:35Amun-Rayo dawg…
08:47:36Amun-Ra:P
08:47:39FromDiscord<Robyn [She/Her]> In reply to @A2 "yeah it's c++ calling": I understand that don't worry aha
08:50:31FromDiscord<A2> hold on that wasn't your code haha sorry
08:50:31FromDiscord<A2> @elegant
08:50:31FromDiscord<A2> sent a code paste, see https://play.nim-lang.org/#pasty=CxmTJnWlrixl
08:50:33FromDiscord<A2> [Elegantbeef](https://matrix.to/#/%40elegantbeef%3Amatrix.org)
08:50:35FromDiscord<A2> sent a code paste, see https://play.nim-lang.org/#pasty=wkFKhoOLlJjR
08:50:40FromDiscord<A2> sent a code paste, see https://play.nim-lang.org/#pasty=YRKPbpMhvJBA
09:20:46FromDiscord<A2> nevermind I figured it out!
09:20:46FromDiscord<A2> thanks for all of your help, cool im people!
09:20:48FromDiscord<A2> thanks for all of your help, cool nim people!
09:36:46FromDiscord<Elegantbeef> A2 Just to explain for those in the back of the class, that uses the constructor attribute which runs code when the library/program is opened
09:37:13FromDiscord<Elegantbeef> This allows you to not need to manually call `NimMain`
09:39:21FromDiscord<Elegantbeef> There of course is a `destructor` and really Nim should generate those for `staticLib` and `lib`
09:47:18FromDiscord<ringabout> There is a C API which destroys globals for staticlib/lib => https://github.com/nim-lang/Nim/pull/23357
09:47:50FromDiscord<Elegantbeef> There still are resource issues that need to be addressed but that's a good start
09:51:14FromDiscord<Elegantbeef> Nim should reset and free all globals and `threadvar` and call orc on exit afaik
09:51:15FromDiscord<Elegantbeef> oh also Nim RTL procedures need to abide by the nim main prefix probably 😄
10:44:50FromDiscord<demotomohiro> @ElegantBeef @A2↵It seems `attribute ((constructor))` is a GCC extension, not standard C code.↵So if you use backend compiler other than GCC, doesn't above code fail to compile?
10:46:13FromDiscord<bosinski2023> is there anything alike std::nth_element in nim std/???
10:46:52FromDiscord<demotomohiro> Maybe, you can avoid using `attribute ((constructor))` and export `NimMain` proc and call it from C/C++ code.
10:51:56FromDiscord<demotomohiro> In reply to @bosinski2023 "is there anything alike": Probably in std/algorithm or std/sequtils if Nim has a proc similar to it.
10:53:56FromDiscord<bosinski2023> In reply to @demotomohiro "Probably in std/algorithm or": std/algorithm was my first idea, theres lower/upperBound but no nth_element. I'll look in seqtools
10:57:21FromDiscord<bosinski2023> In reply to @demotomohiro "Probably in std/algorithm or": can i compile to C and use `nth_element` from `std::nth_element` ? or is that naive 🙂
10:57:57FromDiscord<bosinski2023> (edit) "naive" => "stupid"
10:59:36FromDiscord<demotomohiro> Nim can import template functions from C++.
11:01:08FromDiscord<bosinski2023> In reply to @demotomohiro "Nim can import template": thats great news,, i found smth in the manual .. looks sophisticated..
11:09:14FromDiscord<demotomohiro> https://github.com/Clonkk/nim-cppstl↵Source code in Nim bindings for the C++ STL might help you.
11:14:29FromDiscord<bosinski2023> sent a code paste, see https://play.nim-lang.org/#pasty=KuOoAogwAKwK
11:15:47FromDiscord<bosinski2023> (edit) "https://play.nim-lang.org/#pasty=LRYLWqivRDFt" => "https://play.nim-lang.org/#pasty=bbeVNjEqqBdG"
11:18:15FromDiscord<demotomohiro> As `std::nth_element` is a C++ function in standard library, you don't need to add other library.
12:04:23FromDiscord<bosinski2023> sent a code paste, see https://play.nim-lang.org/#pasty=WEquqcoiUWHC
12:04:41FromDiscord<bosinski2023> (edit) "https://play.nim-lang.org/#pasty=oKZNyLNvyAHg" => "https://play.nim-lang.org/#pasty=MIszVwQDWaIV"
12:05:11FromDiscord<bosinski2023> (edit) "https://play.nim-lang.org/#pasty=LbKjjUTRxCEO" => "https://play.nim-lang.org/#pasty=kHwuWhOqLdZa"
12:17:05*lucasta joined #nim
12:23:57FromDiscord<bung8954> `Error: invalid command line option: '--cpu'` `when compileOption("cpu", "amd64")` I double checked document, why it says invalid ?
12:34:31Amun-Rawhen defined amd64: …
12:36:47FromDiscord<bung8954> ah, thanks!
12:45:22Amun-Rathat should be a compileoption too
12:56:52FromDiscord<bung8954> hope so
13:05:52FromDiscord<bung8954> sent a code paste, see https://play.nim-lang.org/#pasty=XCkRjorGegCS
13:06:32FromDiscord<bung8954> it only happens on my m1 mac, github CI's older macos all worked.
13:10:06Amun-Rahave you tried compiling using c or cpp backend?
13:10:43Amun-Rahmm, is that C one already
13:11:03FromDiscord<bung8954> it's clang by default
13:11:33FromDiscord<bung8954> yes, backend is c
13:11:41Amun-Rathat may be a bug in spuppy
13:12:25FromDiscord<bung8954> no idea, darwin package also have same problem, but it worked for years.
13:14:21FromDiscord<bung8954> sent a code paste, see https://play.nim-lang.org/#pasty=OvLVjOlvPFjv
13:15:23Amun-RaNSString is objc I'm not familiar with
13:18:18FromDiscord<bung8954> it's distinct int, but I think not related, cuz the error complain about different type
13:19:41Amun-RaNSString an int?
13:20:01FromDiscord<bung8954> it's a pointer actually
13:20:08Amun-Ratry compiling the probject with objc backend
13:20:11Amun-Raproject*
13:24:57FromDiscord<bung8954> well, some new error comes `Error: undeclared identifier: 'c_isnan'`
13:27:40Amun-Raand that's why one should be very careful using casts and low level types in projects (regarding spuppy, whatever it is)
13:34:07FromDiscord<bung8954> maybe just because clang updated..
14:07:43*rockcavera joined #nim
14:20:40*azimut joined #nim
14:25:41arkanoiddoes cast operation impact on performance, or it just disappears on compilation just like the rest of the type system? In other words, is it a compile time or runtime thing?
14:41:07FromDiscord<odexine> Compile time thing
14:54:36*KhazAkar quit (Ping timeout: 255 seconds)
14:55:15*KhazAkar joined #nim
15:02:09*droidrage quit (Ping timeout: 272 seconds)
15:02:14*qwestion quit (Ping timeout: 252 seconds)
15:16:28*KhazAkar quit (Ping timeout: 246 seconds)
15:17:21*KhazAkar joined #nim
15:36:05*KhazAkar quit (Ping timeout: 256 seconds)
16:05:15*KhazAkar joined #nim
16:12:16*KhazAkar quit (Ping timeout: 260 seconds)
16:14:06*KhazAkar joined #nim
16:19:24*junaid_ joined #nim
16:29:59arkanoidodexine, thanks
17:13:59FromDiscord<madonuko> https://github.com/nim-lang/Nim/blob/version-2-0/lib/std/strbasics.nim#L47
17:14:12FromDiscord<madonuko> the example looks wrong?
17:14:36FromDiscord<madonuko> setSlice() needs 2 args but it's giving it 1 only
17:15:12FromDiscord<graveflo> its the calling syntax `a.x(n)` is `x(a, n)`
17:15:41FromDiscord<graveflo> wait nvm. i misread. its prob a overload
17:16:47*ntat joined #nim
17:16:58FromDiscord<odexine> `dup` is a special macro that makes functions return copies
17:17:10FromDiscord<odexine> https://nim-lang.org/docs/sugar.html#dup.m%2CT%2Cvarargs%5Buntyped%5D
17:18:15FromDiscord<odexine> `a.dup(setSlice(7 .. 9))` makes a version of setSlice like this `func setSlice(s: string, slice: Slice[int]): string` then calls it with `...(a, 7..9)`
17:18:15FromDiscord<leorize> it's a feature
17:18:29FromDiscord<leorize> `dup()` duplicates an expression and allow you to apply mutable operations to it
17:18:41FromDiscord<odexine> i wonder if the bridge is being slow today
17:27:27FromDiscord<␀ Array 🇵🇸 🍉> probably is
17:30:44rockcaveraI'm using the official extension for vscode and it seems that `when not defined(nimsuggest)` is not working to avoid marking errors with `{.fatal: "".}`
17:45:36*KhazAkar quit (Ping timeout: 260 seconds)
17:49:10*robertmeta quit ()
18:06:47FromDiscord<Robyn [She/Her]> In reply to @rockcavera "I'm using the official": Have you tried `nimcheck`?
18:09:29*KhazAkar joined #nim
18:09:50*silverhikari joined #nim
18:30:03*KhazAkar quit (Ping timeout: 256 seconds)
18:30:59FromDiscord<poison.h> Are there any reasons to use Nim for malware development? I'm a security/cybersecurity researcher and looking for a decent language to write Windows PoC's in. I've already dabbled with C, Golang, and Crystal and i'm turning my eyes towards experimenting with Nim, I'm just curious of your use cases and the upsides you've had. Like multi-threading, memory safety, performance in general (compile times, etc), yada yada.
18:31:17FromDiscord<poison.h> (edit) "Are there any reasons to use Nim for malware development? I'm a security/cybersecurity researcher ... and" added "(malware analyst also)"
18:37:29*om3ga quit (Read error: Connection reset by peer)
18:38:13*silverhikari quit (Quit: Leaving)
18:38:24FromDiscord<.bobbbob> In reply to @poison.h "Are there any reasons": You aren't slick
18:38:51*KhazAkar joined #nim
18:38:55FromDiscord<Elegantbeef> Gotta have those memory safe malwares
18:41:17FromDiscord<poison.h> In reply to @Elegantbeef "Gotta have those memory": Like memory safety vulnerabilities
18:41:57FromDiscord<poison.h> multi-threading for efficient creation of multiple processes and data race preventions, which is bad but exploitable also
18:42:27FromDiscord<poison.h> Quick compile times so resources aren't being utilised heavily for long periods of time, like rust fffg
18:42:29FromDiscord<poison.h> (edit) "fffg" => "f,eg"
18:42:34FromDiscord<poison.h> (edit) "f,eg" => "f.eg."
18:42:58FromDiscord<poison.h> (edit) "rust" => "rust's cargo"
18:43:01FromDiscord<demotomohiro> There are malwares written in Nim.↵And Nim compiler/tools and programs written in Nim often detected by anti-virus softwares.
18:43:10*KhazAkar quit (Ping timeout: 264 seconds)
18:43:46FromDiscord<poison.h> Well it's a bit odd.
18:43:51*KhazAkar joined #nim
18:44:48FromDiscord<poison.h> `948dbf8e3fdd1b5242e3d662fd25c50e9b2586e097be8a85c22d7db2bde70bad` must be flagged in windows defenders signature blocklist
18:45:10FromDiscord<poison.h> because I can't download the x64 version of Nim
18:45:39FromDiscord<poison.h> however, I can download the x86 version
18:45:49FromDiscord<poison.h> so 64-bit nono, 32-bit okok
18:47:32FromDiscord<poison.h> https://www.reddit.com/r/nim/comments/11cteg6/is_nims_site_hacked/↵↵Even after reading a bunch of helpful peoples replies to this mans question, it's still a bit of a silly way to handle the situation.
18:48:25FromDiscord<demotomohiro> I think that is because your AVs detected x64 version of Nim.↵Probably no one write malware in x86 and only x64 version is detected.
18:48:35FromDiscord<poison.h> Windows doesn't class Admin -> Kernel a security issue, but they'll flag Nim for something it itself doesn't promote and something it's not at fault for.
18:48:48FromDiscord<poison.h> It's the same with C and golang as well, why not flag them?
18:49:22FromDiscord<poison.h> In reply to @demotomohiro "I think that is": well on x86 (32-bit) you have 4GB memory space to work with, it's enough for malware.
18:49:47FromDiscord<poison.h> you don't need like the 2TB etc that x86_64 (64-bit) offers
18:50:42FromDiscord<poison.h> it's useful but if you're writing covert malware to reside in memory after secondary payload execution (if following a lockheed martin CKC pattern) then your malware shouldn't be excessively big.
18:55:10FromDiscord<demotomohiro> sent a long message, see https://pasty.ee/uyyCEvfvaGFj
18:58:29FromDiscord<leorize> nim should probably switch its gcc out
19:06:36FromDiscord<Robyn [She/Her]> Oh? Why?
19:14:14FromDiscord<poison.h> In reply to @demotomohiro "Many people reported Nim": I do not think so at all, unless you are quoting?
19:14:32FromDiscord<poison.h> I do not understand why Nim is getting flagged with all these flase positives.
19:14:40FromDiscord<poison.h> I have not analyzed the source code.
19:14:47FromDiscord<poison.h> (edit) "analyzed" => "analyed"
19:14:50FromDiscord<poison.h> (edit) "analyed" => "analysed"
19:17:48*evaloop joined #nim
19:18:21FromDiscord<leorize> their gcc build is ancient and could be generating code that causes AV to trip up
19:18:31*evaloop left #nim (Leaving)
19:18:56FromDiscord<poison.h> Backdoor:Win32/Bladabindi!ml
19:19:36FromDiscord<poison.h> Thats the false positive upon downloading the x64 version
19:32:06*azimut quit (Remote host closed the connection)
19:32:33*azimut joined #nim
19:44:07FromDiscord<Robyn [She/Her]> How is this supposed to work? https://alaviss.github.io/nim-sys/sockets.html#read%2CAsyncConn%5B%5D%2Cref.string
19:45:16FromDiscord<leorize> you create a `ref string` with the length that you want to size the read operation with
19:45:26FromDiscord<leorize> pass it to that function
19:45:32FromDiscord<Robyn [She/Her]> How do I create a ref string? 😅
19:45:35FromDiscord<leorize> and it will return the length you get, but won't change the actual string length
19:46:08FromDiscord<griffith1deadly> In reply to @chronos.vitaqua "How do I create": new(string)
19:46:10FromDiscord<leorize> `let x = new string; x[].setLen(desiredLength)`
19:46:19FromDiscord<Robyn [She/Her]> Ooooh okay thanks!
19:50:54FromDiscord<Robyn [She/Her]> The LSP is bugging out so bad and it is causing so much frustration to me
19:53:31*lucasta quit (Quit: Leaving)
20:04:39arkanoidwow https://github.com/amkrajewski/nimCSO
20:16:43FromDiscord<Robyn [She/Her]> Good lord Nim feels so unintuitive
20:16:59FromDiscord<Robyn [She/Her]> I just rage-deleted my HTTP server code because I just couldn't be bothered
20:17:13FromDiscord<Robyn [She/Her]> Nim is so intuitive in syntax yet the tooling...
20:17:25FromDiscord<Elegantbeef> Skill issue
20:19:35FromDiscord<Robyn [She/Her]> I don't want to feel like I'm fighting the tooling to get a decent lib working ._.
20:19:40*ntat quit (Quit: Leaving)
20:19:47FromDiscord<Elegantbeef> So then disable the tooling and just rely on the compiler
20:19:50FromDiscord<Elegantbeef> Live in the year 1902
20:20:35FromDiscord<poison.h> they didn't have compilers back in 1902
20:20:48FromDiscord<Elegantbeef> Shit really?
20:20:54FromDiscord<poison.h> the turing machine wasn't made till later on
20:20:55FromDiscord<poison.h> yes
20:21:04FromDiscord<Elegantbeef> I have a book "Intro to Compilers" written by Einstein
20:21:17FromDiscord<poison.h> which was written when
20:21:27FromDiscord<Elegantbeef> 1901
20:21:33FromDiscord<poison.h> and this was about
20:21:35FromDiscord<poison.h> what
20:21:38FromDiscord<poison.h> computer programming
20:21:45FromDiscord<poison.h> didn't think so
20:21:48FromDiscord<Elegantbeef> Writing compilers for the present leg architecture
20:21:56FromDiscord<poison.h> shut the fuck up
20:21:57FromDiscord<poison.h> 🤣
20:22:20FromDiscord<Elegantbeef> Think I'll pass
20:23:09FromDiscord<guttural666> how do I declare a distinct int type that handles exactly the same as a normal int type?
20:23:40FromDiscord<Elegantbeef> You don't
20:23:51FromDiscord<guttural666> I want inc and stuff, do I have to borrow everything or how do I do that
20:23:54FromDiscord<djazz> {.borrow.}
20:24:10FromDiscord<Elegantbeef> Yep you have to borrow all the ops or implement them yourself
20:24:27FromDiscord<Elegantbeef> Feel free to steal https://github.com/beef331/nimtrest/blob/master/lender.nim#L224-L242 😛
20:24:32FromDiscord<poison.h> https://media.discordapp.net/attachments/371759389889003532/1215757064807256084/GjFSBnq.png?ex=65fde8ff&is=65eb73ff&hm=fe63d3f70672b4e469af4296afb986aedff21a825e1fbce40c75b64586403b8c&
20:24:35FromDiscord<poison.h> hmm very interesting
20:24:38FromDiscord<guttural666> seems painful if I just want to make my proc signatures more expressive
20:24:40FromDiscord<poison.h> the lies thicken
20:24:47FromDiscord<poison.h> just to stir shit
20:25:09FromDiscord<Elegantbeef> You see lies I see a deliberate attempt at comedy that flew over you like the planes
20:25:18FromDiscord<demotomohiro> If distinct int have eveything int have, it sound like not distinct, just an int alias.
20:25:20FromDiscord<poison.h> the planes?
20:25:32FromDiscord<guttural666> In reply to @demotomohiro "If distinct int have": yeah that's what I want
20:25:33FromDiscord<Elegantbeef> Whilst your googling feel free to search "Hyperbole"
20:25:35FromDiscord<poison.h> this guy needs to hope his ass off of irc
20:25:43arkanoidThe first compiler is written in the bible, but the right order of letters to pick is yet unknown
20:25:46FromDiscord<Elegantbeef> Nah demo it makes sense
20:25:48FromDiscord<poison.h> cocky fuck
20:25:55FromDiscord<Elegantbeef> Lol
20:26:04FromDiscord<Elegantbeef> I make a joke and you get angry cause you miss it
20:26:07FromDiscord<poison.h> In reply to @arkanoid "The first compiler is": we're talking about computer compilers
20:26:13FromDiscord<poison.h> computers werent fucking invented then
20:26:20FromDiscord<poison.h> In reply to @Elegantbeef "I make a joke": are you 12 or 40
20:26:23FromDiscord<poison.h> pick or choose
20:26:28FromDiscord<Elegantbeef> Why not both
20:26:33FromDiscord<poison.h> so you're a masochist ok
20:26:41FromDiscord<guttural666> In reply to @demotomohiro "If distinct int have": just reading about alias, didn't know that existed, thanks!
20:26:48FromDiscord<demotomohiro> In reply to @guttural666 "yeah that's what I": You can do `type MyInt = int`.
20:26:52FromDiscord<poison.h> stir shit until the pot is warm and spill it all out on yourself some more
20:26:59FromDiscord<Elegantbeef> Stir what shit?
20:27:03FromDiscord<Elegantbeef> You called me out for making a clear joke
20:27:06FromDiscord<poison.h> the shit you sperged out to begin with
20:27:14FromDiscord<poison.h> you fucking narcissist
20:27:14FromDiscord<Elegantbeef> Are you ok?
20:27:18FromDiscord<Elegantbeef> Do you want to talk about it?
20:27:20FromDiscord<poison.h> are you autistic?
20:27:33FromDiscord<Elegantbeef> I don't think so
20:27:38FromDiscord<poison.h> then rethink it
20:27:50FromDiscord<Elegantbeef> I've never seen someone so offended by missing that someone was being hyperbolic
20:27:50FromDiscord<poison.h> you fucking barcolicst
20:27:56FromDiscord<Elegantbeef> Keep screaming
20:28:00FromDiscord<Elegantbeef> Really proving your point
20:28:03FromDiscord<poison.h> ?
20:28:30FromDiscord<poison.h> literally anybody who you told that to doesn't know every albert einstein book, they'll proceed to look it up, find out it doesn't fucking exist, oops wasted their fucking time
20:28:39FromDiscord<Elegantbeef> If you want to scream about your demons #offtopic exists
20:28:41FromDiscord<poison.h> I was busy doing something and you fucked over my ADHD
20:28:46FromDiscord<Elegantbeef> Lol
20:28:49FromDiscord<poison.h> have you no heart?
20:28:54FromDiscord<poison.h> no heart at all?
20:28:54FromDiscord<Elegantbeef> It's my fault you did not detect ajoke
20:28:59FromDiscord<poison.h> what
20:29:01FromDiscord<poison.h> what joke?
20:29:02FromDiscord<Robyn [She/Her]> It's really not that big of a thing-↵(@poison.h)
20:29:07FromDiscord<poison.h> what inferred it as a joke
20:29:21FromDiscord<Elegantbeef> image.png https://media.discordapp.net/attachments/371759389889003532/1215758273106411692/image.png?ex=65fdea20&is=65eb7520&hm=b8b2b9c3a6b8c45e198901ef416ac3a83467cf0b37d3baeacb9aefc05f92fdea&
20:29:21FromDiscord<poison.h> In reply to @Robyn "It's really not that": narcissist 2
20:29:27FromDiscord<Robyn [She/Her]> He wasted your time but isn't getting mad just wasting more time?
20:29:35FromDiscord<poison.h> In reply to @Elegantbeef "image.png": how was that a joke
20:29:40FromDiscord<Robyn [She/Her]> No... I'm just sleepy↵(@poison.h)
20:29:42FromDiscord<poison.h> i thought you were being serious
20:29:44FromDiscord<poison.h> dumbass
20:29:45FromDiscord<Elegantbeef> It's my fault they have to waste time cause they sincerely thought that we had compilers in the year 1902
20:29:49FromDiscord<poison.h> i was talking about the below statements
20:29:55FromDiscord<poison.h> In reply to @Robyn "No... I'm just sleepy": fix your shit please
20:29:58FromDiscord<poison.h> the clutterness is annoying
20:30:06FromDiscord<Robyn [She/Her]> \:P
20:30:07FromDiscord<poison.h> we don't care
20:30:09FromDiscord<poison.h> just reply to it normally
20:30:10FromDiscord<Robyn [She/Her]> Welp
20:30:11FromDiscord<poison.h> like a normal peson
20:30:14FromDiscord<Robyn [She/Her]> Nah
20:30:14FromDiscord<poison.h> (edit) "peson" => "person"
20:30:17FromDiscord<Robyn [She/Her]> I don't think I will
20:30:26FromDiscord<poison.h> ok then please take yourself out of the convo you self-inserted into
20:30:26FromDiscord<Elegantbeef> Jesus this person is insufferable
20:30:37FromDiscord<poison.h> I was just commenting on your outrageous statements
20:30:41FromDiscord<Elegantbeef> Robyn was the person I was talking to
20:30:43FromDiscord<poison.h> it's ok, get checked out
20:30:45FromDiscord<Elegantbeef> So if we want to talk about inserting yourself...
20:30:50FromDiscord<poison.h> if you're autistic just use it as a fucking excuse already
20:30:51FromDiscord<poison.h> stop stalling
20:31:01FromDiscord<poison.h> I had a reason
20:31:03FromDiscord<poison.h> nobody else here does
20:31:30FromDiscord<Elegantbeef> Speaking of narcissism
20:31:41FromDiscord<poison.h> it's relevant
20:31:48FromDiscord<poison.h> not irrelevant
20:31:49FromDiscord<fosster> calm down guys
20:31:51FromDiscord<poison.h> theres a difference
20:31:54FromDiscord<Elegantbeef> Around the world around the world around the world
20:32:17FromDiscord<poison.h> rookie dev doesn't understand
20:32:18FromDiscord<poison.h> it's ok
20:32:19FromDiscord<guttural666> read through the entire GUI wishlist by Araq in the nim forums yesterday, very interesting, only thing I tried that was actually working and pretty sweet was owlkettle
20:32:25FromDiscord<poison.h> get checked for autism please
20:32:27FromDiscord<poison.h> end of
20:32:30FromDiscord<poison.h> 👋
20:32:32FromDiscord<guttural666> stop it now pls
20:32:43FromDiscord<Elegantbeef> Yea owlkettle is great
20:32:45FromDiscord<Robyn [She/Her]> Nope↵(@poison.h)
20:32:45FromDiscord<Elegantbeef> Too bad I'm a rookie dev and don't know things
20:33:05FromDiscord<Robyn [She/Her]> I have ADHD and Autism, try again \:P↵(@poison.h)
20:33:07FromDiscord<guttural666> GTK and C just seems to be better to work with, qtnim or whatever its called is a clusterfuck
20:33:18FromDiscord<Elegantbeef> Yea gtk being written in C is it's super power
20:33:25FromDiscord<poison.h> In reply to @Robyn "I have ADHD and": can you stop trying to continue the convo please
20:33:26FromDiscord<guttural666> please take the flame wars somewhere else, not the place
20:33:35FromDiscord<poison.h> if you really have adhd then you would understand
20:33:42FromDiscord<Robyn [She/Her]> Didn't realise it ended
20:33:50FromDiscord<poison.h> ok then please go away now!
20:34:01FromDiscord<Robyn [She/Her]> I'm here daily, no thanks
20:34:15FromDiscord<Robyn [She/Her]> Anyway, anyone know why the official nim lang extension dropped nimsuggest support?
20:34:16FromDiscord<guttural666> we should really go back to talking about tech
20:34:17FromDiscord<poison.h> harassment won't be tolerated after being uncomfortable and asking politely for the convo to end!
20:34:24FromDiscord<Robyn [She/Her]> Unless I'm blind
20:34:29FromDiscord<Elegantbeef> Nimlangserver is supposed to be more reliable
20:34:55FromDiscord<Robyn [She/Her]> It's hallucinating \:P
20:35:09FromDiscord<Q-Master> GTK suxx \:))↵/me runs
20:35:11FromDiscord<Elegantbeef> Turn off the tooling and program like it's 1903
20:35:13FromDiscord<guttural666> I have been using nimlsp in Neovim and it seems pretty good
20:35:53FromDiscord<guttural666> In reply to @Q-Master "GTK suxx \:)) /me": yeah, but if you want to escape C++ and Qt stockholm syndrome, anything that is usable in Nim and draws fucking tables on the screen is a god send 😄
20:36:25FromDiscord<Elegantbeef> Gtk is pretty good without any of that qualification
20:36:32FromDiscord<Q-Master> heh.↵(@guttural666)
20:37:51FromDiscord<guttural666> anyway, GTK and Qt seem like absolutely monumental efforts, there's so much involved in GUI it's crazy
20:37:57FromDiscord<Q-Master> I've tried it in 2005 trying to implement gui for dvr linux soft. That was horrible. Don't think anything changed a bit since then.
20:38:09FromDiscord<poison.h> just use tauri and rust
20:38:10FromDiscord<poison.h> simple
20:38:29FromDiscord<Robyn [She/Her]> Isn't Tauri more verbose?
20:38:32FromDiscord<Elegantbeef> You don't think anything has changed in 19 years?
20:38:36FromDiscord<poison.h> isn't tauri faster
20:38:41FromDiscord<Q-Master> And then I've tried MUI on Amiga. That was awesome.
20:39:01FromDiscord<Robyn [She/Her]> Prototyping is important imo↵(@poison.h)
20:39:06FromDiscord<Robyn [She/Her]> Fast prototyping is important imo
20:39:12FromDiscord<guttural666> Rust is pain
20:39:17FromDiscord<poison.h> skill issue
20:39:50FromDiscord<whisperecean> In VSCode i see that nimsuggest is crashing upon start. Does anybody know what I can check to debug this?
20:40:14FromDiscord<Elegantbeef> Stop using choosenim and ensure you're using the official plugin
20:40:26FromDiscord<Robyn [She/Her]> Yeah Choosenim is known to cause some issues now
20:40:33FromDiscord<Robyn [She/Her]> Because of the proxy binary
20:40:33FromDiscord<whisperecean> I dont use choosenim
20:40:50FromDiscord<Robyn [She/Her]> Hm...
20:40:51FromDiscord<whisperecean> https://media.discordapp.net/attachments/371759389889003532/1215761172440285267/image.png?ex=65fdecd3&is=65eb77d3&hm=f4884a043ed1288b765cae8864faf7328b0c06c0d7e3d41cfe694e05c2ba778c&
20:40:56FromDiscord<whisperecean> This is the official plugin is not it?
20:41:01FromDiscord<Robyn [She/Her]> It is yeah
20:41:11FromDiscord<poison.h> @Robyn [She/Her] you believe in god or not
20:41:25FromDiscord<poison.h> how is it you couldnt pick a gender
20:41:26FromDiscord<Robyn [She/Her]> I don't, but offtopic channel for that↵(@poison.h)
20:41:43FromDiscord<poison.h> you were ungrateful for the life you were given lol
20:41:48FromDiscord<whisperecean> It crashes immediately.
20:41:50FromDiscord<poison.h> the 1 in a million chance to be born
20:41:51FromDiscord<whisperecean> What can I do?
20:41:52FromDiscord<poison.h> and you wasted it
20:41:58FromDiscord<poison.h> to change your gender
20:42:04FromDiscord<Elegantbeef> Lol
20:42:08FromDiscord<poison.h> ungratefully
20:42:10FromDiscord<guttural666> please stop spamming main with non-tech stuff
20:42:10FromDiscord<Robyn [She/Her]> Thanks, I'm happy with that \:D
20:42:15FromDiscord<poison.h> yw
20:42:16FromDiscord<poison.h> 👋
20:42:29FromDiscord<Robyn [She/Her]> Trolls gotta be trolls↵(@guttural666)
20:42:37FromDiscord<poison.h> i am christean btw
20:42:39FromDiscord<poison.h> not trolling
20:42:41FromDiscord<poison.h> being serious
20:42:44FromDiscord<poison.h> you are a sinner in gods eyes
20:42:45FromDiscord<Elegantbeef> You cannot even spell it properly
20:42:49FromDiscord<Robyn [She/Her]> Lmao
20:42:55FromDiscord<poison.h> christian
20:42:57FromDiscord<poison.h> I am dyslexic
20:42:58FromDiscord<Robyn [She/Her]> Imagine having the spelling ability of a 7 year old
20:43:04FromDiscord<guttural666> is this a comedic sketch?
20:43:15FromDiscord<poison.h> ok then I guess now i'm being cyberbullied and harassed for being dyslexic
20:43:15FromDiscord<Elegantbeef> Guttural it might be
20:43:16FromDiscord<Robyn [She/Her]> In reply to @poison.h "I am dyslexic": Okay... And I don't care ✨
20:43:17FromDiscord<guttural666> what's happening
20:43:20FromDiscord<Robyn [She/Her]> Throw shit eat shit
20:43:21FromDiscord<poison.h> thanks
20:43:29FromDiscord<poison.h> eligible for report now
20:43:51FromDiscord<whisperecean> Ah ok so it fails for a cloned repo
20:44:02FromDiscord<Elegantbeef> It's like abbot and castello if they didn't understand comedy
20:44:13FromDiscord<poison.h> comedy has it's own place
20:44:14FromDiscord<whisperecean> Well I have asked this before but I dont htink I've got the answer
20:44:17FromDiscord<poison.h> this isn't ther
20:44:18FromDiscord<poison.h> (edit) "ther" => "there"
20:44:19FromDiscord<whisperecean> How do I deal with these " Error: 'updateHandler (Async)' is not GC-safe as it calls 'genQuote'"
20:44:21FromDiscord<fosster> how is this guy still not banned?
20:44:29FromDiscord<poison.h> for what?
20:44:38FromDiscord<poison.h> i'm christian
20:44:42FromDiscord<Robyn [She/Her]> In reply to @fosster "how is this guy": Mods probably are away
20:44:45FromDiscord<poison.h> everything I say is from the mouth of god
20:44:46FromDiscord<Elegantbeef> Wrap your global accessing code with `{.cast(gcSafe).}: ...` or stop using globals↵(@whisperecean)
20:44:46FromDiscord<Robyn [She/Her]> In reply to @poison.h "i'm christian": And I'm trans
20:44:47FromDiscord<guttural666> In reply to @Elegantbeef "It's like abbot and": don't expect a pleb European to understand your American cultural references 😄
20:44:54FromDiscord<poison.h> In reply to @chronos.vitaqua "And I'm trans": which is a sin
20:44:55FromDiscord<whisperecean> In reply to @Elegantbeef "Wrap your global accessing": It's a cloned repo
20:44:58FromDiscord<poison.h> i mean in the bible
20:45:02FromDiscord<poison.h> 23:2
20:45:04FromDiscord<whisperecean> Also i did nimble build and nimsuggest works now
20:45:04FromDiscord<poison.h> its mentioned
20:45:25FromDiscord<Elegantbeef> @guttural666 it's comedy duo from the 40s/50s
20:45:32FromDiscord<guttural666> declaring all variables up front and not in line is a sin
20:45:39FromDiscord<guttural666> In reply to @Elegantbeef "<@375727321958580228> it's comedy duo": yeah, just looked it up
20:45:40FromDiscord<Elegantbeef> 23\:2 is not a valid bible passage
20:45:44FromDiscord<Elegantbeef> You left out the book
20:45:48FromDiscord<Elegantbeef> It's book, line, verse
20:45:58FromDiscord<poison.h> In reply to @guttural666 "don't expect a pleb": who
20:46:00FromDiscord<Elegantbeef> You're a terrible Christian
20:46:08FromDiscord<poison.h> In reply to @Elegantbeef "23\:2 is not a": yes it is
20:46:10FromDiscord<poison.h> what are you talking about
20:46:24FromDiscord<Elegantbeef> Line 23 verse 2 of which book?
20:46:29FromDiscord<poison.h> https://www.biblestudytools.com/psalms/23-2.html
20:46:35FromDiscord<poison.h> the bible
20:46:37FromDiscord<poison.h> moron
20:46:40FromDiscord<Elegantbeef> Oh so you now provide the book of psalms
20:46:48FromDiscord<poison.h> thats in the bible
20:46:52FromDiscord<poison.h> holy shit
20:46:55FromDiscord<Elegantbeef> Little known fact the bible is a joining of many books
20:46:58FromDiscord<guttural666> are you talking about compiler errors? line 23 row 2?
20:46:58FromDiscord<Elegantbeef> Pslams is the book in question here
20:47:00FromDiscord<poison.h> it is
20:47:12FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Little known fact the": Is that not a widely known thing?
20:47:22FromDiscord<poison.h> clearly not
20:47:24FromDiscord<poison.h> because it is
20:47:24FromDiscord<Phil> In reply to @poison.h "https://www.biblestudytools.com/psalms/23-2.html": This is a programming related channel. One more christianity mention and I'm dishing out timeouts
20:47:25FromDiscord<Elegantbeef> Must be no book was present↵(@guttural666)
20:47:27FromDiscord<␀ Array 🇵🇸 🍉> i dont think the nim programming language is mentioned in the biblr
20:47:40FromDiscord<Elegantbeef> Nimrod was the first king
20:47:40FromDiscord<␀ Array 🇵🇸 🍉> i dont think the nim programming language is mentioned in the bible
20:47:46FromDiscord<Robyn [She/Her]> In reply to @isofruit "This is a programming": Oh don't forget the transphobic jabs they sent at me earlier
20:47:49FromDiscord<Robyn [She/Her]>
20:48:11FromDiscord<poison.h> In reply to @isofruit "This is a programming": time me out for another week just for telling this girl that she's ungrateful for throwing away the life god gave her when she was a vessel
20:48:13FromDiscord<poison.h> it's ok
20:48:15FromDiscord<djazz> https://tenor.com/view/%ED%98%BC%ED%8C%8C%EB%A7%9D-%ED%94%BC%EC%9E%90-%EB%8B%B9%ED%99%A9-community-chaos-gif-16635574
20:48:16FromDiscord<Phil> In reply to @poison.h "moron": First warning from me to you. This is insult is a direct rule violation which you agreed to by joining the discord in the first place.
20:48:18FromDiscord<djazz> sup nim gang
20:48:24FromDiscord<poison.h> i'm ready to accept the harassment
20:48:25FromDiscord<poison.h> it's alright
20:48:27FromDiscord<Robyn [She/Her]> In reply to @poison.h "time me out for": At least you're being respectful to my pronouns :p
20:48:32FromDiscord<Elegantbeef> Yea robyn you were a vessel when you were a women
20:48:39FromDiscord<␀ Array 🇵🇸 🍉> uhh never mind then lol
20:48:40FromDiscord<Phil> As you wish
20:48:45FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Yea robyn you were": Lmao
20:49:02FromDiscord<Robyn [She/Her]> I must be a true vessel of god atm then /s
20:49:08FromDiscord<guttural666> by NIMROD he shall be known
20:49:09FromDiscord<Robyn [She/Her]> I shall drop this now aha
20:49:21FromDiscord<Elegantbeef> Yea pissing contest has subsided
20:49:26FromDiscord<Elegantbeef> @whisperecean you'l have to fork it then
20:49:30FromDiscord<guttural666> and Araq was HIS prophet
20:49:34FromDiscord<Elegantbeef> All this cause I said 1902
20:49:37FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Yea pissing contest has": XD
20:50:12FromDiscord<fosster> imagine if you said 1945..
20:50:24FromDiscord<djazz> literally 1984
20:50:40FromDiscord<Elegantbeef> So anyone got fun Nim stuffs?
20:50:51FromDiscord<djazz> working on MQTT client
20:51:10FromDiscord<djazz> reading data from my sensors
20:51:15FromDiscord<guttural666> prototypign a FIFO buffer structure for a scheduler rn
20:52:42FromDiscord<guttural666> scheduler should hand them out like cookies to clients so we have single write and read
20:52:55FromDiscord<␀ Array 🇵🇸 🍉> was working on a wrapper for the matrix bot sdk then got distracted
20:53:26FromDiscord<Elegantbeef> Tandy's fork?
20:53:29FromDiscord<fosster> time ago I was working on a bittorrent cli client in nim, but I got stuck on peer handshake bc all peers would respond with empty response, don't know why
20:53:30FromDiscord<Elegantbeef> Or your own branch?
20:54:16FromDiscord<␀ Array 🇵🇸 🍉> basiclly it should let u write bots for matrix in nim
20:54:50FromDiscord<␀ Array 🇵🇸 🍉> nah something else
20:54:58FromDiscord<Elegantbeef> Right, but are you doing the wrapping of the rest api from scratch or using tandy's code
20:54:59FromDiscord<Elegantbeef> Ah
20:55:01FromDiscord<Phil> To everyone in chat, if this kind of troll pulls up again, please just ping us mods in general. I'm forced into lower activity lately because I'm really not terribly fit post work nowadays. Time will clear up again, but in the meantime I just don't have the faculties to fulfill my work obligations to the best of my abilites and monitor chat
20:55:25FromDiscord<Robyn [She/Her]> Fair, sorry Phil!
20:55:25FromDiscord<Elegantbeef> Sorry I was having too much fun talking about Einsteins book
20:55:29FromDiscord<Robyn [She/Her]> Lmao
20:55:31FromDiscord<Phil> (edit) "To everyone in chat, if this kind of troll pulls up again, please just ping us mods in general. I'm forced into lower activity lately because I'm really not terribly fit post work nowadays. Time will clear up again, but in the meantime I just don't have the faculties to fulfill my work obligations to the best of my abilites and monitor chat ... " added "consistently. A ping would thus be greatly appreciated"
20:55:34FromDiscord<Elegantbeef> I really might be 12 years old
20:55:48FromDiscord<Robyn [She/Her]> I was having fun hearing all the transphobic spiel :P
20:55:56FromDiscord<␀ Array 🇵🇸 🍉> tandy was making a whole sdk in nim, just making a small wrapper of an already existing js/ts lib
20:56:06FromDiscord<Robyn [She/Her]> Not often people spout it at me, really makes me feel welcomed 😊
20:56:10FromDiscord<guttural666> In reply to @isofruit "To everyone in chat,": no worries, it was a fun side quest to bring order to the realm
20:56:43FromDiscord<␀ Array 🇵🇸 🍉> tandy was making a whole sdk in nim, im just making a small wrapper of an already existing js/ts lib
21:01:00FromDiscord<␀ Array 🇵🇸 🍉> there is the matrix-bot-sdk and the matrix-js-sdk both are very similar but the bot is more like discord's bot api, where as the js-sdk is used more in clients. the bot sdk abstracts the js-sdk if i understand correctly
21:02:47FromDiscord<Elegantbeef> Thought it was all just rest apis
21:06:39FromDiscord<␀ Array 🇵🇸 🍉> i think it should be? but idk
21:10:55FromDiscord<Robyn [She/Her]> I need to work on my CPS http server.... Painful though
21:39:56FromDiscord<Robyn [She/Her]> Compile times are dreadful
21:42:13*junaid_ quit (Remote host closed the connection)
21:48:57FromDiscord<graveflo> @poison.h just call him a bot. It's his only weakness. Btw the malware scanners have long since used machine learning to identify threats so those false positives are likely due to the unbalanced representation of clean Nim tools compared to the incidence rate of malware written in Nim. So writing malware in Nim is what causes that shit to happen in the first place
21:49:14FromDiscord<Robyn [She/Her]> Oop
21:49:18FromDiscord<Robyn [She/Her]> Convo is dead Graveflo-
21:49:40FromDiscord<leorize> compile with skull and it will be a bit faster↵(@Robyn [She/Her])
21:50:31FromDiscord<Robyn [She/Her]> That I shall do
21:50:37FromDiscord<Robyn [She/Her]> Lack of Nimble 😔
21:51:03FromDiscord<leorize> isn't that a feature xd
21:51:33FromDiscord<leorize> well disruptek is cooking nimph further for this
21:51:57FromDiscord<Elegantbeef> "Skull offers reproducible builds cause you can only depend on your code"
21:52:23FromDiscord<morgan> nimble seems like a fine package manager, i don't see what the issue with it is that some people have
21:52:47FromDiscord<saint.___.> I know that nimble devel or whatever is broken
21:53:01FromDiscord<saint.___.> But it's not mentioned in the docs that it doesn't work
21:53:42FromDiscord<Robyn [She/Her]> In reply to @leorize "well disruptek is cooking": Ooh
21:54:10FromDiscord<leorize> it's slow, doesn't resolve dependencies correctly, terrible global dependency behavior (which is the default)↵(@morgan)
21:54:34FromDiscord<morgan> ah ok
21:54:43FromDiscord<morgan> i guess i haven't run into any of that being an issue
21:55:01FromDiscord<leorize> and once status decided to break everyone's workflow you can imagine how nimble reputation suffers
21:55:38FromDiscord<saint.___.> In reply to @Elegantbeef ""Skull offers reproducible builds": Is this related to nimskull?
21:57:24FromDiscord<Elegantbeef> Yes
21:58:58FromDiscord<Elegantbeef> To clarify it is a joke due to lacking a package management system
22:15:02*advesperacit quit ()
22:18:56FromDiscord<guttural666> https://media.discordapp.net/attachments/371759389889003532/1215785854170169414/image.png?ex=65fe03cf&is=65eb8ecf&hm=8f964b2d3011d1a19065f7f03af4e646ba2aa8949e58691846dabfa91643da89&
22:30:30FromDiscord<Robyn [She/Her]> Cargo Nim would be great :P
22:32:41FromDiscord<guttural666> LSP pragma documentation would be killer
22:32:52FromDiscord<Robyn [She/Her]> Wdym?
22:33:14FromDiscord<guttural666> still no clue what different pragmas do, just compiler magic to me
22:35:18FromDiscord<guttural666> why is {.gcsafe.} needed for multithreaded procs, what does it do and mean, please GC don't touch this? dunno
22:36:15FromDiscord<guttural666> can't even find docs on this as a human, LSP and compiler integration is nowhere to be seen, just something "you have to know"
22:37:01FromDiscord<Elegantbeef> That'd have to be hardcoded since pragmas are all magical
22:37:05FromDiscord<Elegantbeef> That one is documented 😄
22:37:10FromDiscord<Elegantbeef> https://nim-lang.org/docs/manual.html#effect-system-gc-safety-effect
22:37:10FromDiscord<Elegantbeef> Yay my dumb ldd now prints all dependencies 😄
22:37:20FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=XBZPuXxdAsFV
22:37:38FromDiscord<guttural666> yes, but I wish at least their text form docs were kind of accessible to LSPs etc.
22:37:47FromDiscord<guttural666> i dunno how that would be possible
22:37:55FromDiscord<Elegantbeef> It has to be hardcoded so
22:38:13FromDiscord<Elegantbeef> All builtin pragmas would have to defer to hard coded descriptions
22:39:13FromDiscord<guttural666> programs can read code, and docs in code so why not
22:39:26FromDiscord<Elegantbeef> Huh?
22:39:37FromDiscord<guttural666> inline doc systems are hard coded and read by tools to auto gen docs
22:39:54FromDiscord<guttural666> I think nim has them, ABAP has them
22:39:55FromDiscord<Elegantbeef> They arent hard coded
22:39:55FromDiscord<Elegantbeef> You can change the inline docs
22:40:26FromDiscord<Elegantbeef> Pragmas are built in and do not have symbols which means you need to tell the tooling that when you have a pragma where there is an identifier `gcsafe` you print out X cause there is no actual `gcSafe` symbol
22:41:40FromDiscord<Elegantbeef> So nimsuggest needs to be modified to provide that information
22:42:44FromDiscord<guttural666> yeah, but there is somewhere where pragma logic is built, so just adjust the tool chain so that any time you compile whatever is used to build the nim compiler to know about this and its docs
22:43:14FromDiscord<guttural666> i'm no expert of the nim compiler tool chain but this is absolutely possible
22:44:17FromDiscord<norbert3873> QQ on the `{.compiletime.}` pragma. Is there a way to have one function that runs both at compile time and at run time? Or must I define the same function twice, with one given the `{.compiletime.}` pragma and the other without?
22:44:27FromDiscord<Elegantbeef> Just write the procedure
22:44:34FromDiscord<Elegantbeef> There you go you have a CT and RT procedure
22:44:54FromDiscord<Elegantbeef> `{.compileTime.}` is to force the code to be only ran at CT
22:45:00FromDiscord<Elegantbeef> It's exactly the opposite of what you want
22:45:08FromDiscord<norbert3873> O_o is that new or something
22:45:18FromDiscord<Elegantbeef> C++ style constexpr is annoying
22:45:39FromDiscord<Elegantbeef> Nim has had a VM for many years so nope not new
22:45:49FromDiscord<Elegantbeef> Who wants to annotate that a procedure can run at compile time
22:45:56FromDiscord<Elegantbeef> Just run the procedure! 😛
22:46:22FromDiscord<guttural666> In reply to @Elegantbeef "`{.compileTime.}` is to force": this would be an example, how did you learn about this? I've perused the online docs and mastering nim, but this might not be in the language spec
22:46:42FromDiscord<Elegantbeef> https://nim-lang.org/docs/manual.html#pragmas-compiletime-pragma
22:46:45FromDiscord<Elegantbeef> https://nim-lang.org/docs/manual.html#pragmas
22:46:49FromDiscord<Elegantbeef> There is a whole section
22:47:09FromDiscord<guttural666> yeah, but compiler and LSP integration is king
22:47:19FromDiscord<Elegantbeef> Right so then contribute to the tooling
22:48:01FromDiscord<guttural666> I wish I could
22:48:31FromDiscord<norbert3873> @guttural666 this is my go to for finding info on something nim related https://nim-lang.org/docs/theindex.html
22:49:40*SchweinDeBurg quit (Read error: Connection reset by peer)
22:50:11FromDiscord<guttural666> In reply to @norbert3873 "<@375727321958580228> this is my": unfortunately same problem, if I search for gcsafe, I see where it is used in func sigs but I don't really have a grasp on what it does or why it is needed in my use case
22:51:20FromDiscord<guttural666> if I multi thread I just have to know from experience, that my proc needs that, I don't know what it does or even means, that was my experience when multi threading in nim
22:52:05FromDiscord<Elegantbeef> I mean you read the manual so you now do
22:53:00FromDiscord<guttural666> just seems like stuff that is outside the compiler and LSP to reason about, stuff that you just have to know
22:53:28FromDiscord<guttural666> I don't think pragmas are a great DX
22:54:00FromDiscord<Elegantbeef> Pragmas aren't great but there arent really any alternatives
22:54:31FromDiscord<guttural666> but don't you agree that compiler and LSP awareness could help here
22:54:39*SchweinDeBurg joined #nim
22:55:01FromDiscord<Elegantbeef> What do you want me to say?
22:55:16FromDiscord<Elegantbeef> Go add them
22:55:46FromDiscord<guttural666> as soon as I'm at your level in Nim I might
22:56:36FromDiscord<guttural666> just speaking as a hobbyist programming in Nim in my free time
22:56:44FromDiscord<Elegantbeef> Shit same
22:57:04FromDiscord<Elegantbeef> I just have much more free time 😄
22:57:42FromDiscord<guttural666> seen you in the GUI discussion in the Nim forums as well
23:01:29FromDiscord<guttural666> I think V is the right approach, they just added GUI into the std (incomplete etc)
23:01:48FromDiscord<guttural666> unity of command is important
23:29:32FromDiscord<amarevite> sent a code paste, see https://play.nim-lang.org/#pasty=nkveaqONBGYF
23:31:51*def- quit (Quit: -)
23:32:22FromDiscord<graveflo> how are you supposed to call the code at the top level of a module?
23:33:05FromDiscord<graveflo> if you want to not call it wrap it in a `proc` and use `when isMainModule` in `extraStuff`
23:33:17*def- joined #nim
23:33:20FromDiscord<leorize> code at the top level is considered initialization code
23:33:29FromDiscord<leorize> and will be called before its importer
23:34:58FromDiscord<Elegantbeef> The perks of being a very imperative language everything is top down 😄
23:36:21arkanoiddamn now that I got working tooling, writing nim with nph is back being the most comfortable programming language ever
23:36:50FromDiscord<amarevite> i misunderstood how procs are imported then↵i figured the compiler "pulled out" the procs from another file to paste into the main file, which is then compiled↵i didnt realize it actually ran the code in imported files during compilation↵i just tried `when isMainModule` and thats what i was looking to do, thank you
23:37:18FromDiscord<Elegantbeef> Nope each module is it's own entity that can have it's own top level code
23:37:27FromDiscord<Elegantbeef> All top level code is called at startup
23:38:00FromDiscord<Elegantbeef> > ran the code in imported files during compilation↵You mean at runtime
23:38:01*def- quit (Client Quit)
23:38:13FromDiscord<leorize> I mean it does both
23:38:25FromDiscord<Elegantbeef> Right but in this example it's runtime
23:38:44FromDiscord<Elegantbeef> Just wanted to be clear to indicate that it is runtime in this case
23:39:30FromDiscord<graveflo> In reply to @Elegantbeef "> ran the code": was about to say, but that was pob a slip. It doesn't pull out procs but it will do dead code elim. pulling the procs into the importing module is more of `include`s behavior but I think that ignores public/private?
23:40:31FromDiscord<graveflo> besides if it worked like that the private utility functions that public functions depend on would get axed and the imported procs would get confused
23:40:43FromDiscord<Elegantbeef> It doesn't ignore anything it just copies the code verbatim
23:40:43FromDiscord<Elegantbeef> So public code is public to importers of the module you included from
23:41:02FromDiscord<graveflo> right another misused word
23:41:04FromDiscord<amarevite> i meant runtime, yes↵and would i benefit from using include instead of import? i havent used include before
23:41:13FromDiscord<leorize> nothing, really
23:41:24FromDiscord<Elegantbeef> Never use include 😄
23:41:28FromDiscord<graveflo> yea don't do that. It can be useful sometimes
23:41:31FromDiscord<Elegantbeef> You'll know when you need it
23:41:54FromDiscord<amarevite> ill stick with import then, thank you
23:42:19FromDiscord<Elegantbeef> include works just like C include which means it's nasty and can increase compile time and do things incorrectly
23:44:56FromDiscord<amarevite> ive not used c before but ill keep that in mind
23:45:33FromDiscord<Elegantbeef> Ah well it copy pastes code so if you have `type MyType = object` in a module and you `include` it the type is not compatible with other modules that `include` it
23:47:02FromDiscord<amarevite> while im here, another question i have is about `setControlCHook()`
23:47:12FromDiscord<amarevite> right now i have it just quot with exit code 0
23:47:51FromDiscord<amarevite> but i still see `SIGINT: Interrupted by Ctrl-C.` when i ctrl + c↵am i able to change or remove that message somehow?
23:48:09FromDiscord<amarevite> (edit) "quot" => "quit"
23:49:26FromDiscord<graveflo> does that happen in `release` mode? just curious. It looks like a posix specific message, so maybe do your own `onSignal` ?
23:49:45FromDiscord<graveflo> https://nim-lang.org/docs/posix.html#onSignal.t%2Cvarargs%5Bcint%5D%2Cuntyped
23:50:35FromDiscord<Elegantbeef> Nah this is cause you're doing `nim c -r ./...`
23:51:34FromDiscord<graveflo> does the nim process block while the target is running? I didn't know that
23:52:25FromDiscord<Elegantbeef> Yea it's just a child process to Nim afaik
23:54:52FromDiscord<graveflo> sent a code paste, see https://play.nim-lang.org/#pasty=WlpSGRpORpJE
23:54:52FromDiscord<amarevite> In reply to @graveflo "https://nim-lang.org/docs/posix.html#onSignal.t%2Cv": i used the example code here and it adds that after the sigint message, not in place of it↵also it keeps running in the background and populating my terminal even after ctrl c↵i had to kill it from task manager just now
23:55:34FromDiscord<Elegantbeef> How are you running the program?
23:56:24FromDiscord<graveflo> fyi I did `nim -d:release c src/...` and then `src/...` and it was still displaying the message
23:56:29FromDiscord<graveflo> must be a default hook or something?
23:56:40FromDiscord<Elegantbeef> With custom hook it does not displaay
23:56:58FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=VSCimIwVUHGm
23:57:21*def- joined #nim
23:57:35FromDiscord<graveflo> oh k idk then