| 00:05:04 | FromDiscord | <sOkam! π«> Is there any existing/up-to-date way to translate python to nim? | 
| 00:05:08 | * | FromDiscord quit (Remote host closed the connection) | 
| 00:05:21 | * | FromDiscord joined #nim | 
| 00:05:53 | * | FromDiscord quit (Remote host closed the connection) | 
| 00:06:06 | * | FromDiscord joined #nim | 
| 00:06:49 | * | FromDiscord quit (Remote host closed the connection) | 
| 00:07:02 | * | FromDiscord joined #nim | 
| 00:07:43 | FromDiscord | <sOkam! π«> These two functions are all I need to translate, but last time I tried manually translating them it didn't go well πβ΅So wondering if there is any alternative to doing it manually https://media.discordapp.net/attachments/371759389889003532/1216175614726377642/og.py?ex=65ff6ece&is=65ecf9ce&hm=dd66308a69d989b801fae046073d7ede95c764ed3372a3cdb7e7f173c4f6ffc1& | 
| 00:08:44 | FromDiscord | <sOkam! π«> @ElegantBeef is there anything like that `bisect_right` function already in nim? or can you think of a way to do that simply? | 
| 00:11:34 | FromDiscord | <Elegantbeef> Just use a priority queue? | 
| 00:11:49 | FromDiscord | <sOkam! π«> whats a priority queue π€ | 
| 00:12:01 | FromDiscord | <Elegantbeef> A queue that is sorted by priority | 
| 00:12:19 | FromDiscord | <sOkam! π«> im not following | 
| 00:12:25 | FromDiscord | <Elegantbeef> One of the queue impls in the stdlib is a priority queue | 
| 00:12:28 | FromDiscord | <sOkam! π«> how is that related to random.choices? | 
| 00:12:41 | FromDiscord | <Elegantbeef> I mean the biset\_right inserts an element no? | 
| 00:12:48 | FromDiscord | <sOkam! π«> ah you mean for bisect | 
| 00:13:06 | FromDiscord | <sOkam! π«> In reply to @Elegantbeef "One of the queue": which module exactly? never seen queues in nim | 
| 00:13:16 | FromDiscord | <Elegantbeef> https://nim-lang.org/docs/heapqueue.html | 
| 00:13:19 | FromDiscord | <sOkam! π«> ty | 
| 00:15:20 | FromDiscord | <sOkam! π«> goes all over my head big time. no clue how to recreate python random.choices() with this | 
| 00:15:38 | FromDiscord | <sOkam! π«> i cannot even see the relationship with bisect_right π | 
| 00:16:55 | FromDiscord | <Elegantbeef> Then just port the code over | 
| 00:16:58 | FromDiscord | <Elegantbeef> I don't even know what this is doing | 
| 00:18:12 | FromDiscord | <sOkam! π«> In reply to @Elegantbeef "I don't even know": its a classic `choices`, but it allows you to add a weight to each element of the array | 
| 00:18:36 | arkanoid | Elegantbeef, I'm reading about mixins, as I never used them | 
| 00:18:48 | arkanoid | also seems quite complicated to extract an example from this | 
| 00:18:57 | arkanoid | I'l tryy | 
| 00:19:07 | FromDiscord | <sOkam! π«> (edit) "array" => "arrayβ΅choices gives the same priority to every element, but this gives you a way to skew the result towards each element with a specific weight" | 
| 00:19:13 | FromDiscord | <Elegantbeef> Put a `mixin procedureName` inside your generic procedures | 
| 00:20:01 | arkanoid | this is the signature of the proc that should be imported, but it's not found in the generic proc "proc contains*(attr: H5Attributes, key: string): bool" | 
| 00:20:19 | arkanoid | is it "mixin contains" ? | 
| 00:20:25 | FromDiscord | <Elegantbeef> yes | 
| 00:21:01 | arkanoid | same error | 
| 00:21:03 | FromDiscord | <Elegantbeef> Right then I'd just say to port this verbatim sokam removing all the incessant `None` checking | 
| 00:21:57 | FromDiscord | <Elegantbeef> You're holding it wrong | 
| 00:38:30 | arkanoid | I've isolated the portion of code that goes compile error, error is no more there | 
| 00:38:40 | arkanoid | this means that the nim compiler is giving the wrong compile error | 
| 00:38:49 | arkanoid | this is impossible to debug | 
| 00:38:59 | FromDiscord | <ElegantBeef> Bridge being funny | 
| 00:39:18 | FromDiscord | <ElegantBeef> It's likely a generic binding issue are you using `not` or `notin`? | 
| 00:39:45 | FromDiscord | <bosinski2023> , | 
| 00:40:47 | arkanoid | the error is on a line with `in`: https://github.com/Vindaar/nimhdf5/blob/4dc50f90f02ba01d363d6701af38f7c048d0903c/src/nimhdf5/attributes.nim#L354 | 
| 00:41:13 | FromDiscord | <ElegantBeef> You put a `mixin contains` inside that procedure? | 
| 00:41:20 | arkanoid | All I can do is do a larger isolated test until I spot | 
| 00:41:31 | arkanoid | I tried to add mixin contains just before that line | 
| 00:41:49 | FromDiscord | <ElegantBeef> ok change that `h5attr.contains name` and see if it persists | 
| 00:42:21 | arkanoid | this is the error I get https://play.nim-lang.org/#pasty=DQnuLtfUiPki | 
| 00:42:47 | arkanoid | as you can see "proc contains*(attr: H5Attributes, key: string)" is not listed, but it really is https://github.com/Vindaar/nimhdf5/blob/4dc50f90f02ba01d363d6701af38f7c048d0903c/src/nimhdf5/attributes.nim#L399 | 
| 00:42:50 | FromDiscord | <ElegantBeef> Yea it's not binding properly which makes me think the `in` template is causing it to not properly bind | 
| 00:43:04 | FromDiscord | <ElegantBeef> You get the same thing with `items` in generics | 
| 00:43:19 | FromDiscord | <ElegantBeef> If you do not use `items` or `pairs` directly you get generic issues | 
| 00:44:07 | FromDiscord | <ElegantBeef> Wait that's declared after the procedure | 
| 00:44:07 | arkanoid | changed into "let attr_exists = h5attr.contains(name)", same error | 
| 00:44:13 | FromDiscord | <ElegantBeef> That'll never bind | 
| 00:44:25 | FromDiscord | <ElegantBeef> Move contains before that procedure and even with `in` it'll likely work | 
| 00:44:31 | FromDiscord | <ElegantBeef> Declaration order matters | 
| 00:44:53 | FromDiscord | <ElegantBeef> A generic cannot bind a procedure that it does not know about | 
| 00:45:16 | FromDiscord | <ElegantBeef> You won't need `mixin` or `bind` when you do that either | 
| 00:45:20 | FromDiscord | <Elegantbeef> Ping | 
| 00:45:34 | arkanoid | moved `proc contains` before `proc read_attribute` and now I get different compile error! | 
| 00:45:39 | arkanoid | no mixin involved | 
| 00:46:32 | arkanoid | thanks beef (as usual) | 
| 00:46:47 | FromDiscord | <Elegantbeef> Let's be honest it's implied at this point | 
| 00:51:57 | arkanoid | I actually touch about it, but I moved the proc 1 less slot ahead than needed | 
| 00:52:05 | arkanoid | maybe I should do a PR | 
| 00:53:28 | FromDiscord | <sOkam! π«> @ElegantBeef I just randomly found this searching for something else:β΅https://nim-lang.org/docs/random.html#sample%2CopenArray%5BT%5D%2CopenArray%5BU%5Dβ΅Do you know how this function works? Is it doing the same thing I was trying to do with the cumulative weights thing from python? π€ | 
| 00:54:48 | FromDiscord | <Robyn [She/Her]> I wonder if system.nim can be written without making use of any magic | 
| 00:54:48 | FromDiscord | <Elegantbeef> It's indirection all the way down https://github.com/nim-lang/Nim/blob/version-2-0/lib/pure/random.nim#L524-L525 | 
| 00:54:54 | FromDiscord | <Robyn [She/Her]> Probably not | 
| 00:55:13 | FromDiscord | <Elegantbeef> No cause there are no integers without magic | 
| 00:55:19 | FromDiscord | <Elegantbeef> Or arrays | 
| 00:55:43 | FromDiscord | <Elegantbeef> Without magic you get... `object` | 
| 00:56:06 | FromDiscord | <sOkam! π«> In reply to @Elegantbeef "It's indirection all the": wdym? | 
| 00:56:18 | FromDiscord | <Elegantbeef> It keeps calling procedures in small procedures | 
| 00:56:25 | FromDiscord | <Elegantbeef> Code reuse and all that jazz | 
| 00:56:40 | FromDiscord | <sOkam! π«> so answer is you don't know how it works? | 
| 00:56:40 | FromDiscord | <Elegantbeef> It seems like it is similar | 
| 00:56:43 | FromDiscord | <Elegantbeef> Whether it's the same I have no clue | 
| 00:56:50 | FromDiscord | <sOkam! π«> i see, ty | 
| 00:59:21 | FromDiscord | <Robyn [She/Her]> In reply to @Elegantbeef "No cause there are": Couldn't you just wrap a C integer for the native backends? | 
| 01:00:02 | * | nazgulsenpai quit (Quit: ZNC 1.8.2 - https://znc.in) | 
| 01:00:44 | FromDiscord | <Elegantbeef> Those are defined as aliases to builtins | 
| 01:04:36 | * | nazgulsenpai joined #nim | 
| 01:08:52 | FromDiscord | <sOkam! π«> @ElegantBeef it did exactly the right thing! damn, wasted so much time not knowing this existed https://media.discordapp.net/attachments/371759389889003532/1216191002646155345/image.png?ex=65ff7d22&is=65ed0822&hm=a8299880fd6e7452c0ed78169b34028a7b169f817c1ba492cf5f02cb9a7bb9db& | 
| 01:09:21 | FromDiscord | <sOkam! π«> sent a code paste, see https://play.nim-lang.org/#pasty=PnDpRSpKXCzk | 
| 01:09:36 | FromDiscord | <sOkam! π«> (edit) "https://play.nim-lang.org/#pasty=dVtnAzLPHQwu" => "https://play.nim-lang.org/#pasty=ihtHffmAOtSt" | 
| 01:10:49 | arkanoid | keep fighting in generic and concept context: "got: <typedesc[Meter], typedesc[DecaMeter], typedesc[Minute]> but expected: <D: Length, LD: Length, T: Time>" | 
| 01:11:03 | arkanoid | damn you nim compiler, you are not helpful at all | 
| 01:16:04 | FromDiscord | <Robyn [She/Her]> Oh I wonder how hard it'd be to compile Nim libraries into static libraries then only recompile the static libs once you do something like add a genetic so you can reduce the time Nim takes to build projects | 
| 01:16:25 | FromDiscord | <Elegantbeef> Sounds like IC with more work | 
| 01:16:28 | FromDiscord | <Robyn [She/Her]> Since it'd prefer the static lib to compile against instead of the Nim code | 
| 01:16:41 | FromDiscord | <Robyn [She/Her]> In reply to @Elegantbeef "Sounds like IC with": Why would it be more work? | 
| 01:16:53 | FromDiscord | <Robyn [She/Her]> Well | 
| 01:17:01 | FromDiscord | <Elegantbeef> Cause you still need the IC cache but now also need to compile static libraries | 
| 01:17:11 | FromDiscord | <Elegantbeef> Plus you have no compile time support | 
| 01:17:24 | FromDiscord | <Robyn [She/Her]> Yeah okay :p | 
| 01:17:29 | FromDiscord | <Robyn [She/Her]> Welp | 
| 01:17:31 | FromDiscord | <Robyn [She/Her]> I tried | 
| 01:18:55 | FromDiscord | <Elegantbeef> If there was an easy solution to IC it'd be done | 
| 01:20:01 | FromDiscord | <Robyn [She/Her]> Fair | 
| 01:20:23 | FromDiscord | <Robyn [She/Her]> This sucks though, compiling takes so long and I don't understand enough to help with IC | 
| 01:22:07 | FromDiscord | <Robyn [She/Her]> Pong | 
| 01:22:26 | FromDiscord | <Robyn [She/Her]> Testing bridge responsiveness | 
| 01:23:36 | FromDiscord | <Robyn [She/Her]> Seems fine | 
| 01:23:37 | FromDiscord | <sOkam! π«> sent a code paste, see https://play.nim-lang.org/#pasty=sPtcDXTnvRAR | 
| 01:24:41 | FromDiscord | <Robyn [She/Her]> Do you mean initialising an array's value via index assignment in the constructor? | 
| 01:24:55 | FromDiscord | <Robyn [She/Her]> I don't know C++ | 
| 01:25:14 | FromDiscord | <sOkam! π«> sent a code paste, see https://play.nim-lang.org/#pasty=muNtteJOsmtz | 
| 01:26:21 | FromDiscord | <sOkam! π«> In reply to @Robyn  "I don't know C++": actually, that doesn't exist in C++, afaik its a C thing | 
| 01:26:30 | FromDiscord | <sOkam! π«> at least for objects | 
| 01:27:06 | FromDiscord | <Elegantbeef> There is not | 
| 01:27:06 | FromDiscord | <Elegantbeef> https://forum.nim-lang.org/t/10037#66190 | 
| 01:27:16 | FromDiscord | <Elegantbeef> `Left: 2, Right: 2, Up: 1, Down: 2` | 
| 01:27:30 | FromDiscord | <Robyn [She/Her]> Ahβ΅(@sOkam! π«) | 
| 01:29:32 | FromDiscord | <sOkam! π«> In reply to @Elegantbeef "`Left: 2, Right: 2,": how do you use this? | 
| 01:30:43 | FromDiscord | <Robyn [She/Her]> Ah the bridge is lagging | 
| 01:31:06 | FromDiscord | <Elegantbeef> Paste it inside `[]` | 
| 01:31:12 | FromDiscord | <sOkam! π«> the slice thing is neat, but doesn't solve my problemβ΅the example I gave only has 4 options and its easy to read... but that won't be the case for the other cases. so doesn't serve the goal sadly π | 
| 01:31:24 | FromDiscord | <sOkam! π«> In reply to @Elegantbeef "Paste it inside `[]`": then it does exist | 
| 01:31:46 | FromDiscord | <sOkam! π«> that is essentially what designated initialization is | 
| 01:34:20 | FromDiscord | <Elegantbeef> I'd argue it's not the same since it creates an array and all indices have to be written, I'm guessing C allows `int arr[7] = {[0] = 1, [4] = 15 }`  but I could be wrong | 
| 01:35:59 | arkanoid | I clearly cannot understand yet the different between proc foo[T](bar: T), and proc foo(bar: Z) where Z is a concept or a typeclass | 
| 01:36:25 | FromDiscord | <Elegantbeef> What difference? | 
| 01:36:51 | FromDiscord | <Elegantbeef> Unless you mean `proc foo [T: Z](bar: Z)` | 
| 01:36:59 | FromDiscord | <Elegantbeef> i mean `bar: T` of course | 
| 01:37:59 | FromDiscord | <sOkam! π«> In reply to @Elegantbeef "I'd argue it's not": C does support partial initialization, yeah. true that | 
| 01:38:28 | FromDiscord | <sOkam! π«> nim's named syntax solves my problem though. I just wanted the numbers to be named, so that solves it | 
| 01:39:18 | arkanoid | you mean concepts and typeclasses can't be used as type arguments? | 
| 01:39:20 | FromDiscord | <bosinski2023> @beef is it possible to allocate smth. and then transfere ownership to ARC/ORC ? | 
| 01:39:56 | arkanoid | bosinsky, create an object with a pointer and declare destructor of that object? | 
| 01:40:04 | FromDiscord | <Elegantbeef> You can take ownership of anything if you write your own hooks | 
| 01:40:09 | arkanoid | sorry, typo in your name | 
| 01:40:40 | FromDiscord | <Elegantbeef> That's one of the perks of Arc it's indistinguishable from manual memory management | 
| 01:40:45 | FromDiscord | <bosinski2023> In reply to @arkanoid "bosinsky, create an object": yes, this way, i want ARC/ORC to collect & dispose the thing | 
| 01:41:14 | FromDiscord | <Elegantbeef> There is no automated solution you have to wrap it | 
| 01:41:45 | FromDiscord | <bosinski2023> In reply to @Elegantbeef "There is no automated": wrap it ? how and what ? | 
| 01:42:20 | FromDiscord | <Elegantbeef> Make a new object with a field of the type you want to wrap or make the type a `distinct ptr YourType` | 
| 01:42:28 | FromDiscord | <Elegantbeef> Then implement the move semantic hooks | 
| 01:42:33 | FromDiscord | <bosinski2023> (edit) "In reply to @Elegantbeef "There is no automated": wrap it ? how and what ? ... " added "so have a outer type, a struct and then my allocated thing inside ?" | 
| 01:42:34 | FromDiscord | <Elegantbeef> Then bob's your auntie | 
| 01:43:01 | FromDiscord | <bosinski2023> In reply to @Elegantbeef "Then bob's your auntie": wuhuu - i love bob.. | 
| 01:43:17 | FromDiscord | <Elegantbeef> https://nim-lang.org/docs/destructors.html read this | 
| 01:43:27 | FromDiscord | <Elegantbeef> The motivating example creates a sequence | 
| 01:44:03 | FromDiscord | <bosinski2023> @beef would you know a sorting-algo thats done in nim and is single-threaded faster than the sort from `std/algorithm` | 
| 01:44:17 | FromDiscord | <Elegantbeef> I don't sort things | 
| 01:44:25 | FromDiscord | <Elegantbeef> Who am I to play god | 
| 01:44:34 | FromDiscord | <bosinski2023> In reply to @Elegantbeef "The motivating example creates": thx uncle beef π | 
| 01:44:39 | arkanoid | haha | 
| 01:44:47 | FromDiscord | <morgan> In reply to @morganalyssa "so i'm wrapping clap,": well i tried replacing the exported struct with some emit pragmas but i just keep running into issues | 
| 01:45:13 | FromDiscord | <Elegantbeef> Did you use the `emit: """/TYPESECTION/ ..."""`? | 
| 01:45:27 | FromDiscord | <bosinski2023> In reply to @Elegantbeef "Who am I to": i tried smth. and i see around 10-X - i think i like it .. | 
| 01:46:19 | FromDiscord | <Elegantbeef> I don't even know what that means | 
| 01:46:53 | FromDiscord | <morgan> it's code that goes at the bottom in the example im following | 
| 01:47:10 | FromDiscord | <bosinski2023> In reply to @Elegantbeef "I don't even know": i mean - i have a algo that sort 1-million int32 in 1/tenth of the time std/sort takes.. | 
| 01:47:20 | FromDiscord | <bosinski2023> (edit) "sort" => "sorts" | 
| 01:47:27 | FromDiscord | <morgan> it's supposed to be the entry point for a dynamic library | 
| 01:47:40 | FromDiscord | <Elegantbeef> Oh that meant 10\:1 | 
| 01:48:23 | FromDiscord | <bosinski2023> In reply to @Elegantbeef "Oh that meant 10\:1": roughly, on small arrays 4-5, surprisingly on larger up to 10x | 
| 01:49:10 | FromDiscord | <bosinski2023> (edit) "In reply to @Elegantbeef "Oh that meant 10\:1": roughly, on small arrays 4-5, surprisingly on larger up to 10x ... " added "- its a vectorized quicksort - do you know what std/algorithms does ?" | 
| 01:49:17 | FromDiscord | <morgan> In reply to @morganalyssa "it's supposed to be": https://github.com/free-audio/clap/blob/main/src/plugin-template.c#L447 | 
| 01:49:55 | FromDiscord | <Elegantbeef> Why use emit? | 
| 01:50:25 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=UavlenOZyNVx | 
| 01:50:43 | FromDiscord | <morgan> i thought i tried a pragma for that | 
| 01:50:47 | FromDiscord | <morgan> but ill try it again | 
| 01:51:09 | FromDiscord | <Elegantbeef> If you didnt have `dynlib` it only exports it and does not prevent DCE | 
| 01:53:22 | FromDiscord | <morgan> well clap validator can't seem to load it and i get like basically no info | 
| 01:53:56 | FromDiscord | <morgan> maybe it's a compiler setting idk | 
| 01:54:09 | FromDiscord | <Elegantbeef> Alternatively your types do not match | 
| 01:54:55 | FromDiscord | <morgan> oh yea that could do it | 
| 01:55:25 | FromDiscord | <Elegantbeef> https://github.com/Alkamist/clap/blob/main/clap/public.nim#L171 | 
| 01:55:28 | FromDiscord | <morgan> ill have to look thru them again when i work on this again | 
| 01:55:29 | FromDiscord | <Elegantbeef> This was working | 
| 01:56:01 | FromDiscord | <morgan> oh someone already wrapped clap | 
| 01:56:25 | FromDiscord | <morgan> huh | 
| 02:08:11 | FromDiscord | <morgan> well i might actually try theirs and see if i can get a working thing with it and build off of that | 
| 02:08:25 | FromDiscord | <morgan> i do wish i had seen it before | 
| 02:11:54 | FromDiscord | <morgan> i do still have other stuff to do, like getting sokol rendering into a window created thru the clap api, and using the clap wrappers to make the other plugin formats | 
| 02:12:04 | FromDiscord | <morgan> so having less to do here would be nice | 
| 03:24:46 | arkanoid | are typeclasses allowed for types? like `type Foo[L: Length, T: Time]: distance: L  clock: Time` I have a piece of code that works if I only omit typeclasses | 
| 03:26:19 | arkanoid | sorry I mistyped my example. Fix: `type Foo[L: Length, T: Time]: distance: L  clock: T` | 
| 03:26:56 | arkanoid | If I use typeclasses in my types I get errors like: got: <typedesc[Meter], typedesc[DecaMeter], typedesc[Minute]> but expected: <D: Length, LD: Length, T: Time> | 
| 03:58:57 | FromDiscord | <minihondaguy> @room I made a nim library called fuckNiggers want to try it | 
| 03:59:10 | FromDiscord | <ElegantBeef> <@&371760044473319454> | 
| 03:59:12 | FromDiscord | <minihondaguy> It let's you embed this video | 
| 03:59:18 | FromDiscord | <minihondaguy> 1000000027.webm https://media.discordapp.net/attachments/371759389889003532/1216233896547455076/1000000027.webm?ex=65ffa515&is=65ed3015&hm=f70d29ef86e384a789155580f006a02f5deebff613cd57940008c49a35e4b5a8& | 
| 03:59:25 | FromDiscord | <minihondaguy> It let's you ekbed the flame on video | 
| 03:59:31 | FromDiscord | <minihondaguy> Its called fuckNiggers | 
| 03:59:41 | FromDiscord | <minihondaguy> 1000000027.webm https://media.discordapp.net/attachments/371759389889003532/1216233993540997120/1000000027.webm?ex=65ffa52c&is=65ed302c&hm=c85db76c55829f3c236caf5b2f840bf0c8139505437fcfaa024af21aa3a963ab& | 
| 04:19:22 | * | azimut quit (Ping timeout: 260 seconds) | 
| 04:39:39 | * | azimut joined #nim | 
| 04:45:14 | FromDiscord | <user2m> sent a code paste, see https://play.nim-lang.org/#pasty=zDXUbduwTdah | 
| 04:51:26 | FromDiscord | <odexine> astToStr? | 
| 05:16:38 | FromDiscord | <morgan> In reply to @morganalyssa "well i might actually": well i built it, there's no info for what to use as the build command, but it fails the validator in the same way so :| | 
| 05:16:42 | * | xet7 joined #nim | 
| 05:58:20 | FromDiscord | <grumblygibson> Exceptions. Any thoughts on best practices or workflows? If you put `{.raises: [].}` then do you put a unique `try/catch` around each line that can raise, or do you do something else? Especially curious about commercial Nim code. (realizing I should go read Status' projects code) | 
| 05:59:32 | FromDiscord | <Elegantbeef> Put it around all code you want to not error as high or low as you want to do | 
| 06:06:10 | NimEventer | New Nimble package! koi - Immediate mode UI for Nim, see https://github.com/johnnovak/koi | 
| 06:06:12 | FromDiscord | <grumblygibson> π€ thanks, seems like a silly question now as that is the only answer that logically follows. | 
| 06:06:47 | FromDiscord | <Elegantbeef> Of course, you can lazily try except at top level or lower down and handle it π | 
| 06:06:51 | * | junaid_ joined #nim | 
| 06:10:25 | FromDiscord | <grumblygibson> uh oh, we've opened Pandora's box of sage advice. | 
| 06:55:42 | * | azimut quit (Ping timeout: 260 seconds) | 
| 07:27:52 | FromDiscord | <bung8954> how to start a interactive shell instead of `execCmdEx` ? | 
| 07:28:41 | FromDiscord | <bung8954> (edit) "how to start a interactive shell ... instead" added "with command" | 
| 07:29:30 | FromDiscord | <bung8954> I got `Chocolatey detected you are not running from an elevated command shell` when `execCmdEx` with `{poUsePath, poParentStreams}` | 
| 07:30:46 | FromDiscord | <demotomohiro> run `execProcess` or `startProcess` with `poParentStreams`. | 
| 08:10:27 | FromDiscord | <nnsee> In reply to @NimEventer "New Nimble package! koi": this looks nice | 
| 08:31:42 | FromDiscord | <bung8954> In reply to @demotomohiro "run `execProcess` or `startProcess`": in the end I get `let (output, exitCode) = execCmdEx(fmt"powershell.exe Start-Process -FilePath 'powershell' -Verb runAs -ArgumentList 'choco','install', '{$pkg}'", options = {poEchoCmd, poUsePath, poEvalCommand}, input="Y")` | 
| 08:32:53 | * | advesperacit joined #nim | 
| 08:54:04 | NimEventer | New thread by kragil: Is there a plan to make Nim a language for normal businesses?, see https://forum.nim-lang.org/t/11189 | 
| 10:25:44 | * | xet7 quit (Remote host closed the connection) | 
| 10:37:11 | * | ntat joined #nim | 
| 11:06:33 | * | ntat quit (Quit: Leaving) | 
| 12:39:32 | * | xet7 joined #nim | 
| 13:13:25 | * | xet7 quit (Ping timeout: 246 seconds) | 
| 13:14:31 | * | junaid_ quit (Remote host closed the connection) | 
| 13:26:06 | * | xet7 joined #nim | 
| 13:31:08 | * | xet7 quit (Remote host closed the connection) | 
| 13:39:15 | * | xet7 joined #nim | 
| 13:59:59 | * | KhazAkar quit (Ping timeout: 264 seconds) | 
| 14:29:11 | * | KhazAkar joined #nim | 
| 14:51:39 | * | emilknievel joined #nim | 
| 14:57:42 | * | azimut joined #nim | 
| 15:02:13 | FromDiscord | <xtrayambak> Is there a way to find out the UTF-8 length of a character? | 
| 15:03:33 | FromDiscord | <Robyn [She/Her]> In reply to @xtrayambak "Is there a way": Does `std/unicode` work for you? | 
| 15:04:02 | FromDiscord | <xtrayambak> I can't find a way to get the UTF-8 length of a character there -- there's no proc that takes in a character and outputs an integer | 
| 15:04:47 | FromDiscord | <Robyn [She/Her]> What do you mean by utf-8 length? | 
| 15:04:59 | FromDiscord | <Robyn [She/Her]> Like, the total bytes in a unicode character? | 
| 15:05:02 | FromDiscord | <xtrayambak> Yeah | 
| 15:05:10 | FromDiscord | <xtrayambak> There's `graphemeLen` but it's not exactly that | 
| 15:05:25 | FromDiscord | <Robyn [She/Her]> You could do `$rune.len`? | 
| 15:05:58 | FromDiscord | <xtrayambak> Isn't that converting it to a UTF-8 string and getting its length? | 
| 15:06:00 | FromDiscord | <Robyn [She/Her]> It'd convert the unicode rune to a string which means you could get the length of the string for the amount of bytes | 
| 15:06:11 | FromDiscord | <xtrayambak> Ah, I think `size()` is the correct proc | 
| 15:06:20 | FromDiscord | <xtrayambak>  https://media.discordapp.net/attachments/371759389889003532/1216401762299281469/image.png?ex=6600416b&is=65edcc6b&hm=c3e0e81cbeb325ffb17cdc5fbe08a6762c4cbf1bdd4225d5fc92b8643aceffe8& | 
| 15:06:24 | FromDiscord | <Robyn [She/Her]> Ah ignore me then | 
| 15:06:29 | FromDiscord | <Robyn [She/Her]> Good luck! | 
| 15:07:44 | FromDiscord | <xtrayambak> good lord, now I need to find the UTF-16 length of that character | 
| 15:08:11 | FromDiscord | <Robyn [She/Her]> Ah good luck with that! | 
| 15:08:53 | FromDiscord | <xtrayambak> I think I'm gonna pull off this really neat trick known as "deviating from the standard" right here | 
| 15:08:54 | FromDiscord | <xtrayambak> :P | 
| 15:10:08 | FromDiscord | <Robyn [She/Her]> What are you doing, out of curiosity? | 
| 15:17:53 | FromDiscord | <xtrayambak> I'm writing a CSS3 tokenizer and parser, lol | 
| 15:19:00 | FromDiscord | <Robyn [She/Her]> Ah okay, fair :P | 
| 15:28:33 | * | emilknievel left #nim (#nim) | 
| 15:31:46 | * | libercv joined #nim | 
| 15:31:48 | * | ntat joined #nim | 
| 15:35:01 | FromDiscord | <odexine> In reply to @xtrayambak "good lord, now I": UTF-16 is not a variable length character encoding iirc | 
| 15:35:21 | FromDiscord | <odexine> "The encoding is variable-length, as code points are encoded with one or two 16-bit code units" oh it is | 
| 15:35:29 | FromDiscord | <odexine> prolly thinking of UTF-32 then | 
| 15:38:22 | * | KhazAkar quit (Ping timeout: 264 seconds) | 
| 15:43:51 | * | KhazAkar joined #nim | 
| 15:47:29 | FromDiscord | <Robyn [She/Her]> Hm, out of curiosity, you can overload `()` on types, right? | 
| 15:47:57 | FromDiscord | <Robyn [She/Her]> What if someone made an `int128` type that overloaded `()` so you could use it as if it was a typical int type | 
| 15:49:01 | FromDiscord | <odexine> In reply to @chronos.vitaqua "Hm, out of curiosity,": ive not heard of such | 
| 15:49:20 | FromDiscord | <Robyn [She/Her]> Fair, I think it was experimental | 
| 15:54:14 | * | azimut quit (Ping timeout: 260 seconds) | 
| 16:10:23 | * | xet7 quit (Remote host closed the connection) | 
| 16:19:11 | FromDiscord | <amaank404> wait | 
| 16:19:19 | FromDiscord | <amaank404> isn't utf-8 variable encoding | 
| 16:19:46 | FromDiscord | <amaank404> becuz utf-8 non-ascii characters have a larger size in memory | 
| 16:25:28 | FromDiscord | <odexine> 8 and 16 are variable | 
| 16:27:11 | Amun-Ra | not to be confused with ucs-2 | 
| 16:32:15 | * | def- quit (Quit: -) | 
| 16:32:28 | * | def- joined #nim | 
| 16:34:11 | * | azimut joined #nim | 
| 16:35:43 | * | junaid_ joined #nim | 
| 16:38:11 | * | krux02 joined #nim | 
| 16:42:19 | FromDiscord | <fosster> mh I'm having difficulties to find documentation for `checksums/sha2`, anyone can help? | 
| 16:42:42 | FromDiscord | <fosster> I get 404 on the official documentation's link | 
| 16:43:39 | Amun-Ra | https://github.com/nim-lang/checksums/blob/master/src/checksums/sha2.nim#L39-L46 | 
| 16:45:32 | Amun-Ra | hmm, gh project's readme.md points to https://nim-lang.github.io/checksums/theindex.html | 
| 16:45:47 | Amun-Ra | and https://nim-lang.github.io/checksums/src/checksums/sha2.html does work | 
| 16:51:35 | FromDiscord | <fosster> thank you very much, that is exactly what I needed! | 
| 16:51:56 | FromDiscord | <fosster> actually they should update the official documentation | 
| 16:52:12 | Amun-Ra | yes | 
| 16:52:19 | Amun-Ra | no worries :) | 
| 16:52:28 | FromDiscord | <fosster> on https://nim-lang.org/docs/sha1.html they link to non-existing page | 
| 16:57:24 | * | azimut quit (Remote host closed the connection) | 
| 16:57:42 | * | azimut joined #nim | 
| 17:02:45 | * | def- quit (Quit: -) | 
| 17:02:57 | * | def- joined #nim | 
| 17:26:57 | * | junaid_ quit (Remote host closed the connection) | 
| 17:53:25 | * | Amun-Ra quit (Ping timeout: 268 seconds) | 
| 17:59:29 | FromDiscord | <fosster> is https://github.com/cheatfate/nimcrypto the official nim cryptographic library? | 
| 18:06:59 | * | junaid_ joined #nim | 
| 18:11:34 | * | SchweinDeBurg quit (Quit: WeeChat 4.3.0-dev) | 
| 18:11:59 | * | SchweinDeBurg joined #nim | 
| 18:22:11 | * | Amun-Ra joined #nim | 
| 18:24:02 | * | def- quit (Quit: -) | 
| 18:26:14 | * | def- joined #nim | 
| 18:30:29 | * | mal`` quit (Quit: Leaving) | 
| 18:40:05 | FromDiscord | <Phil> There really is no "official" cryptographic lib | 
| 18:40:14 | FromDiscord | <Phil> The closest you could assume would be the openssl wrapper | 
| 18:45:57 | * | mal`` joined #nim | 
| 19:32:25 | * | libercv left #nim (Leaving) | 
| 20:05:39 | * | ntat quit (Remote host closed the connection) | 
| 20:06:05 | * | ntat joined #nim | 
| 20:58:17 | * | ntat quit (Quit: Leaving) | 
| 21:10:54 | FromDiscord | <user2m> sent a code paste, see https://play.nim-lang.org/#pasty=XeBUYxIAztdw | 
| 21:11:12 | FromDiscord | <user2m> (edit) "https://play.nim-lang.org/#pasty=vkkICVPUfPpt" => "https://play.nim-lang.org/#pasty=VoSUuuhcidWR" | 
| 21:31:31 | * | junaid_ quit (Remote host closed the connection) | 
| 21:35:40 | FromDiscord | <Elegantbeef> What are you trying to do exactly read from the output of the child process? | 
| 21:37:23 | FromDiscord | <user2m> Yes and send input to it as well | 
| 21:37:57 | FromDiscord | <Elegantbeef> then you should be able to just use the `inputstream` and `outputStream` | 
| 21:49:24 | FromDiscord | <bosinski2023> sent a code paste, see https://play.nim-lang.org/#pasty=blBrJtxfxGAs | 
| 21:50:16 | FromDiscord | <Elegantbeef> Sure not that it's how I'd write it | 
| 21:50:46 | FromDiscord | <bosinski2023> In reply to @Elegantbeef "Sure not that it's": ik, so how would you do it ? | 
| 21:52:45 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=mWSRoKVwMJaq | 
| 21:53:21 | FromDiscord | <bosinski2023> sent a code paste, see https://play.nim-lang.org/#pasty=mWepqiJCWVKn | 
| 21:53:34 | FromDiscord | <Elegantbeef> Missing `()` in the `N` calc for the `div` | 
| 22:11:45 | * | advesperacit quit () | 
| 22:19:43 | * | xet7 joined #nim | 
| 22:25:34 | FromDiscord | <user2m> sent a code paste, see https://play.nim-lang.org/#pasty=gHygxQNpwRjc | 
| 23:27:51 | FromDiscord | <ccloud_> ccloud | 
| 23:42:57 | * | lucasta joined #nim |