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:26 | FromDiscord | <ThothLoki> correct me if i am wrong but it seems that nim is not the best for GUI. |
03:28:11 | FromDiscord | <Rika> depends on your requirements |
03:28:37 | FromDiscord | <ThothLoki> i have been playing with nigui for a bit and it seem slike ther eare not many options out there |
03:28:58 | FromDiscord | <Rika> nigui isnt the only choice tho |
03:29:27 | FromDiscord | <ThothLoki> yea, do you happen to have a decent gui for nim? |
03:29:46 | FromDiscord | <Rika> people recommend fidget a lot |
03:30:50 | FromDiscord | <ThothLoki> i will take a look. it seems that it is more for html |
03:34:37 | FromDiscord | <ThothLoki> i am looking for pure desktop apps |
03:35:48 | FromDiscord | <flywind> Hi, Is there a better way to check whether a library exists or not in user's environment? |
03:35:56 | FromDiscord | <flywind> sent a code paste, see https://play.nim-lang.org/#ix=2yaK |
03:38:50 | FromDiscord | <Rika> @ThothLoki from what i know, fidget is pure desktop |
03:39:18 | FromDiscord | <Rika> @flywind not currently |
03:39:37 | FromDiscord | <flywind> fidget can be used both for web and desktop. |
03:41:46 | FromDiscord | <ThothLoki> sent a code paste, see https://play.nim-lang.org/#ix=2yaL |
03:41:50 | FromDiscord | <ThothLoki> seems like web is the main |
03:41:53 | FromDiscord | <flywind> It is a UI library so lacks some dialog boxes which a GUI program provides. |
03:42:07 | FromDiscord | <ThothLoki> i will look at it and see if it has mor ethan nigui |
03:42:24 | FromDiscord | <Avatarfighter> @ThothLoki its opengl I believe |
03:43:11 | FromDiscord | <flywind> You can also try `nimqml`. |
03:43:54 | FromDiscord | <flywind> The desktop software of status.im is build with `nimqml`. |
03:44:20 | FromDiscord | <flywind> https://github.com/status-im/nim-status-client |
03:49:14 | FromDiscord | <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:51 | FromDiscord | <Rika> const |
03:50:56 | FromDiscord | <Rika> well |
03:50:57 | FromDiscord | <Rika> actually |
03:51:03 | FromDiscord | <Rika> static: block? |
03:52:18 | FromDiscord | <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:03 | FromDiscord | <acek7> whatcha nerds up to |
04:34:10 | * | solitudesf joined #nim |
04:52:29 | FromDiscord | <Rika> learning circuits and shit |
04:53:29 | FromDiscord | <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:46 | FromDiscord | <Rika> so what are you fond of |
04:53:51 | FromDiscord | <Rika> theres the gintro library |
04:53:56 | FromDiscord | <Rika> if you like gtk more |
04:57:21 | FromDiscord | <ThothLoki> i am a fan of simple gui syntax. some of the gui layout code just sucks |
04:57:34 | FromDiscord | <ThothLoki> 1 line of code vs 10 lines |
05:00:24 | FromDiscord | <Rika> you might be interested in using an immediate mode gui then |
05:00:27 | FromDiscord | <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:25 | FromDiscord | <ThothLoki> i am willing ot use anything for a gui library |
05:01:31 | FromDiscord | <ThothLoki> but i want to use one |
05:01:40 | FromDiscord | <ThothLoki> i write for windows, mac and linux |
05:02:34 | FromDiscord | <ThothLoki> windows for work, mac and linux and windows for home |
05:04:40 | * | shad0w_ quit (Remote host closed the connection) |
05:05:34 | FromDiscord | <ThothLoki> @Rika what do you suggest? |
05:05:45 | FromDiscord | <ThothLoki> i like nimgui but it is very limiting |
05:08:28 | FromDiscord | <Rika> i do not have anything to recommend |
05:08:49 | FromDiscord | <Rika> i dont even know of a library outside of nim that can fit this description |
05:09:57 | FromDiscord | <ThothLoki> lol |
05:10:28 | FromDiscord | <Rika> are you sure imgui or whatever else is too limited |
05:10:37 | FromDiscord | <ThothLoki> i have written a few gui apps in in python, but i want some thing compiled |
05:10:56 | FromDiscord | <Rika> so what did you use there |
05:11:00 | FromDiscord | <ThothLoki> i can make nimgui work gut they do not have spindbars, comboboxes |
05:11:20 | FromDiscord | <Rika> spindbar? |
05:11:39 | FromDiscord | <Rika> imgui has combo boxes |
05:11:39 | FromDiscord | <ThothLoki> i have used pyqt, appjar, pysimplegui, |
05:11:52 | FromDiscord | <Rika> what is a spindbar? |
05:12:00 | FromDiscord | <ThothLoki> spindbox, is the "textbox" with the up/down arrows |
05:12:10 | FromDiscord | <Rika> oh, spinbox |
05:12:29 | FromDiscord | <ThothLoki> shit, that is what i meant |
05:12:38 | FromDiscord | <Rika> can you please check out the ImGui demo window |
05:12:39 | FromDiscord | <ThothLoki> i am a few beers deep |
05:12:46 | FromDiscord | <ThothLoki> imgui? |
05:12:48 | FromDiscord | <ThothLoki> sure |
05:12:48 | FromDiscord | <Rika> it has basically every component you can find on imgui |
05:13:13 | FromDiscord | <ThothLoki> thanks |
05:13:16 | FromDiscord | <ThothLoki> lemme check it out |
05:13:55 | FromDiscord | <ThothLoki> fidget seems to work well but i hate the layout |
05:16:36 | FromDiscord | <Rika> cant have all the things in life |
05:18:37 | FromDiscord | <ThothLoki> true |
05:18:44 | FromDiscord | <ThothLoki> but i try to get the most of it |
05:18:51 | FromDiscord | <ThothLoki> (edit) 'but i try to get the most ... of' => 'but i try to get the mostout' |
05:20:06 | FromDiscord | <Rika> unfortunately at the moment this is the most we can offer |
05:20:27 | FromDiscord | <Rika> maybe you'll be the next one to contribute to the gui lib count 😛 |
05:21:20 | FromDiscord | <ThothLoki> lol |
05:21:26 | FromDiscord | <ThothLoki> you take me for a smart guy |
05:28:06 | FromDiscord | <Rika> why not? you may be just underestimating yourself |
05:29:12 | FromDiscord | <ThothLoki> i probably am |
05:29:34 | FromDiscord | <ThothLoki> but based onm the free time i have...........i will be lucky to be able to finish my own apps |
05:47:32 | FromDiscord | <ThothLoki> Been looking at nim, d and crystal. Crystal is out because it doesn’t support windows. |
05:52:14 | FromDiscord | <Rika> lol |
05:54:08 | FromDiscord | <ThothLoki> i mainly write in python and have been looking for a compiled language that has a syntax similar to python |
05:59:08 | FromDiscord | <Rika> well nim is the closest |
06:00:13 | FromDiscord | <ThothLoki> Crystal seems closer but not fully cross platform |
06:00:55 | FromDiscord | <ThothLoki> I write apps for my work department so windows is a must |
06:01:34 | FromDiscord | <Rika> crystal is closer to ruby (which is its intent) |
06:02:15 | FromDiscord | <ThothLoki> So nim it is |
06:02:55 | FromDiscord | <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:00 | dv-^_^ | what's the difference between tuple and object? |
08:03:57 | FromDiscord | <Elegant Beef> https://nim-lang.org/docs/manual.html#types-tuples-and-object-types |
08:04:34 | FromDiscord | <Elegant Beef> Tuples are way more strict about their creation and arent type safe afaik |
08:06:44 | FromDiscord | <Elegant Beef> Guess im wrong about the type safe, typedef tuples are still safe 😄 |
08:12:50 | FromDiscord | <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:09 | FromDiscord | <Yardanico> Structural equivalence and field names have to match too |
08:15:14 | FromDiscord | <flywind> When I use ctrl c with `setControlCHook` to exit program, the program will become a zombie program. Any idea? |
08:15:17 | FromDiscord | <flywind> https://github.com/planety/prologue/blob/1561bb5379a292d6ef3b3c4e81c67245d9a97034/src/prologue/core/application.nim#L328 |
08:15:48 | FromDiscord | <flywind> In windows OS |
08:16:50 | FromDiscord | <flywind> I also can't find the implementaions of `setControlCHook`. |
08:17:31 | FromDiscord | <flywind> https://github.com/nim-lang/Nim/blob/ebb632ccba0d786b90684e4da2b393cfae04a24c/lib/system.nim#L2221 |
08:40:17 | FromDiscord | <Elegant Beef> @flywind possible dumb suggestion, but just call `quit` at the end? |
08:40:40 | FromDiscord | <flywind> Thank, I will try |
08:41:42 | FromDiscord | <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:15 | FromDiscord | <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:48 | FromDiscord | <flywind> Thanks! |
08:54:06 | FromDiscord | <A.N.Bockanov> hi. can you tell me how can i create a dynamic list ? |
08:55:24 | FromDiscord | <hobbledehoy> I think what you are talking about is called a sequence in nim↵https://nim-by-example.github.io/seqs/ |
08:56:19 | FromDiscord | <A.N.Bockanov> danke |
09:01:19 | FromGitter | <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:40 | FromDiscord | <Recruit_main707> non existent iirc |
09:02:00 | FromGitter | <awr1> i see, i thought it used to exist |
09:07:26 | solitudesf | it 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:46 | FromDiscord | <Recruit_main707> can you declare a function without defining it? |
09:15:28 | FromGitter | <awr1> yes |
09:15:44 | FromGitter | <awr1> just don't use `=` at the end of the proc header |
09:17:14 | FromDiscord | <Recruit_main707> `Error: implementation of 'mydll.myProc() expected` |
09:18:50 | FromDiscord | <Rika> you need to implement it later in the file too |
09:20:44 | FromDiscord | <Recruit_main707> so you cant |
09:22:20 | FromGitter | <awr1> yes it needs to be in same module |
09:22:43 | FromGitter | <awr1> if you want you can defer impl using `include` |
09:27:27 | FromDiscord | <Recruit_main707> id need it to be defined, and not declared, in a dll |
09:28:16 | FromDiscord | <Rika> That kinda doesn't make sense |
09:28:32 | FromDiscord | <Rika> What do you mean |
09:28:55 | FromDiscord | <Recruit_main707> i gave a cpp example yesterday, gimme a sec |
09:29:14 | FromDiscord | <Recruit_main707> https://play.nim-lang.org/#ix=2y8n |
09:29:28 | FromDiscord | <Recruit_main707> https://discordapp.com/channels/371759389889003530/371759389889003532/756954052381900800↵full message |
09:29:49 | FromDiscord | <A.N.Bockanov> where is my mistake https://media.discordapp.net/attachments/371759389889003532/757171647793856611/unknown.png |
09:30:44 | FromDiscord | <A.N.Bockanov> got <int> but expected doublyLinkedNode |
09:32:25 | FromDiscord | <Recruit_main707> paste the code snippet, irc users cant see discord pictures |
09:33:10 | FromDiscord | <Rika> @A.N.Bockanov you didn't provide the field name |
09:33:23 | FromDiscord | <A.N.Bockanov> sent a long message, see http://ix.io/2ybF |
09:33:32 | FromGitter | <awr1> @RecruitMain707 is `Engine::CreateApplication`or the nim equivalent or w/e |
09:33:34 | FromGitter | <awr1> is that in the DLL |
09:33:43 | FromGitter | <awr1> i mean defined in the DLL |
09:33:56 | FromGitter | <awr1> and your main exe is trying to to call into it? |
09:34:22 | FromDiscord | <Recruit_main707> no, Engine::CreateApplication is defined in the dll, and declared in the exe |
09:34:30 | FromDiscord | <Vindaar> sent a code paste, see https://play.nim-lang.org/#ix=2ybG |
09:34:32 | FromDiscord | <Recruit_main707> and then the dll calls it |
09:34:38 | FromDiscord | <lqdev> @A.N.Bockanov object construction always requires field names, eg. `value: value` |
09:34:54 | FromDiscord | <Vindaar> *newDoublyLinkedNode of course |
09:34:54 | * | pangey__ quit (Quit: bye) |
09:35:07 | FromGitter | <awr1> ah okay that's what i thought |
09:35:13 | FromDiscord | <A.N.Bockanov> thanks. |
09:35:14 | FromGitter | <awr1> you can use `dynlib` pragma |
09:35:21 | * | pangey joined #nim |
09:35:36 | FromGitter | <awr1> and/or `importc` |
09:35:43 | FromDiscord | <A.N.Bockanov> @Vindaar I need to use it for my lab project |
09:35:52 | FromGitter | <awr1> https://nim-lang.org/docs/manual.html#foreign-function-interface-dynlib-pragma-for-import |
09:36:09 | FromDiscord | <A.N.Bockanov> mb better will be sequences |
09:36:20 | FromDiscord | <Vindaar> Ah, I see. I was mainly wondering because you were asking about "dynamic lists" before |
09:36:29 | FromDiscord | <Recruit_main707> awr1 are you sure we are talking about the same situtation? |
09:36:50 | FromDiscord | <Vindaar> In general `seq` is the data type to use if you need a dynamically allocated container in Nim |
09:37:04 | FromGitter | <awr1> okay, your createapplication proc is defined in DLL, declared in EXE, EXE calls into DLL impl, correct? |
09:37:20 | FromGitter | <awr1> you use `dynlib` on both the DLL impl and the EXE decl |
09:38:07 | FromGitter | <awr1> in the DLL-side proc, you use `{.dynlib, exportc.}` and also usually some type of calling convention like `{.nimcall.}` |
09:38:34 | FromGitter | <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:30 | FromDiscord | <Recruit_main707> `createapplication proc is defined in DLL, declared in EXE, `so far yes, but then dll calls createapplication |
09:43:14 | FromGitter | <awr1> as in recursively? |
09:44:37 | FromGitter | <awr1> okay i see your code example |
09:44:52 | FromGitter | <awr1> is Run() also impl'd DLL-side? |
09:46:34 | FromGitter | <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:29 | FromGitter | <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:03 | FromGitter | <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:39 | FromGitter | <awr1> (alternatively `dynlib` may just require `importc` or `exportc` to also be done, but i don't feel like testing this) |
09:53:01 | FromGitter | <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:16 | FromDiscord | <Recruit_main707> its a DllMain type stuation |
09:57:18 | FromGitter | <awr1> ah okay, so trace this out for me |
09:57:22 | FromGitter | <awr1> i run the EXE, what happens? |
09:58:08 | FromGitter | <awr1> or is it like |
09:58:09 | FromDiscord | <Recruit_main707> your dll loads and calls your createApplication function, (and the run method and etc) |
09:58:13 | FromDiscord | <Clyybber> @Recruit_main707 awr1: Compiletimeffi exists |
09:58:28 | FromGitter | <awr1> and createAppliation is where? |
09:58:29 | FromDiscord | <Clyybber> it needs to be enabled when building the compiler |
10:00:08 | FromDiscord | <Recruit_main707> in the exe, its just defined in the dll so that it doesnt error |
10:00:40 | FromGitter | <awr1> wait so you want your exe to have an export? |
10:00:45 | FromDiscord | <Clyybber> https://github.com/nim-lang/Nim/pull/10150 |
10:00:46 | disbot | ➥ FFI at CT ; snippet at 12https://play.nim-lang.org/#ix=282x |
10:01:11 | FromDiscord | <Recruit_main707> awr1: something like that, do you want a whole project structure? |
10:01:19 | FromDiscord | <Recruit_main707> with headers and stuff? |
10:01:23 | FromGitter | <awr1> that is unusual for applications to do but is possible |
10:01:41 | * | superbia1 joined #nim |
10:02:04 | FromGitter | <awr1> at least in standard C |
10:05:05 | FromDiscord | <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:15 | FromGitter | <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:38 | FromGitter | <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:52 | FromDiscord | <Recruit_main707> i might |
10:09:18 | FromGitter | <awr1> the int main() stuff the person in the video is referring to is not DllMain |
10:09:26 | FromGitter | <awr1> it is just the exe main, WinMain or w/e |
10:09:40 | * | elyxir joined #nim |
10:09:41 | FromGitter | <awr1> all of that is exe-side. |
10:09:45 | FromDiscord | <Recruit_main707> i see.... 🥴 |
10:09:57 | * | elyxir quit (Remote host closed the connection) |
10:10:06 | * | nyd joined #nim |
10:10:07 | FromGitter | <awr1> the exe calls into the DLL with the createapp thing |
10:12:04 | FromDiscord | <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:31 | FromGitter | <awr1> https://play.nim-lang.org/#ix=2ybT |
10:13:35 | FromGitter | <awr1> this is what you want |
10:14:57 | FromDiscord | <Recruit_main707> ok, so i just basically move the main function into the executable |
10:16:00 | FromDiscord | <Recruit_main707> and avoid weird things like having the main function in the dll |
10:16:20 | FromGitter | <awr1> yes |
10:16:37 | FromDiscord | <Recruit_main707> perfect, thank you so much |
10:18:19 | FromGitter | <awr1> https://gist.github.com/awr1/93470331d4ec0626930d2e6b1433b48c |
10:19:08 | FromGitter | <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:07 | FromDiscord | <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:41 | FromDiscord | <acek7> probably a dumb question but do you always have to import standard library stuff |
10:56:34 | FromDiscord | <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:07 | FromDiscord | <Rika> Or write a nim config file that imports it on cli |
10:58:51 | FromDiscord | <Vindaar> good point. that _can_ be confusing if you forget you have that though. So I'd be careful with that approach |
10:59:41 | FromDiscord | <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:11 | FromDiscord | <acek7> i guess you kind of have to do that sort of thing with python for things like math etc |
11:00:20 | FromDiscord | <acek7> maybe thats a common thing im programming im not sure |
11:01:17 | FromDiscord | <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:29 | FromDiscord | <Vindaar> You wouldn't want that as it would significantly increase compilation times and the chance of getting overload ambiguities |
11:06:27 | FromDiscord | <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:06 | FromDiscord | <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:42 | FromDiscord | <acek7> i understand |
11:09:02 | FromDiscord | <acek7> so say i wanted to search in the documentation for like what proc means |
11:09:17 | FromDiscord | <acek7> i tried it but cant seem to find what im looking for |
11:09:43 | FromDiscord | <Vindaar> you're aware of this page here: https://nim-lang.github.io/Nim/theindex.html ? |
11:10:01 | FromDiscord | <Vindaar> normally ctrl+f is enough there |
11:10:28 | FromDiscord | <Vindaar> unless you don't know what you're looking for exactly. and ok, we even have fuzzy search now |
11:11:12 | FromDiscord | <Rika> Also the page is getting so large that browsers are struggling to search lol |
11:13:53 | FromDiscord | <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:11 | disruptek | sounds 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:33 | FromDiscord | <acek7> why cant i just find what the heck proc or something else means easily lol |
12:11:21 | * | moerm joined #nim |
12:11:33 | moerm | Hello everybody ;) |
12:11:48 | FromDiscord | <Rika> Hello evil moerm |
12:12:23 | moerm | Rika I'm pleased that you remember and mention the "evil". Thank you |
12:12:48 | FromDiscord | <Rika> What do you think I am, a goldfish? |
12:13:37 | moerm | No, I'd rather guess you are a flying spaghetti monster *blush |
12:15:41 | moerm | That's why I'm so respectful |
12:16:30 | FromDiscord | <Rika> Lol |
12:16:37 | moerm | *g |
12:16:48 | FromDiscord | <Rika> Log |
12:17:39 | moerm | Damn! You are going to show my words to the inquisition? |
12:17:54 | * | vicfred quit (Remote host closed the connection) |
12:18:08 | FromDiscord | <Rika> The Spanish inquisition? |
12:18:21 | * | vicfred joined #nim |
12:19:11 | moerm | Don't know. Maybe to the danish inquisition. May I choose to which one? |
12:20:21 | FromDiscord | <Rika> No |
12:22:18 | moerm | That's not nice. As of now I'll think that you are a *swimming* spaghetti monster. |
12:22:56 | moerm | Keep in mind that I'm *evil* moerm |
12:25:04 | FromDiscord | <Rika> I don't think that was as mean as you thought |
12:25:45 | moerm | Oh! * surprised and a bit ashamed |
12:30:47 | moerm | A 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:55 | FromDiscord | <exelotl> @acek7 it's there in the manual but admittedly the manual is not beginner friendly at all |
13:20:00 | FromDiscord | <exelotl> https://nim-lang.org/docs/manual.html#procedures |
13:23:55 | FromDiscord | <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:30 | solitudesf | we have tutorial https://nim-lang.org/docs/tut1.html#procedures |
13:35:03 | FromDiscord | <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:47 | FromDiscord | <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:16 | FromDiscord | <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:25 | jacereda | Anyone 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:49 | jacereda | looks like I posted to the wrong section? It says "Moderated" and I don't know if it it's readable... |
14:55:29 | jacereda | should I just move it to "Default"? |
14:56:25 | * | kenran joined #nim |
14:57:14 | FromDiscord | <flywind> Are you a new user in Nim forum? |
14:57:35 | jacereda | yes |
14:59:47 | FromDiscord | <flywind> I think admin or Moderator needs to ensure you are not a bot and then your post will be displayed. |
15:00:02 | FromDiscord | <exelotl> Hey, any idea what I'm doing wrong here? https://play.nim-lang.org/#ix=2yd5 |
15:01:30 | FromDiscord | <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:55 | jacereda | do you know who is in charge of moderation in the forum? |
15:08:58 | FromDiscord | <flywind> I don't know, maybe dom96, narimiran are. |
15:33:26 | FromDiscord | <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:17 | FromDiscord | <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:33 | FromDiscord | <hugogranstrom> But it's just guessing from my side |
15:35:15 | FromDiscord | <exelotl> Yeah that sounds about right, if I do `result = newStmtList()` and then `result.add(body)` it works fine |
15:35:36 | FromDiscord | <exelotl> so quote do is probably copying the body or something |
15:36:09 | FromDiscord | <hugogranstrom> quote do is some kind of black magic sometimes... |
15:36:46 | FromDiscord | <hugogranstrom> But odd that it works if you do it manually instead... |
15:52:16 | FromDiscord | <Vindaar> `quote` internally wraps the code in a template. That's probably why it doesn't work that way |
16:08:12 | jacereda | looks like I'm approved now, thanks to whoever did it. The link again: https://forum.nim-lang.org/t/6842 |
16:11:13 | FromDiscord | <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:00 | Yardanico | nim has a JS backend |
16:12:09 | Yardanico | so you can write all frontend logic in nim |
16:12:22 | Yardanico | forum's frontend is nim (it uses the karax library for SPA) if you're wondering |
16:12:25 | Yardanico | I mean nim forum's |
16:12:48 | FromDiscord | <acek7> id love to never touch javascript again if thats what its offering lmao |
16:12:59 | Yardanico | read again what I said :) |
16:13:04 | Yardanico | I said nim js backend, not js |
16:13:10 | Yardanico | nim's default backend is C if you're wondering |
16:13:18 | Yardanico | so with the js backend you can write nim code which then gets compiled into JS |
16:13:37 | FromDiscord | <acek7> thats pretty interesting |
16:14:00 | Yardanico | see 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:13 | Yardanico | https://github.com/nim-lang/nimforum/tree/master/src/frontend frontend source code for the forum |
16:15:06 | Yardanico | there's more info on the forum or somewhere else I guess, but I can't find it easily |
16:15:21 | Yardanico | ah right also https://livebook.manning.com/book/nim-in-action/chapter-8/ |
16:15:26 | FromDiscord | <acek7> id really like to make a simple online 2D game |
16:15:59 | FromDiscord | <acek7> in a browser |
16:17:22 | Yardanico | yeah that's entirely possible |
16:17:35 | Yardanico | see stardust.dev |
16:17:40 | Yardanico | http://picheta.me/snake |
16:17:43 | Yardanico | https://stardust.dev |
16:17:48 | Yardanico | https://github.com/dom96/gamelight |
16:18:05 | Yardanico | both of these games are made in nim |
16:18:14 | Yardanico | you can of course choose a different way for that |
16:18:22 | Yardanico | use emscripten + sdl |
16:18:28 | Yardanico | and nim's default backend |
16:18:59 | FromDiscord | <acek7> is that whole nim in action book free online? |
16:19:22 | Yardanico | well livebook offers some chapters for free, there's no legal free pdf copy if you're asking ;) |
16:19:36 | Yardanico | i'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:21 | FromDiscord | <acek7> i have it on my kindle as well i just was curious |
16:22:20 | Yardanico | well then you have a pdf and epub too :) |
16:30:14 | FromDiscord | <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:37 | bung | @mratsim do you have time complete deep learning example mentioned months ago? |
17:12:56 | FromDiscord | <mratsim> whoops, sorry, completely forgot :/ |
17:13:28 | bung | that's ok |
17:19:56 | FromDiscord | <dom96> ooh, thanks for sharing my game Yardanico 🙂 |
17:20:24 | FromDiscord | <dom96> Nim in Action isn't free unfortunately, you can get some chapters free on https://book.picheta.me though |
17:20:51 | FromDiscord | <dom96> and Manning does discounts (50% off) during major holidays so you can wait for those if you wish |
17:25:33 | bung | @mratsim https://play.nim-lang.org/#ix=2ydG the details when you have time |
17:26:36 | FromDiscord | <mratsim> thanks for your patience |
17:26:39 | FromDiscord | <mratsim> I saved it in my gist |
17:37:47 | FromDiscord | <Yardanico> @slonik_az about https://forum.nim-lang.org/t/6844 - .nims and .cfg are indeed quite different |
17:37:51 | FromDiscord | <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:03 | FromDiscord | <Yardanico> well, the core language is still the same 🙂 |
17:38:18 | FromDiscord | <Yardanico> .nims files are Nim Script-based configuration (they use the VM built-in into the compiler) |
17:38:29 | FromDiscord | <slonik_az> but nimble changed, and NimScript and the libraries ... |
17:39:36 | FromDiscord | <Yardanico> and about processing from your forum thread - they both will be processed, but .cfg files first |
17:39:59 | FromDiscord | <slonik_az> The docs should reflect this. |
17:40:17 | FromDiscord | <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:22 | FromDiscord | <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:01 | FromDiscord | <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:05 | FromDiscord | <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:46 | FromDiscord | <Yardanico> it's not a naming convention |
17:41:49 | FromDiscord | <dom96> If Manning (the publisher) is up for it then I would be too, depends on what their expectations are |
17:41:55 | FromDiscord | <Yardanico> they have different configuration syntax |
17:41:58 | * | shad0w_ joined #nim |
17:42:11 | FromDiscord | <Yardanico> it's just that .nims files support most of the .cfg config syntax like --threads:on or similar |
17:42:19 | FromDiscord | <dom96> if they see readers asking about it then they are likely to consider it |
17:42:46 | * | superbia joined #nim |
17:42:46 | FromDiscord | <dom96> but yeah, I've done my best to ensure the book is compatible with v1 and beyond |
17:43:20 | FromGitter | <deech> Is there a staticWrite equivalent to staticRead? |
17:44:19 | FromDiscord | <Yardanico> writeFile works in the VM |
17:44:38 | FromGitter | <deech> Thanks! |
17:44:47 | disruptek | two different config formats plus .nimble... are going away. i recommend using .cfg exclusively. |
17:45:18 | Yardanico | meh |
17:45:27 | disruptek | eve .cfg will be removed eventually. |
17:45:37 | Yardanico | it's not dynamic at all |
17:45:53 | Yardanico | with .nims you can do crazy stuff like parsing and downloading |
17:45:55 | Yardanico | or some other stuff |
17:46:12 | FromDiscord | <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:36 | Yardanico | just FYI - there are some other resources too |
17:46:41 | Yardanico | see some links in https://nim-lang.org/learn.html |
17:47:10 | superbia | the NiA book is hands down best programming book I touched |
17:47:32 | Yardanico | e.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:40 | Yardanico | and it's not complete of course |
17:48:12 | * | tane joined #nim |
17:48:12 | jacereda | so, is .nimble/.cfg being replaced by .nims? any example of a project using .nims instead of .nimble? |
17:48:38 | Yardanico | jacereda: .nimble is just .nims with some nimble specific stuff |
17:49:00 | Yardanico | there's no one clear conclusion regarding the nims vs cfg history |
17:49:15 | Yardanico | at least not that I know of |
17:54:01 | disruptek | of course there is. |
17:54:07 | Yardanico | can you link to it? |
17:54:10 | disruptek | no. |
17:54:11 | Yardanico | to the discussion |
17:54:19 | FromDiscord | <dom96> superbia: Thank you! That means a lot 🙂 |
17:55:06 | FromDiscord | <dom96> jacereda: There are no plans currently to make such a replacement, .nimble will stay for a long time |
17:55:17 | Yardanico | same for both .nims and .cfg too |
17:55:23 | Yardanico | since they both exist in nim 1.0 :P |
17:55:47 | disruptek | "a long time" is relative. |
17:56:00 | disruptek | but, don't take my word for it if you don't believe me. |
17:56:07 | Yardanico | well, a long time is at least 3-5 years |
17:56:13 | Yardanico | at the very very least |
17:56:16 | disruptek | i have better things to do than argue with the ignorant. |
17:57:41 | FromDiscord | <dom96> There are no plans that I've seen about merging these |
17:57:45 | FromDiscord | <dom96> don't know what you're talking about |
17:57:51 | FromDiscord | <dom96> if I missed something please link me to it |
18:01:23 | disruptek | the plan is to remove them entirely. |
18:02:54 | Araq | I considered to replace them both with pragmas |
18:03:21 | Araq | but 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:56 | disruptek | we call that nim. |
18:09:28 | disruptek | what's nice about it is that nim programmers know how to use it and it is very powerful. |
18:25:38 | FromDiscord | <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:34 | FromDiscord | <dom96> yeah, so "considered" is not "this is the plan" |
18:27:49 | FromDiscord | <dom96> no need to spread uncertainty |
18:28:25 | FromDiscord | <dom96> and just because you want them removed doesn't mean they will be removed |
18:31:18 | disruptek | the uncertainty is already here because someone had the bright idea to impl them. |
18:31:52 | disruptek | all we have to do is not use them. i'd say that is certainty free for the taking. |
18:32:14 | disruptek | but, you do you. |
18:32:52 | Yardanico | Araq: so regarding https://github.com/nim-lang/Nim/issues/15280 - is code like https://play.nim-lang.org/#ix=2ydY invalid too? |
18:32:54 | disbot | ➥ Mixing 'return' with expressions is allowed in 1.2 ; snippet at 12https://play.nim-lang.org/#ix=2ydZ |
18:32:58 | Yardanico | (well, it is by the compiler now) |
18:33:11 | Yardanico | it's just that nitter uses that (it doesn't seem hard to fix though) |
18:33:49 | Araq | if in doubt, ask Nim v1.0 |
18:33:55 | Yardanico | yeah it errors out :) |
18:34:21 | Araq | yeah, never should have been allowed |
18:44:40 | FromDiscord | <lqdev> @haxscramper please avoid discardable |
18:44:54 | FromDiscord | <lqdev> `discard` is there for a reason (preventing bugs) |
18:45:09 | Yardanico | Araq: this too? proc woah(): int = let myvar = if true: return else: 5 |
18:45:29 | Yardanico | but yeah I get it |
18:48:05 | FromDiscord | <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:39 | FromDiscord | <lqdev> if the return value is useless most of the time, you're doing something wrong. |
18:50:46 | FromDiscord | <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:50 | disruptek | i never feel bad typing discard. |
18:51:18 | Prestige | Yardanico: that implicitly returns result, right? |
18:51:23 | Yardanico | yes |
18:51:26 | disruptek | arbitrary expression? no. |
18:51:34 | Yardanico | not sure which one you mean |
18:51:39 | Yardanico | the second one? it returns 0, default value for int |
18:53:19 | * | shad0w_ quit (Remote host closed the connection) |
18:53:59 | Prestige | Yeah the recent one you put in irc. Is that not supposed to be allowed? |
18:54:07 | Prestige | Seems fine to me |
18:54:50 | Yardanico | it's only allowed in 1.2.x |
18:55:11 | Yardanico | not in <1.2 or >=1.4 |
18:55:45 | Prestige | Ah |
18:58:10 | * | kenran joined #nim |
19:02:29 | Yardanico | anyway good night |
19:03:10 | * | kenran quit (Ping timeout: 258 seconds) |
19:06:33 | Prestige | Gn Yardanico |
19:16:47 | * | bung quit (Quit: Lost terminal) |
19:21:41 | FromDiscord | <Avatarfighter> Ello everyone |
19:22:44 | Prestige | o/ |
19:26:36 | * | gmaggior joined #nim |
19:27:35 | FromDiscord | <ThothLoki> how would i use nim to change directory? |
19:28:51 | FromDiscord | <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:55 | Prestige | What 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:30 | disruptek | setCurrentDir |
19:52:32 | disruptek | ~manual |
19:52:33 | disbot | manual: 11the Nim Manual is https://nim-lang.org/docs/manual.html -- disruptek |
19:52:53 | disruptek | prestige: ideally, the default. might take awhile, though. |
19:53:16 | Prestige | cool, ty |
20:04:00 | * | muffindrake quit (Quit: muffindrake) |
20:04:51 | FromDiscord | <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:02 | disruptek | right up near my jobhunting skills. |
20:18:09 | disruptek | self-promotion is really dom's department. |
20:33:48 | disruptek | why do you ask? |
20:33:53 | disruptek | did you see me on the news or something? |
20:37:01 | FromDiscord | <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:11 | disruptek | i have a lot to teach highschoolers. |
20:38:26 | FromDiscord | <Avatarfighter> wait let me message you on irc |
20:39:47 | * | Avatarfighter joined #nim |
20:43:34 | FromDiscord | <shashlick> Sounds like fun |
20:44:10 | FromDiscord | <Avatarfighter> Hopefully 🙂 |
20:45:58 | FromDiscord | <dom96> > self-promotion is really dom's department.↵lolwat? |
20:48:32 | FromDiscord | <ThothLoki> Thank disruptek |
20:51:02 | disruptek | i just mean that power-tripping and self-promotion isn't my bag. that's something dom can better speak to. |
20:54:07 | FromDiscord | <dom96> Man, those sort of words really don't help my self-promotion |
20:58:40 | disruptek | how do you figure? |
20:59:05 | * | kenran joined #nim |
20:59:40 | * | jacereda quit (Ping timeout: 246 seconds) |
21:03:37 | FromDiscord | <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:05 | disruptek | i just mean that it's your area of expertise. |
21:07:20 | FromDiscord | <dom96> how so? |
21:08:51 | FromDiscord | <Elegant Beef> Well your name is blue and mine isnt, sounds like a power trip to me 😛 |
21:09:08 | FromDiscord | <Recruit_main707> Lol |
21:09:35 | FromDiscord | <Recruit_main707> He is asking for the banhammer |
21:10:06 | FromDiscord | <Elegant Beef> Who is? |
21:10:35 | disruptek | i think he's just fishing for compliments. |
21:11:22 | FromDiscord | <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:54 | FromDiscord | <Recruit_main707> I am also joking :p |
21:13:50 | FromDiscord | <dom96> is disruptek joking too? |
21:15:40 | disruptek | would you like to nominate someone you think is better at self-promotion and consolidating power? |
21:17:35 | FromDiscord | <Elegant Beef> I mean disruptek is a joke, no clue if he is joking ever |
21:19:52 | FromDiscord | <KingDarBoja> It is harder to know when disruptek is joking IMO 😄 |
21:24:10 | FromDiscord | <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:40 | FromDiscord | <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:03 | disruptek | what's the joke? |
21:28:33 | disruptek | who did i give @nim.fan addresses to you and are you getting mail? |
21:28:46 | disruptek | seems like i never actually tested it. or maybe i never set it up. |
21:29:41 | FromDiscord | <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:16 | disruptek | are you saying you don't want to mentor folks that need help? |
21:37:55 | FromDiscord | <Avatarfighter> Chill we can have like this entire irc presenting lmao |
21:38:37 | FromDiscord | <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:01 | Prestige | @Elegant Beef what have you been working on recently? |
21:46:18 | FromDiscord | <Elegant Beef> *Flees into darkness* |
21:47:25 | FromDiscord | <Nisha (LGBTQ+)> ...i can't say much honestly- |
21:47:32 | FromDiscord | <Elegant Beef> I havent been working on much of late |
21:47:47 | FromDiscord | <Nisha (LGBTQ+)> I've been trying to gather motivation because I'm working on a game, using RayLib- |
21:47:48 | FromDiscord | <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:00 | FromDiscord | <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:03 | FromDiscord | <Elegant Beef> Did rewrite my constructor macros |
21:48:08 | FromDiscord | <Nisha (LGBTQ+)> Raylib is quite nice imo |
21:49:51 | Prestige | I need to check out Raylib |
21:50:16 | Prestige | I've made small things with nico, curious about nimgame2 |
21:51:19 | Prestige | Nisha what is Raylib like? |
21:54:13 | * | solitudesf quit (Ping timeout: 264 seconds) |
21:55:00 | FromDiscord | <Nisha (LGBTQ+)> It's actually quite simple! |
21:55:22 | FromDiscord | <Nisha (LGBTQ+)> But for strings, it uses cstrings mainly (when they're needed to be provided) |
21:55:27 | FromDiscord | <Nisha (LGBTQ+)> Iirc |
21:55:34 | FromDiscord | <Elegant Beef> Here you go prestige https://streamable.com/meqwkd |
21:55:42 | FromDiscord | <Nisha (LGBTQ+)> Because i stopped working on it quite a while ago |
22:07:24 | Prestige | Nice, beef |
22:09:26 | FromDiscord | <Elegant Beef> What've you been up to? |
22:13:14 | * | sagax quit (Ping timeout: 272 seconds) |
22:25:53 | FromDiscord | <Avatarfighter> I like the game Beef 🙂 |
22:26:02 | * | krux02 quit (Remote host closed the connection) |
22:26:37 | Prestige | Mostly working on Nimdow |
22:26:54 | Prestige | Been thinking of another project to work on |
22:27:38 | * | aenesidemus quit (Quit: Leaving) |
22:28:23 | FromDiscord | <Avatarfighter> Nimdow is your window manager right Prestige? |
22:28:40 | Prestige | Yeah |
22:29:21 | FromDiscord | <Avatarfighter> so cool |
22:30:11 | FromDiscord | <Avatarfighter> What other project do you have in mind prestige? |
22:31:05 | Prestige | I wish I knew haha. Been toying with ideas for a while, nothing I've liked |
22:31:28 | Prestige | A discord tui client would be nice perhaps |
22:31:53 | * | Avatarfighter joined #nim |
22:33:26 | disruptek | you already use one. |
22:33:29 | * | Avatarfighter quit (Client Quit) |
22:33:52 | Prestige | I do |
22:34:02 | disruptek | what's wrong with it? |
22:35:06 | Prestige | Some 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:55 | disruptek | i would contribute to a new client; perhaps it gateways to the services instead of operating the other way around. |
22:36:33 | disruptek | i 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:02 | Prestige | That sounds neat, too. If you start the project lmk |
22:37:12 | FromDiscord | <Avatarfighter> Lowkey I might make myself an IRC client with fidget |
22:37:39 | disruptek | problem is that i'm afraid of how fidget does async. |
22:37:45 | disruptek | i don't know how it does it, to clarify. |
22:37:57 | FromDiscord | <Avatarfighter> Well |
22:38:12 | FromDiscord | <Avatarfighter> that's a great quesiton |
22:38:24 | disruptek | do you know the answer? |
22:38:33 | FromDiscord | <Avatarfighter> I am looking rn |
22:39:41 | FromDiscord | <Avatarfighter> it has an async poll loop |
22:39:45 | disruptek | i wonder if there's a swagger api for discord somewhere. |
22:39:54 | disruptek | probably we can get a telegram api in swagger. |
22:40:25 | FromDiscord | <Avatarfighter> ok well async doesn't seem to hard with fidget |
22:41:19 | * | Avatarfighter joined #nim |
22:42:23 | disruptek | yes, but how does it work? |
22:42:55 | FromDiscord | <Avatarfighter> uh im still reading |
22:43:51 | FromDiscord | <Avatarfighter> Oh nvm |
22:44:02 | FromDiscord | <Avatarfighter> you can't exactly put your own futures in the async poll loop |
22:45:05 | disruptek | so it's using async/await? |
22:47:09 | Avatarfighter | No its storing HTTPCalls in a hash table and it polls that |
22:48:02 | Avatarfighter | So you can't really do your own async stuff but it might still trigger futures because its polling |
22:48:03 | Prestige | interesting. Sounds pretty useful |
22:48:20 | Prestige | welcome to irc Avatarfighter :D |
22:48:46 | * | jken quit (Quit: ZNC - https://znc.in) |
22:49:00 | Avatarfighter | I use both :P |
22:49:22 | disruptek | tdlib is a c lib for telegram. |
22:49:30 | disruptek | i guess that's the best way to integrate that. |
22:50:01 | disruptek | hm, there's a discord api in c, too. |
22:50:02 | Avatarfighter | So 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:22 | Prestige | disruptek: 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:31 | Prestige | I think that would be very nice for irc as well |
22:50:39 | disruptek | yeah, that's cool. |
22:50:58 | disruptek | can you share how you do that? |
22:51:04 | Prestige | sure 1 sec |
22:51:13 | Prestige | https://blog.avahe.tk/posts/neovim/fzf-ripgrep/ disruptek |
22:51:50 | disruptek | hmm, my click-to-open doesn't work on the palmtop. |
22:52:06 | disruptek | it's always some stupid shit. |
22:52:09 | * | Avatarfighter quit (Quit: Leaving.) |
22:52:18 | Prestige | I have a shortcut in my term to open links |
22:52:20 | FromDiscord | <Avatarfighter> palmtop? |
22:52:26 | FromDiscord | <Avatarfighter> imma need more info |
22:54:28 | disruptek | i have something similar, but somehow it works on the desktop and not the lil mini-laptop i'm using. |
22:56:31 | disruptek | some xdg stuff not getting pulled i guess. |
22:56:49 | disruptek | anyway, thanks for the link. |
22:56:54 | Prestige | I'm using something called pso to replace xdg-open |
22:56:56 | Prestige | no prob |
22:57:19 | disruptek | we already have discord guts in nim, right? |
22:57:22 | disruptek | !repo discord |
22:57:22 | disbot | https://github.com/Krognol/discordnim -- 9discordnim: 11Discord library for nim 15 53⭐ 8🍴 7& 11 more... |
22:57:29 | disruptek | !repos discord |
22:57:30 | disbot | https://github.com/Krognol/discordnim -- 9discordnim: 11Discord library for nim 15 53⭐ 8🍴 |
22:57:31 | disbot | https://github.com/krisppurg/dimscord -- 9dimscord: 11A Discord Bot & REST Library for Nim. 15 38⭐ 5🍴 |
22:57:31 | disbot | https://github.com/Yardanico/ircord -- 9ircord: 11Discord <-> IRC bridge in Nim 15 9⭐ 1🍴 7& 9 more... |
22:57:36 | Prestige | also nimcord, but yeah |
22:57:49 | disruptek | is one of those better than the others? |
22:58:14 | Prestige | I've heard good things about dimscord, unsure tho |
22:58:55 | FromDiscord | <Elegant Beef> Prestige we just need to make a good matrix client with usable voip 😛 |
22:59:22 | disruptek | i thought none of the matrix was really usable. |
22:59:23 | Prestige | maybe, I haven't used matrix really |
22:59:36 | disruptek | i thought leorize was pretty discouraged. |
22:59:55 | FromDiscord | <Elegant Beef> The text chat seems fine |
23:00:00 | * | kenran joined #nim |
23:00:04 | FromDiscord | <Elegant Beef> I dont see any issue with it in my usage of it |
23:00:24 | disruptek | you use it? |
23:00:38 | FromDiscord | <Elegant Beef> I used it for a bit, not often since i dont have any reason to |
23:01:02 | FromDiscord | <Elegant Beef> The lack of channels voip means it's unusable for my usage |
23:02:08 | disruptek | do you use something else instead? |
23:02:28 | FromDiscord | <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:32 | FromDiscord | <dom96> and lots of latency |
23:03:00 | FromDiscord | <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:22 | FromDiscord | <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:06 | disruptek | it 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:37 | Prestige | maybe 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:45 | disruptek | do you stream? |
23:21:40 | Prestige | not often, usually just make youtube vids. Well, I've made a few :P |
23:21:57 | Prestige | Need content ideas, I dislike having vids just for the sake of having them |
23:25:09 | voidpi | Prestige: probably any chapter of the manual can be talked about on a video |
23:25:48 | Prestige | True. I may do an introductory vid first explaining what Nim is |
23:26:21 | voidpi | Elegant Beef: friends don't let friends use propietary black boxes |
23:26:49 | FromDiscord | <Elegant Beef> Yea well friends also dont force friends to use a application of lesser quality |
23:27:02 | FromDiscord | <Elegant Beef> Like to get what i like i'd have to use mumble/teamspeak with element |
23:27:20 | voidpi | text hard? |
23:27:25 | FromDiscord | <Elegant Beef> It's just impossible to go "Hey you guys want to go back to 2010?" |
23:28:02 | voidpi | people still use matches |
23:28:02 | FromDiscord | <Rika> people dont really give a shit if its proprietary |
23:28:12 | FromDiscord | <Rika> people DO give a shit if features are missing |
23:28:38 | Prestige | Random comment, I hate slack's UI decisions |
23:28:51 | disruptek | eh i'm bothered that it's proprietary. |
23:29:23 | FromDiscord | <Rika> how many disrupteks are in the world? |
23:29:25 | * | jken quit (Quit: ZNC - https://znc.in) |
23:29:29 | voidpi | not everyone think features are missing on irc |
23:29:36 | FromDiscord | <Rika> a lot of people do |
23:29:49 | disruptek | well there's me, myself, and i. that's three right there. |
23:30:04 | FromDiscord | <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:09 | Prestige | biggest 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:16 | disruptek | well, we can certainly add /that/ feature. |
23:32:01 | voidpi | people can run off cliffs, not everyone needs to follow |
23:32:37 | disruptek | goats are beautiful on the inside. |
23:33:01 | Prestige | disruptek: in what way do you mean? a new client/protocol/service? |
23:33:42 | disruptek | history? |
23:33:57 | Prestige | Yeah |
23:34:15 | disruptek | is it really hard? |
23:34:46 | Prestige | I just mean for people using irc the history isn't kept or sent to a reconnecting user |
23:35:18 | Prestige | I 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:59 | disruptek | we're writing new software here, right? |
23:36:24 | Prestige | idk I was talking about downsides of irc lol |
23:39:08 | FromDiscord | <Avatarfighter> downsides!? |
23:39:20 | FromDiscord | <Avatarfighter> IRC has the best ebook piracy ive ever seen |
23:39:22 | FromDiscord | <Avatarfighter> there are no downsides |
23:40:05 | Prestige | Actually 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:15 | Prestige | forget discord |
23:40:19 | FromDiscord | <Avatarfighter> lmao |
23:40:46 | FromDiscord | <Avatarfighter> just make ur client support discord smh |
23:40:49 | Prestige | because of Nim, I always write discard then correct it to discord. |
23:40:54 | Prestige | true.. |
23:41:25 | Prestige | Same concept anyway. Servers and channels |
23:41:28 | FromDiscord | <Rika> irc in pure vimscript when |
23:41:40 | Prestige | jesus, vimscript |
23:42:24 | FromDiscord | <Rika> you get all your benefits you said |
23:42:44 | Prestige | But at what twisted evil cost? |
23:43:06 | disruptek | it might blow the mind of the bridge. |
23:44:04 | FromDiscord | <Rika> not much evil cost |
23:44:11 | FromDiscord | <Rika> how hard could it be :)))))))))))))) |
23:44:30 | * | Prestige writes an OS in bash |
23:46:09 | FromDiscord | <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:32 | FromDiscord | <Rika> those that just built up a lot of cruft and warts during its time |
23:51:38 | disruptek | you're right; maybe we shouldn't use nim. |
23:59:57 | FromDiscord | <Rika> lol |