<< 01-03-2023 >>

00:12:41*jmdaemon joined #nim
00:15:07FromDiscord<Hourglass [She/Her]> Honestly I don't see a reason on why it shouldn't work.... Unless for some reason, the mm is clearing the string? I don't get why it would tho considering I'm calling from the plugin on an already open socket
00:20:50FromDiscord<etra> gdb can be a great friend tbh
00:52:24FromDiscord<cirklon> sent a code paste, see https://play.nim-lang.org/#ix=4pxy
00:53:12FromDiscord<Elegantbeef> Use methods
00:53:16FromDiscord<Elegantbeef> Also refer to nimwave
00:55:52FromDiscord<cirklon> In reply to @Elegantbeef "Also refer to nimwave": ohh my god, I had no idea about that lol🤦‍♂️
00:56:27FromDiscord<cirklon> appreciate you telling me that
01:19:18FromDiscord<Iliketwertles> is converting the string `2023-02-13` to something like dateTime from `import times` ?↵im grabing a time from a shell command (cringe ik) then getting the time between() it and now to get a time
01:19:28FromDiscord<Iliketwertles> (edit) "?↵im" => "possible?↵im"
01:21:20FromDiscord<Elegantbeef> `now` exists
01:21:25FromDiscord<Elegantbeef> but you can also use `parseTime` for your cursed shit
01:21:36*jkl quit (Quit: Gone.)
01:23:21*jkl joined #nim
01:27:13FromDiscord<Iliketwertles> wow
01:27:37FromDiscord<Iliketwertles> sent a code paste, see https://play.nim-lang.org/#ix=4pxE
01:27:52FromDiscord<Elegantbeef> `now() - now()`
01:28:42FromDiscord<Iliketwertles> sent a code paste, see https://play.nim-lang.org/#ix=4pxF
01:29:24FromDiscord<Iliketwertles> wait shouldnt i get the date then? 😐 ↵big smort
01:34:04FromDiscord<Elegantbeef> What are you even trying to do
01:37:54FromDiscord<Iliketwertles> i think i got it now
01:38:13FromDiscord<Iliketwertles> just gotta make it look a lil better in the frontend if yk
01:39:16FromDiscord<Iliketwertles> sent a code paste, see https://play.nim-lang.org/#ix=4pxI
01:39:17FromDiscord<Iliketwertles> fetch
01:39:36FromDiscord<Iliketwertles> gonna make the bottom one not negative numbers
01:40:26*rockcavera quit (Read error: Connection reset by peer)
01:40:46*rockcavera joined #nim
01:40:46*rockcavera quit (Changing host)
01:40:46*rockcavera joined #nim
01:40:51FromDiscord<Iliketwertles> fixed it
01:41:38FromDiscord<Iliketwertles> https://media.discordapp.net/attachments/371759389889003532/1080303803653423184/screenshot_2023-02-28-204114.png
01:56:44FromDiscord<Xenon> looks baller, ngl
02:06:15*jmdaemon quit (Ping timeout: 256 seconds)
02:26:22*jmdaemon joined #nim
03:05:15*NimEventer quit (Remote host closed the connection)
03:05:28*NimEventer joined #nim
03:13:11FromDiscord<Iliketwertles> thanks
03:35:21*Xenon joined #nim
03:57:59*Xenon quit (Quit: Leaving)
04:01:08*theki joined #nim
04:13:09*pbsds quit (Quit: The Lounge - https://thelounge.chat)
04:14:21*m5zs7k quit (Ping timeout: 268 seconds)
04:15:08*pbsds joined #nim
04:16:20*m5zs7k joined #nim
04:22:39*m5zs7k quit (Ping timeout: 260 seconds)
04:29:56*m5zs7k joined #nim
04:35:51*m5zs7k quit (Ping timeout: 256 seconds)
04:38:28*m5zs7k joined #nim
05:29:25*arkurious quit (Quit: Leaving)
05:38:28FromDiscord<sOkam!> agreed
06:20:17*azimut quit (Ping timeout: 255 seconds)
06:56:47*advesperacit joined #nim
07:05:14FromDiscord<Phil> Sweet!
07:15:15*tiorock joined #nim
07:15:16*tiorock quit (Changing host)
07:15:16*tiorock joined #nim
07:15:16*rockcavera is now known as Guest837
07:15:16*Guest837 quit (Killed (iridium.libera.chat (Nickname regained by services)))
07:15:16*tiorock is now known as rockcavera
07:39:00*kenran joined #nim
07:52:09FromDiscord<Hourglass [She/Her]> In reply to @etra "gdb can be a": Would gdb help with figuring out why it's not getting sent despite the data all being valid, and the next line of code being executed?
08:02:16*kenran` joined #nim
08:04:22*kenran quit (Ping timeout: 268 seconds)
08:14:49*tiorock joined #nim
08:14:49*tiorock quit (Changing host)
08:14:49*tiorock joined #nim
08:14:49*rockcavera quit (Killed (mercury.libera.chat (Nickname regained by services)))
08:14:49*tiorock is now known as rockcavera
10:10:35*fallback quit (Ping timeout: 255 seconds)
10:19:18FromDiscord<SpiderDave> sent a code paste, see https://play.nim-lang.org/#ix=4pzm
10:22:07FromDiscord<enthus1ast> yes @SpiderDave , please have a look at this issue from NiGui, its the same problem https://github.com/simonkrauter/NiGui/issues/167
10:22:35FromDiscord<enthus1ast> You basically must capture the vars
10:23:11FromDiscord<SpiderDave> k, i'll have a look thanks
10:28:11FromDiscord<SpiderDave> ah, i see just adding `import std/sugar` and `capture v:` did the trick
11:52:51FromDiscord<I have 50GB of nothing on my PC> is gatabase the bestiest quasi-orm for sqlite?
12:02:00FromDiscord<Phil> ... why would it be?
12:03:44FromDiscord<I have 50GB of nothing on my PC> most stars on github
12:04:17FromDiscord<I have 50GB of nothing on my PC> at least whne i type "nim sql"
12:06:46FromDiscord<Phil> It is one possible choice for ORM.↵The syntax etc. looks pretty promising, I can't say that I used it yet though.↵There are others out there though, ormin and norm.↵I haven't used ormin either, but I have contributed to norm
12:07:00FromDiscord<Phil> (edit) "norm" => "norm, and it works well enough for what I want."
12:08:17FromDiscord<I have 50GB of nothing on my PC> from what I can see there is nothing with sql query building functionality equivalent to laravel etc?
12:08:30FromDiscord<Phil> I haven't used laravel either, so I can't really compare there
12:08:31FromDiscord<I have 50GB of nothing on my PC> all of them require a serious amount of raw sqls
12:08:41FromDiscord<I have 50GB of nothing on my PC> for me anyway
12:08:49FromDiscord<Phil> I mean, norm has that stuff for simple things
12:09:03FromDiscord<Phil> Assuming you mean pre-generated SQL for insert, update, delete and reaqd
12:09:05FromDiscord<Phil> (edit) "reaqd" => "read"
12:09:09FromDiscord<I have 50GB of nothing on my PC> yes
12:09:37FromDiscord<Phil> You won't be able to generate recursive queries in there, but it does take away the simplest things.
12:09:56FromDiscord<Phil> And for recursive queries it provides procs that allow you to write raw sql if necessary
12:10:01FromDiscord<Phil> (edit) "if necessary" => "as needed"
12:10:33FromDiscord<enthus1ast> There is also https://github.com/itsumura-h/nim-allographer
12:11:46FromDiscord<I have 50GB of nothing on my PC> thanks, examplmain example looks exactly like laravel
12:12:10FromDiscord<enthus1ast> You know what, its interesting that "everyone" wants to use a query builder etc for sql databases, so there MIGHT be an issue with sql \:)
12:14:18FromDiscord<I have 50GB of nothing on my PC> i once tried to write raw sql all over my program because I had a good "gut feeling" about it
12:14:21FromDiscord<I have 50GB of nothing on my PC> i was wrong
12:14:40FromDiscord<Phil> Eh, SQL is just verbose but it has to be. In code you can build up contexts that allow you to be more concise and based on which you can infer that stuff should be inserted/updated/read from a specific table, but in SQL you need ALL your data in one string
12:15:01FromDiscord<Phil> At that job it does pretty well. It's just that combining all that data in one string is tedious when you can infer a lot of it
12:15:12FromDiscord<Phil> (edit) "At that job it does pretty well. It's just that combining all that data in one string is tedious when you can infer a lot of it ... " added "from types etc."
12:15:38FromDiscord<enthus1ast> yeah and alot of lang's can just use it because most have strings
12:15:39FromDiscord<Phil> But databases can't assume programming languages, so they can't know what types your program has and to infer tables, desired columns etc.
12:15:40FromDiscord<enthus1ast> and lists
12:16:35FromDiscord<enthus1ast> think of + \~10 years, when we have so fast storages, that we can just persits the mem on this, or that we do not need "mem" any more
12:16:47FromDiscord<enthus1ast> good times i hope \:)
12:16:52FromDiscord<Phil> Yeah but that still makes SQL tedious to write when you know you want command to insert/update/delete/read a specific entry in 40 variations because it's about 40 different tables
12:18:08FromDiscord<Phil> You can infer more and make your life easier because you, due to knowing your types, specific method names etc., can generate it all , an SQL db can't know it
12:18:15FromDiscord<Phil> (edit) "it" => "that"
12:18:46FromDiscord<Phil> (edit) "You can infer more and make your life easier because you, due to knowing your types, specific method names etc., can generate it all , an SQL db can't know ... thatan" added "that↵Given the amount of information" | "that↵Given the amount of informationthat ... " added "an SQL db does have access to it imo does a good job at correctness as well as simplicity, at least if you can use common table expressions"
12:22:08FromDiscord<Phil> I wonder why I didn't try out allographer a year ago
12:22:20FromDiscord<enthus1ast> idk \:)
12:22:32FromDiscord<Phil> Pretty sure there was a reason, does it convert to object instances?
12:23:05FromDiscord<enthus1ast> i've not used it myself yet, but a friend of mine just started using it
12:25:28FromDiscord<Phil> Might be that it doesn't convert whatever row equivalent they have to instances, can't see any object instance examples anywhere
12:26:22FromDiscord<Phil> And that was non-negotiable for me and norm had that
12:27:19FromDiscord<enthus1ast> mh i think it can create objects, i think he showed my something like that, but idk really
12:35:25*fallback joined #nim
12:50:36*xet7 joined #nim
12:51:55*jmdaemon quit (Ping timeout: 260 seconds)
12:52:32*syl_ joined #nim
12:52:49*syl quit (Ping timeout: 256 seconds)
12:56:16*ltriant quit (*.net *.split)
12:56:16*FromDiscord quit (*.net *.split)
12:56:16*via__ quit (*.net *.split)
12:56:16*ttkap quit (*.net *.split)
12:56:17*oisota quit (*.net *.split)
12:56:17*lumidify quit (*.net *.split)
12:56:17*Amun-Ra quit (*.net *.split)
13:00:47*ltriant joined #nim
13:00:47*via__ joined #nim
13:00:47*FromDiscord joined #nim
13:00:47*ttkap joined #nim
13:00:47*oisota joined #nim
13:00:47*lumidify joined #nim
13:02:33*Amun-Ra joined #nim
13:04:52*FromDiscord quit (Write error: Broken pipe)
13:05:00*FromDiscord joined #nim
13:33:05*termer quit (Ping timeout: 255 seconds)
13:55:43*Notxor joined #nim
14:06:51*termer joined #nim
14:20:44*xet7 quit (Quit: Leaving)
14:36:23NimEventerNew Nimble package! socks5 - Socks5 client and server library, see https://github.com/FedericoCeratto/nim-socks5
14:39:21*syl_ is now known as syl
14:58:33*Notxor quit (Read error: Connection reset by peer)
15:00:02FromDiscord<ringabout> https://news.ycombinator.com/item?id=34980476
15:06:54termerHey ringabout
15:07:02FromDiscord<jmgomez> In reply to @ringabout "https://news.ycombinator.com/item?id=34980476": Thanks for sharing. Nice to see someone side mentioned NimForUE. The other day in the forums someone else commented that he revisited Nim after he heard of NUE 🙂
15:07:41termerI was doing some load testing with Prologue and noticed it was crashing when hitting any more than one thread
15:07:58FromDiscord<ringabout> In reply to @termer "I was doing some": With ORC I supposed.
15:08:02FromDiscord<ringabout> (edit) "supposed." => "supposed?"
15:08:08termerYeah
15:08:13termerthough I think I got the same with refc
15:08:48termerOh yeah, just ORC
15:08:57termerI suppose that's a known problem?
15:09:00FromDiscord<ringabout> There is simailar issue regarding ORC with httpbeast => https://github.com/nim-lang/Nim/issues/21422
15:09:05FromDiscord<ringabout> (edit) "There is ... simailar" added "a"
15:10:03termer: |
15:10:42FromDiscord<ringabout> In reply to @jmgomez "Thanks for sharing. Nice": Yeah, that video regarding NimForUE probably attracted some peope to learn Nim.
15:11:28termerI've been noticing a lot of NimForEU people
15:11:49termerThough realistically, I don't know why anyone would use Nim over C# unless they're targeting very specific things
15:12:01termerC# is fast enough and is getting native AOT compilation in .NET 7
15:12:08termerbetter AOT, I should say
15:18:32*xet7 joined #nim
15:21:53termerringabout I'm not getting any issues with HTTPX standalone using threads
15:22:12termer~/g/httpx ❯❯❯ nim r -d:release --mm:orc --threads=on tests/benchmark1.nim
15:22:30FromDiscord<ringabout> What about httpbeast?
15:22:36termerLet me see
15:22:49termerDoes prologue use httpbeast? I assumed it used httpx
15:23:43FromDiscord<ringabout> Yeah, httpx is a fork of httpbeast. I'd like to know where the issue lays.
15:23:50FromDiscord<ringabout> (edit) "lays." => "lies."
15:25:53termerI'm aware it's a fork, but there was difference in their behavior whenever I tested them
15:26:12FromDiscord<eyes> unrelated by could someone assist me in building a nim binary that depends on a C++ static library? I expected it to work with nim since the C++ library (the open dynamics engine/ODE) is precompiled in the form of ``libode.a``. And yet I get a ton of errors like this:↵``/nix/store/fhzz4yrdy17czwc9i4swhlpcp445inzb-binutils-2.40/bin/ld: (.text+0x637): undefined reference to `operator delete[](void)'``
15:26:25*azimut joined #nim
15:26:55FromDiscord<eyes> i could try using the c++ backend for nim but ODE has a C API and I've just written bindings for it, kinda trying to avoid that
15:27:06FromDiscord<ringabout> In reply to @termer "I'm aware it's a": I suppose it is something like https://github.com/planety/prologue/issues/203
15:27:46FromDiscord<ringabout> Btw, ehat's the error?
15:27:51FromDiscord<ringabout> (edit) "ehat's" => "what's"
15:28:42termerhttps://github.com/dom96/httpbeast
15:28:44termeroops
15:28:46termerSIGSEGV: Illegal storage access. (Attempt to read from nil?)
15:28:46termerSIGSEGV: Illegal storage access. (Attempt to read from nil?)
15:29:56termerUnfortunately there aren't any other details
15:29:57FromDiscord<ringabout> I see, probably a bug of ORC, I have no idea about how to solve it.
15:30:45termerThere's likely some workaround possible in Prologue's side since httpx doesn't have any issues running with ORC and threads:on
15:30:54termerof course, tracking it down is a separate issue
15:31:45*jmdaemon joined #nim
15:32:24termerringabout Also, I just tested the latest version of httpbeast with threads and ORC, and it doesn't experience crashes
15:32:29termerI think the problem is now confined to prologue
15:34:46FromDiscord<ringabout> Yeah, SIGSEGV is kind of hard to fix. GDB or Valgrind might help with finding the double free bugs.
15:35:34FromDiscord<ringabout> Could you open an issue for record?
15:39:08*Notxor joined #nim
15:42:47*Notxor quit (Client Quit)
15:42:50*Notxor_ joined #nim
15:43:36*Notxor_ quit (Client Quit)
15:44:05*Notxor joined #nim
15:46:46termerSure
15:47:25FromDiscord<ringabout> Thank you!
15:48:39termerThanks for making the library
15:55:04*kenran` quit (Remote host closed the connection)
15:59:25termerHere it is https://github.com/planety/prologue/issues/213
15:59:41FromDiscord<ringabout> Nice
16:00:11*jmdaemon quit (Ping timeout: 264 seconds)
16:00:38FromDiscord<ringabout> 1.6.10 is a bit old for ORC though,
16:01:58FromDiscord<wikimedia foundation> any recommendations for a good and up to date nim course?
16:02:01*jmdaemon joined #nim
16:03:05FromDiscord<wikimedia foundation> (edit) "a good and" => "an"
16:03:32termerringabout What do you mean?
16:03:51termerwikimedia foundation There are some tutorials on YT I saw, but I'm not sure
16:05:27termerThis is the one I was thinking of https://www.youtube.com/watch?v=hwzkIlNfGHI
16:05:33termerOnly a few months old
16:05:55FromDiscord<Gabben> sent a code paste, see https://play.nim-lang.org/#ix=4pBo
16:07:11FromDiscord<Gabben> (edit) "https://play.nim-lang.org/#ix=4pBo" => "https://play.nim-lang.org/#ix=4pBr"
16:08:07FromDiscord<jmgomez> In reply to @termer "Though realistically, I don't": You think? It has been years since I dont use it but C# felt quite limited in terms of what you can do, it is true though that the tooling and ecosystem is way better than Nims but the lang itself kinda sucks
16:11:54*arkurious joined #nim
16:13:40termerI came from Java and now write C# professionally, so it feels a lot less restrictive than Java lol
16:15:42FromDiscord<ringabout> In reply to @termer "ringabout What do you": I mean you might try 2.0rc or nightlies, which contains some ORC fixes.
16:16:00termeris that available through choosenim
16:16:12FromDiscord<ringabout> https://github.com/nim-lang/nightlies/releases/tag/2023-03-01-devel-dd629c8f450aa6bc871b54e4e549ad5fea2979a3
16:16:22FromDiscord<ringabout> yes
16:16:26FromDiscord<ringabout> choosenim update devel
16:16:58termerthat gets me to 1.9.1
16:17:24termerI actually tried that yesterday in hopes of jumping to 2.0
16:17:27FromDiscord<ringabout> Yeah, hat's nightlies
16:17:32FromDiscord<ringabout> (edit) "hat's" => "that's"
16:17:44FromDiscord<ringabout> The version for 2.0rc is 1.9.1
16:17:54FromDiscord<ringabout> (edit) "for" => "of"
16:19:11termerweird
16:19:14termerIn any case, it still crashes
16:19:36FromDiscord<Phil> In reply to @termer "I actually tried that": I can attest that developing on nim 1.9.1 feels nicer than 1.6.10.↵What gets annoying is when a breaking change gets introduced due to devel... well no yet being stable ^^
16:19:58FromDiscord<Phil> (edit) "1.6.10.↵What" => "1.6.10 (less bugs and unintended limitations, better errors, faster compile etc.)↵What"
16:20:00termerThat's why I stay away from nightlies on basically every lang I use
16:20:13FromDiscord<Phil> (edit) "no" => "not"
16:21:16FromDiscord<Phil> Fair, I admittedly had no choice due to the way I wanted to use enums
16:21:26FromDiscord<Phil> And that particular piece of syntax only has its fix in devel
16:21:26termerThis is an ORC-specific issue, which makes me think it could be a bug
16:21:28termerthere have been cases where ORC has freed memory when it shouldn't be freed, or at least it appears that way
16:21:51termerOf course, running under ARC is a no-go with asyncdispatch
16:22:00termerI killed the process after it reached 6GB memory
16:22:17*jmdaemon quit (Ping timeout: 255 seconds)
16:22:56termerOddly enough, it also performs horribly under ARC
16:23:32termer10.6GB memory usage after 30s of load testing, yet only achieved ~11k requests per second using 12 threads on my Ryzen 5 3600
16:24:51*jmdaemon joined #nim
16:25:26FromDiscord<jmgomez> Did you test the other gcs? Had an issue with ORC and a different one with refc and finally got it working with markAndSweep
16:25:55FromDiscord<ringabout> ARC cannot handle cycles, that's expected,
16:26:02FromDiscord<ringabout> (edit) "ARC cannot handle cycles, that's ... expected," added "as"
16:28:00*rockcavera quit (Remote host closed the connection)
16:28:28termerYeah, I'm aware of that, just wanted to test whether it was an ARC issue or ORC specifically
16:30:16termerNo crashes with refc
16:30:17*rockcavera joined #nim
16:37:45FromDiscord<arnetheduck> In reply to @termer "Of course, running under": we've removed cycles from chronos, for this and other reasons (ie unnecessary cycles are quite inefficient no matter which GC you use)
16:38:47FromDiscord<sigmasd> sent a code paste, see https://play.nim-lang.org/#ix=4pBP
16:42:21FromDiscord<sigmasd> oups I'm using improtcpp thats why it fails
16:42:57termerarnetheduck I'm aware of that, unfortunately the chronos ecosystem is a lot smaller than asyncdispatch
16:43:20termerI'm not sure how fast the http server that comes with chronos is, but httpbeast is pretty damn fast
16:43:41termerbut the main issue is reworking my libraries to work with chronos
16:43:56termerthere are different memory safety constraints that make it more complicated than using a when statement
16:49:28FromDiscord<sigmasd> is there a fallible array indexing function ?
16:59:35FromDiscord<Rika> no, i dont think so
17:05:59FromDiscord<arnetheduck> In reply to @termer "I'm not sure how": yup - we haven't really measured, but if you ever find yourself doing it, let us know - we haven't hit any particular performance issues, but we also don't really stress it (focusing on stability and mem usage)
17:19:53FromDiscord<lantos> sent a code paste, see https://play.nim-lang.org/#ix=4pCk
17:19:56FromDiscord<lantos> @Rika
17:20:07FromDiscord<Rika> hello
17:20:14FromDiscord<lantos> jello
17:20:20FromDiscord<lantos> plox
17:20:24FromDiscord<Rika> i dont understand the issue?
17:20:24FromDiscord<lantos> me dum dum
17:21:11FromDiscord<lantos> the nim one is returning @[]
17:21:15FromDiscord<lantos> but the python works
17:21:39FromDiscord<Rika> `if arr.len == 0: return @[]` should prolly return `@[@[]]` instead
17:21:46FromDiscord<lantos> but they are like almost line for line
17:22:02FromDiscord<Rika> i think you're tired lol
17:22:31FromDiscord<lantos> you can't @[@[]]
17:22:35FromDiscord<lantos> @.@
17:23:04FromDiscord<lantos> (edit) "@.@" => "sent a code paste, see https://play.nim-lang.org/#ix=4pCl"
17:23:52FromDiscord<Rika> `@[newSeq[int]()]`
17:24:26FromDiscord<lantos> like why did that work
17:24:29FromDiscord<lantos> xxxxxx
17:25:03FromDiscord<Rika> because if your base case is wrong the whole algorithm would fail
17:25:18FromDiscord<Rika> a recursive algorithm is very reliant on the base case being... not wrong
17:26:14FromDiscord<Rika> if you read the recursive case, youll see it iterates over the result of the base case
17:26:22FromDiscord<Rika> if the base case is empty, the loop never runs
17:26:26FromDiscord<Rika> so result will always be empty
17:27:14FromDiscord<Rika> go take a break or sleep, its prolly best
17:27:15FromDiscord<lantos> yeah it was the initialization ↵@[newSeq[int]()] == @[@[]]↵result: seq[seq[]] = @[] == @[]
17:27:30FromDiscord<lantos> In reply to @Rika "go take a break": true
17:29:18FromDiscord<lantos> (edit) "true" => "true, but thanks 🙂"
17:30:38FromDiscord<cirklon> hello nim peepl
17:31:08FromDiscord<Rika> people? no people here, we're all AI
17:31:44FromDiscord<cirklon> who says artificial intellegence can't be people
17:33:27FromDiscord<Rika> what is your definition of people?
17:33:39FromDiscord<Phil> Question to check if I'm understanding some terminology right
17:34:46FromDiscord<cirklon> In reply to @Rika "what is your definition": 🤷‍♂️
17:36:44FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=4pCs
17:38:27FromDiscord<hotdog> In reply to @Isofruit "What actually changes with": You need to look at the memory addresses to see the difference
17:38:42FromDiscord<Phil> I would, but repr returns nothing
17:38:51FromDiscord<Phil> As in, it acts as if the string were just a value type
17:39:03FromDiscord<Phil> Can't do unsafeaddr either
17:40:26FromDiscord<Phil> Oh wait, with 1.6.10 repr works somehow
17:41:00FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=4pCt
17:41:19FromDiscord<Phil> Yeah on devel I can't figure out who has what memory address
17:42:05FromDiscord<hotdog> In reply to @Isofruit "Yeah on devel I": What do you mean?
17:42:23FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=4pCv
17:42:39FromDiscord<Phil> Can't tell you the memory address when repr doesn't give it to me
17:42:56FromDiscord<hotdog> Try `cast[int](x.addr)
17:43:00FromDiscord<hotdog> (edit) "`cast[int](x.addr)" => "`cast[int](x.addr)`"
17:43:32FromDiscord<hotdog> Try importing `toHex` from std/strutils for pretty printing too
17:43:36FromDiscord<hotdog> `cast[int](x.addr).toHex()`
17:44:04FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=4pCw
17:44:05FromDiscord<leorize> yea ORC/ARC-based `repr` is pretty lackluster in implementation
17:44:15FromDiscord<leorize> Nim does not have COW strings, so they're always copied
17:44:32FromDiscord<Phil> Ah, so that's a "Comes in the future" feature
17:44:45FromDiscord<Phil> Not a "This is already on devel and ready" feature
17:45:31FromDiscord<leorize> also, for strings, use `x[0].addr` to get the buffer address
17:45:36FromDiscord<Phil> do COW strings make such a huge difference?
17:45:40FromDiscord<hotdog> I remember seeing https://github.com/planetis-m/cowstrings , but never used it
17:45:42FromDiscord<leorize> otherwise you're getting the address of the container object
17:45:58FromDiscord<leorize> depends on your use cases
17:46:09FromDiscord<leorize> free pascal uses it and they kinda hate it
17:46:39FromDiscord<hotdog> In reply to @leorize "also, for strings, use": Good point
17:47:25FromDiscord<leorize> the main gripe with CoW strings is that they're heavy when you do have to modify them
17:47:36FromDiscord<Phil> Because of deref?
17:47:53FromDiscord<leorize> no, because of allocation and copy
17:48:13FromDiscord<leorize> when you modify a referenced CoW string, it first has to be duplicated into another string before the modification can be applied
17:48:24FromDiscord<leorize> depending on where this happens, it could completely trash your program performance
17:48:39FromDiscord<Phil> The alternative in nim is "always copy" string I thought, which basically would be reducing the copying if it is only being done on write
17:49:29FromDiscord<leorize> the stuff that is used a lot these days are views
17:49:33FromDiscord<Phil> Or is this more that CoW strings in comparison to just purely staring at normal ref-strings are heavy in comparison due to the copy-operation needed, which wouldn't be necessary with just normal ref strings
17:50:12FromDiscord<Phil> Basically CoW is compared against ref-strings, not value-strings?
17:50:17FromDiscord<leorize> yea, they're designed to solve the "strings are viewed a lot but rarely modified"
17:50:54FromDiscord<leorize> that sort of magic have its downsides, which is why it's not as popular these days
17:51:13FromDiscord<leorize> people just split view and buffer out and use that instead these days
17:59:08*jmdaemon quit (Ping timeout: 246 seconds)
18:12:01FromDiscord<federico3> leorize\: sounds to me like you are describing two very different use cases that need different data types...
18:13:05FromDiscord<leorize> that's basically how cow strings phased out as default in language design
18:14:05FromDiscord<leorize> they tried to bring the advantages of immutable strings (that you probably see many languages advertised) and mutable strings together
18:14:57FromDiscord<leorize> turns out when you have a form of structure with super unpredictable performance characteristics, computers don't like it and neither do people
18:24:28*jmdaemon joined #nim
18:30:15*Notxor quit (Remote host closed the connection)
18:31:59*azimut_ joined #nim
18:32:26*azimut quit (Ping timeout: 255 seconds)
18:49:02FromDiscord<Hourglass [She/Her]> Trying to make a minimal reproducible example of my issue but i'm getting segfaults that's fun lol
18:50:26*azimut_ quit (Ping timeout: 255 seconds)
18:50:39*azimut joined #nim
18:55:44FromDiscord<Hourglass [She/Her]> Yep I'm stuck, I don't know the issue at all which is annoying
19:02:25*mal`` quit (Quit: Leaving)
19:07:03FromDiscord<lantos> In reply to @Rika "what is your definition": This is very AI'ish of you
19:08:24FromDiscord<lantos> In reply to @Hourglass, When the Hour Strikes "Trying to make a": nature of finding segfaults?
19:08:35FromDiscord<lantos> (edit) "In reply to @Hourglass, When the Hour Strikes "Trying to make a": ... nature" added "unlucky, isn't that the"
19:08:50FromDiscord<Hourglass [She/Her]> My actual code has no segfaults, it's just not working for some odd reason
19:08:52FromDiscord<lantos> (edit) "In reply to @Hourglass, When the Hour Strikes "Trying to make a": unlucky, isn't that the nature of finding segfaults? ... " added "If you could show an example of the segfault then you'd have your answer"
19:09:06FromDiscord<Hourglass [She/Her]> In reply to @lantos "unlucky, isn't that the": Yeah I can do that rn
19:09:11FromDiscord<I have 50GB of nothing on my PC> are you a large amount of files fan or a large file enthusiast?
19:09:24FromDiscord<Hourglass [She/Her]> A mix of both? Lol
19:09:32FromDiscord<Hourglass [She/Her]> Tho the files aren't actually that large
19:09:38FromDiscord<Hourglass [She/Her]> I try to split stuff up as I go now
19:09:48FromDiscord<Hourglass [She/Her]> The code is on GitHub tho (for the original project)
19:09:57FromDiscord<lantos> would rather 100x10GB files then 1000x1gb files
19:09:59FromDiscord<lantos> (edit)
19:10:13*ixmpp quit (Quit: Gateway shutdown)
19:10:51*mal`` joined #nim
19:12:27FromDiscord<Hourglass [She/Her]> In reply to @lantos "I would rather 100x10GB": When you want readable files then you'd prefer the other way around
19:13:41FromDiscord<lantos> true but 1GB file of any readable text is instant pain lol
19:13:48FromDiscord<lantos> is that why you are segfaulting?
19:13:59FromDiscord<Hourglass [She/Her]> https://play.nim-lang.org/#ix=4pCY
19:14:05FromDiscord<Hourglass [She/Her]> In reply to @lantos "true but 1GB file": Yep lol
19:14:45FromDiscord<Hourglass [She/Her]> In reply to @lantos "is that why you": Nope, using shared libraries with async stuff, this code segfaults (But my project doesn't, my project does not let me send any packets to the client however)
19:16:14FromDiscord<lantos> ah so you saying its sf because of the libplugin.so or the loadLib thing?
19:16:50FromDiscord<enthus1ast> @Hourglass [She/Her]\: do you use devel?
19:16:57FromDiscord<enthus1ast> the code does not work on stable
19:17:10FromDiscord<Hourglass [She/Her]> Yeah, the issue is specifically line 27 of server.nim (or line 62 on the nim playground)
19:17:12FromDiscord<lantos> If you haven't tried. remove the async, give that a shot
19:17:16FromDiscord<Hourglass [She/Her]> In reply to @enthus1ast "<@909883978717204561>\: do you use": Yeah I'm using devel
19:17:36FromDiscord<Hourglass [She/Her]> In reply to @lantos "If you haven't tried.": Removing the async would defeat the entire purpose of my code though, since it's supposed to use async
19:17:54FromDiscord<Hourglass [She/Her]> Wait
19:18:02FromDiscord<Hourglass [She/Her]> I may of found why it's segfaulting
19:18:15FromDiscord<lantos> 🙂
19:18:21FromDiscord<lantos> (edit)
19:18:35FromDiscord<lantos> eugh I dont want the emojis I want ascii
19:18:41FromDiscord<lantos> (edit) "🙂" => "``:)``"
19:18:49FromDiscord<lantos> (edit) removed ">"
19:19:56FromDiscord<Hourglass [She/Her]> It was a typo... 🤦‍♀️
19:20:02FromDiscord<lantos> oh no
19:21:07FromDiscord<Hourglass [She/Her]> Welp
19:21:14FromDiscord<Hourglass [She/Her]> I now can reproduce the issue
19:21:29FromDiscord<Hourglass [She/Her]> This is absolutely baffling
19:24:28FromDiscord<Hourglass [She/Her]> https://play.nim-lang.org/#ix=4pD0
19:24:37FromDiscord<Hourglass [She/Her]> Up-to-date code (I'm using devel btw)
19:25:32FromDiscord<Hourglass [She/Her]> It's so confusing and it's definitely something caused from using shared libraries so doubt I'd actually get support with this
19:25:50FromDiscord<enthus1ast> well, with .send you send directly from the host
19:26:07FromDiscord<Hourglass [She/Her]> Yeah?
19:26:18FromDiscord<Hourglass [She/Her]> And `.sendFromPlugin` is another 'process'?
19:26:55FromDiscord<Hourglass [She/Her]> I'm using `inheritable=true` but that doesn't seem to be enough
19:34:26FromDiscord<jmgomez> anyone else had issues when trying to use the compiler API in Win? Getting a file too long issue when linking with vcc
19:38:25FromDiscord<Hourglass [She/Her]> In reply to @Hourglass, When the Hour Strikes "I'm using `inheritable=true` but": Don't think there's anything I can do to fix this rip
19:38:41FromDiscord<Hourglass [She/Her]> In reply to @jmgomez "anyone else had issues": Isn't there something you can turn off to get rid of the length limit on Windows?
19:39:06FromDiscord<enthus1ast> @Hourglass [She/Her]\: i would ask in the forum and or open a github issue
19:39:27FromDiscord<Hourglass [She/Her]> I'll do that rn!
19:40:33FromDiscord<jmgomez> In reply to @Hourglass, When the Hour Strikes "Isn't there something you": not ideal because if the POC goes well it's something I want to add to NUE but I guess for the POC itself should be fine
19:42:23FromDiscord<jmgomez> I had already the registry key set to 1, I wonder if it's a vcc or msvc issue
19:45:38FromDiscord<Hourglass [She/Her]> In reply to @jmgomez "not ideal because if": Fair
19:45:46FromDiscord<Hourglass [She/Her]> In reply to @jmgomez "I had already the": Hm no idea then, sorry
19:48:26*Notxor joined #nim
19:53:02FromDiscord<eyes> Anyone here having binding dev experience? I am currently trying to make bindings for ODE, which is a c++ library that has a C API
19:53:48FromDiscord<Phil> "binding" as in "C-bindings"?
19:53:50FromDiscord<eyes> I have: the libode.so library file, nim bindings all written up with the “importc” pragma
19:53:56FromDiscord<eyes> (The bindings compile)
19:54:00FromDiscord<eyes> Yes C bindings
19:54:01FromDiscord<Phil> PMunch
19:54:13FromDiscord<Phil> That should summon him
19:54:25FromDiscord<eyes> https://github.com/the-argus/ode-nim
20:01:32FromDiscord<jmgomez> whats your issue @eyes ?
20:01:36FromDiscord<Nerve> Is there a Brotli wrapper for Nim anywhere? Or will I need to make my own bindings?
20:03:40FromDiscord<Phil> In reply to @jmgomez "whats your issue <@144207211881562112>": jm! You use windows! Out of curiosity, does it often occur that you use a package and it specifically doesn't work on windows?
20:04:16FromDiscord<jmgomez> In reply to @Hourglass, When the Hour Strikes "Hm no idea then,": for future ref just got around it by moving my nim sources to a short path
20:04:35FromDiscord<jmgomez> I guess the nimcachedir would work too
20:05:02FromDiscord<jmgomez> In reply to @Isofruit "jm! You use windows!": I dont use too many packages, but usually they work fine
20:05:03FromDiscord<Phil> In reply to @Nerve "Is there a Brotli": Nimble search isn't turning anything up when looking for brotly or even just brot
20:05:04FromDiscord<jmgomez> I also use MacOs
20:05:35FromDiscord<Phil> Ah, check.↵Mostly wondering if it would make sense to start tagging packages by what OS they have been verified to work with (via their test-suites running on such images)
20:05:43FromDiscord<Phil> (edit) "such images)" => "images of that OS)"
20:06:20FromDiscord<Phil> And nim package by my current experience seem very much Linux first
20:06:25FromDiscord<Phil> (edit) "package" => "packages"
20:06:42FromDiscord<jmgomez> that may be a good idea actually but not sure the amount of effort
20:07:03FromDiscord<jmgomez> also dont think too many people is using win?
20:08:02FromDiscord<Phil> Not too many using it doesn't mean it's not useful information xP
20:08:39FromDiscord<jmgomez> oh yeah sure
20:08:42FromDiscord<Phil> The effort would mostly just be looking over the github actions file with the test-suite every time somebody updates their package
20:09:00FromDiscord<Phil> (edit) "The effort would mostly just be looking over the github actions file with the test-suite every time somebody updates their package ... " added "(in the nimble package repository, not in general)"
20:23:43FromDiscord<I have 50GB of nothing on my PC> is `nim r` the only way to use cache when compiling?
20:24:28FromDiscord<I have 50GB of nothing on my PC> use case: i want to keep compiling in the background without overheating my machine
20:26:54FromDiscord<I have 50GB of nothing on my PC> I guess it's this https://media.discordapp.net/attachments/371759389889003532/1080586986072580196/image.png
20:27:50FromDiscord<I have 50GB of nothing on my PC> except it doesnt work, the compiler keeps rebuilding the same source
20:38:30FromDiscord<!&luke> Hi
20:38:44FromDiscord<!&luke> How can I get nim code into a pdf with syntax highlighting
20:39:22FromDiscord<!&luke> I’m doing this for the performance task on the ap cs principles test
20:40:51FromDiscord<Phil> Like...display nim code in a PDF?
20:40:56FromDiscord<Phil> Or generate a PDF via nim code?
20:41:50FromDiscord<!&luke> In reply to @Isofruit "Like...display nim code in": Yes
20:42:24FromDiscord<!&luke> Syntax highlighting is preferred but I can always do it manually in google docs or sm
20:45:12FromDiscord<huantian> u using latex or smthn?
20:45:40FromDiscord<huantian> becuase you probably should if you're trying to make a pdf with code
20:45:42FromDiscord<auxym> mardown -> pandoc -> latex -> PDF maybe?
20:46:27FromDiscord<auxym> (or md -> pandoc -> html -> pdf via chrome headless, depending on your other preferences/requirements)
20:47:06FromDiscord<!&luke> Ok
20:48:49FromDiscord<huantian> I think <https://ctan.org/pkg/minted> is a popular one for latex
20:48:54FromDiscord<Phil> The laziest form of that that I can imagine is making a textbox in libre-office, giving it a light-ish grey background color and changing the font to monospace
20:49:32FromDiscord<Phil> It does not get much more low-effort than that: https://media.discordapp.net/attachments/371759389889003532/1080592681572519986/image.png
20:50:00FromDiscord<auxym> In reply to @huantian "I think <https://ctan.org/pkg/minted> is": pandoc automatically highlights in latex (and html) output
20:50:06FromDiscord<Phil> The markdown to PDF pathway likely delivers much better looking results
20:50:18FromDiscord<Elegantbeef> Just use carbon to render an svg and embed it
20:50:42FromDiscord<auxym> carbon as in the new google c++-replacement language?
20:50:47FromDiscord<Elegantbeef> No
20:50:50FromDiscord<auxym> i assumed
20:50:51FromDiscord<Elegantbeef> carbon.now.s
20:50:52FromDiscord<Elegantbeef> whoops
20:50:55FromDiscord<Elegantbeef> carbon.now.sh
20:50:58FromDiscord<huantian> In reply to @auxym "pandoc automatically highlights in": why pandoc tho when you can just write latex directly
20:51:23FromDiscord<auxym> writing latex sucks (speaking as someone who wrote an entire msc thesis in it)
20:51:30FromDiscord<Elegantbeef> carbon.png https://media.discordapp.net/attachments/371759389889003532/1080593175007215696/carbon.png
20:51:46FromDiscord<Elegantbeef> It also can generate PNGs of course
20:52:08FromDiscord<auxym> latex error messages are truly the worst. Someone my document won't compile anymore and literally the only thing I could do is git reset
20:52:42FromDiscord<Elegantbeef> Alternatively use nimib to generate a page and convert it to a PDF 😛
20:52:53FromDiscord<Nerve> In reply to @auxym "writing latex sucks (speaking": I've written a paper and an msc major area in it, it's the best at what it does but that doesn't mean it's not absolutely crappy legacy design
20:52:54FromDiscord<auxym> that too 🙂
20:53:07FromDiscord<auxym> In reply to @Nerve "I've written a paper": we agree on that I think
20:53:36FromDiscord<auxym> if I can write markdown or even rst (eg. for a relatively simple document), I'll that over writing raw latex anyday
20:54:28FromDiscord<Nerve> I'm going to go out on a very far limb and assert that I think HTML/CSS is the future of typesetting, once pdf generation from generated HTML is actually robust and doable locally. Other than that, HTML and CSS need good support for page-flowing content. Right now with some minor elbow grease you can make rules for very clean multi-page layouts, but you have to do all the page breaks manually.
20:55:59FromDiscord<Nerve> HTML is string specifically because it supports explicit, hierarchical structural specification, which makes layouts a lot less guess-and-see than Latex
20:56:07FromDiscord<Nerve> (edit) "string" => "strong"
20:56:39FromDiscord<Nerve> I'm not sure a browser is a lighter-weight rendering engine than Latex, but damn if it isn't easier to install and use
20:57:16FromDiscord<Nerve> I take that back, a 150 mb single download is way easier than having to choose from a dozen variations of a 1 gb suite of messy tools
20:57:26FromDiscord<Nerve> (edit) "1" => "1+"
20:58:11FromDiscord<ShalokShalom> you first write about 'crappy legacy design' and then hype CSS and HTML?
20:58:24FromDiscord<Nerve> HTML isn't that crappy my dude
20:58:39FromDiscord<Nerve> It's crappy for interactive user interfaces which it was never designed for
20:58:50FromDiscord<ShalokShalom> Well, CSS is latin for crap 😂✌🏻
20:58:59FromDiscord<Nerve> Not sure I agree
20:59:42FromDiscord<Nerve> I will never defend JavaScript but I will advocate HTML and CSS for the use cases they was designed for, and browser SaS applications they were not
20:59:50FromDiscord<Nerve> (edit) "was" => "were"
21:01:47FromDiscord<Dudugz> JavaScript is only bad because you have to maintain compatibility with the lazy ones, e.g. companies that are too lazy to upgrade to modern systems and keep using internet explorer.
21:03:21FromDiscord<Nerve> JavaScript is bad because it's weakly typed, there's a good language there hindered by that hamstring. Also webdevs who decide javascript should be used everywhere for everything which immediately exposes how bad weak typing is
21:03:21FromDiscord<Phil> I'd also argue against JS habit of dynamic typing which I'm not sure is a legacy thing or not
21:03:47FromDiscord<Nerve> In reply to @Isofruit "I'd also argue against": Weak typing and dynamic typing are very different things, do you actually mean dynamic?
21:03:51FromDiscord<Dudugz> It's certainly legacy, if they could update the language to something like typescript they would have done so
21:03:53FromDiscord<jmgomez> sent a code paste, see https://play.nim-lang.org/#ix=4pDh
21:04:44FromDiscord<Dudugz> ``var`` should have already been banished from existence
21:05:10FromDiscord<Nerve> To clarify, strongly typed languages can be dynamic (Clojure, Python), and statically typed languages can be weakly typed (C)
21:05:58FromDiscord<jmgomez> In reply to @Nerve "To clarify, strongly typed": Also people tend to get confused with compiled vs dynamic
21:06:01FromDiscord<Elegantbeef> jmgomez are you using your own loading implementation?
21:07:11FromDiscord<Phil> In reply to @Nerve "Weak typing and dynamic": Isn't JS weakly (not even necessarily runtime errors for type incompatibilities if you are in a case where implicit conversion happens) and dynamically typed (runtime errors for type incompatibilities) ?
21:07:15FromDiscord<jtv> Almost all non-C languages are strongly typed... that's just, "is it possible to handle ALL type errors gracefully,", as opposed to, if you're wrong, you crash
21:07:17FromDiscord<Nerve> In reply to @Isofruit "Isn't JS weakly (not": Yes
21:08:12FromDiscord<jtv> Similarly, almost no language is fully statically typed. It's not possible w/ OO languages in the general case.
21:08:18FromDiscord<Phil> My main issue there is the runtime errors where compile time errors are possible
21:08:25FromDiscord<Phil> So my main issue is with the dynamic typing aspect
21:08:25FromDiscord<jmgomez> sent a code paste, see https://play.nim-lang.org/#ix=4pDk
21:10:16FromDiscord<Nerve> There are certain scenarios where it's difficult to escape. Things like tables and datamancer dataframes are technically dynamic types (you'd have to impose contract programming to really verify the presence of keys, and if that's really necessary you should be making structs/objects/records)
21:11:10FromDiscord<Nerve> But the row- and column-transformation semantics of dataframes are just too damn useful
21:11:43FromDiscord<Nerve> (edit) "keys," => "keys/columns,"
21:11:50FromDiscord<Elegantbeef> Jmgomez i believe you're supposed to iterate your `findNimStdlib` and add all the folders to the search path
21:11:54FromDiscord<Elegantbeef> Atleast i did that for nimscripter
21:13:40FromDiscord<jmgomez> oh so you think the issue is because utils/utils is pulling from the std and it's not in there?
21:13:41FromDiscord<Nerve> Actually this brings up an interesting possibility...could you make a template-based dataframe type where the presence of columns and their types could be asserted at compile-time, and still get all that row- and column-semantic goodness?
21:13:53FromDiscord<Nerve> I think yes
21:14:53FromDiscord<Hourglass [She/Her]> What does IME mean?
21:15:57FromDiscord<Hourglass [She/Her]> (deleted message, IRC folk shush)
21:27:01FromDiscord<jmgomez> In reply to @Elegantbeef "Jmgomez i believe you're": So I created another file with no deps and it worked! But only if I import like `import modulename` seems like you cant use `/` I guess that can be worked out
21:35:57FromDiscord<ShalokShalom> In reply to @Nerve "To clarify, strongly typed": https://complete-concrete-concise.com/programming/c/c-as-a-strongly-typed-language/
21:40:31FromDiscord<jtv> C's not a strongly typed language. In a strongly typed language, if I make a type mistake, such as treat a pointer to an item as a pointer to an array, C will crash, not throw a runtime exception. You can say C treated it as the type I said it was, but the second you allow me to index the pointer, I'm saying the type is an array, and C compilers generally aren't going to catch that, and the runtime sure won't.
21:40:55FromDiscord<jtv> People can delusionally believe what they like, though 🙂
21:42:53FromDiscord<Elegantbeef> C is clearly not strongly typed 😄
21:43:01FromDiscord<Elegantbeef> It's barely statically typed 😛
21:43:26FromDiscord<huantian> c is a language you type
21:43:54FromDiscord<Phil> C is a language
21:43:58FromDiscord<Elegantbeef> I do not type it
21:43:59FromDiscord<Elegantbeef> Actually I guess that's a lie i did type enough to make a MR to wine.... that still isnt merged
21:44:01FromDiscord<Elegantbeef> Wine 0/10
21:45:33FromDiscord<jtv> Should be obvious to everyone yes, but that article author seems to be delusional 🙂
21:48:41FromDiscord<eyes> In reply to @jmgomez "whats your issue <@144207211881562112>": I am currently getting “no such file or directory” for the library file, despite me giving the compiler a -passL:/path/to/libode.so
21:49:18FromDiscord<eyes> previously, when I was using static linking with glibc, I got undefined references to Cpp symbols like delete
21:49:51FromDiscord<eyes> In reply to @eyes "unrelated by could someone": see this message
21:51:29FromDiscord<kfdvh> how did Nim end up with so many features?
21:52:15Amun-Raeyes: -L is not for passing .so
21:57:44FromDiscord<jtv> It's been in active development for a very long time, @kfdvh .
21:58:06*advesperacit quit ()
22:02:27FromDiscord<Hourglass [She/Her]> Oh yeah my post is on the thing now :) https://forum.nim-lang.org/t/9960#65635
22:03:00FromDiscord<Hourglass [She/Her]> I'm debating on if I should make an issue about shared libraries not being able to use async sockets (didn't test with sync sockets) from there
22:03:18FromDiscord<Hourglass [She/Her]> (edit) "I'm debating on if I should make an issue about shared libraries not being able to use async sockets (didn't test with sync sockets) ... fromthe" added "when calling" | "there" => "the main app"
22:03:26FromDiscord<Elegantbeef> Well if you minimise it to two files that reproduce the issue likely
22:03:46FromDiscord<Elegantbeef> I guess it doesnt even need to be two files
22:03:53FromDiscord<Elegantbeef> But yea minimise it
22:14:36FromDiscord<Hourglass [She/Her]> In reply to @Elegantbeef "But yea minimise it": My issue with it? I did
22:14:40FromDiscord<Hourglass [She/Her]> 3 files, but
22:14:52FromDiscord<Hourglass [She/Her]> Since you need a TCP client so I just used Nim for it
22:15:10FromDiscord<Hourglass [She/Her]> https://play.nim-lang.org/#ix=4pD0
22:35:50FromDiscord<eyes> In reply to @Amun-Ra "<@144207211881562112>: -L is not": I thought maybe it was for directories originally, but if I pass the path the the lib direcory where libode is, then I get: ``/bin/ld: error: ./lib: read: Is a directory``
22:36:06FromDiscord<eyes> it seems that it is translating it to ``-l``
22:36:14FromDiscord<eyes> (edit) "it seems ... that" added "to me"
22:36:37FromDiscord<eyes> so I tried ``--passL:-lode``
22:36:45FromDiscord<eyes> which... sort of worked?
22:37:48FromDiscord<eyes> i am using it on ``nimble test`` so maybe tests just dont produce executables
22:39:17FromDiscord<eyes> i am trying to figure out how to make an equivalent ``nim c`` command to my ``nimble test``
22:39:59FromDiscord<eyes> oho!
22:40:08FromDiscord<eyes> wait i think it is working
22:40:19FromDiscord<eyes> i have successfully written bindings to a library somehow? maybe?
22:44:08FromDiscord<eyes> oh i get it
22:44:18FromDiscord<eyes> passC is pass to compiler and passL is for linker...
22:44:25FromDiscord<eyes> man that took a long time to understand
22:44:32FromDiscord<eyes> why are those flags not in ``nim --help``?
22:44:57FromDiscord<eyes> and there are no man pages for nim or nimble on nixos
22:45:23FromDiscord<ShalokShalom> sent a long message, see http://ix.io/4pDP
22:45:53FromDiscord<Elegantbeef> @Hourglass [She/Her]\: what is the intended behaviour?
22:47:19FromDiscord<Elegantbeef> image.png https://media.discordapp.net/attachments/371759389889003532/1080622322806968381/image.png
22:52:56FromDiscord<Elegantbeef> I do not know if you noticed this but `setGlobalDispatcher` takes a `sink` parameter
22:53:13FromDiscord<Elegantbeef> Bit odd
23:00:39FromDiscord<Nilts> How would i make a rate-limiter in jester?
23:01:35*azimut quit (Quit: ZNC - https://znc.in)
23:02:01*azimut joined #nim
23:02:05NimEventerNew Nimble package! climate - Library to build command-line interfaces., see https://github.com/moigagoo/climate
23:11:03*Notxor quit (Remote host closed the connection)
23:11:51FromDiscord<Hourglass [She/Her]> In reply to @Elegantbeef "<@909883978717204561>\: what is the": Intended behaviour is for every second, the socket to be able to send a new message, in server.nim, replace `client.sendFromPlugin` with `client.send`, and you'll get the intended behaviour
23:12:10FromDiscord<Hourglass [She/Her]> In reply to @Elegantbeef "I do not know": I honestly don't know the difference between a sink param and a normal one
23:12:12FromDiscord<Elegantbeef> Have you tried with chronos
23:12:26FromDiscord<Elegantbeef> A sink parameter owns the resource
23:12:34FromDiscord<Elegantbeef> `sink` is like a Rust or C++ move parameter
23:14:08FromDiscord<Hourglass [She/Her]> Ah
23:14:42FromDiscord<Hourglass [She/Her]> In reply to @Elegantbeef "Have you tried with": Not yet no, but also I don't really want to have to depend on another async library anyway, will try it when i get to my computer tomorrow though
23:27:08NimEventerNew Nimble package! nimprotect - NimProtect is a tiny single-macro library for protecting sensitive strings in compiled binaries, see https://github.com/itaymigdal/NimProtect
23:33:16*derpydoo joined #nim
23:53:22*derpydoo quit (Quit: derpydoo)