01:27:25 | * | disso-peach joined #nim |
02:24:23 | * | lucasta quit (Quit: Leaving) |
02:54:53 | * | beholders_eye quit (Ping timeout: 240 seconds) |
02:58:24 | FromDiscord | <patitotective> Hi, what was it called the procedure that did min and max? |
02:58:31 | * | SchweinDeBurg quit (Quit: WeeChat 4.4.0-dev) |
02:58:58 | FromDiscord | <patitotective> (edit) "Hi, what was it called the procedure that did min and max? ... " added "Like clip a value between a range" |
03:03:56 | * | krux02 quit (Quit: Leaving) |
03:04:20 | FromDiscord | <.bobbbob> clamp? in std/math |
03:04:44 | FromDiscord | <.bobbbob> In reply to @patitotective "Hi, what was it": clamp? in std/math |
03:05:49 | FromDiscord | <.bobbbob> or system rather |
03:05:59 | FromDiscord | <patitotective> That's it, thanks |
03:06:03 | * | SchweinDeBurg joined #nim |
03:55:07 | * | xet7 joined #nim |
04:55:08 | FromDiscord | <xkonti> I've been using `choosenim` to install and update `nim`. Recently I learned that `nimsuggest` is completely broken in VSCode because of `choosenim`... I managed to remove both `choosenim` and all that it installed. I also managed to install Nim 2.0.4 and the lang server. Works great! But now I need the `devel` version of Nim and it's tooling. What is the procedure to switch to devel and then keep updating it? (I'm on Windows) |
04:55:11 | * | rockcavera quit (Remote host closed the connection) |
04:55:47 | FromDiscord | <xkonti> (edit) "great! But" => "great and there's even working code completion 🤯↵↵But" |
05:09:57 | FromDiscord | <pmunch> Well the easiest process is to use choosenim unfortunately.. |
05:10:58 | FromDiscord | <saiplayz1138> I'ma make a batch script that installs the latest version of Nim for you |
05:11:40 | FromDiscord | <pmunch> Second best might be to clone the repo, set your path to the repo-local bin folder, and then checkout and build whichever version you want |
05:12:01 | FromDiscord | <pmunch> In reply to @saiplayz1138 "I'ma make a batch": Why not contribute to choosenim instead? |
05:12:20 | FromDiscord | <saiplayz1138> In reply to @pmunch "Why not contribute to": I'm not very good at nim, I started like 2 days ago |
05:14:42 | FromDiscord | <pmunch> Gotta learn somehow 🤷♂️ |
05:22:40 | FromDiscord | <saiplayz1138> In reply to @pmunch "Gotta learn somehow 🤷♂️": I'm learning by making a discord bot |
05:26:21 | FromDiscord | <saiplayz1138> how long have you been doing Nim? |
05:29:09 | FromDiscord | <pmunch> Good question 🤔 At least 5 years, might be closing in on 10 |
05:31:02 | FromDiscord | <saiplayz1138> In reply to @pmunch "Good question 🤔 At": wow |
05:32:57 | FromDiscord | <bubblie> Does nim have a celery alternative? |
05:33:03 | FromDiscord | <Robyn [She/Her]> In reply to @saiplayz1138 "I'm learning by making": Always a good way to learn xD↵It's how I learnt python years ago |
05:33:04 | FromDiscord | <bubblie> Celery as in python celery |
05:33:23 | FromDiscord | <saiplayz1138> In reply to @chronos.vitaqua "Always a good way": i learned python by making loads of discord bots |
05:35:01 | FromDiscord | <Robyn [She/Her]> In reply to @bubblie "Celery as in python": As in, job scheduling? Could that not be done via RabbitMQ or Redis? |
05:35:24 | FromDiscord | <Robyn [She/Her]> In reply to @saiplayz1138 "i learned python by": Yeah same lol |
05:37:26 | FromDiscord | <bubblie> Well redis has redis queues but rabbitmq and redis themselves are used with celery |
05:38:07 | FromDiscord | <Robyn [She/Her]> In reply to @bubblie "Well redis has redis": Ah, I'm assuming Celery is an abstraction layer then, you could always go to https://nimble.directory and search for keywords? |
05:38:21 | FromDiscord | <bubblie> Celery does asynchronous tasks and queues |
05:38:29 | FromDiscord | <bubblie> And has task scheduling |
05:38:34 | FromDiscord | <Robyn [She/Her]> https://nimble.directory/pkg/schedules there's this? |
05:38:46 | FromDiscord | <Robyn [She/Her]> No queues here though |
05:39:36 | FromDiscord | <Robyn [She/Her]> https://nimble.directory/pkg/taskman there's also this? |
05:49:09 | FromDiscord | <sOkam! 🫐> Is there a case where an `nkIfExpr` would show up on its own at the top level, without being part of a `return if .. else ..` or `variable = if ... else ...`? |
05:49:38 | FromDiscord | <xkonti> In reply to @pmunch "Second best might be": I mean I don't mind downloading the released binaries from time to time, but I'm not sure if simply replacing the previous installation with the updated one is enough. I recall that when VSCode wants to use nimsuggest it downloads and builds the nimlang server etc. Wouldn't I need to run some extra commands to update all those? |
05:50:05 | FromDiscord | <sOkam! 🫐> In reply to @xkonti "I mean I don't": that's done by `build_all.sh` inside the repo |
05:50:46 | FromDiscord | <sOkam! 🫐> @xkonti Might be useful as a reference: https://github.com/heysokam/get.Lang/tree/master/src/get/nim |
05:51:31 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=lfHKeKjc |
06:00:08 | * | disso-peach quit (Quit: Leaving) |
06:00:51 | * | PMunch joined #nim |
06:01:56 | FromDiscord | <pmunch> In reply to @xkonti "I mean I don't": Depends on the tool, NimLSP requires being rebuilt against the version of nimsuggest you're using. nimlangserver calls whichever nimsuggest executable it can find so it should probably work fine (at least for fairly similar versions) |
06:06:28 | FromDiscord | <Robyn [She/Her]> In reply to @heysokam "Is there a case": Maybe when passing it as a parameter for a proc? |
06:07:52 | FromDiscord | <morgan> In reply to @chronos.vitaqua "Good luck! It'd definitely": earlier i had started translating parts of the zig lua script for bgfx but i didn't really know what was going on so i started poking at the big table full of stuff, which i will probably write the stuff for from scratch |
06:08:20 | FromDiscord | <morgan> oops i didn't see if that was a ping reply, mb if so |
06:09:08 | FromDiscord | <morgan> there's this metatable thing in lua which is currently beyond my comprehension lol |
06:10:36 | FromDiscord | <Robyn [She/Her]> In reply to @morganalyssa "oops i didn't see": It ain't dw |
06:10:55 | FromDiscord | <Robyn [She/Her]> In reply to @morganalyssa "earlier i had started": Yeah good luck aha, I don't know how it works at all |
06:11:24 | FromDiscord | <morgan> yea i have absolutely zero lua experience lol |
06:11:34 | FromDiscord | <Robyn [She/Her]> Fair honestly |
06:11:48 | FromDiscord | <morgan> but it'll be cool seeing it come together as i get to each bit of it |
06:12:27 | FromDiscord | <morgan> it looks like there's something that defines each thing rather than parsing c/c++ syntax for it |
06:12:35 | FromDiscord | <morgan> which then makes a table |
06:12:43 | FromDiscord | <morgan> which im digging thru to find stuff |
06:13:25 | FromDiscord | <morgan> i have no clue what these metatables do, they don't seem to contain much of anything other than a couple function pointers |
06:13:35 | FromDiscord | <morgan> which idk what they do |
06:33:54 | * | coldfeet joined #nim |
06:35:16 | FromDiscord | <sOkam! 🫐> In reply to @chronos.vitaqua "Maybe when passing it": tjat |
06:35:32 | FromDiscord | <sOkam! 🫐> (edit) "tjat" => "that's a proc argument, not top level... 🤔" |
06:58:31 | FromDiscord | <Robyn [She/Her]> In reply to @heysokam "that's a proc argument,": Ah, then probably no |
07:06:13 | FromDiscord | <sOkam! 🫐> the reason for the question is to not blind guess 🤷♂️ |
07:06:49 | FromDiscord | <sOkam! 🫐> common sense also tells me that "probably no", but that's just us blind-guessing |
07:15:57 | * | coldfeet quit (Remote host closed the connection) |
07:24:31 | FromDiscord | <Robyn [She/Her]> Yeahh |
07:24:42 | FromDiscord | <Robyn [She/Her]> I don't see how that'd work on top-level tbh |
07:35:27 | * | derpydoo joined #nim |
07:42:43 | FromDiscord | <morgan> ok this is pretty cool https://media.discordapp.net/attachments/371759389889003532/1248542641092689920/image.png?ex=66640b72&is=6662b9f2&hm=82dbac4f489cd247e36b7573357a215a2d3b25289667d756bcd38a0405d80d87& |
07:43:40 | FromDiscord | <morgan> tomorrow i wanna set something up with that to dump it to a file with some initial basic changes and go from there |
07:44:07 | FromDiscord | <morgan> i love that it includes comments |
07:44:21 | FromDiscord | <morgan> so i'll be able to put them in the generated nim code |
07:47:45 | FromDiscord | <Robyn [She/Her]> Fair lol |
07:48:02 | FromDiscord | <Robyn [She/Her]> Tbh it would be nice if you could make a generic JSON output and then could use Nim macros to generate the code |
07:48:41 | FromDiscord | <sOkam! 🫐> In reply to @chronos.vitaqua "Tbh it would be": there is no benefit to macros in that usecase, though |
07:48:48 | FromDiscord | <sOkam! 🫐> the vm is real slow |
07:49:28 | FromDiscord | <sOkam! 🫐> _(source: doing the same for C code generation with clang's ast dump into json)_ |
07:50:31 | FromDiscord | <sOkam! 🫐> it would be way better to generate `PNodes` from that data, and call `renderTree` on them to turn them into nim code |
07:52:05 | * | derpydoo quit (Ping timeout: 256 seconds) |
07:58:25 | FromDiscord | <sOkam! 🫐> actually, you could even generate a JSON in the format that `futhark` uses, and use futhark instead |
08:00:28 | FromDiscord | <Robyn [She/Her]> In reply to @heysokam "there is no benefit": You have a point |
08:02:14 | FromDiscord | <Robyn [She/Her]> Uh with the httpclient in the stdlib, for GET requests, how do I add data into the field? |
08:03:29 | FromDiscord | <sOkam! 🫐> In reply to @chronos.vitaqua "Uh with the httpclient": I recommend `puppy`. used httpclient for a bit, and its really awkward for portability |
08:03:31 | FromDiscord | <bubblie> Do any of you have examples of good structured nim applications that you would deem well programmed and coded or idiomatic |
08:04:33 | FromDiscord | <Robyn [She/Her]> In reply to @heysokam "I recommend `puppy`. used": Eesh okay, thanks sOkam! |
08:04:56 | FromDiscord | <sOkam! 🫐> httpclient is great, until you try to crosscompile it.... and regret all of it 🙈 |
08:05:13 | FromDiscord | <sOkam! 🫐> (edit) "httpclient is great, until you try to crosscompile ... it...." added "it or distribute an app that uses" |
08:06:15 | FromDiscord | <Robyn [She/Her]> Still has the weirdness with the `get` proc not having the `body` param, I would've thought that'd be standard? |
08:06:42 | FromDiscord | <sOkam! 🫐> doesn't the body go into the header? |
08:08:22 | FromDiscord | <Robyn [She/Her]> Really?? |
08:08:27 | FromDiscord | <Robyn [She/Her]> I never knew that |
08:09:14 | FromDiscord | <Robyn [She/Her]> God I hate this |
08:12:21 | FromDiscord | <Phil> In reply to @bubblie "Do any of you": That highly depends on how you like to structure things |
08:14:14 | FromDiscord | <Phil> I would deem my own web app well structured with clear separation of responsibilities and preference towards more smaller files over fewer large ones ↵That same structure can seem overengineered if it didn't suit how you like to do your code splitting etc. |
08:14:51 | FromDiscord | <Phil> (edit) "didn't" => "doesn't" |
08:17:38 | * | coldfeet joined #nim |
08:24:26 | FromDiscord | <pmunch> In reply to @chronos.vitaqua "Tbh it would be": Feel free to generate Futhark compatible JSON 🙂 |
08:29:44 | * | xet7 quit (Remote host closed the connection) |
09:00:05 | FromDiscord | <Robyn [She/Her]> In reply to @pmunch "Feel free to generate": Oh wait so if you generate JSON in the format that Opir outputs, Futhark can process it? |
09:00:58 | FromDiscord | <pmunch> Of course |
09:01:07 | FromDiscord | <Robyn [She/Her]> Epic |
09:24:26 | * | beholders_eye joined #nim |
10:00:38 | FromDiscord | <Robyn [She/Her]> Are async iterators a thing? :P |
10:02:16 | PMunch | nope |
10:02:23 | PMunch | Well, all async is secretly an iterator |
10:02:29 | PMunch | But not in the way you think |
10:03:03 | PMunch | I just the other day needed this though, what I ended up with was an iterator yielding a Future |
10:04:28 | PMunch | And because the iterator needed the results of the last operation it has a waitFor on the Future after the yield |
10:04:32 | PMunch | Works really well |
10:07:13 | FromDiscord | <Robyn [She/Her]> Oooh thanks PMunch for the suggestion :> |
10:28:31 | FromDiscord | <bubblie> In reply to @isofruit "I would deem my": This is how I like it is it possible for me to use ur web app as an example or if there are any similar examples of this in nim. Ive been finding a bunch of libraries in nim but ive been having a hard time just looking for applications and application examples |
10:30:11 | FromDiscord | <Phil> In reply to @bubblie "This is how I": You can look at nimstoryfont , that's my web bacaend |
10:30:13 | FromDiscord | <Phil> Backend |
10:35:15 | * | dv^_^6 joined #nim |
10:36:28 | * | dv^_^ quit (Ping timeout: 246 seconds) |
10:36:28 | * | dv^_^6 is now known as dv^_^ |
10:43:19 | * | derpydoo joined #nim |
11:18:23 | * | derpydoo quit (Quit: derpydoo) |
11:28:10 | * | GreaseMonkey quit (Remote host closed the connection) |
11:29:18 | * | greaser|q joined #nim |
11:33:28 | FromDiscord | <cattokomo> sent a code paste, see https://play.nim-lang.org/#pasty=eUFPFqYP |
11:34:48 | FromDiscord | <Robyn [She/Her]> I think it does yeah |
11:39:04 | FromDiscord | <cattokomo> i guess the only way is to test it |
11:40:54 | FromDiscord | <sOkam! 🫐> In reply to @cattokomo "do Nim concat all": yes |
12:34:02 | * | rockcavera joined #nim |
12:34:33 | PMunch | What would the alternative be? |
12:36:58 | * | jkl quit (Remote host closed the connection) |
12:37:24 | * | jkl joined #nim |
12:46:53 | * | beholders_eye quit (Ping timeout: 240 seconds) |
13:03:10 | FromDiscord | <sOkam! 🫐> not concatenating them, duh! |
13:03:19 | FromDiscord | <sOkam! 🫐> 😄 |
13:21:36 | FromDiscord | <juancarlospaco> In reply to @cattokomo "do Nim concat all": `-d:lto` |
13:25:56 | FromDiscord | <cattokomo> In reply to @juancarlospaco "`-d:lto`": i know how to enable lto in Nim, that's just an example with `passX` flags |
13:34:03 | * | PMunch quit (Read error: Connection reset by peer) |
13:35:30 | * | PMunch joined #nim |
13:35:59 | * | PMunch quit (Remote host closed the connection) |
13:37:05 | * | PMunch joined #nim |
14:00:49 | * | ntat joined #nim |
14:08:03 | * | PMunch quit (Quit: Leaving) |
15:22:23 | * | SchweinDeBurg quit (Quit: WeeChat 4.4.0-dev) |
15:22:33 | * | SchweinDeBurg joined #nim |
15:26:20 | FromDiscord | <__nycto__> Hey -- does anyone know if there is a define that gets set when `nim check` is running? |
15:29:16 | Amun-Ra | you can always inspect commandline args |
15:30:04 | Amun-Ra | commandLine.querySetting |
15:30:27 | FromDiscord | <__nycto__> Ah, that's interesting. I'll give that a shot |
15:30:29 | Amun-Ra | a very crude check: when "check" in commandLine.querySetting: … |
15:32:30 | Amun-Ra | (std/compilesettings) |
15:37:43 | Amun-Ra | I'd use "check " instead of just "check" not to have many false positives |
15:43:52 | FromDiscord | <__nycto__> Ah, found the exact thing I needed: `querySetting(SingleValueSetting.command) == "check"` |
15:44:07 | FromDiscord | <__nycto__> Thank you for pointing me to `compilesettings`, that's what I was missing |
15:44:19 | FromDiscord | <__nycto__> (edit) "Ah, found" => "Found" |
15:44:39 | Amun-Ra | oh |
15:44:45 | Amun-Ra | that's much better option |
15:45:05 | Amun-Ra | no worries :) |
15:45:20 | Amun-Ra | I was to lazy to check for specific option… :P |
15:45:42 | FromDiscord | <__nycto__> Hey -- as far as I'm concerned you gave me exactly what I needed |
15:45:47 | * | ntat quit (Quit: Leaving) |
15:47:31 | FromDiscord | <Robyn [She/Her]> In reply to @__nycto__ "Found the exact thing": Could just do `defined(nimcheck)` |
15:48:16 | FromDiscord | <odexine> In reply to @chronos.vitaqua "Could just do `defined(nimcheck)`": that was the initial question yes |
15:48:30 | FromDiscord | <odexine> In reply to @__nycto__ "Hey -- does anyone": this |
15:52:45 | FromDiscord | <Robyn [She/Her]> In reply to @odexine "that was the initial": Yeah |
15:53:54 | FromDiscord | <__nycto__> Thanks -- looks like that works too |
16:27:14 | FromDiscord | <odexine> nvim |
16:27:16 | FromDiscord | <odexine> FUCK |
16:29:26 | FromDiscord | <saint.___.> In reply to @odexine "FUCK": Whats the problem |
16:29:43 | FromDiscord | <odexine> mistakenly typed nvim here |
16:29:47 | FromDiscord | <saint.___.> Oh gotcha |
16:38:53 | * | ntat joined #nim |
16:40:21 | * | coldfeet quit (Remote host closed the connection) |
17:53:05 | * | gst joined #nim |
18:04:36 | * | gst quit (Quit: Client closed) |
19:18:59 | * | beholders_eye joined #nim |
19:21:19 | * | ntat quit (Quit: Leaving) |
19:36:24 | FromDiscord | <Robyn [She/Her]> When designing an API and the responses for it, is it advised to make a type for every type of response and then serialise that? |
19:36:42 | FromDiscord | <Robyn [She/Her]> (edit) "that?" => "that when returning the data to the endpoint?" |
20:00:34 | FromDiscord | <Phil> Not sure if that's officially recommended, but I would generally recommend |
20:00:48 | FromDiscord | <Phil> Just as basically an Anti-Corruption-Layer |
20:01:19 | FromDiscord | <Phil> Basically you have your Data-Model that goes to the outside-world and you can do whatever the fuck inside your own application, you just need to be able to translate the data inside your application to the "outside"-Data-Model |
20:01:48 | FromDiscord | <Phil> Allows easier refactoring "inside" your application with less risk of affecting the external data structure |
20:02:39 | FromDiscord | <Phil> However, often times your internal data-structures are very similar to your external data-structures.↵Mapping between the two of them can be insanely tedious.↵Which is why I wrote myself the mapster library to make precisely that usecase easier |
20:03:24 | FromDiscord | <double_spiral> Are there any raylib or pygame equivalents for nim yet (or even raylib bindings)? |
20:03:56 | FromDiscord | <double_spiral> Ive seen nimgl but that hasnt been updated in a while so im guessing its dead |
20:04:47 | FromDiscord | <Phil> I don't have deeper knowledge of the gaming area, but you can use `nimble search raylib` to see which published bindings are out there. |
20:05:50 | FromDiscord | <Robyn [She/Her]> In reply to @isofruit "However, often times your": Mapster? |
20:06:03 | FromDiscord | <Robyn [She/Her]> In reply to @double_spiral "Are there any raylib": Naylib is the go-to bindings for Raylib in Nim |
20:06:10 | FromDiscord | <Phil> https://github.com/PhilippMDoerner/mapster |
20:06:18 | FromDiscord | <double_spiral> In reply to @chronos.vitaqua "Naylib is the go-to": gotcha, thanks! |
20:09:02 | * | jmdaemon joined #nim |
20:09:43 | FromDiscord | <ieltan> In reply to @chronos.vitaqua "When designing an API": There's no "official" way |
20:12:35 | FromDiscord | <ieltan> And yeah like Phil said it's good to deserialize to a type, then you can use that type to serialize it again in your response, you also don't have to use objects for everything, use tuples for when you feel like a object is too bloaty because that particular type is only used in this one random response and nowhere else |
20:12:51 | FromDiscord | <Robyn [She/Her]> In reply to @isofruit "https://github.com/PhilippMDoerner/mapster": Oh neat! |
20:13:04 | FromDiscord | <Robyn [She/Her]> In reply to @ieltan "And yeah like Phil": Hm fair, thanks y'all :) |
20:31:07 | FromDiscord | <sOkam! 🫐> why the hell are people still finding `nimgl`? its dead af, it makes no sense that people still find it searching for gamedev libs 😦 |
20:42:00 | FromDiscord | <TӨMΛ ☠> I love Nim so fricking much↵It's third time I'm just relaxing doing some important task via just making an app dedicated to solve this, and it takes me maybe one day to setup fairly complete program↵So happy to discover this language and spread the love around 🥰 |
20:44:08 | * | xet7 joined #nim |
21:10:15 | FromDiscord | <morgan> In reply to @double_spiral "Are there any raylib": sokol has good autogenerated bindings. if you're willing to wait idk a month or more i'm starting to work on autogenerated bindings for bgfx |
21:11:24 | FromDiscord | <morgan> sokol can open a window, give you easy but not too abstracted access to the gpu, kb/mouse events, audio i/o, and more |
21:12:14 | FromDiscord | <morgan> assuming you're looking to do like normal rendering stuff and not really really abstracted "draw a shape" or "draw a sprite" type stuff |
21:12:39 | FromDiscord | <morgan> you gotta set up shaders and manage render passes and such, but it's incredibly flexible as a result |
21:13:49 | FromDiscord | <double_spiral> I'm looking for more of the abstracted stuff, I tried Godot but the only complete bindings are for Godot 3 |
21:14:09 | FromDiscord | <double_spiral> I found some Godot 4 bindings but they're incomplete and seem to be dead aswell |
21:15:03 | FromDiscord | <morgan> im not sure if there's anything that you could just drop in a mesh and move it around, i think you'd have to somewhat handle that abstraction yourself |
21:15:27 | FromDiscord | <morgan> what is it you're wanting to do with it, like end product? |
21:15:43 | FromDiscord | <double_spiral> A general application |
21:16:13 | FromDiscord | <morgan> you might then be interested in koi |
21:16:17 | FromDiscord | <double_spiral> Godot in all honesty has the features I need but I've been using gdscript for a while and it kinda sucks |
21:16:23 | FromDiscord | <double_spiral> In reply to @morganalyssa "you might then be": What is it |
21:16:31 | FromDiscord | <morgan> it's a different backend but it has vector rendering for ui stuff |
21:17:08 | FromDiscord | <double_spiral> I'll look into it |
21:17:19 | FromDiscord | <morgan> iirc it was developed to make a ttrpg style map making program |
21:20:07 | FromDiscord | <Robyn [She/Her]> Apparently `toJson` in `jsony` is not gcsafe :/ |
21:31:29 | * | krux02 joined #nim |
21:32:55 | FromDiscord | <Robyn [She/Her]> sent a code paste, see https://play.nim-lang.org/#pasty=AhWQUstV |
21:32:56 | FromDiscord | <Robyn [She/Her]> Ugh... |
21:35:33 | FromDiscord | <Robyn [She/Her]> I don't get the fucking issue and now I'm irritated |
21:38:05 | FromDiscord | <Robyn [She/Her]> Forward declaring it in the jsony file helped for some reason |
21:41:44 | * | jmdaemon quit (Quit: ZNC 1.8.2 - https://znc.in) |
21:42:52 | FromDiscord | <Robyn [She/Her]> Can't replicate the error : |
21:42:54 | FromDiscord | <Robyn [She/Her]> :/ |
21:44:49 | FromDiscord | <arthurmiiengineering> question |
21:45:02 | FromDiscord | <arthurmiiengineering> what would you guys think of doing a project series for nim? |
21:45:26 | FromDiscord | <arthurmiiengineering> host the code on github with lots of comments and whatnot, and write each project as a part of the series for youtube :p |
21:45:40 | FromDiscord | <arthurmiiengineering> i saw one like that for rust and i think it would help people learn the language 🙂 |
22:02:17 | FromDiscord | <Robyn [She/Her]> Hey @treeform, found a bug with Jsony that I can't make a minimal reproduction of, but can verify it exists with my code (which I've linked to in the GitHub issue and the PR), I've made a PR that solves the issue too, though it's just a one liner |
22:03:11 | FromDiscord | <Robyn [She/Her]> (edit) "liner" => "liner↵https://github.com/treeform/jsony/issues/88" |
22:04:45 | FromDiscord | <treeform> That looks cool. I will take a look when I am back. |
22:05:41 | FromDiscord | <Robyn [She/Her]> Alright! |
22:34:43 | FromDiscord | <Robyn [She/Her]> Hey @Phil I know you've messed with Nim threading quite a lot now, any libs you'd recommend for spawning code that runs on another thread? |
22:35:33 | FromDiscord | <Phil> In reply to @chronos.vitaqua "Hey <@180601887916163073> I know": Nothing beyond the ordinary. Like, taskpool was fairly easy, but do not combine it with async if you value your sanity |
22:35:48 | FromDiscord | <Phil> As in, do not try to use async on the thread that will run your task |
22:38:12 | FromDiscord | <Robyn [She/Her]> Oh? Why? Wasn't planning to, but I'm curious |
22:48:48 | FromDiscord | <morgan> so i was thinking about how i am not enjoying string manipulation in lua and how nim does it so much more pleasantly, and it got me thinking about the other side of bindings, not just the types but getting nim to see the functions in the right place and hook them up |
22:49:24 | FromDiscord | <morgan> i haven't had to bother with that for clap since it's literally all function pointers, with the entry point that it gets called at and has that passed in |
22:49:40 | FromDiscord | <morgan> while for bgfx, nim has to know what to go looking for to compile in |
22:50:48 | FromDiscord | <Robyn [She/Her]> In reply to @morganalyssa "so i was thinking": Have you tried Futhark? :P |
22:50:54 | FromDiscord | <morgan> yes |
22:51:10 | FromDiscord | <morgan> it would probably be easier to just use futhark yes |
22:52:23 | FromDiscord | <saint.___.> lua is so weird |
22:53:30 | FromDiscord | <morgan> looking at the bgfx code again, i think it's mainly in c++ with some way of exposing it to c |
22:53:55 | FromDiscord | <morgan> it has this IDL thing which makes it easier to get that info and that provides a c name version for stuff |
23:02:17 | FromDiscord | <morgan> ok i think inl is related to that, seems to be where a lot of stuff is defined |
23:03:25 | FromDiscord | <morgan> i kiiiiinda wanna do this in nimscript but i should keep it lua to not impose another dependency on them lol |
23:13:14 | FromDiscord | <Robyn [She/Her]> Probably yeah lol |
23:18:32 | * | beholders_eye quit (Read error: Connection reset by peer) |
23:21:16 | FromDiscord | <Phil> In reply to @chronos.vitaqua "Oh? Why? Wasn't planning": Because it will fuck up and hotspin.↵More like it isn't coded to deal with that properly |
23:24:15 | * | beholders_eye joined #nim |
23:29:15 | FromDiscord | <Robyn [She/Her]> In reply to @isofruit "Because it will fuck": Hotspin? |
23:29:29 | FromDiscord | <Phil> 100% cpu core |
23:31:40 | FromDiscord | <Robyn [She/Her]> Ah- |
23:39:08 | FromDiscord | <Robyn [She/Her]> Random question to anyone here: How does ratelimiting in an API work? How am I supposed to implement it? |
23:39:30 | FromDiscord | <ElegantBeef> On the server or a client? |
23:46:50 | FromDiscord | <Robyn [She/Her]> In reply to @elegantbeef "On the server or": On the server |
23:47:01 | FromDiscord | <Robyn [She/Her]> Oh the client it seems pretty easy |
23:49:06 | FromDiscord | <ElegantBeef> Add the credentials to your database with the current time stamp, add it to some queue to be removed in the time of the rate limit being over. Remove it when that timer is done. Every time you get a request increment the current usage amount and move the ratelimit timestamp if needed |
23:56:30 | FromDiscord | <Robyn [She/Her]> In reply to @elegantbeef "Add the credentials to": That seems like it'd be slow for something like PostgreSQL with 100 active users (not that I'm expecting that, just curious how big servers navigate that) |
23:59:06 | FromDiscord | <ElegantBeef> Well I've never done backend. I just know you need to associate credentials with a counter of how many requests so seems sensible and efficient to use a DB |
23:59:20 | FromDiscord | <Robyn [She/Her]> Fair enough |