<< 12-05-2025 >>

00:01:16*skippy8 quit (Quit: WeeChat 4.5.2)
01:27:40FromDiscord<heysokam> sent a code paste, see https://play.nim-lang.org/#pasty=EFVVUtHv
01:28:48FromDiscord<Elegantbeef> `@`
01:29:10FromDiscord<heysokam> man, that was simple. ty smart bot 🙂
01:34:14FromDiscord<Elegantbeef> R2D2 Noises
01:35:28FromDiscord<devlop_gaming> Is there a module for github that allows you to download files from private repos?
01:46:58FromDiscord<heysokam> a module?
01:47:58FromDiscord<Elegantbeef> Hey since github has a restapi you could use std/httpclient, but really you want to use libgit and any library you can find
01:49:29FromDiscord<heysokam> libgit is not great for gh releases, though. depends on what they mean by "module" and "download files"
01:49:49FromDiscord<Elegantbeef> Well module surely means library
01:50:15FromDiscord<heysokam> yes, that much is evident. but do they mean a Nim module, or -any- module in any lang?
01:50:31FromDiscord<Elegantbeef> Given we're in the main channel, I'd hope Nim 😄
01:51:05FromDiscord<heysokam> sure, but they didn't say `nim library for github`, but `module for github`, so its ambiguous
01:53:49FromDiscord<Elegantbeef> We'll never know 😄
02:15:03FromDiscord<devlop_gaming> In reply to @heysokam "a module?": Module or library
02:16:03FromDiscord<devlop_gaming> Know any?
02:17:05FromDiscord<heysokam> In reply to @devlop_gaming "Know any?": for nim? or in general?
02:17:54FromDiscord<heysokam> also, please specify what `download files` means, because you could be getting the files from different places and that changes the situation a lot
02:18:25FromDiscord<devlop_gaming> In reply to @heysokam "for nim? or in": Nim
02:18:59FromDiscord<heysokam> then answer is no, I couldn't find any↵nim has a RESTAPI, so you'd need to work with an http client library and send requests to their api
02:19:14FromDiscord<devlop_gaming> I am trying to make my engine usable anywhere(including school for future programmers) which made me realize a installer just won't work
02:19:33FromDiscord<heysokam> I had to solve automation this exact problem for `heysokam/confy`, and resulted to using TypeScript because of it
02:19:37FromDiscord<devlop_gaming> In reply to @heysokam "then answer is no,": Thats too much work😓
02:20:23FromDiscord<heysokam> In reply to @devlop_gaming "I am trying to": so then you are talking about github releases, which is not just downloading from git
02:20:55FromDiscord<heysokam> I personally solve this by giving the users the download link from the github release directly
02:21:18FromDiscord<heysokam> auto-updaters can work the same way, but they require restapi access
02:22:34FromDiscord<heysokam> In reply to @devlop_gaming "Thats too much work😓": also, just a sidenote, this type of restapi requests is like 0.0001% of the work that it takes to make an engine↵even creating a launcher for your engine from scratch that supports it is still 0.0001%
02:23:12FromDiscord<heysokam> the issue might be the lack of knowledge, not the amount of work (been there, so I get it)
02:23:21FromDiscord<devlop_gaming> Maybe
02:23:49FromDiscord<devlop_gaming> Tho I never touched http requests before
02:24:18FromDiscord<heysokam> if you use `treeform/puppy`, you can get cross-platform htttp requests and coding a downloader for gh releases files would be about 10-15 lines or so
02:25:28FromDiscord<heysokam> I'll try to find my launcher, so you can have a reference
02:25:33FromDiscord<devlop_gaming> Ok
02:25:36FromDiscord<heysokam> (edit) "I'll try to find my ... launcher," added "old"
02:29:21FromDiscord<heysokam> sent a long message, see https://pasty.ee/ojshJAeN
02:30:38FromDiscord<heysokam> the idea is that you send a simple json file to the github api, and it sends you back some json data↵and with the result you then request again to download the file data itself
02:31:02FromDiscord<heysokam> (edit) "a" => "some" | "file" => "data"
02:32:06FromDiscord<devlop_gaming> I think I get it??
02:33:09FromDiscord<heysokam> its simple in nature, but unintuitive to grasp at first. gotta do a few requests yourself and you'll get it 🙂
02:43:07*nils` quit (Ping timeout: 252 seconds)
02:46:02FromDiscord<devlop_gaming> It'll make my job a lot easier if installers were allowed in schools then I wouldn't have to go through this much trouble😮‍💨
02:49:40FromDiscord<lainlaylie> even installers that only write to user-owned directories are disallowed?
02:53:43FromDiscord<devlop_gaming> I'm not sure what part of installers are being blocked. Maybe it's specific programs? I'll have to test tomorrow.
02:54:03FromDiscord<devlop_gaming> I'm not sure if it's all programs or just ones on their block list
02:54:48FromDiscord<devlop_gaming> Probably specific ones tho since vs code is an exception to this
03:01:12FromDiscord<heysokam> sent a code paste, see https://play.nim-lang.org/#pasty=niWSQeOB
03:01:47FromDiscord<Elegantbeef> `system`
03:02:01FromDiscord<Elegantbeef> You don't import iterators
03:02:16FromDiscord<heysokam> if I dont, mitems doesn't exist
03:02:28*madprops_ joined #nim
03:02:31FromDiscord<heysokam> `Error: undeclared field: 'mitems'`
03:02:38FromDiscord<Elegantbeef> That doesn't make any sense
03:03:01FromDiscord<devlop_gaming> Even im confused 💀
03:03:02FromDiscord<Elegantbeef> The symbols declared inside iterators are accessible everywhere
03:03:27FromDiscord<heysokam> oh, because its immutable. nice error message ⚰️
03:03:30FromDiscord<Elegantbeef> Even if you `bind mitems` it'll be in the nnkCloseSymChoice so it'll be used
03:03:38*madprops quit (Ping timeout: 272 seconds)
03:03:52FromDiscord<devlop_gaming> In reply to @heysokam "oh, because its immutable.": Ikr
03:03:56*rockcavera quit (Remote host closed the connection)
03:12:26*madprops_ is now known as madprops
03:12:27*madprops quit (Changing host)
03:12:27*madprops joined #nim
03:14:16FromDiscord<lainlaylie> that's the usual error you get when trying to call a mismatching routine via method call syntax
04:53:28*andy-turner joined #nim
04:54:07*andy-turner quit (Remote host closed the connection)
05:38:14FromDiscord<sOkam (alt)> is there any reason why I would ever pass multiple .nim files to the nimc compiler?↵I think doing so would create different binaries, one for each, right? or what's the behavior there?
05:41:41FromDiscord<lainlaylie> is that even possible?
05:44:37*andy-turner joined #nim
05:48:22*andy-turner quit (Client Quit)
06:16:42FromDiscord<janakali> sent a long message, see https://pasty.ee/hSQmWjdj
06:17:08FromDiscord<janakali> (edit) "https://pasty.ee/reyPLKGr" => "https://pasty.ee/KybiNeyw"
06:17:19*nils` joined #nim
07:02:01FromDiscord<heysokam> ty
07:22:28*xutaxkamay quit (Ping timeout: 252 seconds)
08:05:13*nils` quit (Ping timeout: 276 seconds)
08:29:29*beholders_eye joined #nim
09:03:26*andy-turner joined #nim
10:04:08*rxf431 joined #nim
10:29:03*nils` joined #nim
10:50:24*ntat joined #nim
10:51:26*ntat_ joined #nim
10:51:26*ntat quit (Read error: Connection reset by peer)
10:58:29*ntat_ quit (Quit: leaving)
11:19:27*alexdaguy joined #nim
11:33:33*beholders_eye quit (Ping timeout: 265 seconds)
11:41:03FromDiscord<microwave3607> wait
11:41:29FromDiscord<microwave3607> nim is like lisp? In the sense that I can create macros by creating expressions?
11:50:48FromDiscord<nnsee> nim is like lisp in the sense that both have powerful metaprogramming capabilities
12:14:09*rxf431 quit (Quit: WeeChat 4.6.2)
12:18:05FromDiscord<devlop_gaming> C++ functions can be imported into nim right? I just wanna be sure.
12:21:11FromDiscord<nnsee> In reply to @devlop_gaming "C++ functions can be": yes
13:00:16FromDiscord<devlop_gaming> What do I do if it's cpp source files? I only know how to handle shared libs.
13:07:02*andy-turner quit (Quit: Leaving)
13:08:04FromDiscord<griffith1deadly> In reply to @devlop_gaming "What do I do": https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-compile-pragma
13:10:47FromDiscord<heysokam> In reply to @microwave3607 "nim is like lisp?": yes, you have full access to the ast, just like in lisp. but only in the context of macros
13:11:41FromDiscord<heysokam> In reply to @devlop_gaming "What do I do": you need to call `{.compile: "thefile.cpp".}` from somewhere in your code to add it to the compiler commands
13:12:42FromDiscord<griffith1deadly> In reply to @heysokam "yes, you have full": (also macros can only generate, not modify source)
13:12:42FromDiscord<heysokam> See nglfw for an implementation for C files↵https://github.com/heysokam/nglfw/blob/master/src/nglfw/compile.nim↵Different extensions, but same idea
13:13:03FromDiscord<heysokam> (edit) "@devlop_gamingSee ... nglfwfile" added "this" | "thisnglfw ... for" added "file"
13:13:07FromDiscord<griffith1deadly> In reply to @griffith1deadly "(also macros can only": but i dont know about lisp
13:13:34FromDiscord<0xfab_10> same thing
13:18:54*skippy8 joined #nim
13:25:32*beholders_eye joined #nim
13:39:22FromDiscord<nocturn9x> are nim iterators known to cause performance problems in hot paths?
13:39:29FromDiscord<nocturn9x> How are they implemented under the hood?
13:56:14FromDiscord<griffith1deadly> sent a code paste, see https://play.nim-lang.org/#pasty=dWxkIJcu
13:57:25*beholders_eye quit (Ping timeout: 252 seconds)
14:01:14*beholders_eye joined #nim
14:12:00FromDiscord<kapendev> > basically↵I guess they don't allocate by default. No idea.
14:12:55FromDiscord<kapendev> Would be nice to have better docs 🙂
14:21:47*ntat joined #nim
14:21:56*beholders_eye quit (Ping timeout: 272 seconds)
15:36:42FromDiscord<Elegantbeef> @nocturn9x They're fancy templates
16:01:15*alexdaguy quit (Quit: ded)
16:10:01FromDiscord<nocturn9x> Gotcha
16:45:02*xutaxkamay joined #nim
16:59:31*beholders_eye joined #nim
17:16:09*beholders_eye quit (Ping timeout: 252 seconds)
18:21:21FromDiscord<nervecenter> Are there any pure Nim options for building and writing ODS spreadsheets?
18:31:33FromDiscord<nervecenter> Alternatively, I did find `go-ods` which is simple enough that a direct translation might totally work.
18:36:26*andy-turner joined #nim
18:36:39*andy-turner quit (Remote host closed the connection)
18:50:47*andy-turner joined #nim
18:53:49*andy-turner quit (Client Quit)
19:08:02*beholders_eye joined #nim
19:58:57*beholders_eye quit (Ping timeout: 252 seconds)
20:18:51*ntat quit (Quit: leaving)
21:06:35*beholders_eye joined #nim
21:07:36*andy-turner joined #nim
21:07:37*andy-turner quit (Remote host closed the connection)
21:47:15*rockcavera joined #nim
21:50:08*skippy8 quit (Quit: WeeChat 4.5.2)
22:20:15FromDiscord<devlop_gaming> In reply to @heysokam "<@769926604872613899> See this nglfw": Are there any working libraries for dear imgui?
22:20:48FromDiscord<devlop_gaming> The one I found has an indentation error and I have no idea how to fix it because I don't know where anything start or end
22:45:14FromDiscord<devlop_gaming> What was the name of that library mentioned that creates bindings for you?
23:24:00FromDiscord<m4ul3r> In reply to @devlop_gaming "What was the name": Futhark most likely. ↵There’s an old imgui repo (4yrs) that I recently used and it worked decently well - was struggling with some newer one and this just ended up being the one that worked for what I was doing
23:56:08FromDiscord<devlop_gaming> In reply to @m4ul3r "Futhark most likely.": Can you send that imgui lib to me?
23:56:31FromDiscord<devlop_gaming> Actually wait ima try to import it myself first
23:58:23FromDiscord<m4ul3r> In reply to @devlop_gaming "Can you send that": https://github.com/nimgl/imgui↵↵you’ll have to build cimgui for this.