<< 20-09-2020 >>

00:00:02*junland quit (Quit: %ZNC Disconnected%)
00:00:45*junland joined #nim
00:05:32*opal quit (Remote host closed the connection)
00:06:50*opal joined #nim
00:08:08*krux02 quit (Remote host closed the connection)
00:10:59*opal quit (Max SendQ exceeded)
00:12:15*audiofile quit (Quit: Default Quit Message)
00:12:22*opal joined #nim
00:16:29*opal quit (Max SendQ exceeded)
00:17:52*opal joined #nim
00:40:46*a_chou quit (Remote host closed the connection)
00:47:25*aenesidemus quit (Quit: Leaving)
01:09:49*Trustable quit (Ping timeout: 264 seconds)
01:21:23*opal quit (Ping timeout: 240 seconds)
01:22:55*opal joined #nim
01:27:03*opal quit (Max SendQ exceeded)
01:28:13*opal joined #nim
01:32:21*opal quit (Max SendQ exceeded)
01:32:23*apahl quit (Ping timeout: 260 seconds)
01:33:31*opal joined #nim
01:34:05*apahl joined #nim
01:37:39*opal quit (Max SendQ exceeded)
01:38:51*opal joined #nim
01:42:59*opal quit (Max SendQ exceeded)
01:44:09*opal joined #nim
01:52:38*waleee-cl quit (Quit: Connection closed for inactivity)
01:54:49*rayman22201 quit (Read error: Connection reset by peer)
01:56:05*rayman22201 joined #nim
02:38:30*muffindrake quit (Ping timeout: 246 seconds)
02:40:53*muffindrake joined #nim
03:07:11*Trustable joined #nim
03:17:20*lritter quit (Ping timeout: 256 seconds)
03:17:52*arecacea1 quit (Remote host closed the connection)
03:18:17*arecacea1 joined #nim
03:27:26FromDiscord<ThothLoki> correct me if i am wrong but it seems that nim is not the best for GUI.
03:28:11FromDiscord<Rika> depends on your requirements
03:28:37FromDiscord<ThothLoki> i have been playing with nigui for a bit and it seem slike ther eare not many options out there
03:28:58FromDiscord<Rika> nigui isnt the only choice tho
03:29:27FromDiscord<ThothLoki> yea, do you happen to have a decent gui for nim?
03:29:46FromDiscord<Rika> people recommend fidget a lot
03:30:50FromDiscord<ThothLoki> i will take a look. it seems that it is more for html
03:34:37FromDiscord<ThothLoki> i am looking for pure desktop apps
03:35:48FromDiscord<flywind> Hi, Is there a better way to check whether a library exists or not in user's environment?
03:35:56FromDiscord<flywind> sent a code paste, see https://play.nim-lang.org/#ix=2yaK
03:38:50FromDiscord<Rika> @ThothLoki from what i know, fidget is pure desktop
03:39:18FromDiscord<Rika> @flywind not currently
03:39:37FromDiscord<flywind> fidget can be used both for web and desktop.
03:41:46FromDiscord<ThothLoki> sent a code paste, see https://play.nim-lang.org/#ix=2yaL
03:41:50FromDiscord<ThothLoki> seems like web is the main
03:41:53FromDiscord<flywind> It is a UI library so lacks some dialog boxes which a GUI program provides.
03:42:07FromDiscord<ThothLoki> i will look at it and see if it has mor ethan nigui
03:42:24FromDiscord<Avatarfighter> @ThothLoki its opengl I believe
03:43:11FromDiscord<flywind> You can also try `nimqml`.
03:43:54FromDiscord<flywind> The desktop software of status.im is build with `nimqml`.
03:44:20FromDiscord<flywind> https://github.com/status-im/nim-status-client
03:49:14FromDiscord<hobbledehoy> is there a way to have a global variable available at compile time and only at compile time?↵I've been using {.compileTime.} but noticed the variable is still available at runtime
03:50:51FromDiscord<Rika> const
03:50:56FromDiscord<Rika> well
03:50:57FromDiscord<Rika> actually
03:51:03FromDiscord<Rika> static: block?
03:52:18FromDiscord<hobbledehoy> hmm, I'll try that
04:03:39*arecacea1 quit (Remote host closed the connection)
04:04:03*arecacea1 joined #nim
04:06:02*supakeen quit (Quit: WeeChat 2.9)
04:06:39*supakeen joined #nim
04:08:14*shad0w_ joined #nim
04:24:10*thomasross quit (Ping timeout: 272 seconds)
04:28:03FromDiscord<acek7> whatcha nerds up to
04:34:10*solitudesf joined #nim
04:52:29FromDiscord<Rika> learning circuits and shit
04:53:29FromDiscord<ThothLoki> @flywind i looked at nimql. looks like a QT library. I am not too much of a fan of the syntax on that
04:53:46FromDiscord<Rika> so what are you fond of
04:53:51FromDiscord<Rika> theres the gintro library
04:53:56FromDiscord<Rika> if you like gtk more
04:57:21FromDiscord<ThothLoki> i am a fan of simple gui syntax. some of the gui layout code just sucks
04:57:34FromDiscord<ThothLoki> 1 line of code vs 10 lines
05:00:24FromDiscord<Rika> you might be interested in using an immediate mode gui then
05:00:27FromDiscord<Rika> (edit) 'you might be interested in using an immediate mode gui ... then' => 'you might be interested in using an immediate mode guilibrary'
05:01:25FromDiscord<ThothLoki> i am willing ot use anything for a gui library
05:01:31FromDiscord<ThothLoki> but i want to use one
05:01:40FromDiscord<ThothLoki> i write for windows, mac and linux
05:02:34FromDiscord<ThothLoki> windows for work, mac and linux and windows for home
05:04:40*shad0w_ quit (Remote host closed the connection)
05:05:34FromDiscord<ThothLoki> @Rika what do you suggest?
05:05:45FromDiscord<ThothLoki> i like nimgui but it is very limiting
05:08:28FromDiscord<Rika> i do not have anything to recommend
05:08:49FromDiscord<Rika> i dont even know of a library outside of nim that can fit this description
05:09:57FromDiscord<ThothLoki> lol
05:10:28FromDiscord<Rika> are you sure imgui or whatever else is too limited
05:10:37FromDiscord<ThothLoki> i have written a few gui apps in in python, but i want some thing compiled
05:10:56FromDiscord<Rika> so what did you use there
05:11:00FromDiscord<ThothLoki> i can make nimgui work gut they do not have spindbars, comboboxes
05:11:20FromDiscord<Rika> spindbar?
05:11:39FromDiscord<Rika> imgui has combo boxes
05:11:39FromDiscord<ThothLoki> i have used pyqt, appjar, pysimplegui,
05:11:52FromDiscord<Rika> what is a spindbar?
05:12:00FromDiscord<ThothLoki> spindbox, is the "textbox" with the up/down arrows
05:12:10FromDiscord<Rika> oh, spinbox
05:12:29FromDiscord<ThothLoki> shit, that is what i meant
05:12:38FromDiscord<Rika> can you please check out the ImGui demo window
05:12:39FromDiscord<ThothLoki> i am a few beers deep
05:12:46FromDiscord<ThothLoki> imgui?
05:12:48FromDiscord<ThothLoki> sure
05:12:48FromDiscord<Rika> it has basically every component you can find on imgui
05:13:13FromDiscord<ThothLoki> thanks
05:13:16FromDiscord<ThothLoki> lemme check it out
05:13:55FromDiscord<ThothLoki> fidget seems to work well but i hate the layout
05:16:36FromDiscord<Rika> cant have all the things in life
05:18:37FromDiscord<ThothLoki> true
05:18:44FromDiscord<ThothLoki> but i try to get the most of it
05:18:51FromDiscord<ThothLoki> (edit) 'but i try to get the most ... of' => 'but i try to get the mostout'
05:20:06FromDiscord<Rika> unfortunately at the moment this is the most we can offer
05:20:27FromDiscord<Rika> maybe you'll be the next one to contribute to the gui lib count 😛
05:21:20FromDiscord<ThothLoki> lol
05:21:26FromDiscord<ThothLoki> you take me for a smart guy
05:28:06FromDiscord<Rika> why not? you may be just underestimating yourself
05:29:12FromDiscord<ThothLoki> i probably am
05:29:34FromDiscord<ThothLoki> but based onm the free time i have...........i will be lucky to be able to finish my own apps
05:47:32FromDiscord<ThothLoki> Been looking at nim, d and crystal. Crystal is out because it doesn’t support windows.
05:52:14FromDiscord<Rika> lol
05:54:08FromDiscord<ThothLoki> i mainly write in python and have been looking for a compiled language that has a syntax similar to python
05:59:08FromDiscord<Rika> well nim is the closest
06:00:13FromDiscord<ThothLoki> Crystal seems closer but not fully cross platform
06:00:55FromDiscord<ThothLoki> I write apps for my work department so windows is a must
06:01:34FromDiscord<Rika> crystal is closer to ruby (which is its intent)
06:02:15FromDiscord<ThothLoki> So nim it is
06:02:55FromDiscord<ThothLoki> Oh really? I didn’t know that. I ride ruby but lost interest
06:07:12*Trustable quit (Quit: Leaving)
06:39:46*waleee-cl joined #nim
07:02:43*opal quit (Ping timeout: 240 seconds)
07:04:50*opal joined #nim
07:09:12*opal quit (Max SendQ exceeded)
07:10:26*opal joined #nim
07:14:38*opal quit (Max SendQ exceeded)
07:15:52*opal joined #nim
07:20:06*opal quit (Max SendQ exceeded)
07:21:17*opal joined #nim
07:22:40*opal quit (Client Quit)
07:23:58*superbia1 joined #nim
07:57:00dv-^_^what's the difference between tuple and object?
08:03:57FromDiscord<Elegant Beef> https://nim-lang.org/docs/manual.html#types-tuples-and-object-types
08:04:34FromDiscord<Elegant Beef> Tuples are way more strict about their creation and arent type safe afaik
08:06:44FromDiscord<Elegant Beef> Guess im wrong about the type safe, typedef tuples are still safe 😄
08:12:50FromDiscord<Yardanico> Well, there's that thing "Different tuple-types are equivalent if they specify the same fields of the same type in the same order. The names of the fields also have to be identical."
08:13:06*shad0w_ joined #nim
08:13:09FromDiscord<Yardanico> Structural equivalence and field names have to match too
08:15:14FromDiscord<flywind> When I use ctrl c with `setControlCHook` to exit program, the program will become a zombie program. Any idea?
08:15:17FromDiscord<flywind> https://github.com/planety/prologue/blob/1561bb5379a292d6ef3b3c4e81c67245d9a97034/src/prologue/core/application.nim#L328
08:15:48FromDiscord<flywind> In windows OS
08:16:50FromDiscord<flywind> I also can't find the implementaions of `setControlCHook`.
08:17:31FromDiscord<flywind> https://github.com/nim-lang/Nim/blob/ebb632ccba0d786b90684e4da2b393cfae04a24c/lib/system.nim#L2221
08:40:17FromDiscord<Elegant Beef> @flywind possible dumb suggestion, but just call `quit` at the end?
08:40:40FromDiscord<flywind> Thank, I will try
08:41:42FromDiscord<Elegant Beef> I say it's possibly dumb as i dont know if the ctrl C is supposed to close it
08:46:39*abm joined #nim
08:47:37*hnOsmium0001 quit (Quit: Connection closed for inactivity)
08:50:15FromDiscord<Vindaar> @flywind regarding checking whether a lib exists: yeah, that essentially is also what I do in certain parts. I define a `canImport` template to make the intent more evident
08:50:48FromDiscord<flywind> Thanks!
08:54:06FromDiscord<A.N.Bockanov> hi. can you tell me how can i create a dynamic list ?
08:55:24FromDiscord<hobbledehoy> I think what you are talking about is called a sequence in nim↵https://nim-by-example.github.io/seqs/
08:56:19FromDiscord<A.N.Bockanov> danke
09:01:19FromGitter<awr1> what's the status on compile time FFI? I need to query a registry key to get the windows SDK location at ctime, am I forced to have to use something like `gorge()`?
09:01:40FromDiscord<Recruit_main707> non existent iirc
09:02:00FromGitter<awr1> i see, i thought it used to exist
09:07:26solitudesfit exists, but you need nim compiled with -d:nimHasLibFFI and use experimental switch
09:09:14*waleee-cl quit (Quit: Connection closed for inactivity)
09:09:49*superbia1 quit (Ping timeout: 264 seconds)
09:14:46FromDiscord<Recruit_main707> can you declare a function without defining it?
09:15:28FromGitter<awr1> yes
09:15:44FromGitter<awr1> just don't use `=` at the end of the proc header
09:17:14FromDiscord<Recruit_main707> `Error: implementation of 'mydll.myProc() expected`
09:18:50FromDiscord<Rika> you need to implement it later in the file too
09:20:44FromDiscord<Recruit_main707> so you cant
09:22:20FromGitter<awr1> yes it needs to be in same module
09:22:43FromGitter<awr1> if you want you can defer impl using `include`
09:27:27FromDiscord<Recruit_main707> id need it to be defined, and not declared, in a dll
09:28:16FromDiscord<Rika> That kinda doesn't make sense
09:28:32FromDiscord<Rika> What do you mean
09:28:55FromDiscord<Recruit_main707> i gave a cpp example yesterday, gimme a sec
09:29:14FromDiscord<Recruit_main707> https://play.nim-lang.org/#ix=2y8n
09:29:28FromDiscord<Recruit_main707> https://discordapp.com/channels/371759389889003530/371759389889003532/756954052381900800↵full message
09:29:49FromDiscord<A.N.Bockanov> where is my mistake https://media.discordapp.net/attachments/371759389889003532/757171647793856611/unknown.png
09:30:44FromDiscord<A.N.Bockanov> got <int> but expected doublyLinkedNode
09:32:25FromDiscord<Recruit_main707> paste the code snippet, irc users cant see discord pictures
09:33:10FromDiscord<Rika> @A.N.Bockanov you didn't provide the field name
09:33:23FromDiscord<A.N.Bockanov> sent a long message, see http://ix.io/2ybF
09:33:32FromGitter<awr1> @RecruitMain707 is `Engine::CreateApplication`or the nim equivalent or w/e
09:33:34FromGitter<awr1> is that in the DLL
09:33:43FromGitter<awr1> i mean defined in the DLL
09:33:56FromGitter<awr1> and your main exe is trying to to call into it?
09:34:22FromDiscord<Recruit_main707> no, Engine::CreateApplication is defined in the dll, and declared in the exe
09:34:30FromDiscord<Vindaar> sent a code paste, see https://play.nim-lang.org/#ix=2ybG
09:34:32FromDiscord<Recruit_main707> and then the dll calls it
09:34:38FromDiscord<lqdev> @A.N.Bockanov object construction always requires field names, eg. `value: value`
09:34:54FromDiscord<Vindaar> *newDoublyLinkedNode of course
09:34:54*pangey__ quit (Quit: bye)
09:35:07FromGitter<awr1> ah okay that's what i thought
09:35:13FromDiscord<A.N.Bockanov> thanks.
09:35:14FromGitter<awr1> you can use `dynlib` pragma
09:35:21*pangey joined #nim
09:35:36FromGitter<awr1> and/or `importc`
09:35:43FromDiscord<A.N.Bockanov> @Vindaar I need to use it for my lab project
09:35:52FromGitter<awr1> https://nim-lang.org/docs/manual.html#foreign-function-interface-dynlib-pragma-for-import
09:36:09FromDiscord<A.N.Bockanov> mb better will be sequences
09:36:20FromDiscord<Vindaar> Ah, I see. I was mainly wondering because you were asking about "dynamic lists" before
09:36:29FromDiscord<Recruit_main707> awr1 are you sure we are talking about the same situtation?
09:36:50FromDiscord<Vindaar> In general `seq` is the data type to use if you need a dynamically allocated container in Nim
09:37:04FromGitter<awr1> okay, your createapplication proc is defined in DLL, declared in EXE, EXE calls into DLL impl, correct?
09:37:20FromGitter<awr1> you use `dynlib` on both the DLL impl and the EXE decl
09:38:07FromGitter<awr1> in the DLL-side proc, you use `{.dynlib, exportc.}` and also usually some type of calling convention like `{.nimcall.}`
09:38:34FromGitter<awr1> on the EXE-side proc that is purely a decl, you use `{.dynlib: "DLL NAME GOES HERE", importc.}` and also the calling conv
09:42:30FromDiscord<Recruit_main707> `createapplication proc is defined in DLL, declared in EXE, `so far yes, but then dll calls createapplication
09:43:14FromGitter<awr1> as in recursively?
09:44:37FromGitter<awr1> okay i see your code example
09:44:52FromGitter<awr1> is Run() also impl'd DLL-side?
09:46:34FromGitter<awr1> you use `dynlib` and `importc/exportc` to control what is, well, being imported from a DLL and what is being exposed from a DLL
09:48:29FromGitter<awr1> if you use `importc` nim will accept "not having an impl" for a given proc. `dynlib` furthers this, the nim runtime on init will find the DLL and attach procedures accordingly
09:50:03FromGitter<awr1> you might not need `importc` for the decl in the exe, but it's a good idea just in case nim wants to do something weird with mangling.
09:50:39FromGitter<awr1> (alternatively `dynlib` may just require `importc` or `exportc` to also be done, but i don't feel like testing this)
09:53:01FromGitter<awr1> i don't really get what the comments in your code example mean, shouldn't they be the other way around, since `int main(int arg, char* arg[])`should really belong in the EXE, unless this is like a `DllMain` type situation?
09:54:16FromDiscord<Recruit_main707> its a DllMain type stuation
09:57:18FromGitter<awr1> ah okay, so trace this out for me
09:57:22FromGitter<awr1> i run the EXE, what happens?
09:58:08FromGitter<awr1> or is it like
09:58:09FromDiscord<Recruit_main707> your dll loads and calls your createApplication function, (and the run method and etc)
09:58:13FromDiscord<Clyybber> @Recruit_main707 awr1: Compiletimeffi exists
09:58:28FromGitter<awr1> and createAppliation is where?
09:58:29FromDiscord<Clyybber> it needs to be enabled when building the compiler
10:00:08FromDiscord<Recruit_main707> in the exe, its just defined in the dll so that it doesnt error
10:00:40FromGitter<awr1> wait so you want your exe to have an export?
10:00:45FromDiscord<Clyybber> https://github.com/nim-lang/Nim/pull/10150
10:00:46disbotFFI at CT ; snippet at 12https://play.nim-lang.org/#ix=282x
10:01:11FromDiscord<Recruit_main707> awr1: something like that, do you want a whole project structure?
10:01:19FromDiscord<Recruit_main707> with headers and stuff?
10:01:23FromGitter<awr1> that is unusual for applications to do but is possible
10:01:41*superbia1 joined #nim
10:02:04FromGitter<awr1> at least in standard C
10:05:05FromDiscord<Recruit_main707> https://youtu.be/meARMOmTLgE↵This is the video i am trying to follow in nim, but you already have done enough, thanks
10:05:15FromGitter<awr1> typically the DLL should either call ⏎ ⏎ 1) A) functions that it contains itself, usually not exported. ⏎ 2) B) functions that are exposed in another DLL ⏎ 3) C) potentially functions given to it from an EXE through a callback [https://gitter.im/nim-lang/Nim?at=5f67295b3651184d30018f08]
10:05:48*nyd joined #nim
10:06:02*nyd quit (Quit: nyd)
10:06:28*nyd joined #nim
10:06:28*nyd quit (Client Quit)
10:08:38FromGitter<awr1> okay i see the video, i've done this many times in nim. i think you are getting confused as to what is in the DLL and what is in the EXE
10:08:52FromDiscord<Recruit_main707> i might
10:09:18FromGitter<awr1> the int main() stuff the person in the video is referring to is not DllMain
10:09:26FromGitter<awr1> it is just the exe main, WinMain or w/e
10:09:40*elyxir joined #nim
10:09:41FromGitter<awr1> all of that is exe-side.
10:09:45FromDiscord<Recruit_main707> i see.... 🥴
10:09:57*elyxir quit (Remote host closed the connection)
10:10:06*nyd joined #nim
10:10:07FromGitter<awr1> the exe calls into the DLL with the createapp thing
10:12:04FromDiscord<Recruit_main707> do you have an example of this in your github or somewhere?
10:12:58*superbia1 quit (Ping timeout: 260 seconds)
10:13:31FromGitter<awr1> https://play.nim-lang.org/#ix=2ybT
10:13:35FromGitter<awr1> this is what you want
10:14:57FromDiscord<Recruit_main707> ok, so i just basically move the main function into the executable
10:16:00FromDiscord<Recruit_main707> and avoid weird things like having the main function in the dll
10:16:20FromGitter<awr1> yes
10:16:37FromDiscord<Recruit_main707> perfect, thank you so much
10:18:19FromGitter<awr1> https://gist.github.com/awr1/93470331d4ec0626930d2e6b1433b48c
10:19:08FromGitter<awr1> just FYI if this tutorial is going to go where i think it's going to go you might prefer using nim's hotcode reloading instead
10:21:07FromDiscord<Recruit_main707> ill have it in mind
10:25:00*bra-ket joined #nim
10:26:53*zyklon quit (Ping timeout: 244 seconds)
10:53:41FromDiscord<acek7> probably a dumb question but do you always have to import standard library stuff
10:56:34FromDiscord<Vindaar> the answer to that is a sort of yes. For stuff you import all the time there are ways to avoid it, e.g. define a file with those imports and include (not import!) that file in your code. Or when developing a library you can export stdlib stuff the user needs from the library, ...
10:58:07FromDiscord<Rika> Or write a nim config file that imports it on cli
10:58:51FromDiscord<Vindaar> good point. that _can_ be confusing if you forget you have that though. So I'd be careful with that approach
10:59:41FromDiscord<Vindaar> especially because the code isn't portable then anymore (unless it's a project nim config of course)
10:59:50*kenran quit (Ping timeout: 265 seconds)
11:00:11FromDiscord<acek7> i guess you kind of have to do that sort of thing with python for things like math etc
11:00:20FromDiscord<acek7> maybe thats a common thing im programming im not sure
11:01:17FromDiscord<acek7> i guess i always kind of figured that somehow it was always included and the only things you had to include or import or whatever were plugins/libraries from the community
11:05:29FromDiscord<Vindaar> You wouldn't want that as it would significantly increase compilation times and the chance of getting overload ambiguities
11:06:27FromDiscord<Vindaar> there is a small part that's always imported of course (so that you have some basic things), and that is the system module
11:07:06FromDiscord<Vindaar> and my first point is also exactly why extensions of `system` are generally frowned upon and must come with very good reasoning
11:08:42FromDiscord<acek7> i understand
11:09:02FromDiscord<acek7> so say i wanted to search in the documentation for like what proc means
11:09:17FromDiscord<acek7> i tried it but cant seem to find what im looking for
11:09:43FromDiscord<Vindaar> you're aware of this page here: https://nim-lang.github.io/Nim/theindex.html ?
11:10:01FromDiscord<Vindaar> normally ctrl+f is enough there
11:10:28FromDiscord<Vindaar> unless you don't know what you're looking for exactly. and ok, we even have fuzzy search now
11:11:12FromDiscord<Rika> Also the page is getting so large that browsers are struggling to search lol
11:13:53FromDiscord<acek7> yeah its taking forever to try and find what i need
11:36:44*arecacea1 quit (Remote host closed the connection)
11:37:33*arecacea1 joined #nim
11:39:11*dddddd_ joined #nim
11:41:37*dddddd quit (Ping timeout: 264 seconds)
11:50:42*shad0w_ quit (Remote host closed the connection)
11:52:11disrupteksounds like my pornhub experiences lately.
11:54:41*dddddd_ is now known as dddddd
12:01:50*superbia joined #nim
12:06:01*supakeen quit (Quit: WeeChat 2.9)
12:06:40*supakeen joined #nim
12:10:33FromDiscord<acek7> why cant i just find what the heck proc or something else means easily lol
12:11:21*moerm joined #nim
12:11:33moermHello everybody ;)
12:11:48FromDiscord<Rika> Hello evil moerm
12:12:23moermRika I'm pleased that you remember and mention the "evil". Thank you
12:12:48FromDiscord<Rika> What do you think I am, a goldfish?
12:13:37moermNo, I'd rather guess you are a flying spaghetti monster *blush
12:15:41moermThat's why I'm so respectful
12:16:30FromDiscord<Rika> Lol
12:16:37moerm*g
12:16:48FromDiscord<Rika> Log
12:17:39moermDamn! You are going to show my words to the inquisition?
12:17:54*vicfred quit (Remote host closed the connection)
12:18:08FromDiscord<Rika> The Spanish inquisition?
12:18:21*vicfred joined #nim
12:19:11moermDon't know. Maybe to the danish inquisition. May I choose to which one?
12:20:21FromDiscord<Rika> No
12:22:18moermThat's not nice. As of now I'll think that you are a *swimming* spaghetti monster.
12:22:56moermKeep in mind that I'm *evil* moerm
12:25:04FromDiscord<Rika> I don't think that was as mean as you thought
12:25:45moermOh! * surprised and a bit ashamed
12:30:47moermA bit sleepy today. Maybe I'll be back later. Have a nice day everyone
12:30:56*moerm quit (Quit: Leaving)
12:40:09*NimBot joined #nim
12:51:17*arecacea1 quit (Remote host closed the connection)
12:51:49*arecacea1 joined #nim
12:55:33*kenran joined #nim
13:00:58*kenran quit (Ping timeout: 272 seconds)
13:19:55FromDiscord<exelotl> @acek7 it's there in the manual but admittedly the manual is not beginner friendly at all
13:20:00FromDiscord<exelotl> https://nim-lang.org/docs/manual.html#procedures
13:23:55FromDiscord<exelotl> Like its more than half way down the page. The first thing you come across when you start reading the manual is a dump of every keyword in the language and a load of BNF (which I've completely forgotten how to read despite learning it at school)
13:26:30solitudesfwe have tutorial https://nim-lang.org/docs/tut1.html#procedures
13:35:03FromDiscord<exelotl> Yeah, tutorial is more suitable for sure, but even then I'd say why does it start talking about "Lexical elements" and why is the very first procedure called "yes" and has side effects of accepting user input while being called inside an 'if'. Like I find myself having to read it very carefully to make sense of it, and I'm already comfortable with the language lol
13:53:41*Vladar joined #nim
14:09:58*arecacea1 quit (Remote host closed the connection)
14:10:27*arecacea1 joined #nim
14:17:43*nyd quit (Quit: nyd)
14:20:33*arecacea1 quit (Remote host closed the connection)
14:21:52*arecacea1 joined #nim
14:26:41*aeldemeryde[m] joined #nim
14:35:47FromDiscord<acek7> I need a more beginner friendly area to start at then lol
14:38:04*jacereda joined #nim
14:41:05*krux02 joined #nim
14:42:16FromDiscord<exelotl> There's this one which is for total beginners: https://narimiran.github.io/nim-basics/↵And this one which is more like a quick summary of the main features: https://nim-by-example.github.io/
14:44:25jaceredaAnyone bored enough to help me shape vulkan bindings and events/canvas APIs? https://forum.nim-lang.org/t/6842
14:51:06*ldlework left #nim ("WeeChat 2.9")
14:53:49jaceredalooks like I posted to the wrong section? It says "Moderated" and I don't know if it it's readable...
14:55:29jaceredashould I just move it to "Default"?
14:56:25*kenran joined #nim
14:57:14FromDiscord<flywind> Are you a new user in Nim forum?
14:57:35jaceredayes
14:59:47FromDiscord<flywind> I think admin or Moderator needs to ensure you are not a bot and then your post will be displayed.
15:00:02FromDiscord<exelotl> Hey, any idea what I'm doing wrong here? https://play.nim-lang.org/#ix=2yd5
15:01:30FromDiscord<exelotl> I guess I just can't embed a typed block in quote do?
15:01:33*kenran quit (Ping timeout: 256 seconds)
15:01:48*ldlework joined #nim
15:03:55jaceredado you know who is in charge of moderation in the forum?
15:08:58FromDiscord<flywind> I don't know, maybe dom96, narimiran are.
15:33:26FromDiscord<hugogranstrom> @exelotl I'm just guessing but if I replace the proc-defs with just variable definitions I don't get any error. So perhaps it's just that you can't define procs there because they are already "registered" as they are passed in as `typed`?
15:34:17FromDiscord<hugogranstrom> I.e. the compiler parses them as procs before it gives them to the macro which produces a new definition of the same proc
15:34:33FromDiscord<hugogranstrom> But it's just guessing from my side
15:35:15FromDiscord<exelotl> Yeah that sounds about right, if I do `result = newStmtList()` and then `result.add(body)` it works fine
15:35:36FromDiscord<exelotl> so quote do is probably copying the body or something
15:36:09FromDiscord<hugogranstrom> quote do is some kind of black magic sometimes...
15:36:46FromDiscord<hugogranstrom> But odd that it works if you do it manually instead...
15:52:16FromDiscord<Vindaar> `quote` internally wraps the code in a template. That's probably why it doesn't work that way
16:08:12jaceredalooks like I'm approved now, thanks to whoever did it. The link again: https://forum.nim-lang.org/t/6842
16:11:13FromDiscord<acek7> so wheres the info on how nim can work with HTML and CSS because id love to figure out how to use it for web dev
16:12:00Yardaniconim has a JS backend
16:12:09Yardanicoso you can write all frontend logic in nim
16:12:22Yardanicoforum's frontend is nim (it uses the karax library for SPA) if you're wondering
16:12:25YardanicoI mean nim forum's
16:12:48FromDiscord<acek7> id love to never touch javascript again if thats what its offering lmao
16:12:59Yardanicoread again what I said :)
16:13:04YardanicoI said nim js backend, not js
16:13:10Yardaniconim's default backend is C if you're wondering
16:13:18Yardanicoso with the js backend you can write nim code which then gets compiled into JS
16:13:37FromDiscord<acek7> thats pretty interesting
16:14:00Yardanicosee https://nim-lang.org/docs/backends.html#backends-the-javascript-target https://nim-lang.org/docs/jsffi.html https://github.com/pragmagic/karax for some info
16:14:13Yardanicohttps://github.com/nim-lang/nimforum/tree/master/src/frontend frontend source code for the forum
16:15:06Yardanicothere's more info on the forum or somewhere else I guess, but I can't find it easily
16:15:21Yardanicoah right also https://livebook.manning.com/book/nim-in-action/chapter-8/
16:15:26FromDiscord<acek7> id really like to make a simple online 2D game
16:15:59FromDiscord<acek7> in a browser
16:17:22Yardanicoyeah that's entirely possible
16:17:35Yardanicosee stardust.dev
16:17:40Yardanicohttp://picheta.me/snake
16:17:43Yardanicohttps://stardust.dev
16:17:48Yardanicohttps://github.com/dom96/gamelight
16:18:05Yardanicoboth of these games are made in nim
16:18:14Yardanicoyou can of course choose a different way for that
16:18:22Yardanicouse emscripten + sdl
16:18:28Yardanicoand nim's default backend
16:18:59FromDiscord<acek7> is that whole nim in action book free online?
16:19:22Yardanicowell livebook offers some chapters for free, there's no legal free pdf copy if you're asking ;)
16:19:36Yardanicoi'm not sure about livebook really, I have nim in action myself so I never wondered if you can get the whole book for free
16:20:21FromDiscord<acek7> i have it on my kindle as well i just was curious
16:22:20Yardanicowell then you have a pdf and epub too :)
16:30:14FromDiscord<mratsim> @jacereda, I did, you're welcome
16:35:40*aenesidemus joined #nim
16:52:13*thomasross joined #nim
16:57:19*kenran joined #nim
17:00:32*solitudesf quit (Read error: Connection reset by peer)
17:00:46*solitudesf joined #nim
17:02:41*kenran quit (Ping timeout: 260 seconds)
17:03:41*narimiran joined #nim
17:05:55*hnOsmium0001 joined #nim
17:06:43*lritter joined #nim
17:12:37bung@mratsim do you have time complete deep learning example mentioned months ago?
17:12:56FromDiscord<mratsim> whoops, sorry, completely forgot :/
17:13:28bungthat's ok
17:19:56FromDiscord<dom96> ooh, thanks for sharing my game Yardanico 🙂
17:20:24FromDiscord<dom96> Nim in Action isn't free unfortunately, you can get some chapters free on https://book.picheta.me though
17:20:51FromDiscord<dom96> and Manning does discounts (50% off) during major holidays so you can wait for those if you wish
17:25:33bung@mratsim https://play.nim-lang.org/#ix=2ydG the details when you have time
17:26:36FromDiscord<mratsim> thanks for your patience
17:26:39FromDiscord<mratsim> I saved it in my gist
17:37:47FromDiscord<Yardanico> @slonik_az about https://forum.nim-lang.org/t/6844 - .nims and .cfg are indeed quite different
17:37:51FromDiscord<slonik_az> @dom96 BTW, do you plan 2-nd edition of your excellent "Nim in Action" book? There has been quite many changes in Nim land since 2017.
17:38:03FromDiscord<Yardanico> well, the core language is still the same 🙂
17:38:18FromDiscord<Yardanico> .nims files are Nim Script-based configuration (they use the VM built-in into the compiler)
17:38:29FromDiscord<slonik_az> but nimble changed, and NimScript and the libraries ...
17:39:36FromDiscord<Yardanico> and about processing from your forum thread - they both will be processed, but .cfg files first
17:39:59FromDiscord<slonik_az> The docs should reflect this.
17:40:17FromDiscord<Yardanico> the docs should reflect a lot of other stuff too, but I don't think relying on evaluation order for configuration would be a good idea 🙂
17:40:22FromDiscord<Yardanico> it's an implementation detail imo
17:40:34*superbia quit (Quit: WeeChat 2.9)
17:40:51*superbia joined #nim
17:40:52*superbia quit (Client Quit)
17:41:01FromDiscord<dom96> > @dom96 BTW, do you plan 2-nd edition of your excellent "Nim in Action" book? There has been quite many changes in Nim land since 2017.↵@slonik_az email the publisher and ask them 😉
17:41:05FromDiscord<slonik_az> I know. But two different naming conventions for the same group of config files looks a bit redundant, doesn't it?
17:41:46FromDiscord<Yardanico> it's not a naming convention
17:41:49FromDiscord<dom96> If Manning (the publisher) is up for it then I would be too, depends on what their expectations are
17:41:55FromDiscord<Yardanico> they have different configuration syntax
17:41:58*shad0w_ joined #nim
17:42:11FromDiscord<Yardanico> it's just that .nims files support most of the .cfg config syntax like --threads:on or similar
17:42:19FromDiscord<dom96> if they see readers asking about it then they are likely to consider it
17:42:46*superbia joined #nim
17:42:46FromDiscord<dom96> but yeah, I've done my best to ensure the book is compatible with v1 and beyond
17:43:20FromGitter<deech> Is there a staticWrite equivalent to staticRead?
17:44:19FromDiscord<Yardanico> writeFile works in the VM
17:44:38FromGitter<deech> Thanks!
17:44:47disruptektwo different config formats plus .nimble... are going away. i recommend using .cfg exclusively.
17:45:18Yardanicomeh
17:45:27disruptekeve .cfg will be removed eventually.
17:45:37Yardanicoit's not dynamic at all
17:45:53Yardanicowith .nims you can do crazy stuff like parsing and downloading
17:45:55Yardanicoor some other stuff
17:46:12FromDiscord<slonik_az> @dom96 I will write to Manning publisher. I think 2-nd edition of your book is important for Nim ecosystem. It is an excellent book that I am reading right now.
17:46:36Yardanicojust FYI - there are some other resources too
17:46:41Yardanicosee some links in https://nim-lang.org/learn.html
17:47:10superbiathe NiA book is hands down best programming book I touched
17:47:32Yardanicoe.g. Stefan Salewski has been making his own nim book too (but it's more focused on the CS theory part for non-CS people) http://ssalewski.de/nimprogramming.html
17:47:40Yardanicoand it's not complete of course
17:48:12*tane joined #nim
17:48:12jaceredaso, is .nimble/.cfg being replaced by .nims? any example of a project using .nims instead of .nimble?
17:48:38Yardanicojacereda: .nimble is just .nims with some nimble specific stuff
17:49:00Yardanicothere's no one clear conclusion regarding the nims vs cfg history
17:49:15Yardanicoat least not that I know of
17:54:01disruptekof course there is.
17:54:07Yardanicocan you link to it?
17:54:10disruptekno.
17:54:11Yardanicoto the discussion
17:54:19FromDiscord<dom96> superbia: Thank you! That means a lot 🙂
17:55:06FromDiscord<dom96> jacereda: There are no plans currently to make such a replacement, .nimble will stay for a long time
17:55:17Yardanicosame for both .nims and .cfg too
17:55:23Yardanicosince they both exist in nim 1.0 :P
17:55:47disruptek"a long time" is relative.
17:56:00disruptekbut, don't take my word for it if you don't believe me.
17:56:07Yardanicowell, a long time is at least 3-5 years
17:56:13Yardanicoat the very very least
17:56:16disrupteki have better things to do than argue with the ignorant.
17:57:41FromDiscord<dom96> There are no plans that I've seen about merging these
17:57:45FromDiscord<dom96> don't know what you're talking about
17:57:51FromDiscord<dom96> if I missed something please link me to it
18:01:23disruptekthe plan is to remove them entirely.
18:02:54AraqI considered to replace them both with pragmas
18:03:21Araqbut in the end it might just be a different .nims implemetation, one that is not such a pita in the compiler to maintain
18:08:56disruptekwe call that nim.
18:09:28disruptekwhat's nice about it is that nim programmers know how to use it and it is very powerful.
18:25:38FromDiscord<haxscramper> Is it possible to make template (or just any expression) discardable? I'm writing template that will return expression that __might__ be used, but in most cases won't be, so I would be writing `discard` almost all the time I use it which is not ideal
18:27:34FromDiscord<dom96> yeah, so "considered" is not "this is the plan"
18:27:49FromDiscord<dom96> no need to spread uncertainty
18:28:25FromDiscord<dom96> and just because you want them removed doesn't mean they will be removed
18:31:18disruptekthe uncertainty is already here because someone had the bright idea to impl them.
18:31:52disruptekall we have to do is not use them. i'd say that is certainty free for the taking.
18:32:14disruptekbut, you do you.
18:32:52YardanicoAraq: so regarding https://github.com/nim-lang/Nim/issues/15280 - is code like https://play.nim-lang.org/#ix=2ydY invalid too?
18:32:54disbotMixing 'return' with expressions is allowed in 1.2 ; snippet at 12https://play.nim-lang.org/#ix=2ydZ
18:32:58Yardanico(well, it is by the compiler now)
18:33:11Yardanicoit's just that nitter uses that (it doesn't seem hard to fix though)
18:33:49Araqif in doubt, ask Nim v1.0
18:33:55Yardanicoyeah it errors out :)
18:34:21Araqyeah, never should have been allowed
18:44:40FromDiscord<lqdev> @haxscramper please avoid discardable
18:44:54FromDiscord<lqdev> `discard` is there for a reason (preventing bugs)
18:45:09YardanicoAraq: this too? proc woah(): int = let myvar = if true: return else: 5
18:45:29Yardanicobut yeah I get it
18:48:05FromDiscord<haxscramper> > @haxscramper please avoid discardable↵@lqdev even in situations like this? In 90% return value is useless, but making overload for remaining 10% would basically make things twice as confusing in API
18:48:39FromDiscord<lqdev> if the return value is useless most of the time, you're doing something wrong.
18:50:46FromDiscord<haxscramper> I'm writing template that executes body in temporary directory. Most of the time I don't want to return directory, but sometimes it is necessary. Writing `discard withTempDir true:` is a solution, but I just want to know in general if it is possible to make arbitrary expression discardable?
18:50:50disrupteki never feel bad typing discard.
18:51:18PrestigeYardanico: that implicitly returns result, right?
18:51:23Yardanicoyes
18:51:26disruptekarbitrary expression? no.
18:51:34Yardaniconot sure which one you mean
18:51:39Yardanicothe second one? it returns 0, default value for int
18:53:19*shad0w_ quit (Remote host closed the connection)
18:53:59PrestigeYeah the recent one you put in irc. Is that not supposed to be allowed?
18:54:07PrestigeSeems fine to me
18:54:50Yardanicoit's only allowed in 1.2.x
18:55:11Yardaniconot in <1.2 or >=1.4
18:55:45PrestigeAh
18:58:10*kenran joined #nim
19:02:29Yardanicoanyway good night
19:03:10*kenran quit (Ping timeout: 258 seconds)
19:06:33PrestigeGn Yardanico
19:16:47*bung quit (Quit: Lost terminal)
19:21:41FromDiscord<Avatarfighter> Ello everyone
19:22:44Prestigeo/
19:26:36*gmaggior joined #nim
19:27:35FromDiscord<ThothLoki> how would i use nim to change directory?
19:28:51FromDiscord<ThothLoki> i am writing a small utility that will connect to all my network drives. problem is that once my VPN is enable, it takes a while for th drives to be seen as connected, so i usually just double click on them and everything is good. I would rather just double clikc on one icon and connect to all drives
19:29:14*narimiran quit (Ping timeout: 258 seconds)
19:31:55PrestigeWhat is the planned future of strictFuncs? Will this be the default, or maybe a pragma?
19:44:28*konkrrrrrr joined #nim
19:44:29*kinkinkijkin quit (Remote host closed the connection)
19:52:30disrupteksetCurrentDir
19:52:32disruptek~manual
19:52:33disbotmanual: 11the Nim Manual is https://nim-lang.org/docs/manual.html -- disruptek
19:52:53disruptekprestige: ideally, the default. might take awhile, though.
19:53:16Prestigecool, ty
20:04:00*muffindrake quit (Quit: muffindrake)
20:04:51FromDiscord<Avatarfighter> disruptek how are your public speaking skills
20:11:32*waleee-cl joined #nim
20:16:42*Vladar quit (Read error: Connection reset by peer)
20:18:02disruptekright up near my jobhunting skills.
20:18:09disruptekself-promotion is really dom's department.
20:33:48disruptekwhy do you ask?
20:33:53disruptekdid you see me on the news or something?
20:37:01FromDiscord<Avatarfighter> Well I’m currently looking for speakers who could be interested in talking to a few hundred high schoolers in a virtual event and it could be about anything tech. I was just curious though
20:38:11disrupteki have a lot to teach highschoolers.
20:38:26FromDiscord<Avatarfighter> wait let me message you on irc
20:39:47*Avatarfighter joined #nim
20:43:34FromDiscord<shashlick> Sounds like fun
20:44:10FromDiscord<Avatarfighter> Hopefully 🙂
20:45:58FromDiscord<dom96> > self-promotion is really dom's department.↵lolwat?
20:48:32FromDiscord<ThothLoki> Thank disruptek
20:51:02disrupteki just mean that power-tripping and self-promotion isn't my bag. that's something dom can better speak to.
20:54:07FromDiscord<dom96> Man, those sort of words really don't help my self-promotion
20:58:40disruptekhow do you figure?
20:59:05*kenran joined #nim
20:59:40*jacereda quit (Ping timeout: 246 seconds)
21:03:37FromDiscord<dom96> Maybe you could elaborate on why you think power-tripping and self-promotion are "in my bag"
21:03:57*lritter quit (Ping timeout: 260 seconds)
21:04:18*kenran quit (Ping timeout: 258 seconds)
21:07:05disrupteki just mean that it's your area of expertise.
21:07:20FromDiscord<dom96> how so?
21:08:51FromDiscord<Elegant Beef> Well your name is blue and mine isnt, sounds like a power trip to me 😛
21:09:08FromDiscord<Recruit_main707> Lol
21:09:35FromDiscord<Recruit_main707> He is asking for the banhammer
21:10:06FromDiscord<Elegant Beef> Who is?
21:10:35disrupteki think he's just fishing for compliments.
21:11:22FromDiscord<Elegant Beef> Lol recruit im just joking around, im unbannable, cause uhh... uhhh, shit i'm not
21:11:38*lritter joined #nim
21:11:54FromDiscord<Recruit_main707> I am also joking :p
21:13:50FromDiscord<dom96> is disruptek joking too?
21:15:40disruptekwould you like to nominate someone you think is better at self-promotion and consolidating power?
21:17:35FromDiscord<Elegant Beef> I mean disruptek is a joke, no clue if he is joking ever
21:19:52FromDiscord<KingDarBoja> It is harder to know when disruptek is joking IMO 😄
21:24:10FromDiscord<dom96> I wouldn't say disruptek is a joke, but yes, it isn't clear whether he is joking or not most of the time. Pretty sure that is one of the characteristics of a "troll" 🤔
21:25:40FromDiscord<dom96> It's not easy to play off the implication that I am some power hungry self promoting evil person as a joke though. So once again, I ask, what is spurring you to say this?
21:26:36*synshroud joined #nim
21:28:03disruptekwhat's the joke?
21:28:33disruptekwho did i give @nim.fan addresses to you and are you getting mail?
21:28:46disruptekseems like i never actually tested it. or maybe i never set it up.
21:29:41FromDiscord<dom96> Evidently there is no joke. So why are you saying these things?
21:30:46*Avatarfighter quit (Quit: Leaving.)
21:31:39*tane quit (Quit: Leaving)
21:32:16disruptekare you saying you don't want to mentor folks that need help?
21:37:55FromDiscord<Avatarfighter> Chill we can have like this entire irc presenting lmao
21:38:37FromDiscord<dom96> I can't even at this point
21:44:24*apahl quit (Ping timeout: 246 seconds)
21:45:27*apahl joined #nim
21:46:01Prestige@Elegant Beef what have you been working on recently?
21:46:18FromDiscord<Elegant Beef> *Flees into darkness*
21:47:25FromDiscord<Nisha (LGBTQ+)> ...i can't say much honestly-
21:47:32FromDiscord<Elegant Beef> I havent been working on much of late
21:47:47FromDiscord<Nisha (LGBTQ+)> I've been trying to gather motivation because I'm working on a game, using RayLib-
21:47:48FromDiscord<Elegant Beef> I did start on remaking my last gamejam game in nim, but questioning if i should continue with nico or move to something else
21:48:00FromDiscord<Nisha (LGBTQ+)> (edit) 'I've been trying to gather motivation because I'm working on a game, using RayLib- ... ' => 'I've been trying to gather motivation because I'm working on a game, using RayLib-(in Nim of course-)'
21:48:03FromDiscord<Elegant Beef> Did rewrite my constructor macros
21:48:08FromDiscord<Nisha (LGBTQ+)> Raylib is quite nice imo
21:49:51PrestigeI need to check out Raylib
21:50:16PrestigeI've made small things with nico, curious about nimgame2
21:51:19PrestigeNisha what is Raylib like?
21:54:13*solitudesf quit (Ping timeout: 264 seconds)
21:55:00FromDiscord<Nisha (LGBTQ+)> It's actually quite simple!
21:55:22FromDiscord<Nisha (LGBTQ+)> But for strings, it uses cstrings mainly (when they're needed to be provided)
21:55:27FromDiscord<Nisha (LGBTQ+)> Iirc
21:55:34FromDiscord<Elegant Beef> Here you go prestige https://streamable.com/meqwkd
21:55:42FromDiscord<Nisha (LGBTQ+)> Because i stopped working on it quite a while ago
22:07:24PrestigeNice, beef
22:09:26FromDiscord<Elegant Beef> What've you been up to?
22:13:14*sagax quit (Ping timeout: 272 seconds)
22:25:53FromDiscord<Avatarfighter> I like the game Beef 🙂
22:26:02*krux02 quit (Remote host closed the connection)
22:26:37PrestigeMostly working on Nimdow
22:26:54PrestigeBeen thinking of another project to work on
22:27:38*aenesidemus quit (Quit: Leaving)
22:28:23FromDiscord<Avatarfighter> Nimdow is your window manager right Prestige?
22:28:40PrestigeYeah
22:29:21FromDiscord<Avatarfighter> so cool
22:30:11FromDiscord<Avatarfighter> What other project do you have in mind prestige?
22:31:05PrestigeI wish I knew haha. Been toying with ideas for a while, nothing I've liked
22:31:28PrestigeA discord tui client would be nice perhaps
22:31:53*Avatarfighter joined #nim
22:33:26disruptekyou already use one.
22:33:29*Avatarfighter quit (Client Quit)
22:33:52PrestigeI do
22:34:02disruptekwhat's wrong with it?
22:35:06PrestigeSome bugs, and I'd change a lot about the UI. Need to do more planning, but I'd design it with buffer navigation like vim
22:35:55disrupteki would contribute to a new client; perhaps it gateways to the services instead of operating the other way around.
22:36:33disrupteki want to experiment with cps async in a real app, so i was thinking of just doing an irc client for my desktop.
22:37:02PrestigeThat sounds neat, too. If you start the project lmk
22:37:12FromDiscord<Avatarfighter> Lowkey I might make myself an IRC client with fidget
22:37:39disruptekproblem is that i'm afraid of how fidget does async.
22:37:45disrupteki don't know how it does it, to clarify.
22:37:57FromDiscord<Avatarfighter> Well
22:38:12FromDiscord<Avatarfighter> that's a great quesiton
22:38:24disruptekdo you know the answer?
22:38:33FromDiscord<Avatarfighter> I am looking rn
22:39:41FromDiscord<Avatarfighter> it has an async poll loop
22:39:45disrupteki wonder if there's a swagger api for discord somewhere.
22:39:54disruptekprobably we can get a telegram api in swagger.
22:40:25FromDiscord<Avatarfighter> ok well async doesn't seem to hard with fidget
22:41:19*Avatarfighter joined #nim
22:42:23disruptekyes, but how does it work?
22:42:55FromDiscord<Avatarfighter> uh im still reading
22:43:51FromDiscord<Avatarfighter> Oh nvm
22:44:02FromDiscord<Avatarfighter> you can't exactly put your own futures in the async poll loop
22:45:05disruptekso it's using async/await?
22:47:09AvatarfighterNo its storing HTTPCalls in a hash table and it polls that
22:48:02AvatarfighterSo you can't really do your own async stuff but it might still trigger futures because its polling
22:48:03Prestigeinteresting. Sounds pretty useful
22:48:20Prestigewelcome to irc Avatarfighter :D
22:48:46*jken quit (Quit: ZNC - https://znc.in)
22:49:00AvatarfighterI use both :P
22:49:22disruptektdlib is a c lib for telegram.
22:49:30disrupteki guess that's the best way to integrate that.
22:50:01disruptekhm, there's a discord api in c, too.
22:50:02AvatarfighterSo you can do something kind of funny, if you do a fake httpGet request and set up a future it'll Poll meaning you could trigger your future
22:50:21*jken joined #nim
22:50:22Prestigedisruptek: about the buffers I was speaking of: I have fzf integrated with vim, which allows me to fuzzy search and open buffers with a popup
22:50:31PrestigeI think that would be very nice for irc as well
22:50:39disruptekyeah, that's cool.
22:50:58disruptekcan you share how you do that?
22:51:04Prestigesure 1 sec
22:51:13Prestigehttps://blog.avahe.tk/posts/neovim/fzf-ripgrep/ disruptek
22:51:50disruptekhmm, my click-to-open doesn't work on the palmtop.
22:52:06disruptekit's always some stupid shit.
22:52:09*Avatarfighter quit (Quit: Leaving.)
22:52:18PrestigeI have a shortcut in my term to open links
22:52:20FromDiscord<Avatarfighter> palmtop?
22:52:26FromDiscord<Avatarfighter> imma need more info
22:54:28disrupteki have something similar, but somehow it works on the desktop and not the lil mini-laptop i'm using.
22:56:31disrupteksome xdg stuff not getting pulled i guess.
22:56:49disruptekanyway, thanks for the link.
22:56:54PrestigeI'm using something called pso to replace xdg-open
22:56:56Prestigeno prob
22:57:19disruptekwe already have discord guts in nim, right?
22:57:22disruptek!repo discord
22:57:22disbothttps://github.com/Krognol/discordnim -- 9discordnim: 11Discord library for nim 15 53⭐ 8🍴 7& 11 more...
22:57:29disruptek!repos discord
22:57:30disbothttps://github.com/Krognol/discordnim -- 9discordnim: 11Discord library for nim 15 53⭐ 8🍴
22:57:31disbothttps://github.com/krisppurg/dimscord -- 9dimscord: 11A Discord Bot & REST Library for Nim. 15 38⭐ 5🍴
22:57:31disbothttps://github.com/Yardanico/ircord -- 9ircord: 11Discord <-> IRC bridge in Nim 15 9⭐ 1🍴 7& 9 more...
22:57:36Prestigealso nimcord, but yeah
22:57:49disruptekis one of those better than the others?
22:58:14PrestigeI've heard good things about dimscord, unsure tho
22:58:55FromDiscord<Elegant Beef> Prestige we just need to make a good matrix client with usable voip 😛
22:59:22disrupteki thought none of the matrix was really usable.
22:59:23Prestigemaybe, I haven't used matrix really
22:59:36disrupteki thought leorize was pretty discouraged.
22:59:55FromDiscord<Elegant Beef> The text chat seems fine
23:00:00*kenran joined #nim
23:00:04FromDiscord<Elegant Beef> I dont see any issue with it in my usage of it
23:00:24disruptekyou use it?
23:00:38FromDiscord<Elegant Beef> I used it for a bit, not often since i dont have any reason to
23:01:02FromDiscord<Elegant Beef> The lack of channels voip means it's unusable for my usage
23:02:08disruptekdo you use something else instead?
23:02:28FromDiscord<dom96> I've also never used it but it seemed rather unreliable in the past. Lots of netsplits from matrix users on IRC
23:02:32FromDiscord<dom96> and lots of latency
23:03:00FromDiscord<Elegant Beef> Without p2p encryption on the element servers i didnt see latency, i havent used it much but i liked what i did
23:03:22FromDiscord<Elegant Beef> I use discord instead since it has channeled voice and i my friends already use it
23:03:31*jken quit (Quit: ZNC - https://znc.in)
23:04:06disruptekit will melt the brains of the bridges if we do the bridging in the client. we'll need to teach them how to ignore folks or something.
23:04:37*jken joined #nim
23:05:17*kenran quit (Ping timeout: 260 seconds)
23:07:58*Avatarfighter joined #nim
23:08:26*Avatarfighter quit (Client Quit)
23:08:37Prestigemaybe I'll do some videos on Nim. I need something to work on
23:11:46*Avatarfighter joined #nim
23:11:49*Avatarfighter quit (Client Quit)
23:15:43*a_chou joined #nim
23:20:45disruptekdo you stream?
23:21:40Prestigenot often, usually just make youtube vids. Well, I've made a few :P
23:21:57PrestigeNeed content ideas, I dislike having vids just for the sake of having them
23:25:09voidpiPrestige: probably any chapter of the manual can be talked about on a video
23:25:48PrestigeTrue. I may do an introductory vid first explaining what Nim is
23:26:21voidpiElegant Beef: friends don't let friends use propietary black boxes
23:26:49FromDiscord<Elegant Beef> Yea well friends also dont force friends to use a application of lesser quality
23:27:02FromDiscord<Elegant Beef> Like to get what i like i'd have to use mumble/teamspeak with element
23:27:20voidpitext hard?
23:27:25FromDiscord<Elegant Beef> It's just impossible to go "Hey you guys want to go back to 2010?"
23:28:02voidpipeople still use matches
23:28:02FromDiscord<Rika> people dont really give a shit if its proprietary
23:28:12FromDiscord<Rika> people DO give a shit if features are missing
23:28:38PrestigeRandom comment, I hate slack's UI decisions
23:28:51disruptekeh i'm bothered that it's proprietary.
23:29:23FromDiscord<Rika> how many disrupteks are in the world?
23:29:25*jken quit (Quit: ZNC - https://znc.in)
23:29:29voidpinot everyone think features are missing on irc
23:29:36FromDiscord<Rika> a lot of people do
23:29:49disruptekwell there's me, myself, and i. that's three right there.
23:30:04FromDiscord<Rika> hey man im not saying irc is shit, i dont mind using it, what i am saying is that not everyone wants to use irc
23:30:09Prestigebiggest complaint about irc I hear is that you can't see conversations that happened while you were away
23:30:29*jken joined #nim
23:31:16disruptekwell, we can certainly add /that/ feature.
23:32:01voidpipeople can run off cliffs, not everyone needs to follow
23:32:37disruptekgoats are beautiful on the inside.
23:33:01Prestigedisruptek: in what way do you mean? a new client/protocol/service?
23:33:42disruptekhistory?
23:33:57PrestigeYeah
23:34:15disruptekis it really hard?
23:34:46PrestigeI just mean for people using irc the history isn't kept or sent to a reconnecting user
23:35:18PrestigeI have my irc client running 24/7 on a server so I have a scrollback buffer, most ppl don't want to bother with a setup
23:35:59disruptekwe're writing new software here, right?
23:36:24Prestigeidk I was talking about downsides of irc lol
23:39:08FromDiscord<Avatarfighter> downsides!?
23:39:20FromDiscord<Avatarfighter> IRC has the best ebook piracy ive ever seen
23:39:22FromDiscord<Avatarfighter> there are no downsides
23:40:05PrestigeActually writing a tui irc client would be great... I want that fzf buffer implemented. And I want to be writing nim, so a new client it is
23:40:15Prestigeforget discord
23:40:19FromDiscord<Avatarfighter> lmao
23:40:46FromDiscord<Avatarfighter> just make ur client support discord smh
23:40:49Prestigebecause of Nim, I always write discard then correct it to discord.
23:40:54Prestigetrue..
23:41:25PrestigeSame concept anyway. Servers and channels
23:41:28FromDiscord<Rika> irc in pure vimscript when
23:41:40Prestigejesus, vimscript
23:42:24FromDiscord<Rika> you get all your benefits you said
23:42:44PrestigeBut at what twisted evil cost?
23:43:06disruptekit might blow the mind of the bridge.
23:44:04FromDiscord<Rika> not much evil cost
23:44:11FromDiscord<Rika> how hard could it be :))))))))))))))
23:44:30*Prestige writes an OS in bash
23:46:09FromDiscord<Rika> designed-to-be-esoteric languages? nah fuck that, write it in the real esoteric languages, those that werent intended to be esoteric!
23:46:32FromDiscord<Rika> those that just built up a lot of cruft and warts during its time
23:51:38disruptekyou're right; maybe we shouldn't use nim.
23:59:57FromDiscord<Rika> lol