<< 05-05-2025 >>

00:25:55FromDiscord<Mason Wheeler> If I have a wildcard filename path, like `C:\data\file.txt`, is there any way to turn that into a `seq[string]` of all the files that exist that match that pattern?
00:27:12FromDiscord<ajusa> In reply to @heysokam "is there a way": Like treeform's print or std/sugar dump?
01:30:45*SchweinDeBurg quit (Quit: WeeChat 4.7.0-dev)
01:32:01FromDiscord<user2m> hey guys random question - i have a web app that i update by simply scp'ing a new version of the binary into my linux server.↵I'm currently using a .env to store env vars, but is this necessary? Why not just store them as consts? I understand that a someone could get into my ↵vps and read the consts from the binary, but couldn't they do that with the .env as well? Also this isn't being pushed to git or any repo sites
01:47:54FromDiscord<leorize> you'd have to recompile the program if you change anything
01:49:48FromDiscord<leorize> if that's not a problem, feel free to use consts
02:13:09*fedorafan joined #nim
02:41:44*alexdaguy joined #nim
02:52:11*rockcavera quit (Remote host closed the connection)
03:10:12FromDiscord<heysokam> In reply to @ajusa "Like treeform's print or": apparently not like sugar.dump https://media.discordapp.net/attachments/371759389889003532/1368786831398932560/image.png?ex=68197d93&is=68182c13&hm=6bde924b6e208c50b6fd74f335b75fc9ef977d1e0bad037b59e09c33e714a512&
03:10:50FromDiscord<heysokam> that's using the exact formatting as `$` does
03:11:24FromDiscord<Elegantbeef> You'd need to implement your own walker.... damn I should make a proc walker macro for how much I walk types
03:30:57FromDiscord<spotlightkid> It's called file globbing. Take your pick\: https://nimble.directory/search?query=glob↵(@Mason Wheeler)
03:31:39FromDiscord<Elegantbeef> stdlib also has some unix globbin
03:39:12FromDiscord<spotlightkid> yeah, but afaics it's posix-only and just a wrapper for `glob.h`.
03:39:33FromDiscord<Elegantbeef> Like I said unix globbin 😄
04:08:04FromDiscord<leorize> isn't `os` contain a glob function?
04:08:07FromDiscord<leorize> doesn't\
04:22:27FromDiscord<spotlightkid> hmm, I dunno, somebody would, like, have to look at the documentation and stuff...↵https://nim-lang.org/docs/osdirs.html#walkPattern.i%2Cstring
04:27:49FromDiscord<leorize> why is it in std/private again
04:36:59FromDiscord<Robyn [She/Her]> Isn't it bc it's exported by os?
04:37:24FromDiscord<Robyn [She/Her]> Though my question is, why is the os module so bunched up? why not keep everything as their separate modules
04:37:46FromDiscord<leorize> the thing is that private is considered stuff you can't directly import
04:37:54FromDiscord<leorize> by convention, that is
04:39:24FromDiscord<Elegantbeef> Legacy code
04:39:43FromDiscord<Elegantbeef> OS was rewritten to separate the modules, but then recombined if you import `std/os`
04:40:11FromDiscord<Elegantbeef> It's also why there is redundancy in operations for no logical reason, was for backwards compatibillity
04:45:32FromDiscord<anuke> The modules are in a strange state where functions I look up can show up in modules I've never imported directly, and I'm often not sure which "legacy module" (like std/os) actually contains the thing I'm looking for.
04:47:45FromDiscord<leorize> except that the separated parts are now in `std/private` for whatever reason
04:51:25FromDiscord<Robyn [She/Her]> ah
05:04:12FromDiscord<Elegantbeef> Hey osfiles, osdirs, and friends all repeat os
05:42:17FromDiscord<heysokam> sent a code paste, see https://play.nim-lang.org/#pasty=qTwyckOt
05:42:59FromDiscord<Elegantbeef> It's fine
05:43:07*mahlon quit (Ping timeout: 272 seconds)
05:43:09FromDiscord<heysokam> ty
05:43:10FromDiscord<Elegantbeef> But don't take my word for it use tooling
05:43:22FromDiscord<heysokam> wdym?
05:43:47*mahlon joined #nim
05:44:19FromDiscord<Elegantbeef> Use valgrind or clang tooling to ensure it frees
05:45:57FromDiscord<leorize> disable `=copy` so you don't end up double-freeing
05:46:36FromDiscord<Elegantbeef> Also in your `=wasMoved` or just `=destroy` make it nil
05:46:43FromDiscord<Elegantbeef> You also do not check whether it's nil
05:47:06FromDiscord<heysokam> `arr = nil`?
05:47:47FromDiscord<Elegantbeef> Well after you convert nil yes
05:47:49FromDiscord<heysokam> how do I disable `=copy`, leo?
05:48:27FromDiscord<heysokam> I'm confused about the nil part. doesn't `deallocCstringArray` do that?
05:48:40FromDiscord<Elegantbeef> https://nim-lang.org/docs/destructors.html#lifetimeminustracking-hooks-nimeqcopy-hook
05:48:47FromDiscord<Elegantbeef> No it does not mutate where the data points
05:49:02FromDiscord<Elegantbeef> If you don't assign it to nil it still points to the heap where it allocated the array
05:49:03FromDiscord<Elegantbeef> It's a dangling pointer
05:50:01FromDiscord<heysokam> oh
05:51:32*SchweinDeBurg joined #nim
05:54:09FromDiscord<heysokam> ` Error: cannot bind another '=copy' to: CStringArray; previous declaration was constructed here implicitly` 🤔
05:54:38FromDiscord<Elegantbeef> Move new after destroy or forward declare them
05:54:46FromDiscord<Elegantbeef> Hooks are made implicitly on usage
05:58:39FromDiscord<heysokam> worked, tyty
06:37:54*kenran joined #nim
07:37:29*nils` quit (Ping timeout: 268 seconds)
08:27:06*skippy8 joined #nim
08:38:41*kenran quit (Remote host closed the connection)
09:18:34*xet7_ joined #nim
09:18:42*xet7_ quit (Remote host closed the connection)
09:29:18*nils` joined #nim
09:47:10*beholders_eye joined #nim
10:40:30*beholders_eye quit (Ping timeout: 252 seconds)
11:48:57FromDiscord<jseb> unix goblin
13:43:29*ntat joined #nim
14:32:52*alexdaguy quit (Quit: a)
15:27:30*skippy8 quit (Quit: WeeChat 4.5.2)
16:51:58*SchweinDeBurg quit (Quit: WeeChat 4.7.0-dev)
17:23:09*andy-turner joined #nim
17:27:25*andy-turner quit (Client Quit)
17:46:34FromDiscord<mratsim> https://x.com/0xLita/status/1919404858316325166↵↵Work by @vindaar
17:50:04FromDiscord<mratsim> Runtime-compiled Cuda code from Nim AST -> GPU-agnostic AST -> Cuda
17:52:25FromDiscord<mratsim> https://www.lita.foundation/blog/nvrtc-cuda-poc-building-a-gpu-prover-with-runtime-compilation
19:54:58*lucerne joined #nim
19:57:00FromDiscord<nnsee> In reply to @mratsim "https://www.lita.foundation/blog/nvrtc-cuda-poc-bui": doubly confusing since nvidia has its own thing called NIM which often comes up when you google Nim but this is indeed about Nim and not NIM
19:57:22FromDiscord<nnsee> anyways, really cool
19:58:12FromDiscord<nnsee> the nim_ast_to_cuda_ast.nim link is broken
20:43:49*fedorafan quit (Remote host closed the connection)
20:50:25*fedorafan joined #nim
21:00:57*xet7 quit (Remote host closed the connection)
21:02:38*xet7 joined #nim
21:09:05*ntat quit (Quit: leaving)
21:51:38*rockcavera joined #nim
23:07:28FromDiscord<tomo_kimpesa> wow I didn't know that
23:08:20*fedorafan quit (Remote host closed the connection)
23:08:40*fedorafan joined #nim
23:15:35*xet7 quit (Remote host closed the connection)
23:17:23FromDiscord<treeform> hippo also does nim to cude stuff (and hip): https://github.com/monofuel/hippo
23:17:54FromDiscord<treeform> I really like the hippo examples as they follow the cuda C++ book. So you can reference: https://github.com/monofuel/hippo/tree/master/examples
23:21:14FromDiscord<albassort> hello treeform