00:14:03 | * | lucasta quit (Quit: Leaving) |
00:35:54 | * | xutaxkamay joined #nim |
00:41:33 | * | xutaxkamay quit (Ping timeout: 272 seconds) |
00:45:21 | * | xutaxkamay joined #nim |
00:47:56 | * | xutaxkamay quit (Client Quit) |
00:52:50 | * | lucasta joined #nim |
01:26:33 | * | xutaxkamay joined #nim |
01:27:56 | * | xutaxkamay quit (Read error: Connection reset by peer) |
01:28:16 | * | xutaxkamay joined #nim |
01:29:41 | FromDiscord | <Langosta> Good evening yall, I'm setting up vim in a new vm and the typical curl/wget installation script does not seem to be working |
01:30:54 | FromDiscord | <Langosta> is this the channel where I could get help troubleshooting? |
01:33:50 | * | xutaxkamay quit (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
01:34:45 | * | xutaxkamay joined #nim |
01:37:05 | * | xutaxkamay quit (Client Quit) |
01:37:15 | * | SchweinDeBurg quit (Quit: WeeChat 4.5.0-dev) |
01:37:54 | * | xutaxkamay joined #nim |
02:50:27 | FromDiscord | <haruki_777> Hello everyone. |
03:10:30 | * | albe quit (Quit: The Lounge - https://thelounge.chat) |
03:16:15 | * | nmz left #nim (Ploop) |
03:39:25 | * | albe joined #nim |
03:51:21 | * | lucasta quit (Quit: Leaving) |
04:20:11 | * | SchweinDeBurg joined #nim |
04:25:15 | * | SchweinDeBurg quit (Ping timeout: 246 seconds) |
04:26:44 | FromDiscord | <floppy._disk> In reply to @aintea "Sometimes it works great,": Could you please lemme know how you've got it setup? I simply can't get it to work properly even once |
04:27:25 | * | SchweinDeBurg joined #nim |
06:37:38 | termer | don't use Nim stdlib HTTP client |
06:37:52 | termer | it buffers the body and there's nothing you can do about it |
07:18:30 | * | SchweinDeBurg quit (Ping timeout: 246 seconds) |
07:20:40 | * | SchweinDeBurg joined #nim |
07:32:16 | * | xet7 joined #nim |
07:39:07 | FromDiscord | <Robyn [She/Her]> In reply to @termer "it buffers the body": huh? it has a way to stream responses though |
08:34:06 | * | SchweinDeBurg quit (Ping timeout: 246 seconds) |
08:36:00 | * | SchweinDeBurg joined #nim |
08:54:59 | * | mfg joined #nim |
09:03:57 | * | bcksl quit (Quit: \) |
09:03:57 | * | end quit (Quit: end) |
09:05:08 | * | alexdaguy joined #nim |
09:22:33 | * | bcksl joined #nim |
09:31:59 | * | end joined #nim |
10:13:24 | * | beholders_eye joined #nim |
11:12:14 | * | ryuukk quit (Remote host closed the connection) |
11:22:56 | * | ryuukk joined #nim |
11:28:11 | * | GoldLeader87 joined #nim |
11:57:47 | * | GoldLeader87 quit (Quit: GoldLeader87) |
11:58:33 | * | Jhonny2x4 quit (Quit: Jhonny2x4) |
11:58:42 | * | Jhonny2x4 joined #nim |
12:36:19 | * | SchweinDeBurg quit (Ping timeout: 252 seconds) |
12:38:20 | * | SchweinDeBurg joined #nim |
12:44:34 | * | ryuukk quit (Ping timeout: 265 seconds) |
12:44:44 | * | ryuukk_ joined #nim |
12:53:05 | * | ryuukk_ quit (Ping timeout: 248 seconds) |
12:53:26 | * | ryuukk joined #nim |
12:55:50 | * | SchweinDeBurg quit (Ping timeout: 260 seconds) |
13:22:25 | * | alexdaguy quit (Quit: w) |
13:28:00 | * | SchweinDeBurg joined #nim |
13:34:21 | FromDiscord | <zumi.dxy> I am currently trying to use guildenstern but I do not like how it forces a separation between regular HTTP requests and multipart requests |
13:35:03 | FromDiscord | <zumi.dxy> I'm ending up literally copy and pasting the multipart code just so I can use it alongside regular requests in a single port |
13:35:21 | FromDiscord | <zumi.dxy> where it's just an `isMultipartRequest` away |
13:37:20 | FromDiscord | <zumi.dxy> (besides, the multipart stuff inherits the regular http stuff anyway…) |
13:40:21 | * | SchweinDeBurg quit (Ping timeout: 246 seconds) |
13:42:17 | * | SchweinDeBurg joined #nim |
13:57:46 | * | ntat joined #nim |
14:06:25 | * | lucasta joined #nim |
14:09:24 | termer | Robyn Sorry, I forgot it does have a stream interface |
14:10:05 | termer | but in the case of FutureStream (maybe the sync version as well), it has no size limit, so if you're reading slower than it's being sent to you, it will continue to allocate more and more memory |
14:10:24 | termer | that's how I remember it anyway |
14:10:45 | termer | it's been a while, but there was definitely some extremely bad problem that prevented me from using it, besides bad performance |
14:27:10 | * | ryuukk quit (Remote host closed the connection) |
14:28:55 | * | ryuukk joined #nim |
14:30:27 | FromDiscord | <Robyn [She/Her]> In reply to @termer "but in the case": makes sense |
14:59:41 | * | mfg quit (Ping timeout: 255 seconds) |
15:02:13 | * | disso-peach quit (Quit: Leaving) |
15:03:14 | FromDiscord | <nocturn9x> FYI, it seems Nim is not able to detect improper usage of `var` parameters passed to thread procs |
15:03:26 | FromDiscord | <nocturn9x> or if that use case is supposed to work, it generates invalid C code |
15:38:21 | FromDiscord | <enthus1ast.> @goerge_lsd when you want to do fancy stuff, you could have a look at the libcurl wrapper |
15:39:02 | FromDiscord | <michaelb.eth> In reply to @nocturn9x "FYI, it seems Nim": are you forcing it with gcsafe? I’m surprised it compiles |
15:39:03 | FromDiscord | <enthus1ast.> Libcurl is also used by puppy on unix |
15:39:18 | FromDiscord | <nocturn9x> In reply to @michaelb.eth "are you forcing it": ah yeah lmao |
15:39:22 | FromDiscord | <nocturn9x> that would do it |
15:39:42 | FromDiscord | <nocturn9x> nim complains about some things not being GC safe despite them being fine so I have to do that |
15:40:44 | FromDiscord | <michaelb.eth> most of the time, ime, if you force with gcsafe annotation you’re actually compiling code that is still actually unsafe and will sigsegv soon/later |
15:41:10 | FromDiscord | <nocturn9x> has played hundreds of thousands of games on a variety of environments with no crashes to speak of |
15:41:18 | FromDiscord | <nocturn9x> so I doubt it :) |
15:41:27 | FromDiscord | <nocturn9x> no memleaks either |
15:41:31 | FromDiscord | <michaelb.eth> are you using atomicarc? |
15:41:39 | FromDiscord | <nocturn9x> nope, actually |
15:41:49 | FromDiscord | <nocturn9x> used to use it but idk why I switched back to regular ARC? |
15:42:16 | FromDiscord | <nocturn9x> most shared stuff is `ptr`s anyway to avoid messing with nim's awful thread impl. anyway so it's a non-issue |
15:42:27 | FromDiscord | <nocturn9x> and also to control alignment more easily |
15:42:43 | FromDiscord | <michaelb.eth> sure, can be do-able with ptr |
15:42:50 | FromDiscord | <nocturn9x> threading in nim is like the most painful experience ever, I'd rather write COBOL than go through that pain again |
15:43:04 | FromDiscord | <nocturn9x> the docs are shit, the new libraries don't work and the old system is clunky and buggy |
15:43:12 | FromDiscord | <michaelb.eth> yep |
15:43:29 | FromDiscord | <nocturn9x> a shame really cuz when it works it's great™️ |
15:43:38 | FromDiscord | <nocturn9x> but it was so bad that I considered a zig rewrite at one point |
15:43:52 | FromDiscord | <nocturn9x> translating roughly 5kLOC to Zig seemed easier than dealing with nim's threading issues |
15:44:08 | FromDiscord | <nocturn9x> fortunately I fixed all the issues eventually lol |
16:00:27 | termer | is that really so bad for people |
16:00:32 | termer | I never had a hard time with threading in Nim |
16:13:45 | FromDiscord | <exelotl> I found that getting the compiler to check my work with the guard and lock pragmas to be a kinda flawed experience, but better than nothing |
16:16:27 | termer | yeah, the effects aren't very foolproof |
16:16:43 | termer | the main annoyance I and most others seem to have is the requirement to cast certain code as gcsafe |
16:19:13 | * | disso-peach joined #nim |
16:22:02 | FromDiscord | <exelotl> yeah... basically you can say: "don't let this field be accessed without the lock being acquired" or "please acquire this lock and then run this code" or "I promise that the lock has been acquired, now run this code" |
16:22:16 | FromDiscord | <exelotl> but you can't say "when this procedure runs, the lock must have been acquired, please check for me" |
16:22:35 | FromDiscord | <exelotl> so you have to resort to throwing pinkie promises everywhere and hoping you didn't make any mistakes |
16:31:51 | * | SchweinDeBurg quit (Quit: WeeChat 4.5.0-dev) |
16:34:05 | * | lucasta quit (Quit: Leaving) |
16:49:06 | FromDiscord | <goerge_lsd> In reply to @enthus1ast. "<@682074095168520244> when you": idk, retrieving first N bytes of a http response and not more doesn't sound that fancy to me. Somebody made a patch for httpclient few years ago that still works, but I'd have wanted something importable, so I don't have to ship custom code. |
16:51:56 | FromDiscord | <enthus1ast.> I'm just saying, it's actually not "that" common |
16:52:12 | FromDiscord | <enthus1ast.> Only with byte range maybe |
16:53:32 | FromDiscord | <enthus1ast.> https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests |
16:54:09 | FromDiscord | <enthus1ast.> When the server supports it, you can specify the bytes you want in the request header |
16:55:17 | FromDiscord | <enthus1ast.> Usually if the Webserver serves files and is a somewhat known server (nginx, Apache) then it should be supported |
16:56:19 | FromDiscord | <enthus1ast.> It might not work when the Webserver just proxies to an application, then this application must support range request, which (I guess) is not that well supported |
17:18:45 | FromDiscord | <goerge_lsd> In this particular case it's supported, but I don't want to use it, I need the server to believe I request the whole file. |
17:19:03 | FromDiscord | <goerge_lsd> I wonder how hard would it be to port a state of the art http client from another lang, like reqwest from rust |
17:19:50 | FromDiscord | <goerge_lsd> I found at least 3 things I can't do with nim httpclient so far |
17:26:34 | FromDiscord | <michaelb.eth> In reply to @goerge_lsd "I found at least": did you try the chronos client? |
17:29:04 | FromDiscord | <goerge_lsd> no, i don't think there's much documentation for their stuff ,you have to read the code |
17:32:29 | FromDiscord | <enthus1ast.> I would use curl |
18:29:54 | FromDiscord | <BillBraskey> Only 3?↵(@goerge_lsd) |
18:32:24 | FromDiscord | <goerge_lsd> yep 😄 some case sensitive details in userAgent were lost, nim has its own case for that, so I can't "perfectly", emulate firefox let's say. this get first bytes thing.. and some more obscure http spec not implemented |
18:43:32 | FromDiscord | <nitely_> In reply to @goerge_lsd "idk, retrieving first N": my http lib can do that, but it's http/2 only |
18:46:24 | * | tc424 quit (Ping timeout: 252 seconds) |
18:48:37 | * | tc424 joined #nim |
18:49:50 | FromDiscord | <nnsee> In reply to @goerge_lsd "yep 😄 some case": that shouldn't happen |
18:49:57 | FromDiscord | <nnsee> how were you setting the header? |
18:51:31 | FromDiscord | <@@prestosilver> been really struggling with steams outdated glibc, is there a way to link against a seperate libc version (dont do stuff like this enough to even remotely know), or would it just be better to ship my own one using LD_LIBRARY_PATH, or am I just being stupid? Asking more in a general sense than nim, but a nim specific solution would be fine aswell ig. |
18:52:15 | FromDiscord | <@@prestosilver> O this is on steam deck for reference |
18:52:29 | FromDiscord | <@@prestosilver> i can just use the system glibc on other platforms |
18:52:35 | FromDiscord | <@@prestosilver> (edit) "glibc" => "libc" |
18:52:40 | FromDiscord | <@@prestosilver> (edit) "glibc," => "libc," |
19:08:47 | FromDiscord | <goerge_lsd> In reply to @nnsee "that shouldn't happen": don't remember the exact details but I think I was using `userAgent`, something about the case sensitivity of the userAgent key couldn't be set as in firefox, nim had its own |
19:08:59 | FromDiscord | <goerge_lsd> (edit) "`userAgent`," => "`(userAgent =`," |
19:10:41 | FromDiscord | <goerge_lsd> In reply to @voidwalker1983 "https://github.com/nim-lang/Nim/blob/d137a3b52af1a8": this |
19:12:22 | * | ntat quit (Quit: Leaving) |
19:13:57 | FromDiscord | <nnsee> In reply to @goerge_lsd "don't remember the exact": header keys are case insensitive |
19:14:18 | FromDiscord | <nnsee> in fact, http/2 supports ONLY lowercase header names |
19:14:37 | FromDiscord | <goerge_lsd> it was doing lowercase in the request for some reason, while firefox had uppercase. or curl or idk. so if you wanted to pretend you're that, it would fail on close inspection |
19:15:39 | FromDiscord | <goerge_lsd> yeah, i was doing a scraper in a place they really don't like to be scraped, so i had to be cautious |
19:21:03 | FromDiscord | <@@prestosilver> In reply to @prestosilver "i can just use": actually I got it, I just siwtched to <https://github.com/genotrance/nimgit2>, and then used static linking |
19:21:16 | FromDiscord | <@@prestosilver> problabuy didnt need to switch but eh |
19:21:57 | FromDiscord | <@@prestosilver> other wrapper didnt have a readme, so idk how maintained it is |
19:22:14 | FromDiscord | <@@prestosilver> (judging a book by its cover moment) |
19:34:59 | FromDiscord | <Robyn [She/Her]> oh? you have a http lib?↵(@nitely_) |
19:37:58 | FromDiscord | <nitely_> In reply to @Robyn "oh? you have a": it's https://github.com/nitely/nim-hyperx |
19:40:14 | FromDiscord | <Robyn [She/Her]> daaaamn nice! |
19:40:32 | FromDiscord | <Robyn [She/Her]> async tho, damn |
19:43:41 | FromDiscord | <nitely_> there are some http/2 threaded servers, but not sure how they can scale well↵ig they would start a thread per stream, but then a single connection can open 100 of them :/ |
20:14:40 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
20:15:25 | * | Goodbye_Vincent1 joined #nim |
20:15:58 | FromDiscord | <goerge_lsd> strange, why am I getting an out of memory error when going > 128 MB or so |
20:18:08 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
20:18:52 | * | Goodbye_Vincent1 joined #nim |
20:24:39 | FromDiscord | <goerge_lsd> nvm, i was compiling with danger, and i had an index defect, somehow that was the end result |
20:24:59 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
20:25:42 | * | Goodbye_Vincent1 joined #nim |
20:40:33 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
20:41:18 | * | Goodbye_Vincent1 joined #nim |
21:01:38 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
21:02:22 | * | Goodbye_Vincent1 joined #nim |
21:05:13 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
21:05:58 | * | Goodbye_Vincent1 joined #nim |
21:09:08 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
21:09:53 | * | Goodbye_Vincent1 joined #nim |
21:18:25 | * | krux02 joined #nim |
21:24:33 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
21:25:17 | * | Goodbye_Vincent1 joined #nim |
21:45:38 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
21:46:22 | * | Goodbye_Vincent1 joined #nim |
21:49:15 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
21:49:59 | * | Goodbye_Vincent1 joined #nim |
21:53:11 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
21:53:55 | * | Goodbye_Vincent1 joined #nim |
22:05:45 | * | Lord_Nightmare quit (Quit: ZNC - http://znc.in) |
22:08:33 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
22:09:17 | * | Goodbye_Vincent1 joined #nim |
22:09:22 | * | Lord_Nightmare joined #nim |
22:29:38 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
22:30:23 | * | Goodbye_Vincent1 joined #nim |
22:33:17 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
22:34:01 | * | Goodbye_Vincent1 joined #nim |
22:37:12 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
22:37:57 | * | Goodbye_Vincent1 joined #nim |
22:52:33 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
22:53:18 | * | Goodbye_Vincent1 joined #nim |
23:03:12 | * | SchweinDeBurg joined #nim |
23:13:38 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
23:14:23 | * | Goodbye_Vincent1 joined #nim |
23:17:16 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
23:18:02 | * | Goodbye_Vincent1 joined #nim |
23:21:14 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
23:21:58 | * | Goodbye_Vincent1 joined #nim |
23:23:04 | * | krux02 quit (Remote host closed the connection) |
23:36:28 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
23:37:13 | * | Goodbye_Vincent1 joined #nim |
23:57:33 | * | Goodbye_Vincent1 quit (Remote host closed the connection) |
23:58:18 | * | Goodbye_Vincent1 joined #nim |