00:19:14 | FromDiscord | <Robyn [She/Her]> Hey leorize, if you're around, I have a quick question about the sans-io approach↵↵If my callback is synchronous, won't there be an issue with async sockets? Like, won't it block? Or is that up to the implementor to figure out? |
00:20:30 | FromDiscord | <leorize> why would you even have a callback in sans io? |
00:21:22 | FromDiscord | <Robyn [She/Her]> To receive the bytes from a streaming protocol? |
00:21:47 | FromDiscord | <Robyn [She/Her]> Since Minecraft has `VarInt`s which means the size isn't known until you read the bytes |
00:21:56 | FromDiscord | <Robyn [She/Her]> Beef talked about it yesterday when sans-io came up |
00:24:20 | FromDiscord | <leorize> so ask for more bytes |
00:24:29 | FromDiscord | <leorize> return a "need bytes" event |
00:24:42 | FromDiscord | <Robyn [She/Her]> In reply to @leorize "so ask for more": Which is why I'm using the callback |
00:24:45 | FromDiscord | <Robyn [She/Her]> In reply to @leorize "return a "need bytes"": I can do that |
00:24:57 | FromDiscord | <Robyn [She/Her]> Result types would be suitable here, I'd imagine |
00:25:03 | FromDiscord | <leorize> don't do callback, tell the caller what they need |
00:25:12 | FromDiscord | <Robyn [She/Her]> Alright! |
00:27:13 | FromDiscord | <leorize> but shouldn't you be buffering a bunch of bytes? |
00:27:14 | FromDiscord | <leorize> it's inefficient to read n \< 4k bytes at a time |
00:29:29 | FromDiscord | <Elegantbeef> Unless you have a incorrectly formatted packet the entirety of your message should be received and in the buffer afaik |
00:30:11 | FromDiscord | <Elegantbeef> Atleast if you read all the available data |
00:33:54 | FromDiscord | <Robyn [She/Her]> In reply to @leorize "but shouldn't you be": Wdym? |
00:34:27 | FromDiscord | <Robyn [She/Her]> MC formats packets as VarInt (id), VarInt (length), <length> bytes |
00:34:42 | FromDiscord | <Robyn [She/Her]> So that's the only time I'd be needing to request bytes individually |
00:41:18 | FromDiscord | <leorize> read as much as you can |
00:41:24 | FromDiscord | <leorize> then parse |
00:42:46 | FromDiscord | <leorize> the length tells you how many bytes following should be interpreted as varint |
00:42:58 | FromDiscord | <leorize> not how many bytes should you read |
00:43:48 | FromDiscord | <Elegantbeef> Wait MC uses variable length ints but uses an entire byte for length? |
00:44:53 | FromDiscord | <Robyn [She/Her]> In reply to @leorize "not how many bytes": What? |
00:45:14 | FromDiscord | <Robyn [She/Her]> The length is for how many bytes belong to the packet |
00:46:11 | FromDiscord | <Robyn [She/Her]> In reply to @Elegantbeef "Wait MC uses variable": No it's the id of the packet as a VarInt, then the length of the packet data as a VarInt |
00:46:15 | FromDiscord | <Elegantbeef> Right but if you read all available data to the buffer you only have an issue if there is a malformed packet |
00:47:18 | FromDiscord | <Elegantbeef> Your buffer should never have a unfinished packet as far as I know |
00:47:58 | FromDiscord | <Elegantbeef> Though I'm just an evolved monkey at a keyboard so there should be a lot of salt |
00:48:20 | FromDiscord | <Robyn [She/Her]> That's... A true assumption to be fair, if that assumption is correct then I don't need to do what I'm doing since it's already implemented |
01:03:33 | FromDiscord | <leorize> your packet is just a framing rule |
01:03:48 | FromDiscord | <leorize> it doesn't mean anything more than that |
01:04:09 | FromDiscord | <leorize> clients will send data in a stream, your job is to make sense of it |
01:04:55 | FromDiscord | <Robyn [She/Her]> If I'm using non-blocking io, my concern is I don't want to lose data because I've read too much and don't need it |
01:05:19 | FromDiscord | <Robyn [She/Her]> So just requesting more bytes is probably what I'll do |
01:05:39 | FromDiscord | <Elegantbeef> If you return the length used and the event you suddenly do not have the read issue |
01:05:54 | FromDiscord | <leorize> what does it even mean to read too much? |
01:06:35 | FromDiscord | <Elegantbeef> They mean they attempt to read a var int but it is an invalid varint and now their api is in a bad state |
01:06:45 | FromDiscord | <Robyn [She/Her]> ^^^ |
01:06:54 | FromDiscord | <Robyn [She/Her]> In reply to @Elegantbeef "*If you return the": I don't understand |
01:06:57 | FromDiscord | <Elegantbeef> They're imagining the case where you read `0xff 0xff` and you're at the end of the stream |
01:07:46 | FromDiscord | <Robyn [She/Her]> In reply to @Elegantbeef "They're imagining the case": Yeah, seems to be a possibility with how MC sends packets according to the people in the MC protocol discord |
01:09:25 | FromDiscord | <Elegantbeef> If you return the amount of bytes you read from the buffer and the error state from the procedure you do not ever have a case where you consumed incorrect data |
01:09:59 | FromDiscord | <Elegantbeef> think about it if you attempt to read a packet id but there is not enough data you emit a `(0, NeedData)` then you user code goes "Oh we need more data to continue so we read more to the buffer" |
01:10:13 | FromDiscord | <Robyn [She/Her]> Ooooh |
01:10:21 | FromDiscord | <Robyn [She/Her]> Okay that makes sense now, thank you |
01:10:46 | FromDiscord | <Robyn [She/Her]> My brain sucks at interpreting info so thanks for being patient |
01:11:58 | FromDiscord | <Elegantbeef> I still say it's likely a non issue as if you read the entirety of data waiting your packets will be fully there |
01:12:17 | FromDiscord | <Elegantbeef> You never receive a partial packet |
01:13:00 | FromDiscord | <Robyn [She/Her]> While packets are in the process of being sent though? Ah example would be with chunk data since that can be large |
01:13:01 | FromDiscord | <Elegantbeef> Minecraft uses TCP on top of it iirc |
01:13:14 | FromDiscord | <Robyn [She/Her]> Yeah it does |
01:13:17 | FromDiscord | <Elegantbeef> The entire message will be together |
01:13:35 | FromDiscord | <Elegantbeef> Atleast if I'm remembering how sockets work |
01:14:10 | FromDiscord | <Elegantbeef> Unless we're talking about super large packets that need multiple sends and to be recombined |
01:14:35 | FromDiscord | <Robyn [She/Her]> Yeaaah |
01:14:48 | FromDiscord | <Robyn [She/Her]> Likely a non-issue for the most part but better to be safe |
01:17:49 | * | Mister_Magister quit (Quit: bye) |
01:36:05 | FromDiscord | <sanspapyrus683> sent a code paste, see https://play.nim-lang.org/#pasty=zeBhdnPzhdeJ |
01:36:29 | FromDiscord | <sanspapyrus683> any way to get like c++ behavior where nim auto-assigns a value of 0 |
01:37:09 | FromDiscord | <Elegantbeef> use a CountTable instead |
01:40:46 | FromDiscord | <sanspapyrus683> 1. tysm!↵2. why does it say you're a bot what |
01:41:10 | FromDiscord | <Robyn [She/Her]> It's a bridge to Matrix |
01:42:25 | FromDiscord | <sanspapyrus683> oh cool |
03:42:47 | * | krux02 quit (Remote host closed the connection) |
05:32:08 | FromDiscord | <__nycto__> I think I know the answer to this, but I’m going to ask anyway: is it possible to mark a global variable as gcsafe at the declaration instead of the usage? |
05:36:58 | * | azimut quit (Ping timeout: 260 seconds) |
05:44:40 | FromDiscord | <Elegantbeef> Nope |
05:44:54 | FromDiscord | <Elegantbeef> Either pass it as a parameter or cry in global memory usage |
05:47:22 | FromDiscord | <__nycto__> My tears shall be ones and zeroes |
05:54:09 | FromDiscord | <Elegantbeef> On the plus side you can always make a template inside the proc that wraps access with the cast |
06:14:45 | FromDiscord | <girvo> Anyone know the best way to deal with/represent BigDecimal Java numbers/postgres `numeric(precision, scale)` numbers?↵↵Trying to filter out uint64's that are bigger than our `numeric(19, 3)` (or `BigDecimal(19.3)` in the Java API side |
06:15:35 | FromDiscord | <Elegantbeef> https://github.com/status-im/nim-stint ? |
06:16:31 | FromDiscord | <girvo> Its for the server side so stack/heap doesn't worry me, but I'll take a look |
06:17:03 | FromDiscord | <girvo> I think I just need to work out what the maximum value is for numeric(19, 3) and then just do a uint64 `<` comparison in this case |
06:17:47 | FromDiscord | <girvo> We're getting uint64 data via Modbus RTU, and sending it to our Java API via JSON -- which can sometimes send a number bigger than what the Java API and database will accept |
06:19:00 | FromDiscord | <girvo> Though stint looks very useful for some other stuff haha, so thanks for that one |
06:30:08 | * | advesperacit joined #nim |
06:53:40 | * | SchweinDeBurg quit (Quit: WeeChat 4.3.0-dev) |
06:54:27 | * | SchweinDeBurg joined #nim |
06:54:34 | * | Batzy quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
06:54:55 | * | Batzy joined #nim |
07:05:25 | FromDiscord | <ezquerra> Is there a way to check at compile time if a procedure is called with one of its arguments being "static"? I know that you can declare a proc argument as static, and then nim will enforce at compile time that the value of the argument is known at compile time. Is there a way to _not_ declare an argument as static, but do something special at compile time _if_ the argument happens to be static? |
07:06:36 | FromDiscord | <odexine> Overloading? |
07:06:56 | FromDiscord | <odexine> I don’t know if static counts in overloading |
07:09:32 | FromDiscord | <ezquerra> Thanks, I'll need to check if that works. Is that the only way? Overloading doubles the amount of functions you must declare (i.e. you now have 2 versions of the function) so if you have many functions that you want to change in this way in could be inconvenient (compared to a `when arg is static` if that were possible) |
07:11:03 | FromDiscord | <odexine> I don’t think you can know whether an argument is static at the call side |
07:17:19 | * | rockcavera quit (Remote host closed the connection) |
07:18:05 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=JwKenMTDOzHp |
07:27:04 | * | ntat joined #nim |
07:29:03 | * | Batzy quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
07:29:24 | * | Batzy joined #nim |
07:29:27 | * | Batzy quit (Client Quit) |
07:29:49 | * | Batzy joined #nim |
07:30:36 | * | Batzy quit (Client Quit) |
07:30:58 | * | Batzy joined #nim |
07:31:50 | * | Batzy quit (Client Quit) |
07:32:27 | * | Batzy joined #nim |
07:45:36 | FromDiscord | <albassort> sent a code paste, see https://play.nim-lang.org/#pasty=zvMeXXLJudKv |
07:45:38 | FromDiscord | <albassort> this is new |
07:45:47 | FromDiscord | <albassort> was compiling before |
07:46:09 | FromDiscord | <Elegantbeef> Yea before it was wrong |
07:46:13 | FromDiscord | <Elegantbeef> drop the `{}` |
07:46:43 | FromDiscord | <albassort> but they look nice |
07:47:05 | FromDiscord | <albassort> they kinda make dont make much sense tho |
07:47:32 | FromDiscord | <Elegantbeef> They make sense if you have 2^64 bits of memory sitting there and want a set |
07:48:42 | FromDiscord | <albassort> my pc only has (2^64)-1 |
07:48:59 | FromDiscord | <Elegantbeef> Sucks to suck |
08:26:55 | FromDiscord | <pedogirl> sent a long message, see https://pasty.ee/pufuaRlXpffs |
08:27:03 | FromDiscord | <Robyn [She/Her]> <@&371760044473319454> |
08:27:10 | FromDiscord | <Robyn [She/Her]> What the fuck |
08:27:21 | FromDiscord | <pedogirl> do you like chíld pórn ? |
08:43:12 | * | FromDiscord quit (Remote host closed the connection) |
08:43:28 | * | FromDiscord joined #nim |
08:55:55 | * | FromDiscord quit (Remote host closed the connection) |
08:56:08 | * | FromDiscord joined #nim |
08:58:12 | * | Mister_Magister joined #nim |
09:00:06 | Amun-Ra | admins? |
09:07:25 | FromDiscord | <pmunch> FFS.. |
09:10:24 | FromDiscord | <pmunch> In reply to @Amun-Ra "admins?": Is there anything IRC specific? |
09:11:06 | FromDiscord | <pmunch> I think we've managed to ban and clear everything on the Discord/Matrix side |
09:13:07 | FromDiscord | <pmunch> If anyone wants a project by the way I'd love a Matrix bot which listened for bans and then banned and removed everything from that user across rooms |
09:13:25 | FromDiscord | <pmunch> Currently it's a very tedious, error prone, and manual process to ban someone |
09:20:04 | FromDiscord | <Elegantbeef> If mjolnir is setup that's doable |
09:21:09 | FromDiscord | <Elegantbeef> Atleast on the matrix side the bridge needs to properly propagate deletions |
09:22:09 | FromDiscord | <Elegantbeef> It'd just be `!mjolnir ban user ...` then `!mjolnir redact ...` |
09:24:37 | Amun-Ra | pmunch: sadly, I don't think there is… |
09:25:04 | FromDiscord | <Elegantbeef> It'd also allow having a joint ban list with other servers to reduce spam further |
09:46:10 | * | xet7 joined #nim |
09:48:22 | FromDiscord | <pmunch> We have Mjølnir set up.. |
09:48:41 | FromDiscord | <pmunch> But I don't think anyone really knows how it works or how to use it |
09:48:58 | FromDiscord | <pmunch> !mjolnir help |
09:51:51 | FromDiscord | <pmunch> I tried to figure it out at some point, but never managed. |
09:53:29 | FromDiscord | <Elegantbeef> https://github.com/matrix-org/mjolnir/blob/main/docs/moderators.md#quick-usage did you follow this? |
09:54:45 | FromDiscord | <pmunch> I literally just found that, not sure if it existed last time I looked at this |
09:54:54 | FromDiscord | <pmunch> !mjolnir rules |
10:38:20 | * | ntat quit (Quit: Leaving) |
10:39:46 | * | gst joined #nim |
10:58:15 | FromDiscord | <Robyn [She/Her]> Sort of tempted to do a macro that uses arrays of arrays to store objects and field data now :P |
10:58:30 | FromDiscord | <Robyn [She/Her]> Or seqs of seqs |
11:05:37 | FromDiscord | <odexine> Why? |
11:16:40 | FromDiscord | <ieltan> hello guys |
11:17:34 | FromDiscord | <ieltan> just a little question, how many bytes would you allocate on the stack in one go (an array or a really big object) until you go "yeah, that goes on the heap" ? |
11:19:10 | FromDiscord | <odexine> I don’t know, a few kilobytes! |
11:19:13 | FromDiscord | <odexine> ? |
11:19:14 | FromDiscord | <ieltan> I need to define a threshold generally saying `if size > threshold: malloc; else: ...` |
11:19:52 | FromDiscord | <ieltan> i see 🙂 |
11:20:27 | FromDiscord | <ieltan> I was going for 2.6kB |
11:21:15 | FromDiscord | <0ffh> That seem like a very specific number, may I ask your reason? |
11:22:31 | FromDiscord | <ieltan> my own experience and profiling that showed me user inputs and interacting with api and parsing specific data rarely needed to exceed 2kB |
11:23:11 | FromDiscord | <ieltan> + 0.6 is a additional margin |
11:23:17 | FromDiscord | <nnsee> In reply to @ieltan "just a little question,": i mean that's dependent on a lot of things, the lifetime of the object being one thing for example |
11:25:25 | FromDiscord | <ieltan> In reply to @nnsee "i mean that's dependent": fair enough, i am currently trying to implement a flexible array that benefits from optimizing "small" seq by allocating on the stack instead |
11:25:40 | FromDiscord | <ieltan> and if it reaches a certain threshold it would reallocate on the heap |
11:26:46 | FromDiscord | <ieltan> surprisingly i didnt find sometime like this yet on Nimble except https://github.com/bpr/vla which is very barebones |
11:27:06 | FromDiscord | <ieltan> (edit) "sometime" => "something" |
11:27:41 | FromDiscord | <pmunch> There was some work on that for strings |
11:27:54 | FromDiscord | <pmunch> Short string of optimisation |
11:30:48 | FromDiscord | <ieltan> Right, from the sounds of it SSO is similar but i'm not familiar with the theory behind it but the implementation seems to ressemble what i am trying to do with a "general purpose" (not really) array custom array. |
11:31:16 | FromDiscord | <ieltan> (edit) removed "array" |
11:42:40 | FromDiscord | <ieltan> How does an implementation of SSO determines the ideal threshold at which it should allocate on the heap ? |
11:44:04 | FromDiscord | <Robyn [She/Her]> In reply to @odexine "Why?": Bored, and someone was looking for that before |
11:46:47 | FromDiscord | <Robyn [She/Her]> Also I wonder if there's any use to making Nim's compilation process multithreaded, but that seems pretty hard to do with the AST symbol resolution stuff |
13:12:45 | * | gst quit (Ping timeout: 250 seconds) |
13:29:02 | * | krux02 joined #nim |
14:16:36 | * | rockcavera joined #nim |
14:17:09 | * | Epsilon- joined #nim |
14:17:36 | * | Epsilon quit (Read error: Connection reset by peer) |
14:50:17 | * | azimut joined #nim |
14:53:33 | * | Ekho quit (Ping timeout: 256 seconds) |
15:02:06 | * | ntat joined #nim |
15:35:19 | * | Ekho joined #nim |
15:44:43 | * | rockcavera quit (Read error: Connection reset by peer) |
15:45:02 | * | rockcavera joined #nim |
15:45:02 | * | rockcavera quit (Changing host) |
15:45:02 | * | rockcavera joined #nim |
16:17:03 | FromDiscord | <marioboi3112> how long does it take to learn nim and actually work on a project, if you practice and learn daily for 3+ hours? |
16:17:52 | FromDiscord | <odexine> depends on the proejct size? |
16:19:04 | FromDiscord | <marioboi3112> what if they were small ones, like 2d and 3d games, and web sites or apps? |
16:24:23 | FromDiscord | <isaacpaul> accurate estimates are probably one of the most difficult things to do in the field of software engineering. |
16:26:41 | FromDiscord | <marioboi3112> In reply to @isaacpaul "accurate estimates are probably": i see, but on average, how long? |
16:28:51 | FromDiscord | <isaacpaul> If you're a complete beginner and following a tutorial. Then technically you're working on a project. ↵I'm assuming you mean how long until I will be somewhat 'productive' and 'capable' in the language. That could be a few weeks to a few months as a complete beginner depending on how talented you are. |
16:28:59 | FromDiscord | <jviega> Have you ever programmed?? |
16:29:53 | FromDiscord | <jviega> Honestly, Nim is cool, but there is much more content to help beginners for many other languages, like Python |
16:29:59 | FromDiscord | <␀ Array 🇵🇸 🍉> also depends on previous exp and motovation↵(@isaacpaul) |
16:31:45 | FromDiscord | <␀ Array 🇵🇸 🍉> id personally recommend learning an easier langauge (like js) first then nim if you are completely new to programming |
16:32:42 | FromDiscord | <␀ Array 🇵🇸 🍉> lots of progeamming knowledge transfers when switching langauges and even libraries carry over to nim |
16:33:04 | FromDiscord | <isaacpaul> Yea probably. My first language was Basic then GML (game maker) then finally c++ |
16:34:51 | FromDiscord | <marioboi3112> In reply to @jviega "Have you ever programmed??": yea, been 4 years |
16:36:04 | FromDiscord | <jviega> Well, if you're familiar w/ a game engine that is wrapped already, I assume you'd be fine. I know there's a Godot wrapping |
16:36:50 | FromDiscord | <marioboi3112> In reply to @jviega "Well, if you're familiar": nope, i have tried my best to avoid game engines lol, might start soon tho |
16:37:52 | FromDiscord | <ikeepgettingfuckingtermed> sent a code paste, see https://play.nim-lang.org/#pasty=XLefxeCJhZMQ |
16:41:41 | FromDiscord | <jviega> Well I'd probably pick a language you know better first. Easier than learning two major platforms at once |
16:44:32 | FromDiscord | <marioboi3112> In reply to @jviega "Well I'd probably pick": im quite new to nim, so i dont know it better |
16:46:15 | FromDiscord | <marioboi3112> so i should avoid nim? |
16:53:28 | FromDiscord | <jviega> Given the lack of resources for helping new people learn what you're trying to learn, probably. |
16:57:39 | FromDiscord | <that_dude.> sent a code paste, see https://play.nim-lang.org/#pasty=YdxrrCIrmvHq |
17:34:48 | FromDiscord | <saint.___.> In reply to @marioboi3112 "so i should avoid": I think you can start with nim it's fine |
17:35:02 | FromDiscord | <saint.___.> Depends on the project you're trying to do though I guess |
17:36:41 | FromDiscord | <marioboi3112> In reply to @saint.___. "Depends on the project": what could be some exceptions? |
17:36:43 | * | ntat quit (Quit: Leaving) |
17:37:15 | FromDiscord | <saint.___.> No idea really |
17:37:25 | FromDiscord | <saint.___.> Like if you want to make a mobile app or something |
17:37:30 | FromDiscord | <saint.___.> For example |
17:38:38 | FromDiscord | <marioboi3112> sorry if i'm getting annoying guys, bear with me, just wanted to know a bit more about the pros and cons of nim before i dive in 😅 |
17:38:56 | FromDiscord | <marioboi3112> In reply to @saint.___. "Like if you want": so you can't do that in nim? |
17:41:55 | FromDiscord | <␀ Array 🇵🇸 🍉> its possible to do it but it may be more work than learning kotlin/java/swift/objc and using that for mobile platforms↵(@marioboi3112) |
17:42:33 | FromDiscord | <␀ Array 🇵🇸 🍉> those lanagauges also have better resources |
17:44:40 | FromDiscord | <␀ Array 🇵🇸 🍉> android\: https://nim-lang.github.io/Nim/nimc.html#crossminuscompilation-for-androidios\: https://nim-lang.github.io/Nim/nimc.html#crossminuscompilation-for-ios |
17:44:47 | FromDiscord | <marioboi3112> In reply to @␀ Array 🇵🇸 🍉 "its possible to do": i see, have you heard of this lib tho https://github.com/iffy/wiish |
17:45:42 | FromDiscord | <marioboi3112> seems like its on alpha tho |
17:46:31 | FromDiscord | <␀ Array 🇵🇸 🍉> i haven't, sad it doesnt support the wii↵(@marioboi3112) |
17:46:41 | * | ntat joined #nim |
17:50:03 | FromDiscord | <Robyn [She/Her]> Oh something fun I learnt recently, apparently Raylib can be compiled to the Wii |
17:50:19 | FromDiscord | <Robyn [She/Her]> Apparently, if my memory is correct |
17:50:20 | FromDiscord | <marioboi3112> In reply to @␀ Array 🇵🇸 🍉 "i haven't, sad it": lol, dont know why you would be sad if it doesnt support wii when you are targeting mobile devices |
17:50:50 | FromDiscord | <Robyn [She/Her]> Ah, it worked on the N64, so probably does work on the Wii |
17:50:58 | FromDiscord | <Robyn [She/Her]> Ray pinged everyone for it, that was pretty neat |
18:43:45 | * | rockcavera quit (Read error: Connection reset by peer) |
18:44:10 | * | rockcavera joined #nim |
18:44:10 | * | rockcavera quit (Changing host) |
18:44:10 | * | rockcavera joined #nim |
18:50:29 | * | rockcavera quit (Read error: Connection reset by peer) |
18:50:50 | * | rockcavera joined #nim |
18:50:50 | * | rockcavera quit (Changing host) |
18:50:50 | * | rockcavera joined #nim |
19:00:31 | * | zgasma quit (Quit: Lost terminal) |
19:05:14 | * | rockcavera quit (Read error: Connection reset by peer) |
19:05:48 | * | rockcavera joined #nim |
19:05:48 | * | rockcavera quit (Changing host) |
19:05:48 | * | rockcavera joined #nim |
19:10:25 | * | rockcavera quit (Read error: Connection reset by peer) |
19:10:44 | * | rockcavera joined #nim |
19:15:25 | * | rockcavera quit (Read error: Connection reset by peer) |
19:15:45 | * | rockcavera joined #nim |
19:25:15 | * | rockcavera quit (Read error: Connection reset by peer) |
19:25:57 | * | rockcavera joined #nim |
19:30:36 | * | rockcavera quit (Read error: Connection reset by peer) |
19:30:55 | * | rockcavera joined #nim |
19:30:55 | * | rockcavera quit (Changing host) |
19:30:55 | * | rockcavera joined #nim |
19:35:31 | * | rockcavera quit (Read error: Connection reset by peer) |
19:35:51 | * | rockcavera joined #nim |
19:45:16 | * | rockcavera quit (Read error: Connection reset by peer) |
19:45:51 | * | rockcavera joined #nim |
19:46:18 | * | azimut quit (Ping timeout: 260 seconds) |
19:46:50 | * | azimut joined #nim |
19:52:10 | FromDiscord | <0x42656e> In reply to @ikeepgettingfuckingtermed "hey, i need to": Hi, maybe this will help you: https://nim-lang.org/docs/httpclient.html#code |
20:00:16 | NimEventer | New thread by xioren: Nim procedure args vs C and the need for pointers., see https://forum.nim-lang.org/t/11147 |
20:05:14 | * | rockcavera quit (Read error: Connection reset by peer) |
20:05:59 | * | rockcavera joined #nim |
20:09:30 | * | xet7 quit (Remote host closed the connection) |
20:10:05 | * | xet7 joined #nim |
20:12:21 | * | Guest31 joined #nim |
20:15:11 | * | rockcavera quit (Read error: Connection reset by peer) |
20:15:31 | * | rockcavera joined #nim |
20:24:08 | * | ntat quit (Quit: Leaving) |
20:51:18 | * | Guest31 quit (Quit: Client closed) |
20:56:13 | arkanoid | funny, my program works full speed in release, but crawls to sluggish speed with danger. I have no logic describing this |
21:05:30 | FromDiscord | <morgan> so cstring becomes a char pointer, right? is there another compat type that handles char arrays as a value type? like a char[64] or whatever not a pointer to that |
21:06:01 | FromDiscord | <Robyn [She/Her]> sent a code paste, see https://play.nim-lang.org/#pasty=PYRtVUKkZDEw |
21:07:17 | FromDiscord | <Robyn [She/Her]> That test + this file: https://github.com/Nimberite-Development/ModernNet/blob/master/src/modernnet/io.nim#L82 + this function https://github.com/Nimberite-Development/ModernNet/blob/master/src/modernnet/buffer.nim#L67 seem to be the only culprits I can spot |
21:07:46 | FromDiscord | <Robyn [She/Her]> Though, I think it's likely the function in `io.nim` that I'm not seeing the logic error in |
21:07:56 | FromDiscord | <intellij_gamer> In reply to @morganalyssa "so cstring becomes a": `array[64, char]` should be that type I think |
21:08:29 | FromDiscord | <morgan> yeah im just wondering if there's something that makes it a little easier to interop with normal nim strings, i could write my own procs for that |
21:08:52 | FromDiscord | <Robyn [She/Her]> In reply to @morganalyssa "yeah im just wondering": Use `openArray[char]` where you'd normally use a string type |
21:09:39 | FromDiscord | <intellij_gamer> If only strutils used openArray 😔 |
21:09:48 | FromDiscord | <morgan> tho probably all i need to do is convert string to array of chars |
21:16:59 | FromDiscord | <Elegantbeef> Patito tried 😄↵(@intellij_gamer) |
22:02:57 | arkanoid | I've type-refactored my code, it compiles just as before, everything went smooth apparently ... but now malebolgia goes deadlock lol |
22:08:44 | arkanoid | nevemind, result seq for malebolgia doesn't like newSeqWithCap |
22:24:35 | FromDiscord | <Robyn [She/Her]> I am so fed up now |
22:24:44 | FromDiscord | <Robyn [She/Her]> My code is causing so much headache... |
22:24:56 | FromDiscord | <Robyn [She/Her]> I'd rather use the callback method I was gonna use before :/ |
22:36:30 | FromDiscord | <Elegantbeef> Then use it |
22:44:54 | FromDiscord | <Robyn [She/Her]> Wouldn't be following the philosophy :/ |
23:08:10 | * | dtomato quit (Quit: The Lounge - https://thelounge.chat) |
23:09:31 | * | advesperacit quit () |
23:16:55 | * | dtomato joined #nim |
23:22:57 | * | Epsilon- is now known as Epsilon |
23:38:39 | * | LuxuryMode_ joined #nim |
23:39:05 | * | LuxuryMode_ is now known as LuxuryMode |