<< 24-10-2022 >>

00:25:42FromDiscord<Generic> it's such a funny word from today's perspective
00:26:43FromDiscord<Generic> when it was originally meant in opposition to mini computers (computers the size of a cabinet) or computers (filling halls)
00:30:00FromDiscord<albassort> In reply to @auxym "assuming you mean microcontrollers,": I meant micro processor but embedded microprocessors, small chips with independent RAM
00:39:04FromDiscord<auxym> @Generic yeah! micro as opposed to mainframe, haha
00:39:27FromDiscord<Rika> In reply to @albassort "I meant micro processor": People say microcontroller for that, yes
00:40:23FromDiscord<auxym> @albassort oh. Like cortex-A chips then? And you want to run bare metal? Most people run linux, then running nim on that is a straightforward as anything else running linux
00:40:54FromDiscord<auxym> (like rpis, etc)
01:40:42FromDiscord<albassort> In reply to @Rika "People say microcontroller for": Microcontrollers by definition have RAM on board
01:40:47FromDiscord<Rika> Do they?
01:41:04FromDiscord<albassort> (edit) "Microcontrollers by definition have RAM on board" => "According to Texas instruments yes"
01:41:33FromDiscord<albassort> compact integrated circuit designed to govern a specific operation in an embedded system. A typical microcontroller includes a processor, memory and input/output (I/O) peripherals on a single chip.
01:43:53FromDiscord<Rika> Would an ATTiny be a microprocessor then
01:51:56FromDiscord<albassort> In reply to @Rika "Would an ATTiny be": No these guys have tons of features
02:02:34*rockcavera joined #nim
02:02:34*rockcavera quit (Changing host)
02:02:34*rockcavera joined #nim
02:04:08*derpydoo joined #nim
02:08:13FromDiscord<Rika> What?
03:23:40*arkurious quit (Quit: Leaving)
03:30:16*derpydoo quit (Ping timeout: 250 seconds)
03:43:44*rockcavera quit (Remote host closed the connection)
03:47:29*bung joined #nim
03:54:25*bung quit (Quit: Leaving)
04:08:39*bung joined #nim
04:10:47*bung quit (Client Quit)
04:12:31FromDiscord<jos> https://media.discordapp.net/attachments/371759389889003532/1033956127811055686/unknown.png
04:12:34FromDiscord<jos> anyone know why this doesn't work/
04:12:35FromDiscord<jos> (edit) "work/" => "work?"
04:12:45FromDiscord<jos> i figure the thing in the [] at the end of the warning is what i should disable
04:12:50FromDiscord<jos> for some other warnings, it works
04:12:54FromDiscord<jos> but not this one for some reason
04:13:57FromDiscord<ringabout> In reply to @jos "anyone know why this": It is a regression of 1.6.8.
04:14:14FromDiscord<Elegantbeef> Also consider bitsets 😄
04:14:28FromDiscord<ringabout> You can either use 1.6.6 or devel.
04:14:47FromDiscord<jos> ah ok thx
04:14:52FromDiscord<jos> i think im already on 1.6.0 though
04:15:01FromDiscord<jos> nvm im on 1.6.8
04:22:30*LuxuryMode joined #nim
04:33:39*derpydoo joined #nim
05:39:47*derpydoo quit (Ping timeout: 276 seconds)
06:19:19*PMunch joined #nim
06:35:31FromDiscord<Phil> Mandatory disclaimer that devel is a drug
06:46:14FromDiscord<Elegantbeef> Mainly cause Nim 2.0 is soon
06:48:09Amun-Rahow soon?
06:48:24*PMunch quit (Quit: Leaving)
06:48:28FromDiscord<Elegantbeef> No clue
06:48:37*PMunch joined #nim
06:48:48PMunchAmun-Ra, Araq said before 2023
06:49:05PMunchHow is IC coming along by the way? It was suspicously not mentioned
06:49:06Amun-Rawow
06:49:35FromDiscord<Elegantbeef> Oh jeez that means i need to get working on openarray overloads for string apis PRs 😄
06:52:12Amun-Raand I'm waiting for a list of breaking changes :>
06:52:20FromDiscord<ringabout> In reply to @PMunch "How is IC coming": It is on the RFC https://github.com/nim-lang/RFCs/issues/437↵> Update: Good IC relies on refactorings of the compilation pipeline. We want to finish these refactorings, release version 2.0 and then finish IC in version 2.x.
07:03:25madpropsnim 2.0 next week?
07:03:51madpropssimilar situation with awesomewm
07:03:57madpropsholding back v4.4
07:04:03madpropsv4.3 is old
07:04:25FromDiscord<that_dude> Given how much of a headliner nim 2.0 could be. I'd rather them wait as long as needed to make it as presentable as possible lol
07:04:50madpropsagree
07:05:54PMunchYeah I'd rather have nim 2.0rc94 than to push for 2.0 only to have to fix things shortly after
07:06:40PMunchDelaying IC to 2.x seems like an odd choice when that feature alone would be gold for certain scenarios
07:08:18PMunche.g. right now I'm doing some protobuf stuff. And since my library parses protobuf files in a macro it occurs a heavy penalty every time I want to recompile
07:08:37PMunchWith IC that would be a non-issue as long as I had put the protobuf stuff in its own module
07:09:56PMunchMan, I wash I had kept Zevvs npeg grammar for Protobuf.. I believe that would speed up the protobuf library greatly, currently it's really limited by my ham-fisted attempt at writing a parser library :P
07:10:14FromDiscord<ringabout> Pmunch, you can test against the devel branch, which helps the progress of 2.0. There are still several tasks to be done. Btw, would you possibly have a look at https://github.com/NimParsers/parsetoml/pull/58 ?
07:10:31FromDiscord<ringabout> (edit) "progress" => "process"
07:10:55FromDiscord<Elegantbeef> Pmunch just do the same thing you did with futhark 😛
07:11:14FromDiscord<Elegantbeef> Make your own incremental compilation
07:33:53PMunch@Elegantbeef, done
07:34:24PMunchHaha, for Futhark that was mostly because I needed FFI
07:34:37PMunchIt still does quite a bit of work on compile-time
07:34:47PMunchBut I've gotta run, back later
08:03:05*xet7_ joined #nim
08:04:30*xet7_ quit (Remote host closed the connection)
08:06:13*xet7_ joined #nim
08:09:10*xet7_ quit (Remote host closed the connection)
09:08:17NimEventerNew thread by krakengore: RLBox integration with Nim, see https://forum.nim-lang.org/t/9544
09:12:43FromDiscord<ringabout> Another typical (not a == b) issue in the std
10:36:03*jmdaemon quit (Ping timeout: 272 seconds)
11:35:37FromDiscord<New> sent a code paste, see https://play.nim-lang.org/#ix=4e0z
11:50:55FromDiscord<jmgomez> In reply to @PMunch "With IC that would": I agree with the 2.0 + IC but I wouldnt hope too much for it at least with the current implementation. I did a few tests with big files and it's way slower than non IC when the nim symbols are kinda trivial. I think it needs some way of async loading because some modules can grow like 700Mb+ (and also find a way to reduce the size)↵For NimForUE we endup doing "our own" which only fits our case
11:58:10*dtomato quit (Ping timeout: 268 seconds)
11:58:15*dtomato4 joined #nim
12:45:13*derpydooo joined #nim
12:55:40FromDiscord<Rika> In reply to @New "Good day. Tryed to": your shared library file should be put in the proper directories for shared libraries
12:55:44FromDiscord<Rika> /usr/lib perhaps
13:05:16Amun-Ral
13:08:45*arkurious joined #nim
13:18:08FromDiscord<Phil> You?
13:22:06FromDiscord<ChocolettePalette> I
13:25:10FromDiscord<Esther> I
13:32:07*rockcavera joined #nim
13:32:07*rockcavera quit (Changing host)
13:32:07*rockcavera joined #nim
13:42:47FromDiscord<Rika> |
13:43:02Amun-Ra(I wanted to type l(s) but I switched to the wrong terminal tab)
13:44:03FromDiscord<Rika> ls -lah
13:44:21PMunchDocuments Projects Music Pictures
13:44:50Amun-Ra;>
13:45:32FromDiscord<Rika> smh pmunch the -l gives columns
13:45:34PMunch@jmgomez, wait, the current IC is slower than non-IC?
13:46:20PMunch@Rika, IrcOS doesn't support the -l flag
13:46:52FromDiscord<Rika> damn
13:49:53*xet7 quit (Ping timeout: 276 seconds)
13:52:36FromDiscord<jmgomez> In reply to @PMunch "<@726017160115126333>, wait, the current": if the symbols are simple enough, in some cases yes. There is an overhead introduced by IC. I had it working in some local branch only in some passes as option selected modules (because of an ordering issue with strings) and yeah. IIRC it was around 2-3 seconds with no IC, 15 seconds on the first IC pass and 4seconds in consequent IC passes. I guess that wouldnt be the case
13:53:15FromDiscord<jmgomez> (edit) "in some passes" => "passing" | "passingas option ... selected" added "only a few"
14:03:18*PMunch quit (Remote host closed the connection)
14:49:05NimEventerNew thread by drkameleon: Declaring an uninitialized seq & avoid unnecessary zero-mem's, see https://forum.nim-lang.org/t/9545
15:03:02FromDiscord<whisper> What would be the best way to integrate Nim with Go application?
15:24:39FromDiscord<Phil> How do you plan to have them interact?
15:25:09FromDiscord<Phil> Nim provides a lib that go calls?
15:25:48Amun-Raquick and dirty crosscompiling nim to amigaos, https://i.postimg.cc/0jsytwMF/a600.png
15:28:00FromDiscord<whisper> In reply to @Isofruit "How do you plan": I dont know but i guess it could be a library or a standalone service
15:33:39*derpydooo quit (Quit: derpydooo)
15:53:02FromDiscord<jmgomez> In reply to @whisper "I dont know but": it probably be via FFI but doesnt go has a reflection mechanism built in? if that's the case you may consider doing it through there and generally solving the problem (just asking, I dont know anything about go)
16:30:18*Guest42 joined #nim
16:31:42*Guest42 quit (Client Quit)
16:34:22*bung joined #nim
16:46:55*derpydoo joined #nim
16:55:58*bung quit (Quit: Konversation terminated!)
17:11:45*xet7 joined #nim
17:27:22FromDiscord<Tuatarian> I'm getting a strange error, where the compiler is saying ambigous call for a proc I forward declared and its definition
17:27:44FromDiscord<Tuatarian> not sure how to go about fixing this
17:32:49FromDiscord<jmgomez> does anyone ever got a "out of memory" error from the compiler?
17:33:51FromDiscord<Phil> In reply to @jmgomez "does anyone ever got": Not yet, though I've occassionally seen some fairly big numbers
17:34:29FromDiscord<jmgomez> In reply to @Isofruit "Not yet, though I've": do you know if there is an option to increase it? Similar to maxLoopIterationsVM but for the memory?
17:35:04FromDiscord<Phil> As I didn't play around with it yet, no.↵I assume you already checked the compiler-flag-docs?
17:35:46FromDiscord<jmgomez> yes, but maybe I missed it
17:36:27FromDiscord<Phil> Sounds like a forum question then
18:00:31*krux02 joined #nim
18:05:10*derpydoo quit (Ping timeout: 250 seconds)
18:06:01FromDiscord<New> sent a long message, see http://ix.io/4e28
18:10:17*pro joined #nim
18:36:25FromDiscord<Saint> Does anyone know why I get an error for the second code snippet here but not the first? https://nim-lang.org/docs/httpclient.html
18:36:38FromDiscord<Saint> sent a code paste, see https://play.nim-lang.org/#ix=4e2i
18:37:00FromDiscord<Saint> sent a code paste, see https://play.nim-lang.org/#ix=4e2j
18:37:11FromDiscord<Saint> It works if I don't do async, also async works for google for example
18:37:55FromDiscord<Saint> Ohhh wait, sorry the first snippet uses google
18:39:47FromDiscord<Saint> Yeah this isn't really a nim question then, sorry
18:41:45FromDiscord<exelotl> In reply to @Amun-Ra "quick and dirty crosscompiling": Wowwww cool
19:04:00FromDiscord<Horizon [She/Her]> In reply to @whisper "What would be the": There is the `C` library in Golang, i made a very crappy example of calling Golang in Nim too https://github.com/Mythical-Forest-Collective/GoNim
19:04:28*derpydoo joined #nim
19:04:32FromDiscord<Horizon [She/Her]> You'd have to use FFI for interop, it's what i did
19:05:08FromDiscord<Horizon [She/Her]> Also if you create a Go library and export the methods with the `C` library, Futhark (in Nim) can wrap that header library for you
19:13:53FromDiscord<Phil> Is it possible to instantiate a DateTime object at compiletime ?
19:14:08FromDiscord<Phil> Any kind? Because `dateTime(year = 2020, month = Month.mJan, monthday = 1)` also bombs at compiletime
19:14:24FromDiscord<Phil> (edit) "Any kind? Because" => "I'll take an instance with any kind of value.↵Because"
19:17:22*pro quit (Quit: pro)
19:29:22NimEventerNew question by Philipp Doerner: How to instantiate a `DateTime` object at compile time?, see https://stackoverflow.com/questions/74185889/how-to-instantiate-a-datetime-object-at-compile-time
19:36:37NimEventerNew thread by Isofruit: How to instantiate a `DateTime` object at compile time?, see https://forum.nim-lang.org/t/9546
19:45:25*ggsx joined #nim
19:51:49*ggsx quit (Quit: Client closed)
19:52:19*ggsx joined #nim
19:53:37*jmdaemon joined #nim
19:58:55FromDiscord<Elegantbeef> Code?↵(@Tuatarian)
20:18:33*ggsx quit (Quit: Client closed)
20:19:05FromDiscord<Saint> Anyone here using nim with neovim?
20:19:26FromDiscord<Saint> I'm using the built in LSP for neovim but I want it to stop error checking/linting each time I save
20:19:44*NimBot joined #nim
20:19:46*LyndsySimon joined #nim
20:20:10*mahlon joined #nim
20:20:30*cyraxjoe joined #nim
20:21:06*estiquelapice joined #nim
20:21:17*m5zs7k joined #nim
20:30:10*genpaku quit (Remote host closed the connection)
20:32:41*genpaku joined #nim
20:53:14FromDiscord<sOkam!> How would you handle downloading / updating an app with a launcher/updater made in nim?↵I was thinking of checking github for a link, and downloading/unzipping that↵But wonder how downloads and link checking should be handled in the language, or if I have to use an external lib 🤔
20:53:56FromDiscord<Patitotective> In reply to @sOkam! "How would you handle": rewrite appimageupdate in nim ;]
20:55:51FromDiscord<sOkam!> In reply to @Patitotective "rewrite appimageupdate in nim": isn't this a linux-only thing?
20:56:03FromDiscord<Patitotective> yep
20:56:19FromDiscord<sOkam!> then I should specifiy that it needs to be cross-platform
20:57:08FromDiscord<Patitotective> git or some delta algorithm might work
20:58:02FromDiscord<Elegantbeef> Query the version information if you version is less than that download the file
20:58:12FromDiscord<sOkam!> I don't mind if the whole thing is redownloaded, its not that heavy at the moment
20:58:18FromDiscord<Patitotective> In reply to @Elegantbeef "Query the version information": noOoo deltas please
20:58:24FromDiscord<Elegantbeef> What?
20:58:39FromDiscord<Elegantbeef> I mean you can use libgit and check the tagged release
20:58:58FromDiscord<sOkam!> also, how do you code the downloading itself? never done any networking at all↵is there functionality in std, or does it need libs?
20:59:22FromDiscord<Elegantbeef> there is downloadFile
20:59:55FromDiscord<Patitotective> in std/httpclient
21:00:06FromDiscord<Patitotective> https://nim-lang.org/docs/httpclient.html#downloadFile%2CAsyncHttpClient%2C%2Cstring
21:00:58FromDiscord<sOkam!> kk ty
21:02:54FromDiscord<sOkam!> does libgit require having git installed in the person's pc when running?
21:04:10FromDiscord<Patitotective> probably
21:05:26FromDiscord<Elegantbeef> Libgit is a library you can ship
21:05:28FromDiscord<Elegantbeef> As the name implies
21:06:51FromDiscord<sOkam!> yeah, but the readme says something about requiring git to download the source, and makes me doubt if the user will need git installed for the functionality, or if it goes embedded in the lib instead
21:07:26FromDiscord<Elegantbeef> https://libgit2.org/
21:15:53*estiquelapice quit ()
21:16:58*estiquelapice joined #nim
21:19:04FromDiscord<Horizon [She/Her]> In reply to @sOkam! "How would you handle": To check the version, just make a request to a JSON file in your repo containing the current release version
21:19:20FromDiscord<Horizon [She/Her]> Then fetch the link from GitHub releases or another site, and keep that in the JSON file too
21:19:40FromDiscord<Horizon [She/Her]> Oh beef already answered
21:21:49FromDiscord<Elegantbeef> Github does have a rest-api so there's multiple ways to do this
21:23:07FromDiscord<sOkam!> In reply to @Event Horizon "To check the version,": any reason specific for json, or do you just mean a serialized data file of any type?↵(i like yaml a lot more, so was thinking of that)
21:23:28FromDiscord<Elegantbeef> I dont even know why you'd store the version there
21:23:29FromDiscord<Elegantbeef> Github has releases
21:23:32FromDiscord<Patitotective> yea
21:23:40FromDiscord<Elegantbeef> Tag releases with your version, request the most recent tag
21:23:46FromDiscord<sOkam!> but you have to use libgit to get the data, right?
21:23:50FromDiscord<Elegantbeef> No
21:23:53FromDiscord<Elegantbeef> Github has a restapi
21:24:00*xet7 quit (Remote host closed the connection)
21:24:39FromDiscord<Patitotective> though if you want to support not only github you probably can either use libgit or check if other cloud git services have some kind of api
21:24:40FromDiscord<Horizon [She/Her]> In reply to @sOkam! "any reason specific for": Any serialised data type is fine
21:25:00FromDiscord<Horizon [She/Her]> In reply to @Elegantbeef "I dont even know": I actually forgot about that, yeah that could be done
21:25:45FromDiscord<sOkam!> if i ever need to support that level of git, that will be a probl for my future me. i just want to get some really stupid simple thing working
21:26:54FromDiscord<sOkam!> goal is to stop users for needing to redownload and reinstall all the time, which gives me a lot of trouble and stops a lot of people from playing the latest version 😔↵so not much tech needed, just auto-update on launch if there is a new vers
21:27:29FromDiscord<huantian> <https://api.github.com/repos/PrismLauncher/PrismLauncher/releases>
21:27:31FromDiscord<huantian> for example
21:28:07FromDiscord<huantian> actually that's probably a bad example there's only one release
21:28:19FromDiscord<huantian> but it shows how you can fetch all the releases and associated info from a repository
21:28:32FromDiscord<sOkam!> ic
21:30:06FromDiscord<huantian> (edit) "how" => "where"
21:30:18FromDiscord<huantian> <https://docs.github.com/en/rest/releases/releases>
21:30:19FromDiscord<huantian> api docs
21:30:44FromDiscord<huantian> there's also a latest release endpoint <https://api.github.com/repos/PrismLauncher/PrismLauncher/releases/latest>
21:32:01FromDiscord<sOkam!> is curl a good option for something like this? or better to just use something more simple?
21:32:34FromDiscord<huantian> i mean if you're running it from Nim just use `std/httpclient`
21:32:47FromDiscord<sOkam!> yeah, from nim
21:32:53FromDiscord<sOkam!> how do you get the restapi data, then?
21:33:08FromDiscord<Elegantbeef> Using github's restapi
21:33:16FromDiscord<Elegantbeef> https://docs.github.com/en/rest
21:33:25FromDiscord<Elegantbeef> It's basic http requests to get information
21:34:33FromDiscord<huantian> In reply to @sOkam! "how do you get": https://nim-lang.org/docs/httpclient.html
21:34:35FromDiscord<Bung> what's the alternative way to path compare
21:34:38FromDiscord<sOkam!> the link only shows `gh ...` commands
21:35:25FromDiscord<Elegantbeef> It's pretty much just a cleaner rest api
21:35:33FromDiscord<Elegantbeef> interface rather than api
21:35:43FromDiscord<Elegantbeef> You copy what they do in a http request and you're done
21:35:56FromDiscord<huantian> oh neat they provide a json schema of the response
21:36:01FromDiscord<wick3dr0se> Is there a safe method to store some characters in a file or persistantly in a variable? Like a GitHub authorization token for example?
21:36:09FromDiscord<sOkam!> ive never used a rest api ever. i don't even know what it is (just heard the word)
21:36:15FromDiscord<Elegantbeef> Dotenv + gitignore↵(@wick3dr0se)
21:36:35FromDiscord<wick3dr0se> I mean mostly for on the system of an end user
21:36:35FromDiscord<sOkam!> if the way to use it with http links is somewhere there, i completely missed it
21:36:36FromDiscord<Elegantbeef> In this case it's literally just http requests that return json data↵(@sOkam!)
21:36:48FromDiscord<sOkam!> yeah, but they only show `gh ...` links there
21:37:14FromDiscord<wick3dr0se> I have a project for handling GitHub's REST API v3 and I store an auth token in a file on my PC but I think its unsafe to not be encrypted or something
21:37:18FromDiscord<huantian> Click the curl button if you want to see the full url they’re using
21:38:41FromDiscord<sOkam!> they are using curl command options, though
21:38:52FromDiscord<sOkam!> which is what drove me away from those
21:39:05FromDiscord<huantian> In this case, since the information is public, you don’t need any extra option
21:39:06FromDiscord<sOkam!> if its obvious how to use it, its going right over my head like 1000%
21:39:07FromDiscord<Elegantbeef> You take the curl http requests and use them with Nim's httpclient
21:39:36FromDiscord<Elegantbeef> Curl is just an http client, so copy what they do and problem solved
21:40:16FromDiscord<wick3dr0se> I'm not sure storing environment variables with dotenv would be good or not. They are written in plain text on your system?
21:40:45FromDiscord<Elegantbeef> I mean that's how everyone does it afaik
21:40:45FromDiscord<Elegantbeef> Unless you want to use a keyring api
21:40:55FromDiscord<wick3dr0se> I could just export it as an environment variable in bashrc then
21:40:59FromDiscord<huantian> The proper way is to use a key ring api like free desktop secret service
21:41:17FromDiscord<wick3dr0se> I was thinking of encrypting and decrypting with gpg
21:41:54FromDiscord<huantian> If you’re on Linux secret service is probably the best way ig
21:42:57FromDiscord<wick3dr0se> I havent heard of it. I'll have to search 'keyring api' I guess. I use Arch
21:43:21FromDiscord<wick3dr0se> Was very hard not to append BTW to that
21:43:40FromDiscord<huantian> If you use gnome-keyring or kde wallet, you can interface with them with Secret.Service
21:44:04FromDiscord<wick3dr0se> I suppose gnome-keyring it is then
21:44:08FromDiscord<Elegantbeef> Jesus huan you're apart of the secret service?!
21:44:25FromDiscord<huantian> In reply to @wick3dr0se "I suppose gnome-keyring it": You don’t have to worry about what is behind it tho
21:44:43FromDiscord<huantian> Don’t interface with gnome keyring directly
21:44:47FromDiscord<Elegantbeef> It's a standard API that directs towards your favourite security
21:47:46FromDiscord<Bubblie> Does nim have some string parser than can split a string based on whether it has numbers and charactefs
21:47:48FromDiscord<Bubblie> So if I had
21:47:55FromDiscord<Bubblie> “10 seconds”
21:48:11FromDiscord<Bubblie> It would take the 10, put it in another string, take the seconds, put it in another string
21:48:13FromDiscord<wick3dr0se> So wouldn't gpg interface with the keyring?
21:48:15FromDiscord<wick3dr0se> https://linuxhint.com/export-import-keys-with-gpg/
21:48:23FromDiscord<Bubblie> Or if I did 10seconds
21:48:37FromDiscord<huantian> In reply to @wick3dr0se "https://linuxhint.com/export-import-keys-with-gpg/": gpg and your keyring are two different programs
21:49:24FromDiscord<wick3dr0se> I'm just leaning towards gpg because I wrote a password manager with it
21:49:31FromDiscord<wick3dr0se> But if its less secure..
21:49:59FromDiscord<wick3dr0se> https://github.com/wick3dr0se/scripts/blob/master/keygen
21:50:11FromDiscord<Elegantbeef> std/strscans↵(@Bubblie)
21:51:23FromDiscord<Bubblie> Thanks!
21:54:04FromDiscord<wick3dr0se> > The private GPG keys are encrypted and stored in the secret keyring
21:54:11FromDiscord<wick3dr0se> Confuses me
21:57:38*krux02 quit (Remote host closed the connection)
22:25:40*dza joined #nim
22:37:16FromDiscord<auxym> yes gpg in general is confusing. what does this have to do with nim though?
22:45:15FromDiscord<wick3dr0se> Well because I'm going to use Nim to write a GitHub CLI program like `gh` or `git` but without needing either or .git files at all. I'm using a BASH script to handle storing a secure passphrase, in this case the GitHub authorization token
22:47:06FromDiscord<wick3dr0se> I think this should work well
22:47:06FromDiscord<wick3dr0se> sent a code paste, see https://play.nim-lang.org/#ix=4e3r
23:01:54FromDiscord<Elegantbeef> I'm kinda surprised there are no libsecret bindings
23:08:01FromDiscord<wick3dr0se> I havent seen it before but this is the first thing that pops up when I DDG 'libsecret'↵↵https://superuser.com/questions/1527816/what-is-libsecret-and-why-does-it-leak-passwords
23:09:09FromDiscord<huantian> > ↵> ↵> libsecret is working as intended
23:09:15FromDiscord<huantian> (edit) "> ↵> ↵> libsecret is working as intended ... " added "... The "Secret Service" allows a user to store e.g. passwords in a way, that they are easily accessible for the logged on user, but very hard to access by someone else."
23:09:20FromDiscord<huantian> (edit) removed "↵> ↵>"
23:09:52FromDiscord<huantian> (edit) "easily accessible" => "easily accessible" | "very" => "very" | "access" => "access"
23:10:29FromDiscord<huantian> libsecret is just a c interface to Secret.Service
23:10:32FromDiscord<ChocolettePalette> Not impossible doe
23:10:40FromDiscord<ChocolettePalette> Just very hard
23:10:52FromDiscord<ChocolettePalette> What are they implying to?
23:11:53FromDiscord<huantian> if you have a huge server farm and a lot of time? I'd assume
23:34:36FromDiscord<wick3dr0se> sent a long message, see http://ix.io/4e3x
23:36:36FromDiscord<wick3dr0se> Also I forgot to use read silently, so the master password will never be visible in plain text, in shell history or even while typing
23:40:31FromDiscord<huantian> In reply to @wick3dr0se "> But if a": well it depends, for example, I have gpg configured it so it stores the passphrase to my key for this session
23:40:42FromDiscord<huantian> then you run into the same issue
23:41:43FromDiscord<huantian> both your keyring and gpg will usually store the passphrase to unlock it once you've used it, for this session
23:42:24FromDiscord<huantian> if you don't want that, gnome-keyring/kdewallet can disable that https://media.discordapp.net/attachments/371759389889003532/1034250536830111744/unknown.png
23:44:40FromDiscord<auxym> does anyone use asdf instead of choosenim? TIL there's a nim plugin for it: https://github.com/asdf-community/asdf-nim
23:47:00FromDiscord<huantian> huh i've heard of asdf somewhere before, never tried it tho
23:47:21FromDiscord<huantian> In reply to @huantian "if you don't want": tldr gpg and libsecrets both have this design feature, and it can be disabled
23:47:31FromDiscord<huantian> (edit) "In reply to @huantian "if you don't want": tldr gpg and libsecrets both have this design feature, and it can be disabled ... " added "( realize i was rambling()"
23:53:28FromDiscord<wick3dr0se> In reply to @huantian "tldr gpg and libsecrets": That's all good. I got this thing pretty secure now I think. I'd actually like to see if someone could find a vulnerability in it
23:53:54FromDiscord<wick3dr0se> Made some changes since the snippet I shared