| 03:13:41 | FromDiscord | <mjsdev> If there's a conflicting module name from two include paths, what is the expected behavior? |
| 03:24:23 | FromDiscord | <yesdrx> if there are common named symbols and you use them in your code, complier complains ambiguity need be resolved. |
| 03:24:57 | FromDiscord | <yesdrx> https://nimble.directory/ is down |
| 03:33:39 | FromDiscord | <mjsdev> I'm not talking about common named symbols... I'm talking about if I try to do an import and two paths have a matching module at that name. |
| 03:33:58 | FromDiscord | <litlighilit> module names? like python, the 1st found will be used↵(@mjsdev) |
| 03:34:55 | FromDiscord | <litlighilit> so \`std/\` prefix or \`pkg/\`↵or rel-path prefix is preferred than bare |
| 03:36:46 | FromDiscord | <litlighilit> I myself seldom use bare module name, e.g. I'll use \`import ./lib\` instead of \`import lib\` |
| 03:37:00 | FromDiscord | <mjsdev> And do you know the include order between something like nim.cfg and config.nims? Like if I have paths defined in the former and the latter. |
| 03:37:35 | FromDiscord | <litlighilit> compile \`info\` log will show that |
| 03:38:35 | FromDiscord | <litlighilit> as long as u didn't pass `--hints:off` |
| 03:38:55 | FromDiscord | <litlighilit> and here are doc |
| 03:40:45 | FromDiscord | <mjsdev> ahhh yes, apparently it was right in front of my face |
| 04:00:51 | FromDiscord | <mjsdev> Trying to get nimble to install percy via: `nimble install https://github.com/mattsah/percy` -- I don't have an `srcDir` set in the `.nimble` file so it seems to be correctly using the root, however, it's compiling as if it's missing an entire directory in `local` which is in the root and also contains source. Anyone know what the issue might be there? |
| 04:01:13 | FromDiscord | <mjsdev> I thought it was working before... but as with most things nimble, suddenly it's not. |
| 04:20:56 | * | syl quit (Quit: C-x C-c) |
| 04:24:31 | * | syl joined #nim |
| 05:17:23 | FromDiscord | <litlighilit> er, i spent quite much time to inspect your repo's structure (yours is not typical) |
| 05:17:56 | FromDiscord | <litlighilit> For this, u can choose to specify \`includeDirs\` in .nimble |
| 05:18:43 | FromDiscord | <litlighilit> (bc otherwise directories won't be copied when installing) |
| 05:20:58 | FromDiscord | <litlighilit> [Edit](https://discord.com/channels/371759389889003530/371759389889003532/1452892963225997413): For this, u can choose to specify [`installDirs`](https://nim-lang.org/docs/nimscript.html#installDirs) in .nimble |
| 05:21:35 | FromDiscord | <litlighilit> sent a code paste, see https://play.nim-lang.org/#pasty=WRqbYvFI |
| 05:22:35 | FromDiscord | <litlighilit> tho not helpful for this case\: https://nim-lang.org/docs/nimc.html#compiler-usage-configuration-files |
| 05:29:00 | FromDiscord | <mjsdev> I figured it would come down to that, and appreciate the help. It's a bit odd given that if an srcDir is specified it copies subidrectorie. |
| 05:29:02 | FromDiscord | <mjsdev> (edit) "subidrectorie." => "subidrectories." |
| 05:29:06 | FromDiscord | <mjsdev> (edit) "subidrectories." => "subdirectories." |
| 05:29:25 | FromDiscord | <mjsdev> I wonder if I specify srcDir of ./ |
| 05:34:43 | FromDiscord | <mjsdev> still fails...... copied the directory over, but clearly not using it |
| 05:36:36 | FromDiscord | <mjsdev> I'll bet I need paths |
| 05:36:47 | FromDiscord | <mjsdev> It's probably building it in complete isolation |
| 05:38:53 | FromDiscord | <mjsdev> still nadda... sigh |
| 05:39:15 | FromDiscord | <mjsdev> I'll be so happy when I never have to think about this thing anymore |
| 05:39:52 | FromDiscord | <mjsdev> The cool part is, it works fine if I do `nimble install` in the repo |
| 05:41:50 | FromDiscord | <mjsdev> And by cool I mean absurd |
| 05:42:54 | FromDiscord | <litlighilit> doesn't `installDirs` help? |
| 05:42:55 | FromDiscord | <litlighilit> doesn't `instalDirs` help?↵(@mjsdev) |
| 05:43:14 | FromDiscord | <mjsdev> nope, it moves the local folder into the /pkgs2/ folder, but it still doesn't build with it |
| 05:44:17 | FromDiscord | <mjsdev> sent a code paste, see https://play.nim-lang.org/#pasty=IVaVvAIm |
| 05:44:45 | FromDiscord | <mjsdev> Which means it built without the local dir present, as the local dir is scanned at compile time to register available commands. |
| 05:45:24 | FromDiscord | <mjsdev> or it build without the local dir being found anyhow |
| 05:45:33 | FromDiscord | <mjsdev> maybe it's not building in that dir |
| 05:53:28 | FromDiscord | <litlighilit> Is \`loader.scan("./local")\` in percy.nim what you want? |
| 05:53:48 | FromDiscord | <litlighilit> which seems to only for local/ in CWD |
| 05:53:49 | FromDiscord | <mjsdev> Yeah, that should scan and include all .nim files in "local" as modules |
| 05:54:04 | FromDiscord | <mjsdev> yes, so nimble doesn't build inside the package directory it seems |
| 05:55:18 | FromDiscord | <litlighilit> just use \`currentSourcePath()/../"local"\`↵↵after \`import std/os\` |
| 06:09:13 | FromDiscord | <mjsdev> huzzah... and no installDirs needed |
| 06:09:28 | FromDiscord | <mjsdev> at least as far as I can tell |
| 06:09:39 | FromDiscord | <litlighilit> as u've used `src`↵(@mjsdev) |
| 06:10:00 | FromDiscord | <litlighilit> as u've used↵`srcDir` |
| 06:10:27 | FromDiscord | <mjsdev> I don't have that explicitly set either anymore |
| 06:10:50 | FromDiscord | <mjsdev> so it's definitely including a --path: to that dir, and it was totally just because it wasn't building in there |
| 06:11:02 | FromDiscord | <mjsdev> which is crazy to me |
| 07:51:23 | FromDiscord | <punch5799> quick quesetion: is vector math built into the math library? I've been digging around the website and can't find anything, so I thought I'd ask here |
| 08:01:26 | FromDiscord | <nnsee> In reply to @punch5799 "quick quesetion: is vector": nope, math in std is fairly basic, you'll have to use a third party library for vector ops |
| 08:01:37 | FromDiscord | <nnsee> ... at least last i knew |
| 08:03:20 | FromDiscord | <punch5799> okay cool. That's kinda what I thought. I'm implementing a little shader program as a practice exercise with nim, and I was just kind of getting in my head about whether I should try to use anything built-in, if I should just implement the structs and methods in a similar fashion to their c counterparts, or if I should attempt to do some metaprogramming type stuff |
| 08:08:56 | FromDiscord | <nnsee> if you don't decide to implement it yourself you'd probably be interested in https://github.com/treeform/vmath |
| 08:09:08 | FromDiscord | <nnsee> treeform's libraries are always fairly high quality |
| 08:11:04 | FromDiscord | <punch5799> oh okay sick. Yeah this would be directly useful. I think I will just take a stab at it anyway for the practice, but I'll probably end up just using this every other time |
| 08:11:07 | FromDiscord | <punch5799> thanks for the link |
| 08:11:59 | FromDiscord | <aethrvmn> Vectors as in 2d/3d or vectors as in tensors?↵(@punch5799) |
| 08:13:15 | FromDiscord | <punch5799> Mostly for shaders, so just single row vector for graphics |
| 08:13:27 | FromDiscord | <punch5799> eg x,y,z, and at most w components. So Vec2-Vec4 |
| 08:14:06 | FromDiscord | <aethrvmn> You should check treeform's other repos as well for shader stuff, iirc there is one to write shader stuff in nim |
| 08:14:57 | FromDiscord | <punch5799> sick. I'll give that a look. I'm reading through this vmath code right now and it's very educational |
| 08:16:59 | FromDiscord | <mjsdev> It's getting hot! https://media.discordapp.net/attachments/371759389889003532/1452938021094822032/image.png?ex=694ba17a&is=694a4ffa&hm=9cb62b43720cbd96cc197ca31a73ca4a749a640cc4e288f8eaf1f041b9040776& |
| 09:00:27 | * | zero`_ joined #nim |
| 09:03:43 | * | zero`__ joined #nim |
| 09:03:47 | * | zero` quit (Ping timeout: 265 seconds) |
| 09:06:31 | * | zero`_ quit (Ping timeout: 246 seconds) |
| 12:09:58 | FromDiscord | <deadboizxc> 👋 |
| 12:12:17 | * | FromDiscord quit (Remote host closed the connection) |
| 12:12:30 | * | FromDiscord joined #nim |
| 14:02:22 | * | xet7 joined #nim |
| 17:22:19 | * | zodman joined #nim |
| 18:12:46 | FromDiscord | <lainlaylie> anyway... for the rest of us... use nimble head and report issues with repro steps... they do get fixed |
| 18:25:23 | FromDiscord | <mjsdev> Why "for the rest of us?" |
| 18:53:18 | FromDiscord | <Robyn [She/Her]> In reply to @lainlaylie "anyway... for the rest": ~~Or switch to Nimskull and use my fork with my superior package manager to Nimble that doesn't allow transitive dependencies :>~~ (jk |
| 18:53:20 | FromDiscord | <Robyn [She/Her]> (edit) "(jk" => "(jk)" |
| 18:54:21 | FromDiscord | <Robyn [She/Her]> My PM needs heavy improvement bleh |
| 18:54:26 | FromDiscord | <ieltan> In reply to @mjsdev "It's getting hot!": Hmm is that a debug mode, looks really good so far |
| 18:54:49 | FromDiscord | <Robyn [She/Her]> But yeah it required changes to the compiler hence why it's limited to my fork of Nimskull rn |
| 18:55:08 | FromDiscord | <mjsdev> In reply to @ieltan "Hmm is that a": That's just the -v flag |
| 18:57:25 | FromDiscord | <mjsdev> percy update -nv (force newest compatible + verbose) |
| 18:57:30 | FromDiscord | <mjsdev> (edit) "percy" => "`percy" | "-nv" => "-nv`" |
| 18:58:01 | FromDiscord | <mjsdev> Obivously I had no updates avaiable in that example. |
| 18:58:08 | FromDiscord | <mjsdev> (edit) "avaiable" => "available" |
| 18:58:17 | FromDiscord | <ieltan> I've seen your Nim forum post btw, I wasn't surprised in the least that it got a hit heated ngl a lot of effort to the tooling story in Nim is simply too fractured atm and it's even more bad when communication falls short. But I think I can afford to hope the community will find its one true PM :p how much until it's production ready? Can't wait to try it |
| 18:58:40 | FromDiscord | <mjsdev> Try it now... |
| 18:59:06 | FromDiscord | <mjsdev> do you have nim 2.2.6 -- is git in your path and do you have a git that supports worktrees? |
| 18:59:16 | FromDiscord | <ieltan> Yeah |
| 18:59:25 | FromDiscord | <ieltan> I'll try it when I get hope |
| 18:59:36 | FromDiscord | <mjsdev> sent a code paste, see https://play.nim-lang.org/#pasty=nsHDUCkQ |
| 19:00:10 | FromDiscord | <mjsdev> that will install Percy via nimble (hopefully?), then initialize a skeleton of my Minim framework in a `test` dir and build it |
| 19:00:32 | FromDiscord | <mjsdev> sent a code paste, see https://play.nim-lang.org/#pasty=PaZBgdEG |
| 19:00:36 | FromDiscord | <ieltan> (edit) "hope" => "home" |
| 19:00:47 | FromDiscord | <ieltan> Alright |
| 19:01:03 | FromDiscord | <mjsdev> In theory it should read your nimble file requires, install everything, and export git worktrees to `vendor` |
| 19:01:34 | FromDiscord | <ieltan> In reply to @battery.acid.bubblegum "~~Or switch to Nimskull": Talking about Nimskull what do they think about the whole nimony stuff? Do you think they will follow along or not |
| 19:02:10 | FromDiscord | <ieltan> Or they default to the same "it's made by araq so I'll believe it when I'll see it work" |
| 19:02:33 | FromDiscord | <mjsdev> For the record, I have no idea how to update percy with nimble... I'm working on a `percy fetch` command so it can update itself. |
| 19:02:51 | FromDiscord | <Robyn [She/Her]> In reply to @ieltan "Talking about Nimskull what": I am simply a member of the community so no clue personally |
| 19:03:44 | FromDiscord | <mjsdev> e.g. once that feature is done and it's installed, something like `percy fetch percy`, assuming Percy's bin dir is added to path. |
| 19:03:46 | FromDiscord | <ieltan> In reply to @mjsdev "For the record, I": Well ideally your PM should not depend on another PM, so yeah I would recommend a `percy update` |
| 19:04:04 | FromDiscord | <mjsdev> `percy update` is already used to update your project's deps |
| 19:04:16 | FromDiscord | <ieltan> Ahh shoot |
| 19:04:32 | FromDiscord | <mjsdev> I want something like `percy fetch <url or package> [<version>]` |
| 19:05:21 | FromDiscord | <Robyn [She/Her]> In reply to @ieltan "Or they default to": they do have a discord if you wanna join and poke around :P |
| 19:05:28 | FromDiscord | <mjsdev> So ideally... `percy fetch nim 2.2.6` would get and build nim and change `nim` to that version. |
| 19:05:36 | FromDiscord | <ieltan> Does percy have a lockfile system |
| 19:05:41 | FromDiscord | <mjsdev> Yes |
| 19:05:54 | FromDiscord | <mjsdev> `percy install` will use lockfile, if not, it's equivalent to `percy update -n` |
| 19:06:04 | FromDiscord | <mjsdev> (edit) "not," => "no lock is present," |
| 19:06:45 | FromDiscord | <ieltan> I see |
| 19:06:53 | FromDiscord | <mjsdev> It's very much modeled after PHP's composer |
| 19:07:04 | FromDiscord | <mjsdev> so update will update your lockfile |
| 19:07:15 | FromDiscord | <mjsdev> which you can commit or discard as you like |
| 19:07:20 | FromDiscord | <ieltan> Idk how composer works but if it works it works |
| 19:07:56 | FromDiscord | <mjsdev> I haven't actually used rust much, but if I had to rank PMs and ecosystems, PHP composer is #1, rust crates is probably a close second |
| 19:08:00 | FromDiscord | <mjsdev> most other things are trash |
| 19:08:21 | FromDiscord | <ieltan> My ideal PM is basically cargo yeah |
| 19:08:29 | FromDiscord | <ieltan> But I can get used to other things |
| 19:09:02 | FromDiscord | <mjsdev> The best thing about percy IMO is that it doesn't care about package names |
| 19:09:35 | FromDiscord | <mjsdev> `percy set source cb://mininim/packages` will make packages available with names like `mininim/web` and when they install, they install to `vendor/mininim/web` |
| 19:10:08 | FromDiscord | <mjsdev> In fact, if you `percy require gh://user/package` it's going to put it in `vendor/user/package` |
| 19:10:37 | FromDiscord | <ieltan> Honestly my only pet peeve so far without having it used myself is the shortened uri syntax, it's too clever and I'm left wondering what cb means 😅 |
| 19:10:39 | FromDiscord | <mjsdev> allows for very nice namespacing |
| 19:10:48 | FromDiscord | <ieltan> Of course I'll probably get used to it |
| 19:10:53 | FromDiscord | <ieltan> Or just used normal links |
| 19:10:54 | FromDiscord | <mjsdev> those are generally referred to as "forge URLs" |
| 19:11:04 | FromDiscord | <mjsdev> yeah, it doesn't matter what type of URL you use |
| 19:11:49 | FromDiscord | <mjsdev> cb or codeberg => https://codeberg.org↵gh or github => https://github.com↵gl or gitlab => https://gitlab.com↵git@... => git+ssh:// |
| 19:12:12 | FromDiscord | <mjsdev> Ultimately, it uses the expanded URL |
| 19:15:21 | FromDiscord | <ieltan> In reply to @battery.acid.bubblegum "they do have a": Sure why not |
| 19:16:17 | FromDiscord | <mjsdev> sent a code paste, see https://play.nim-lang.org/#pasty=MbMZVYHP |
| 19:16:28 | FromDiscord | <mjsdev> As an example |
| 19:16:44 | FromDiscord | <mjsdev> neo requires a lot of stuff ... @xtrayambak |
| 19:16:46 | FromDiscord | <mjsdev> 😛 |
| 19:17:45 | FromDiscord | <mjsdev> sent a code paste, see https://play.nim-lang.org/#pasty=HYvgXOof |
| 19:21:12 | FromDiscord | <mjsdev> Here it is initializing and building neo... https://media.discordapp.net/attachments/371759389889003532/1453105175823777976/message.txt?ex=694c3d27&is=694aeba7&hm=c2d557908305badd2c4f4f6a10f80303d0310210fafe6ee531290ff558b19078& |
| 19:24:15 | FromDiscord | <mjsdev> Or atlas if you prefer.... https://media.discordapp.net/attachments/371759389889003532/1453105946153844816/message.txt?ex=694c3dde&is=694aec5e&hm=6acfb44f9e35b4507d7e89c251b04eb0ce886400546c484ea7dab369f364ea7e& |
| 19:26:58 | FromDiscord | <mjsdev> The idea behind `percy fetch` is to not actually create working copies (at least in current directory) of those... so `percy fetch https://github.com/nim-lang/atlas` will just create a ~/.local/share/percy/build/<hash>@<version> dir and link ~/.local/share/percy/bin/atlas to the built binaries |
| 19:27:23 | FromDiscord | <mjsdev> (edit) "~/.local/share/percy/build/<hash>@<version>" => "`~/.local/share/percy/build/<hash>@<version>`" | "~/.local/share/percy/bin/atlas" => "`~/.local/share/percy/bin/atlas`" |
| 19:27:49 | FromDiscord | <mjsdev> If you use `percy fetch` to fetch a version already built, it will just change the link |
| 19:28:07 | FromDiscord | <mjsdev> Maybe depending on whether or not that version tag is stale |
| 19:28:15 | FromDiscord | <mjsdev> but `percy fetch` doesn't exist yet |
| 19:30:19 | FromDiscord | <mjsdev> Anyway...the ultimate goal simplified, is "just do what the user expects" |
| 19:32:15 | FromDiscord | <mjsdev> If I tell you to update... effing update, and tell me if you can't update something and why (e.g. working directory exists, but has changes -- working directory is a checked out branch that doesn't correspond to solution's commit -- etc) |
| 19:35:57 | FromDiscord | <mjsdev> @enthus1ast. ^ (since you opened that thread on the forum) |
| 19:36:55 | FromDiscord | <enthus1ast.> Uhh 🤔 |
| 19:37:31 | FromDiscord | <mjsdev> Percy (Perseus) is the greek hero that turned Atlas to stone. |
| 19:39:44 | FromDiscord | <enthus1ast.> Yes, I'm in Christmas trouble 😵💫 , have not looked at this thread today tbh |
| 19:40:31 | FromDiscord | <mjsdev> I just found it today. I don't know if Percy meets your needs exactly, but I'd be flattered if you gave it a shot |
| 19:40:42 | FromDiscord | <mjsdev> (edit) "shot" => "shot." |
| 19:43:42 | FromDiscord | <enthus1ast.> Yes, I will. I think our community is so small that we should agree on something, and make it decent |
| 19:45:00 | FromDiscord | <mjsdev> I think it's small for <reasons> -- but I've already expressed those elsewhere. |
| 19:45:08 | FromDiscord | <enthus1ast.> Or at least: me as a library author should maintain as little as possible package management files |
| 19:45:30 | FromDiscord | <mjsdev> I hope that with Percy and Mininim I can appeal to a much wider base for Nim. |
| 19:45:55 | FromDiscord | <enthus1ast.> I will definitely check them out |
| 20:03:04 | FromDiscord | <waynelxn.> how do the owner discord account got ban |
| 20:23:33 | FromDiscord | <leorize> it didn't |
| 20:23:33 | FromDiscord | <leorize> the owner just removed all of their socials |
| 22:21:33 | FromDiscord | <aethrvmn> ??????????↵(@mjsdev) |
| 22:21:37 | FromDiscord | <aethrvmn> Who told you that? |
| 22:25:05 | FromDiscord | <aethrvmn> Oh it's a Roman addition to Perseus' mythos |
| 22:25:08 | FromDiscord | <aethrvmn> Wtf Romans |
| 22:25:18 | FromDiscord | <aethrvmn> All my homies hate Ovid |
| 22:25:51 | FromDiscord | <Buckwheat> art imitates life wink wink nudge nudge |
| 22:28:40 | FromDiscord | <aethrvmn> Btw, unrelated, how easy it it to port cpp headers that include `extern C` |
| 22:28:45 | FromDiscord | <Elegantbeef> Here I though SOLID software was respected |
| 22:28:48 | FromDiscord | <aethrvmn> Using futhark maybe |
| 22:29:11 | FromDiscord | <Elegantbeef> Futhark does not have C++ support so not that easy |
| 22:29:18 | FromDiscord | <Buckwheat> I have not tried C++ with Futhark, only C and Assembly, I think it doesn't have C++ support |
| 22:29:30 | FromDiscord | <Buckwheat> at least I distinctly recall pmunch saying something about no C++ support |
| 22:29:35 | FromDiscord | <aethrvmn> I like KISS, who's Liskov? |
| 22:29:54 | FromDiscord | <aethrvmn> I was hoping because of thr extern c it might have some compat |
| 22:30:14 | FromDiscord | <Buckwheat> sadly C++ is very different under the hood from C, it's a common misconception |
| 22:30:54 | FromDiscord | <Buckwheat> it'd probably require an immense amount of extra work to get Futhark to do C++ interop the way it does C interop |
| 22:31:55 | FromDiscord | <Elegantbeef> It uses libclang so less than you'd imagine |
| 22:32:36 | FromDiscord | <aethrvmn> no `onnxruntime_c_api.h` \:( |
| 22:32:38 | FromDiscord | <Buckwheat> I don't know, we are talking about C++ here which has an immense amount of feature bloat, even the C interop isn't exactly there yet due to some types not being handled quite right AND no macro function support |
| 22:32:59 | FromDiscord | <Elegantbeef> Right but no macro support is a feature \:D |
| 22:33:19 | FromDiscord | <aethrvmn> It's weird because they have cxx\_ AND c\_ header files but they are both cpp |
| 22:33:37 | FromDiscord | <Buckwheat> doesn't seem to imply that in the README, at least not to me that is |
| 22:33:49 | FromDiscord | <Buckwheat> the language seemed to suggest pmunch WANTS to support them, but it's very difficult to do so |
| 22:33:57 | FromDiscord | <Elegantbeef> Of course |
| 22:33:58 | FromDiscord | <aethrvmn> I will use template metaprogramming because apparently that language is turing complete |
| 22:34:00 | FromDiscord | <Elegantbeef> I was joking |
| 22:34:07 | FromDiscord | <Buckwheat> pffff okay shit fair enough haha |
| 22:34:08 | FromDiscord | <Elegantbeef> Implying that you get to reimplement them in a sane land |
| 22:34:12 | FromDiscord | <Buckwheat> I'll take my L |
| 22:34:32 | FromDiscord | <Buckwheat> any language can be written sane if you're sane though |
| 22:34:43 | FromDiscord | <Buckwheat> I'm insane however so I write everything insanely |
| 22:34:52 | FromDiscord | <aethrvmn> Nobody has the hair the Bjorne has and is sane |
| 22:34:53 | FromDiscord | <Elegantbeef> No true scotsman |
| 22:35:11 | FromDiscord | <Buckwheat> what do the Scots know besides kilts and whiskey? ;D |
| 22:35:29 | FromDiscord | <aethrvmn> me \:= true Scotsman |
| 22:35:37 | FromDiscord | <aethrvmn> It's pretty easy idk why there arent any more |
| 22:35:46 | FromDiscord | <Buckwheat> pffffft |
| 22:35:56 | FromDiscord | <Elegantbeef> Aye |
| 22:36:14 | FromDiscord | <Elegantbeef> Just occured to me this is a rare occurance where everyone talking is matrix |
| 22:36:24 | FromDiscord | <Buckwheat> as it should be |
| 22:36:36 | FromDiscord | <Elegantbeef> 2026 is the year of the matrix desktop |
| 22:36:59 | FromDiscord | <Buckwheat> Matrix 2026 no customer data leaks due to third-party woohoo |
| 22:37:06 | FromDiscord | <Buckwheat> maybe we write a native Matrix client in Nim, idk |
| 22:37:18 | FromDiscord | <Elegantbeef> I've thought about it and even started wrapping the API |
| 22:37:23 | FromDiscord | <Elegantbeef> There's just a lot of API and oooh squirrel |
| 22:37:36 | FromDiscord | <Buckwheat> API fuckery is something I'm not bad at |
| 22:37:38 | FromDiscord | <Buckwheat> where can I help? |
| 22:37:51 | FromDiscord | <aethrvmn> Matrix won, no more need for Matrix Only channel |
| 22:38:10 | FromDiscord | <Elegantbeef> https://github.com/beef331/dodger/tree/master/dodger/protocol |
| 22:38:19 | FromDiscord | <Buckwheat> I'll see if I can squeeze pissing around with a Nim Matrix client in-between my uhhhhhh, how many other projects I've got |
| 22:38:23 | FromDiscord | <Buckwheat> (I have a lot) |
| 22:38:30 | FromDiscord | <aethrvmn> I wish I had an option for matrix that's not rust or python, I wish dendrite wasn't left to rot |
| 22:39:08 | FromDiscord | <Buckwheat> ...Full Stack Matrix in Nim? |
| 22:39:18 | FromDiscord | <Elegantbeef> My goal was to fully abstract away the protocol so you could use any runtime you wanted to make requests |
| 22:40:13 | FromDiscord | <Elegantbeef> You give an object to a function and it gives you back an address, a payload, and whatever else you need |
| 22:40:14 | FromDiscord | <Buckwheat> hmmm... I try not to abstract too heavily for maintainability sake since I'm a minimalism freak but I'll have to see what you've got |
| 22:41:17 | FromDiscord | <Buckwheat> I also have access to a wide array of esoteric OSes I could test across to make it cross-platform if I decide to help you with your idea |
| 22:42:27 | FromDiscord | <Elegantbeef> I will say I haven't worked on it forever |
| 22:45:05 | FromDiscord | <Elegantbeef> The API can login, sync, and query events |
| 22:45:06 | FromDiscord | <Buckwheat> very few external requirements, I like that |
| 22:45:06 | FromDiscord | <Elegantbeef> Well the GUi would be stripped out, but it's just there to be a bit more interactive |
| 22:45:06 | FromDiscord | <Buckwheat> were you able to get it to actually work as an end user client yet? |
| 22:45:07 | FromDiscord | <Elegantbeef> I mean I was able to log in, read messages and see room icons |
| 22:45:08 | FromDiscord | <Elegantbeef> It wasn't near usable |
| 22:45:08 | FromDiscord | <aethrvmn> What's missing? |
| 22:45:08 | FromDiscord | <Buckwheat> what about sending messages and receiving images? |
| 22:45:10 | FromDiscord | <Elegantbeef> images are just room events and they should work fine |
| 22:45:24 | FromDiscord | <Buckwheat> so mainly we gotta get messages being sent to work |
| 22:45:44 | FromDiscord | <Buckwheat> and maybe strip the GUI to turn it into a TUI app (at least I'm gonna presume you want it to go that direction when you say strip the GUI) |
| 22:46:12 | FromDiscord | <Elegantbeef> https://github.com/beef331/dodger/blob/master/dodger/protocol/rooms.nim#L132 is pretty much good to go |
| 22:46:31 | FromDiscord | <Elegantbeef> Nah I wanted to separate the protocol and UI to separate repositories |
| 22:46:47 | FromDiscord | <Elegantbeef> Like I said dodger's main purpose is to provide a nim interface for Matrix's protocol |
| 22:46:54 | FromDiscord | <aethrvmn> Ah, you could have an abstraction over the API and then a client and a server |
| 22:47:06 | FromDiscord | <Buckwheat> right, so it's more intended to be a library that allows anyone to build a Nim-based client or bot |
| 22:47:21 | FromDiscord | <Elegantbeef> With any network runtime they want |
| 22:47:40 | FromDiscord | <Elegantbeef> I do not like hard locking it to async or cps |
| 22:47:50 | FromDiscord | <Buckwheat> aethrvmn put our other project on hold... I'm now interested in getting this bad boy to work |
| 22:48:02 | FromDiscord | <Elegantbeef> lol |
| 22:48:05 | FromDiscord | <Buckwheat> you down to lose your mind on this with me? |
| 22:48:37 | FromDiscord | <Elegantbeef> https://spec.matrix.org/v1.17/client-server-api/ it's a long rabbit hole if you have not jumped in |
| 22:48:58 | FromDiscord | <Buckwheat> nothing I'm not used to by now |
| 22:49:42 | FromDiscord | <Elegantbeef> I spent a good while at a point fighting an argument I sent in a url instead of as a http parameter |
| 22:49:45 | FromDiscord | <Buckwheat> I've read the MSDN and the Xlib documentation, I've dug into some pretty insane stuff |
| 22:49:47 | FromDiscord | <Elegantbeef> Was funny how much time I spent on that |
| 22:49:57 | FromDiscord | <Buckwheat> I was even psychopathic enough to teach myself x86 Assembly |
| 22:50:08 | FromDiscord | <Buckwheat> so... I think I might be able to handle it |
| 22:51:01 | FromDiscord | <Buckwheat> hell I've even straight up read and made sense of NetBSD's source code just for a really basic library due to the ACPI library documentation being kinda garbage |
| 22:51:16 | FromDiscord | <Elegantbeef> Well have fun! |
| 22:51:31 | FromDiscord | <Buckwheat> cloned the repo and I'll start ripping through it |
| 22:55:34 | FromDiscord | <Buckwheat> I am about to head out to go see some mates soon, but in the meantime (since you're on Matrix too), you mind drafting me up a convention doc so I know how you'd prefer me to write my code just to not make everything look like a hodgepodge of random code? |
| 22:56:19 | FromDiscord | <Buckwheat> sorry I normally do this with the other groups I work with on a regular basis so I'm used to a lot of formality regarding even just basics |
| 22:56:47 | FromDiscord | <Elegantbeef> See I'm the sort that doesn't exactly care as long as its 2 indents and not intentionally written awful |
| 22:57:50 | FromDiscord | <aethrvmn> No, I will continue [REDACTED], I'm really not up to doing API stuff, I'm trying to do systems 😩😩 |
| 22:57:59 | FromDiscord | <aethrvmn> Dont get nerd sniped so easily |
| 22:58:13 | FromDiscord | <Buckwheat> > 2 indents↵> set to default in my Emacs↵> not intentionally written awful↵> I write with the mentality of it needs to be legible to everyone else and I don't do magic numbers, but I will make shortcuts wherever I can |
| 22:58:14 | FromDiscord | <aethrvmn> Or do get, it's up to you |
| 22:58:26 | FromDiscord | <aethrvmn> At least now I get to license [REDACTED] heh |
| 22:58:29 | FromDiscord | <Buckwheat> I am incapable of doing one-at-a-time... I burnt out quickly |
| 22:58:49 | FromDiscord | <Buckwheat> I am incapable of doing one-at-a-time... I burnt out quickly doing that |
| 22:59:03 | FromDiscord | <Buckwheat> once I have the neurons activate with [REDACTED], then I might start blazing through it |
| 22:59:13 | FromDiscord | <Buckwheat> tbf we still have to flowchart that |
| 23:00:05 | FromDiscord | <aethrvmn> Once again matrix is used by gigachads |
| 23:00:28 | FromDiscord | <Buckwheat> tell you what, I'll see which project I'm feeling up to when I get home from chilling with the bros, it does give me room to test this new super secret weapon tool I got my hands on for dev |
| 23:00:59 | FromDiscord | <Elegantbeef> Uh oh AI tooling in my code?! |
| 23:01:01 | FromDiscord | <Buckwheat> aethrvmn if you can drop a flowchart in that timeframe for me on a certain part of [REDACTED], I will make sure I get some white Monsters, slam em, and churn out something |
| 23:01:02 | FromDiscord | <aethrvmn> It's all in my head, whilst the dentist was drilling my gums yesterday (and today) I was thinking about it |
| 23:01:17 | FromDiscord | <Buckwheat> oh nah, it's a tool that allows me to rip through a source file really quickly |
| 23:01:21 | FromDiscord | <aethrvmn> Lots of free time without any feeling in my mouth so I had to pass the hour |
| 23:01:29 | FromDiscord | <Buckwheat> insanely small binary, heavily minimalist codebase |
| 23:01:42 | FromDiscord | <Buckwheat> make it visual and I'll turn it into code |
| 23:01:57 | FromDiscord | <aethrvmn> Called Claude 6 |
| 23:02:40 | FromDiscord | <aethrvmn> I cloned atlas to check it because of all the forum discussions on package management and I noticed the AGENTS.md in the middle lmao |
| 23:03:10 | FromDiscord | <Elegantbeef> Yea there are a few people around these parts that are full bore AI |
| 23:03:17 | FromDiscord | <Elegantbeef> Meanwhile I'm fully bored of AI |
| 23:04:10 | FromDiscord | <aethrvmn> Eh I build and research AI for work, I'm burned out of AI |
| 23:04:46 | FromDiscord | <aethrvmn> Will still use it to brain dump |
| 23:47:17 | FromDiscord | <.bobbbob> @ringabout signedcookiesession on prologue doesnt compile, made an error report on github |