00:00:42 | FromDiscord | <dayl1ght> is this the correct way to get a uint8 pointer from a string: `cast[ptr uint8](s.cstring)`? |
00:01:37 | * | Plazma left #nim (#nim) |
00:28:11 | FromDiscord | <Rika> a uint8 pointer as in a pointer to a uint8? |
00:32:32 | FromDiscord | <exelotl> I'd do `cast[ptr uint8](addr s[0])` but yours might work too |
00:56:25 | * | a_chou joined #nim |
00:56:26 | * | a_chou quit (Remote host closed the connection) |
01:12:49 | * | Trustable quit (Ping timeout: 272 seconds) |
01:17:08 | FromDiscord | <Avatarfighter> voidpi: I forgot to tell you but open a support ticket and ask if they had any discounts for vps's or something |
01:17:26 | FromDiscord | <Avatarfighter> be really nice since it might take an hour to days to have them to answer lol |
01:18:54 | * | arecacea1 quit (Remote host closed the connection) |
01:19:29 | * | arecacea1 joined #nim |
01:25:49 | * | mipri left #nim (#nim) |
01:28:45 | * | aenesidemus quit (Read error: Connection reset by peer) |
01:28:57 | * | Tanger joined #nim |
01:35:37 | * | apahl quit (Ping timeout: 272 seconds) |
01:37:26 | * | apahl joined #nim |
01:41:22 | * | femtotones|away quit (Quit: Default Quit Message) |
02:42:38 | * | muffindrake quit (Ping timeout: 244 seconds) |
02:45:05 | * | muffindrake joined #nim |
02:51:32 | * | waleee-cl quit (Quit: Connection closed for inactivity) |
03:05:31 | FromDiscord | <bearheathen> Greetings, everyone! I recently stumbled upon this super sexy gem of a language and immediately "got it." Nim has - in a month - done what other languages have tried to do to my brain for 10 years. Nim is the only one to succeed. I flipping UNDERSTAND THIS STUFF. |
03:07:02 | FromDiscord | <juan_carlos> welcome |
03:07:08 | FromDiscord | <bearheathen> Se lo agradezco! |
03:07:18 | FromDiscord | <bearheathen> Ademas, hablo espan'ol (y otros idiomas tmbn). 😄 |
03:07:38 | FromDiscord | <bearheathen> English is my Native language, but I'm happy to see channels with other languages spoken too. 😄 |
03:08:02 | FromDiscord | <bearheathen> > welcome↵@juan_carlos Tiene mucho tiempo con la lengua Nim? |
03:08:05 | * | Trustable joined #nim |
03:08:17 | FromDiscord | <bearheathen> Or must I relegate all non-English content to the appropriate channel? |
03:08:30 | voidpi | you mean español |
03:08:33 | FromDiscord | <Rika> as long as you dont overly flood the chat with non english |
03:08:45 | FromDiscord | <Rika> i assume its fine |
03:08:49 | voidpi | soy alérgico a los crustaceos |
03:08:52 | FromDiscord | <Rika> no one really chatting here right now |
03:08:54 | FromDiscord | <bearheathen> Claro, pero no se me hace facil reproducir los marcos de accento en este teclado agringazado |
03:09:08 | FromDiscord | <Rika> tfw bilingual but not in spanish |
03:09:15 | voidpi | setxkbmap |
03:09:20 | FromDiscord | <bearheathen> @Rika What's your other? |
03:09:23 | FromDiscord | <Rika> filipino |
03:09:26 | FromDiscord | <bearheathen> Oof. CLOSE |
03:09:31 | FromDiscord | <Rika> yeah lmao |
03:09:49 | FromDiscord | <bearheathen> I have a whole degree in CIT |
03:09:53 | FromDiscord | <Rika> CIT? |
03:09:53 | FromDiscord | <bearheathen> Web Development. |
03:10:04 | FromDiscord | <bearheathen> Computer Information Technology (Web Dev emphasis) |
03:10:09 | FromDiscord | <Rika> oh i see |
03:10:12 | FromDiscord | <bearheathen> That's chump change. I get it. |
03:10:40 | FromDiscord | <bearheathen> But anything closer "to the metal," and my brain legit turns Benedict Arnold and tries to murder me |
03:10:44 | FromDiscord | <bearheathen> Nim though... |
03:11:00 | FromDiscord | <bearheathen> It's simple, like Python, but does all the nifty cool fancy-pants SOFTWARE ENGINEER OF DOOM stuff too |
03:11:02 | FromDiscord | <Rika> many people compare nim to python |
03:11:02 | FromDiscord | <Rika> yeah |
03:11:06 | FromDiscord | <bearheathen> And I'm watching this code.... |
03:11:14 | FromDiscord | <bearheathen> And like...I *understand* what is happening |
03:11:19 | FromDiscord | <bearheathen> And I have no idea HOW I understand |
03:11:26 | FromDiscord | <bearheathen> I have tried them all |
03:11:47 | FromDiscord | <bearheathen> From Pascal to BASIC to Rust to Go to C# to Java to flippin C/C++ etc... |
03:11:59 | FromDiscord | <bearheathen> Nim is the first and only to just leap out at me with this "Oh. Duh." thing. |
03:12:11 | FromDiscord | <Rika> there's still some warts unfortunately |
03:12:20 | FromDiscord | <Rika> but glad to know that nim is intuitive to you 😛 |
03:12:23 | FromDiscord | <bearheathen> I can only gather that it's not more mainstream because it doesn't have the likes of Mozilla or Microsoft feeding it money |
03:12:29 | FromDiscord | <Rika> yeah |
03:12:36 | FromDiscord | <Rika> thats pretty much spot on |
03:13:25 | FromDiscord | <bearheathen> Well, dear Nimmians, it is as true in 2020 AD as it was in 2020 BC: Word of mouth advertising is the best way to tell anyone about anything |
03:13:48 | FromDiscord | <Rika> some of us use Nimions |
03:13:50 | FromDiscord | <bearheathen> ...that's a fair question: What is the proper adjective used to refer to a person who is a Nim fan? Nimmian? Nimmish? Nimese? |
03:14:06 | FromDiscord | <bearheathen> My English-brained thoughts REQUIRE a "mm" in there. |
03:14:09 | FromDiscord | <Rika> sent the answer before you asked LOL |
03:14:28 | FromDiscord | <Rika> Nimmer is ok too but i see that less often |
03:14:31 | FromDiscord | <bearheathen> > some of us use Nimions↵@Rika 😮 |
03:14:46 | FromDiscord | <bearheathen> Ah. Nim programmers == Ascended Masters |
03:14:48 | FromDiscord | <Rika> and in general most of us dont refer Nim users that way |
03:14:52 | FromDiscord | <bearheathen> Complete with clairvoyance |
03:14:56 | FromDiscord | <Rika> lo |
03:15:00 | FromDiscord | <Rika> lol* |
03:15:04 | FromDiscord | <Rika> have you seen mratsim's code? |
03:15:09 | FromDiscord | <Rika> literal god |
03:15:12 | FromDiscord | <bearheathen> Negative |
03:15:15 | FromDiscord | <bearheathen> Link? |
03:15:22 | FromDiscord | <Rika> https://github.com/mratsim/arraymancer/ |
03:15:36 | FromDiscord | <bearheathen> omg |
03:15:38 | FromDiscord | <bearheathen> tensor |
03:15:38 | FromDiscord | <Rika> https://github.com/mratsim/weave |
03:15:41 | FromDiscord | <bearheathen> I'm already done |
03:15:42 | FromDiscord | <bearheathen> lol |
03:16:49 | FromDiscord | <bearheathen> I have so so rarely invested money into Open Source. So much has Nim moved me to action that I bought *Nim In Action* after doing the Nim Basics |
03:17:13 | FromDiscord | <Rika> me too |
03:17:14 | FromDiscord | <bearheathen> So, once I work through THAT, I will be on to the nimble package Nico, which I saw on a NimConf YouTube |
03:17:18 | FromDiscord | <Rika> ended up not reading it though |
03:17:26 | FromDiscord | <bearheathen> As gamedev is the bee's knees |
03:17:40 | FromDiscord | <bearheathen> > ended up not reading it though↵@Rika Oof. Y DOE? |
03:18:01 | FromDiscord | <Rika> because by the time i started considering reading it i was already pretty proficient LOL |
03:18:16 | FromDiscord | <bearheathen> Ahahaha |
03:18:21 | FromDiscord | <bearheathen> I already did the FizzBuzz no problem |
03:18:29 | FromDiscord | <Rika> though i dont doubt that ill be able to benefit more if i did read it |
03:18:31 | FromDiscord | <bearheathen> But once I got into the typesystem, meta programming, and macros |
03:18:37 | FromDiscord | <bearheathen> I decided I'd better call in reinforcement |
03:18:52 | FromDiscord | <bearheathen> All of my prior learning has aided me getting to this point |
03:18:57 | FromDiscord | <Rika> metaprogramming was easy for me to understand |
03:19:00 | FromDiscord | <bearheathen> And, like I said, I "get it." |
03:19:05 | FromDiscord | <Rika> though the docs are kinda anemic |
03:19:17 | FromDiscord | <bearheathen> But Nim has MANY, MANY possible application domains (at least I think it does) and so I'm *REALLY* gonig to try to learn it inside and out |
03:19:22 | FromDiscord | <bearheathen> Truly *MASTER* the language |
03:20:07 | FromDiscord | <Rika> its a really general language, i cant think of any application where it cant be easily used but im not too experienced in the less known ways of programming so |
03:20:07 | FromDiscord | <bearheathen> Because, and I'm talking from the 10 years I've been stuck in intermediate-land, I can tell from experience that one of the things that makes or breaks the adoption of a language is its ecosystem of tools and libraries available |
03:20:14 | FromDiscord | <Rika> yeah |
03:20:21 | FromDiscord | <Rika> nim has a kinda-small ecosystem |
03:20:25 | FromDiscord | <bearheathen> If you look at Rust, Cargo is the big seller↵↵Nim already had that WAY before Rust did in Nimble |
03:20:53 | FromDiscord | <bearheathen> And nimble is FASTER |
03:20:55 | FromDiscord | <bearheathen> So much FASTER |
03:20:56 | FromDiscord | <bearheathen> lol |
03:20:56 | FromDiscord | <Rika> at least compared to shit like java and go and python and js and shit, and if we're only considering already-wrapped and pure libraries |
03:21:10 | FromDiscord | <bearheathen> @Rika You have been so cool so far |
03:21:19 | FromDiscord | <Rika> aww thanks |
03:21:21 | FromDiscord | <bearheathen> But if the words "Java" or "JavaScript" ever appear on my screen again |
03:21:23 | FromDiscord | <bearheathen> I'm blocking you |
03:21:25 | FromDiscord | <Rika> oh shit |
03:21:27 | FromDiscord | <bearheathen> >.< |
03:21:30 | FromDiscord | <Rika> :KannaKMS: |
03:21:46 | FromDiscord | <Rika> what if i say uh |
03:21:52 | FromDiscord | <bearheathen> I - and I cannot stress this enough - *HATE* those two languages with the fiery passion of 10,000 burning suns. |
03:21:59 | FromDiscord | <Rika> ECMAScript and uh the coffee-icon'd language |
03:22:07 | FromDiscord | <Rika> 200 iq plays |
03:22:14 | FromDiscord | <bearheathen> Then I shall not send a squad of highly trained ninjas to end you. |
03:22:25 | * | thomasross quit (Ping timeout: 240 seconds) |
03:22:29 | FromDiscord | <hobbledehoy> nimjas |
03:22:32 | FromDiscord | <Rika> omfg |
03:22:43 | FromDiscord | <Rika> that sounds like a good library name |
03:22:43 | FromDiscord | <Rika> lol |
03:22:49 | FromDiscord | <bearheathen> > nimjas↵@hobbledehoy JFC...Somone buy this man (woman) a BEER. |
03:23:04 | FromDiscord | <Rika> nim compiles to (the web language that shall not be named) btw |
03:23:09 | FromDiscord | <bearheathen> > nimjas↵@hobbledehoy Bloody fantastic. Absolutely brilliant. |
03:23:15 | voidpi | nimja templates? |
03:23:24 | FromDiscord | <bearheathen> Yes, it does. But I don't have to look at JS when I'm using Nim |
03:23:32 | FromDiscord | <hobbledehoy> Thank thank, that will be my greatest contribution |
03:23:41 | FromDiscord | <bearheathen> I took a cursory glance at Jester, and it will quite happily handle my needs with little muss or fuss |
03:23:42 | FromDiscord | <hobbledehoy> (edit) 'thank,' => 'you thank you,' |
03:23:42 | FromDiscord | <Rika> thats true |
03:24:09 | FromDiscord | <Rika> i was considering making (yet another) HTML server in nim |
03:24:18 | FromDiscord | <Rika> just to learn HTML servers really |
03:24:29 | FromDiscord | <Rika> then also maybe in the future add HTML/2 support or something |
03:24:33 | FromDiscord | <bearheathen> > nimja templates?↵@voidpi[IRC]#0000 Glad this group has a sense of humor. Oof. IDK if you folks have ever hung around C# programmers.↵↵It's basically like the conversation you'd expect at a graveyard...except not as exciting. |
03:24:39 | FromDiscord | <Rika> not a lot of libraries for HTML 2 in nim |
03:25:02 | FromDiscord | <bearheathen> > not a lot of libraries for HTML 2 in nim↵@Rika Yes, that's my goal as well. Find a niche need and fill it. |
03:25:07 | FromDiscord | <bearheathen> But I gotta get GUD first |
03:25:07 | FromDiscord | <Rika> > @voidpi[IRC]#0000 Glad this group has a sense of humor. Oof. IDK if you folks have ever hung around C# programmers.↵> ↵> It's basically like the conversation you'd expect at a graveyard...except not as exciting.↵@bearheathen ||probably mourning their language|| |
03:25:37 | FromDiscord | <bearheathen> Well folks, it has truly been a pleasure |
03:25:47 | FromDiscord | <Rika> i hope you dont get discouraged by the bugs |
03:25:55 | FromDiscord | <Rika> because the compiler can have bugs sometimes |
03:26:01 | FromDiscord | <bearheathen> The community here has been top notch. Every question answered promptly, politely, and without an OUNCE of elitism I'v ecome to expect from senior programmers |
03:26:18 | FromDiscord | <Rika> ah well |
03:26:23 | FromDiscord | <bearheathen> I've been here 20 seconds and already feel more at home than anywhere |
03:26:24 | FromDiscord | <Rika> there are still elitists here |
03:26:30 | FromDiscord | <Rika> just rarer since we're smaller |
03:27:00 | FromDiscord | <Rika> also uh careful of disruptek, he can be rude sometimes, but he's rude to literally everyone, even the maker of the language, so yeah |
03:27:23 | FromDiscord | <bearheathen> > because the compiler can have bugs sometimes↵@Rika Yes, I've heard this. Seen some of it. However, Nim seems to be CONSTANTLY in a state of evolution. The commit history is...mind boggling. At my current level, none of those things will be remotely an issue. And, by the time I get proficient, I expect that those are issues I'll be able to assist with myself. |
03:27:41 | * | antranigv quit (Ping timeout: 256 seconds) |
03:28:02 | FromDiscord | <Rika> well many people here say that there may be commits often but some of them are to potentially not-useful features |
03:28:06 | FromDiscord | <bearheathen> > also uh careful of disruptek, he can be rude sometimes, but he's rude to literally everyone, even the maker of the language, so yeah↵@Rika Ohhh, I'm a pretty nice, easygoing lad right now. But, I am literally called "Bear" in real life, and I am really a heathen in real life. I have earned both of those names. I accept this challenge. I will make his mother weep. 😄 |
03:28:16 | FromDiscord | <Rika> doubt you can do that |
03:28:20 | FromDiscord | <Rika> legitimately |
03:28:26 | FromDiscord | <Rika> i really doubt you can do that |
03:28:32 | * | antranigv joined #nim |
03:28:41 | FromDiscord | <bearheathen> > doubt you can do that↵@Rika Many are the broken corpses strewn in my path who have said the same, dear friend. 😄 |
03:28:54 | FromDiscord | <bearheathen> If nothign else |
03:28:59 | FromDiscord | <bearheathen> I have been in the Marines |
03:29:10 | FromDiscord | <Rika> :BlobSweatAnimated: |
03:29:12 | FromDiscord | <bearheathen> Unless he was a drill instructor there, he can literally do NOTHING to me |
03:29:18 | FromDiscord | <Rika> lol |
03:29:25 | FromDiscord | <Rika> maybe you should get back to learning 😛 |
03:29:36 | FromDiscord | <Rika> dont hesitate to ask here |
03:29:37 | FromDiscord | <bearheathen> Yes! Right! To whit! |
03:29:39 | FromDiscord | <Rika> but also dont ask to ask here |
03:29:47 | FromDiscord | <bearheathen> The original impetus behind my joining here to begin with |
03:30:02 | FromDiscord | <bearheathen> Pointers - or - in Nim generally - memory allocation/management/etc |
03:30:04 | * | sagax quit (Ping timeout: 260 seconds) |
03:30:15 | FromDiscord | <bearheathen> Is there a good resource I can read/look at that goes over this SPECIFIC topic in great detail? |
03:30:22 | FromDiscord | <Rika> https://nim-lang.org/docs/gc.html |
03:30:26 | FromDiscord | <bearheathen> It has been my nemesis in most languages |
03:30:32 | FromDiscord | <Rika> this is about the GC |
03:30:38 | FromDiscord | <Rika> not about memalloc in general |
03:30:51 | FromDiscord | <Rika> https://nim-lang.org/docs/tut1.html maybe? i dont know really |
03:31:01 | FromDiscord | <bearheathen> Mmm. I am referring to the more theoretical notion. The stuff you have to know and understand in order to use pointers and memory in your stuff well |
03:31:06 | FromDiscord | <Rika> i usually refer to the https://nim-lang.org/docs/manual.html but its really long and reads more like a specification than a manual |
03:32:03 | FromDiscord | <bearheathen> > i usually refer to the https://nim-lang.org/docs/manual.html but its really long and reads more like a specification than a manual↵@Rika Yes, I got that right off the jump! It's not for the novice, I don't think. That's ok, as Nim Basics most defnitely *IS*. Ok, I *THOUGHT* what I was looking for might be there, but I wanted to see if there were a talk, conference, book, article, etc that might be around regarding the issue in par |
03:32:06 | FromDiscord | <Rika> it helps that nim doesnt use the same symbol to denote a pointer type and a pointer dereference 😛 |
03:32:17 | FromDiscord | <Rika> uh |
03:32:17 | FromDiscord | <Rika> wait |
03:32:21 | FromDiscord | <bearheathen> Also, of course I know what a GC is...but it seems in Nim it's totally optional. Which boggles my mind. |
03:32:24 | FromDiscord | <Rika> im gonna try remembering |
03:32:29 | FromDiscord | <Rika> theres an article but i dont remember where |
03:32:45 | FromDiscord | <Rika> http://zevv.nl/nim-memory/ |
03:32:47 | FromDiscord | <Rika> i think |
03:33:01 | FromDiscord | <bearheathen> YES |
03:33:02 | FromDiscord | <bearheathen> BINGO |
03:33:07 | FromDiscord | <bearheathen> That's EXACTLY what I was lookign for |
03:33:39 | FromDiscord | <bearheathen> Salamat!!!!!! |
03:33:51 | FromDiscord | <Rika> you're welcome lol |
03:34:09 | FromDiscord | <bearheathen> Evnetually I want to get around to Dockerizing this thing |
03:34:14 | FromDiscord | <bearheathen> Playing with it in THAT context |
03:34:22 | FromDiscord | <bearheathen> I just discovered Docker, and I just discovered Nim |
03:34:29 | FromDiscord | <bearheathen> I'm going to SMASH THEM TOGETHER FOR FUN AND PROFIT |
03:35:04 | FromDiscord | <Rika> have fun |
03:35:09 | FromDiscord | <bearheathen> Ohhh |
03:35:09 | FromDiscord | <Rika> no idea for docker resources |
03:35:12 | FromDiscord | <bearheathen> This mratsim |
03:35:13 | FromDiscord | <Rika> i havent learned that yet |
03:35:13 | FromDiscord | <bearheathen> Yes |
03:35:18 | FromDiscord | <bearheathen> I watched a conference he gave |
03:35:30 | FromDiscord | <bearheathen> I had literally no clue wtf he said the entire 30 min presentation |
03:35:33 | FromDiscord | <bearheathen> But it was good, I know THAT |
03:35:52 | FromDiscord | <bearheathen> I don't recognize his user name, but Mamy Ratsimbazafy I do recognize |
03:36:25 | FromDiscord | <bearheathen> It was his talk on concurrency, I believe. |
03:36:38 | FromDiscord | <bearheathen> My nose started bleeding at the 10 minute mark, I think |
03:37:21 | FromDiscord | <bearheathen> At any rate, back to work |
03:37:27 | FromDiscord | <bearheathen> A pleasure to meet you all! |
03:37:29 | FromDiscord | <Rika> lol |
03:37:33 | FromDiscord | <Rika> have fun |
03:41:01 | * | kinkinkijkin quit (Ping timeout: 244 seconds) |
03:49:54 | * | bung quit (Ping timeout: 260 seconds) |
03:51:29 | * | kinkinkijkin joined #nim |
04:01:56 | FromDiscord | <Avatarfighter> I just signed up for figma education and I have just realized I have no artistic vision, no creativity |
04:02:04 | FromDiscord | <Avatarfighter> i really want to use fidget lol |
04:02:11 | FromDiscord | <Rika> same |
04:02:49 | FromDiscord | <Avatarfighter> I just tried to make a cool looking box and I already failed at making my box even on all sides |
04:03:18 | FromDiscord | <Rika> amazing |
04:03:24 | FromDiscord | <Avatarfighter> ik |
04:06:01 | * | supakeen quit (Quit: WeeChat 2.9) |
04:06:37 | * | supakeen joined #nim |
04:14:22 | FromDiscord | <Avatarfighter> rika are you doing anything cool on figma |
04:16:39 | * | lritter quit (Quit: Leaving) |
04:18:26 | * | bung joined #nim |
04:33:24 | * | arecacea1 quit (Remote host closed the connection) |
04:34:10 | * | arecacea1 joined #nim |
04:49:43 | FromDiscord | <bearheathen> > rika are you doing anything cool on figma↵@Avatarfighter Figma is a UI design tool, right? Does Nim have some good UI tooling? If nothing else, I'm assuming we've got some good FFI wrappers for the likes of IMGUI, CEGUI, or some such, yes? |
04:50:53 | FromDiscord | <Avatarfighter> @bearheathen yeah @treeform made a really cool tool that takes figma sketches and lets you use them in nim |
04:50:55 | FromDiscord | <Avatarfighter> !repo fidget |
04:50:56 | disbot | https://github.com/treeform/fidget -- 9fidget: 11Figma based UI library for nim, with HTML and OpenGL backends. 15 296⭐ 11🍴 7& 1 more... |
04:51:24 | FromDiscord | <Avatarfighter> You can literally draw your cool desktop/mobile app then export the nim code and then you got your app |
04:52:20 | FromDiscord | <bearheathen> 😮 |
04:52:21 | FromDiscord | <bearheathen> Whoa |
04:52:55 | FromDiscord | <bearheathen> aaaaannnddd there's a NimConf 2020 video with it. |
04:53:00 | FromDiscord | <bearheathen> Totally watching that as I work |
04:55:34 | * | narimiran joined #nim |
04:58:06 | FromDiscord | <bearheathen> Is the GC on by default? |
04:58:10 | FromDiscord | <bearheathen> And if so, which variety? |
04:58:10 | FromDiscord | <Elegant Beef> yep |
04:58:24 | FromDiscord | <bearheathen> Ok. For my noobish buffoonery, I think that's ideal |
04:58:28 | FromDiscord | <bearheathen> Thank you! |
04:58:33 | FromDiscord | <Avatarfighter> Its really good, treeform is super passionate in the NimConf video |
04:58:33 | FromDiscord | <Elegant Beef> Got a variety of different ones https://nim-lang.org/docs/gc.html |
04:58:47 | FromDiscord | <Elegant Beef> Nim's moving towards ARC though |
04:59:24 | FromDiscord | <bearheathen> > Nim's moving towards ARC though↵@Elegant Beef Hmm, and what is the significance of this? ↵↵Also, I see a Go interoperable GC? That's wild... |
04:59:50 | FromDiscord | <Elegant Beef> Fairly performant, and will soon be the default GC i believe |
05:00:08 | FromDiscord | <Elegant Beef> 4raq has a nimconf video about arc if interested |
05:00:15 | FromDiscord | <bearheathen> > Fairly performant, and will soon be the default GC i believe↵@Elegant Beef Ah, so you mean that the Arc GC is essentially going to become the "default" GC, and the others will be deprecated in future versions? |
05:00:26 | FromDiscord | <bearheathen> Yes, I am interested. I'll add it to my watch list |
05:00:40 | FromDiscord | <Elegant Beef> https://www.youtube.com/watch?v=aUJcYTnPWCg |
05:01:00 | FromDiscord | <bearheathen> Awesome! Thank you very much! |
05:01:11 | FromDiscord | <bearheathen> @Elegant Beef Your name is ❤️ ↵↵How long have you worked with Nim? |
05:01:18 | FromDiscord | <Elegant Beef> 0 days |
05:01:27 | FromDiscord | <bearheathen> > 0 days↵@Elegant Beef LIES |
05:01:31 | FromDiscord | <Elegant Beef> Oh with i read for 😄 |
05:01:46 | FromDiscord | <Elegant Beef> I've been toying with it for about 8 months or so |
05:02:19 | FromDiscord | <bearheathen> > I've been toying with it for about 8 months or so↵@Elegant Beef Wonderful! Have you made anything interesting? Thoughts that far in? Is it a hobby? Do you program as a "job?" If so, what is your primary language there? |
05:02:29 | FromDiscord | <bearheathen> Sorry, just getting an idea of the kinds and types of folks here |
05:02:58 | FromDiscord | <Elegant Beef> It's a fantastic language, and neither job or hobby really, just an unemployed schmuck |
05:03:42 | FromDiscord | <dayl1ght> https://play.nim-lang.org/#ix=2xPc |
05:03:47 | FromDiscord | <dayl1ght> this snippet leaks memory with gc:arc |
05:03:49 | FromDiscord | <bearheathen> > It's a fantastic language, and neither job or hobby really, just an unemployed schmuck↵@Elegant Beef Indeed. Right there with ya. Though I freelance a lot of stuff. Believe it or not, contracting. I build things. I do lawn care. I set up networks. I translate. I'm pretty diverse. Haha. ↵↵My degree is CS-based, but I've never worked in the field. |
05:04:09 | FromDiscord | <dayl1ght> is this supposed to happen? I don't get any leak reports with the normal GC on valgrind |
05:04:26 | Tanger | bearheathen: Been using it on and off for ~ 1 year. I use it for hobby stuff mainly, but I've found it pretty useful for writing scripts for Engineering companies around my area. Replacing pre-1990 .bat scripts with Nim has been pretty easy so far. My main job uses python |
05:04:59 | FromDiscord | <dayl1ght> I compiled it with `nim c --gc:arc -d:useMalloc file.nim` |
05:06:18 | FromDiscord | <bearheathen> So Nim is totally production-worthy? That's awesome. I know there are some back-end compiler issues, but that's no different than any other language, honestly. HOW a lang compiles is always annoying. ↵↵Except interpreted languages. They're only annoying in their "limitations," such as they are. |
05:06:19 | FromDiscord | <Elegant Beef> Im personally taken by the metaprogramming, UFCS and compile time evaluation |
05:06:33 | FromDiscord | <Rika> > rika are you doing anything cool on figma↵@Avatarfighter no |
05:07:26 | FromDiscord | <Avatarfighter> ok why |
05:08:14 | FromDiscord | <Rika> because im using imgui |
05:08:26 | FromDiscord | <Rika> im a programmer, not a designer |
05:08:38 | FromDiscord | <Rika> i dont really care how something looks, only if its the correct thing in the correct place |
05:09:17 | FromDiscord | <Rika> so i've just been making this program via imgui |
05:10:28 | FromDiscord | <Avatarfighter> so you are a desiginer |
05:10:38 | FromDiscord | <Avatarfighter> real programmers use console >:) |
05:10:58 | FromDiscord | <Rika> console is too limited for the kind of program i am (was) making |
05:11:09 | FromDiscord | <Rika> (stopped for a few weeks) |
05:12:03 | FromDiscord | <juan_carlos> Unreal programmers use unreal engine :P |
05:14:15 | FromDiscord | <Avatarfighter> oh gosh |
05:15:14 | * | rockcavera quit (Remote host closed the connection) |
05:31:13 | * | leorize quit (Quit: WeeChat 2.8) |
05:37:15 | * | NimBot joined #nim |
05:44:17 | * | solitudesf joined #nim |
05:55:07 | FromDiscord | <JSGRANT> @Elegant Beef I still don't really "get" what UFCS is; Sorta like message-passing , or? |
05:55:39 | FromDiscord | <Elegant Beef> I mean it's that you can do `a.b()` or `b(a)` |
05:55:46 | FromDiscord | <Elegant Beef> so you can chain calls |
05:56:15 | FromDiscord | <Elegant Beef> and cause of it we can do `a.b.c.d` where each symbol is a proc |
05:56:31 | FromDiscord | <JSGRANT> It allows you to do basically extension-methods, right? |
05:56:46 | FromDiscord | <Elegant Beef> Yea the C# term would be that |
05:57:10 | FromDiscord | <Elegant Beef> But it lets you do either with one declaration |
06:00:23 | FromDiscord | <JSGRANT> Pretty tired , but if I'm actually grokking the concept it seems pretty cool. So sorta seems like it acts like a pipe through a series of expressions |
06:03:29 | FromDiscord | <JSGRANT> Either or; I enjoy the more hands-off "do what you feel is right" ethos in Nim. Like not forcing you to call in one form or the other -- or the classic case-insensitvity for identifiers. |
06:04:18 | FromDiscord | <Rika> yeah its almost akin to piping |
06:07:21 | FromDiscord | <PizzaFox> i have a type for a proc, is there a way to declare a proc as being that type so i dont have to repeat the signature? |
06:07:56 | FromDiscord | <PizzaFox> sent a code paste, see https://play.nim-lang.org/#ix=2xPo |
06:08:20 | Araq | PizzaFox there is the 'using' declaration but it does something else |
06:09:47 | FromDiscord | <PizzaFox> that seems like it would be useful if all the procs were in 1 file but they arent |
06:10:34 | Araq | :-) sometimes the keyboard is involved in programming in Nim |
06:10:54 | FromDiscord | <PizzaFox> i will simply be upset if i change the original proc type |
06:11:15 | Araq | well the compiler will tell you |
06:11:39 | * | JustASlacker joined #nim |
06:12:01 | FromDiscord | <PizzaFox> the compiler will tell me i have to update all my files by hand |
06:12:29 | FromDiscord | <PizzaFox> meh this will just encourage me to write good code now instead of later |
06:12:55 | FromDiscord | <dayl1ght> can you do the opposite using typeof? |
06:13:03 | FromDiscord | <dayl1ght> type IdResolverProc = typeof(resolveIds) |
06:13:53 | Araq | here is what takes time in software development: testing, writing tests, bug hunting, writing documentation. updating "all my files by hand" is not among this list. |
06:15:37 | FromDiscord | <PizzaFox> i can do both by spending 3 hours trying to automate it |
06:16:01 | Araq | that's the spirit ;-) |
06:17:46 | FromDiscord | <shad0w> ```↵Strings are compared using their lexicographical order. All the comparison operators are supported. By convention, all strings are UTF-8 encoded, but this is not enforced. For example, when reading strings from binary files, they are merely a sequence of bytes. The index operation s[i] means the i-th char of s, not the i-th unichar.↵``` |
06:18:16 | FromDiscord | <Rika> if you want the unicode rune use module `unicode` |
06:18:18 | FromDiscord | <shad0w> hi y'all. i dont think i understand the last line here, from the tutorial ? |
06:20:39 | FromDiscord | <JSGRANT> What is the syntax-theme used in Nim Docs' Dark-Mode? Really like it. |
06:20:50 | FromDiscord | <Rika> @shad0w https://media.discordapp.net/attachments/371759389889003532/756036924837462076/unknown.png |
06:20:53 | FromDiscord | <JSGRANT> Looks sorta familar but can't pin it down |
06:21:11 | FromDiscord | <Rika> unicode characters can be >1 "characters" |
06:21:14 | FromDiscord | <shad0w> does this have to do with all chars in nim are 1 byte. and a unicode char can be multibyte ? |
06:21:16 | FromDiscord | <Rika> in size |
06:21:18 | FromDiscord | <Rika> yes |
06:22:03 | FromDiscord | <shad0w> so it's just sugared c pointer arithmatic with the size of the char type lol. got it. |
06:22:16 | FromDiscord | <Rika> not exactly either |
06:22:34 | FromDiscord | <shad0w> ? |
06:23:13 | FromDiscord | <JSGRANT> Ah, it appears it's Dracula? |
06:23:19 | FromDiscord | <Rika> naturally, you cant overflow like in c ptr arithmetic, and `[]` is a proc, you can overload it with non-number types |
06:23:35 | FromDiscord | <shad0w> > Looks sorta familar but can't pin it down↵@JSGRANT looks like dracula or some monokai variant |
06:23:48 | Araq | every array indexing is just "sugared C pointer arithmetic" also known as "memory fetch/store" |
06:24:30 | Araq | it's how the hardware works... |
06:25:12 | FromDiscord | <shad0w> > every array indexing is just "sugared C pointer arithmetic" also known as "memory fetch/store"↵@Araq[IRC]#0000 this should be a t-shirt 😆 |
06:25:12 | FromDiscord | <JSGRANT> @shad0w It's very close; Yeah. Trying it out in VSCode and similar colors though the ordering is a bit off. |
06:26:43 | Araq | and this sentence "is just" a sequence of words. everything can be described in "is just" trollish. |
06:29:57 | FromDiscord | <shad0w> sent a code paste, see https://play.nim-lang.org/#ix=2xPv |
06:30:47 | FromDiscord | <JSGRANT> Talking about documentation in Nim; What would be a use-case for nested multi-line comments? Conceptually I think this its very cool -- but am finding myself hardpress to think of a use for them. |
06:31:16 | * | JustASlacker quit (Ping timeout: 246 seconds) |
06:31:24 | FromDiscord | <dayl1ght> when you want to comment code blocks that already have comments in it 🙂 |
06:31:46 | FromDiscord | <JSGRANT> OKAY, THAT IS COMPLETELY FAIR (and now OBVIOUS when it's told to me) |
06:31:49 | FromDiscord | <JSGRANT> looool |
06:32:00 | FromDiscord | <JSGRANT> GREAT point |
06:32:02 | FromDiscord | <dayl1ght> most languages dont have that and its super annoying |
06:32:55 | FromDiscord | <dayl1ght> sent a code paste, see https://play.nim-lang.org/#ix=2xPw |
06:33:40 | * | JustASlacker joined #nim |
06:35:18 | FromDiscord | <krisppurg> #[ try this ]# |
06:35:36 | FromDiscord | <krisppurg> (edit) '#[ try this ]#' => '`#[↵try this↵]#`' |
06:37:23 | FromDiscord | <JSGRANT> Honestly there are so many nice little design choices in Nim; Like sometimes they need to be explained to me -- but when I "get it" is really resonates lol |
06:39:40 | * | JustASlacker quit (Ping timeout: 260 seconds) |
06:48:38 | FromDiscord | <lqdev> @JSGRANT dracula doesn't look that good in vscode because the syntax file sucks. |
06:49:04 | FromDiscord | <JSGRANT> Yeah, certainly didn't have the same 'feel' as the docs from the little I checked |
06:49:54 | FromDiscord | <JSGRANT> I'm fairly sold on Nord; Which is pretty low-contrast -- but Dracula (assuming that is what is being used in dark-mode Nim-Docs) was very readable / enjoyable to me with a fair amount of contrast |
06:50:14 | FromDiscord | <lqdev> i personally really like ayu mirage |
06:50:31 | FromDiscord | <lqdev> but it looks so much better in vim with nim.nvim :) |
06:50:44 | FromDiscord | <lqdev> namely, proc calls are yellow instead of red |
06:51:36 | FromDiscord | <lqdev> dracula with nim.nvim looks correct tho |
06:51:38 | FromDiscord | <JSGRANT> Was going to ask; There are two themes named 'close' to that in VSCode |
06:51:46 | FromDiscord | <lqdev> ayu |
06:51:55 | FromDiscord | <lqdev> ayu mirage is a theme from that package |
06:52:35 | FromDiscord | <JSGRANT> In VSCode? I only see 'Ayu Mirage Powerup' & 'Ayu MirageMod' |
06:52:44 | FromDiscord | <lqdev> look up just 'ayu' |
06:52:50 | FromDiscord | <lqdev> should be the first result |
06:53:08 | FromDiscord | <JSGRANT> I just get 'Ayu' proper lol |
06:53:16 | FromDiscord | <JSGRANT> Then 'Ayu MirageMod' |
06:53:26 | FromDiscord | <JSGRANT> actually Adaptive then Mod |
06:54:00 | FromDiscord | <lqdev> https://marketplace.visualstudio.com/items?itemName=teabyii.ayu |
06:54:14 | FromDiscord | <lqdev> ayu mirage is a variant of it |
06:54:21 | FromDiscord | <JSGRANT> Okay, was about to ask this. Cool |
06:54:22 | FromDiscord | <JSGRANT> sorry |
06:54:23 | FromDiscord | <JSGRANT> lol |
06:54:32 | FromDiscord | <lqdev> imo with the best contrast and really nice colors :) |
06:54:49 | FromDiscord | <lqdev> dark and light just feel off |
06:54:58 | FromDiscord | <JSGRANT> Also -- honestly I'm a bit fatiuged from years of Emacs & then withdrawls; But have been wanting to try Neovim for a bit now ... though I'm on Colemak and that makes the keybinding situation a bit harder lol |
06:55:28 | FromDiscord | <lqdev> yeah you'd probably need to rebind hjkl |
06:56:17 | FromDiscord | <JSGRANT> Is the rest 'contextual' enough to warrant trying to do more? Like it seems there is a big empahsis on the homerow generally and not just on the direction keys |
06:57:04 | FromDiscord | <JSGRANT> There is evidently a way to force 'visual' mode to use different keybindings from input -- but I never could get it working |
06:57:19 | FromDiscord | <JSGRANT> Think that would be the ideal, at least to learn basic movement in it |
06:57:29 | FromDiscord | <JSGRANT> Then maybe rebind later if seen fit |
06:58:10 | FromDiscord | <JSGRANT> @lqdev Also, really digging the yellow-accents in this VSCode theme. Feels very Nim-y lol Lots of golden yellow |
06:58:24 | FromDiscord | <JSGRANT> Underline for tab, buttons, etc |
06:58:42 | FromDiscord | <JSGRANT> Oh and button-accents evidently |
06:59:27 | FromDiscord | <JSGRANT> (Ayu Mirage; If I wasn't clear lol) |
07:05:36 | * | gmaggior quit (Quit: Leaving) |
07:22:21 | * | maier joined #nim |
07:22:29 | * | maier is now known as kenran |
07:40:08 | * | JustASlacker joined #nim |
07:43:15 | * | kinkinkijkin quit (Ping timeout: 244 seconds) |
07:44:11 | FromDiscord | <lqdev> yeah it rocks |
07:44:24 | FromDiscord | <lqdev> though right now i'm on material theme (darker variant) |
07:45:11 | FromDiscord | <lqdev> of course as a proud ricer my whole system is material darker :) |
07:45:52 | * | kinkinkijkin joined #nim |
07:47:35 | FromDiscord | <lqdev> screenshot's a bit dated, but this roughly is how it looks https://media.discordapp.net/attachments/371759389889003532/756058753241186345/unknown-78.png |
07:52:59 | PMunch | lqdev, that looks pretty nice |
07:53:05 | PMunch | I should really get a better terminal theme.. |
07:53:41 | PMunch | And finish my WM :P |
07:58:09 | * | kinkinkijkin quit (Ping timeout: 272 seconds) |
07:58:26 | * | Trustable quit (Remote host closed the connection) |
07:58:27 | * | kinkinkijkin joined #nim |
08:01:51 | FromDiscord | <Elegant Beef> Yea you should 😛 |
08:04:04 | FromDiscord | <JSGRANT> I'm on Material-KDE and fairly happy with it. |
08:06:49 | FromDiscord | <JSGRANT> Ayu contrasts a fair-amount with it sadly; It seems. https://media.discordapp.net/attachments/371759389889003532/756063595850104833/Screenshot_20200917_030555.png |
08:07:10 | PMunch | I mean I don't mind my terminal theme, but my Vim theme could be improved.. |
08:08:11 | * | femtotones|away joined #nim |
08:08:45 | FromDiscord | <JSGRANT> Yeah, I really don't pay much attention to my terminal theme at all. As-long as it's dark |
08:10:04 | FromDiscord | <JSGRANT> Also been having fun plotting out some basic examples with the random library for this 'course' I want to do; That's whats in the editor. |
08:10:32 | FromDiscord | <JSGRANT> Shocked this isn't explored more in introductory programming material. Randomness introduces novelity for very little cost. |
08:11:42 | FromDiscord | <Elegant Beef> My system matches my editor 😄 |
08:11:47 | FromDiscord | <Elegant Beef> https://media.discordapp.net/attachments/371759389889003532/756064843299029062/unknown.png |
08:11:48 | FromDiscord | <JSGRANT> I was thinking of a 'progression tree' where you teach how to do a coin-flipper, then a dice-roller, then how to throw multiple dice, then a magic 8 ball, then how to take user-input to "ask a question" for it. etc |
08:13:38 | FromDiscord | <JSGRANT> @Elegant Beef If I move Awesome eventually; I want to do similar. |
08:14:18 | FromDiscord | <JSGRANT> Think I'd care more generally about themeing when it's trivial to edit on my end; That's how I was (to a point where it became a borderline problem "lol") in Emacs |
08:14:35 | FromDiscord | <lqdev> i tried using awesome but got lost during configuration lol |
08:15:08 | FromDiscord | <lqdev> quite verbose tbh |
08:15:48 | FromDiscord | <JSGRANT> I think conceptually you have to frame Awesome as a WindowManager 'framework' / widget toolkit more than a proper WindowManager. It makes a lot less assumptions and it feels like you are building most of it from scratch -- but gives you a lot of tools to do so |
08:16:35 | FromDiscord | <JSGRANT> I mean, https://github.com/material-shell/material-awesome was the testing grounds for the gnome-shell based equivilant even |
08:16:55 | FromDiscord | <JSGRANT> But there are many-such examples of very impressive ricing |
08:17:17 | FromDiscord | <mratsim> I would love to try it, but Gnome File Manager are really anemic on features |
08:17:40 | FromDiscord | <JSGRANT> https://www.youtube.com/watch?v=GeBrIwxmdx4 |
08:17:43 | FromDiscord | <mratsim> And KDE is starting to get on my nerves with their KIO, super painful to mount samba shares |
08:19:09 | FromDiscord | <JSGRANT> @mratsim Really the only HORRIFIC thing to me about KDE is Baloo -- like on my media / homeserver (connected to the living-room tv and have a bunch of family-movies / photos on it) that thing COMPLETELY FROZE the whole box for days to a point where I had to just disable it. |
08:19:38 | FromDiscord | <mratsim> I remember using nepomuk before to tag my games of go |
08:19:46 | FromDiscord | <JSGRANT> Like file-indexing seems like it shouldn't be an issue "at all" for a DE ... |
08:19:46 | FromDiscord | <mratsim> it was not bad but the freezing ... |
08:19:50 | FromDiscord | <mratsim> baloo was much better |
08:20:00 | FromDiscord | <mratsim> then I just removed all |
08:20:05 | FromDiscord | <JSGRANT> It's scary to think this is an improvement then lol |
08:20:43 | FromDiscord | <Vindaar> @JSGRANT wow, is that still a problem? I had that issue about 5 years ago on a PC at uni where I was forced to use Kubuntu |
08:21:04 | FromDiscord | <mratsim> https://en.wikipedia.org/wiki/NEPOMUK_(software)↵↵> As the KDE SC 4 series of releases progressed, it became apparent that NEPOMUK was not delivering the performance and user experience that had initially been anticipated. As a result of this, in KDE SC 4.13 a new indexing and semantic search technology Baloo was introduced |
08:22:09 | FromDiscord | <JSGRANT> KDE is honestly about 80% of what I want out of a DE; GNOME has much better like a LOT better design-sense / out-of-the-box defualts imo -- but I always used so many extensions that my workflow broke every single release. I feel like I'm on much more stable grounds overall and pretty happy how everything is themed (not perfect but "nice enough"). |
08:22:34 | FromDiscord | <mratsim> But for me what I find good in dolphin is, easy way to go to the parent folder, terminal integration or open terminal here, mass renaming, browsing of archives, dual column navigation, tabs |
08:23:17 | FromDiscord | <Clyybber> Gnome sucks for removing the ability to disable CSD |
08:23:58 | FromDiscord | <JSGRANT> I just am not really willing to do anything but be a consumer / basic user of these environments nowadays. QT & KDE is too big of an ecosystem for me to really invest deeply. I think that's why the idea of "Awesome but in Nim" is so exciting to me -- because it's an ecosystem that's "small enough" that I feel I could maintain my own "perfect lil config" without pulling my hair out as much lol |
08:24:32 | * | konkrrrrrr joined #nim |
08:24:37 | FromDiscord | <JSGRANT> @Clyybber Honestly I am a fan of CSD; Think it works well within the context of GNOME but will admit it's a polarizing idiom |
08:25:05 | FromDiscord | <JSGRANT> And GNOME's apps don't lend themselves too well without CSD nowadays. Because basically you just have a massive toolbar with extra information shoved in if not |
08:25:12 | FromDiscord | <Clyybber> Oh, I'm not opposed to CSD I think they are great |
08:25:23 | * | kinkinkijkin quit (Ping timeout: 272 seconds) |
08:25:28 | FromDiscord | <Clyybber> But it sucks to not be able to disable them |
08:25:41 | FromDiscord | <Clyybber> For example I'm not using titlebars at all |
08:26:06 | FromDiscord | <Clyybber> But for gnome apps I still get them because CSD, so i have to use gnome-nocsd |
08:26:09 | FromDiscord | <mratsim> don't care, be sensible with shortcuts, give me a quick calculator with alt+F2 or ctrl + space, allow me to switch inputs to chinese/japanese/french/english. And have easy samba support and mass rename |
08:26:13 | FromDiscord | <mratsim> also "open terminal" |
08:26:35 | FromDiscord | <mratsim> and then, don't use my CPU, it's not for you |
08:27:24 | FromDiscord | <bearheathen> Whoa. mratsim...you're active here? |
08:27:26 | FromDiscord | <bearheathen> Cool! |
08:27:36 | FromDiscord | <bearheathen> Love your work. Thank you for your amazing contributions to the community! |
08:29:09 | FromDiscord | <JSGRANT> @Clyybber I think the ethos is "design constiency over everything else" in GNOME; But yeah, I can get how that can be frustrating if you happen to not fall in line with x vision. |
08:29:35 | FromDiscord | <JSGRANT> And consistency often applies a narrow set of options |
08:30:27 | * | vicfred_ joined #nim |
08:32:28 | FromDiscord | <mratsim> @bearheathen apparently I'm a mod, I don't know how/when that happened |
08:32:31 | FromDiscord | <JSGRANT> sent a long message, see http://ix.io/2xPO |
08:32:58 | FromDiscord | <JSGRANT> That being said; Do like Fedora but there are obvious conviences running Arch that I missed. |
08:33:37 | * | vicfred quit (Ping timeout: 272 seconds) |
08:35:55 | FromDiscord | <Ricky Spanish> is the .nim.cfg file chained up when using nimble? i.e if i include in a library a specific compiler flag and then use the library in another project, does it automatically add the flag even when its included as a library? |
08:36:09 | FromDiscord | <JSGRANT> Honestly though, the KDE defaults are SO BAD that it turned me off of the ecosystem for years. Like I didn't even bother exploring past the very-VERY trivial up until about a year or-so ago because of this... first-impressions really matter |
08:36:59 | FromDiscord | <mratsim> @Ricky Spanish yes |
08:37:21 | FromDiscord | <Clyybber> Its so weird when GNOME tries to appear slick and minimal, while their insides are messy and bloated |
08:37:46 | FromDiscord | <mratsim> but for local compiler flag you can just use {.localPassC:"-fmyflag".} |
08:37:54 | FromDiscord | <Elegant Beef> I tried a stock fedora install and it didnt even have a desktop afaik |
08:37:58 | FromDiscord | <Clyybber> @mratsim Btw, is there interest in using --gc:orc from status? |
08:38:23 | FromDiscord | <mratsim> sure, if we can avoid that: https://github.com/status-im/nim-libp2p/pull/367 |
08:38:23 | disbot | ➥ add full gc collection every teardown |
08:38:43 | FromDiscord | <mratsim> but we can't afford to be the guinea pigs in the coming month. Too much at stake. |
08:38:50 | FromDiscord | <mratsim> months* |
08:38:57 | FromDiscord | <Clyybber> Yeah, understandable |
08:38:58 | FromDiscord | <Ricky Spanish> ah ok thanks @mratsim |
08:39:05 | FromDiscord | <mratsim> at least for our Nimbus team, the message research team might be OK |
08:39:27 | FromDiscord | <mratsim> @Ricky Spanish example: https://github.com/mratsim/constantine/blob/master/constantine/arithmetic/limbs_asm_montmul_x86_adx_bmi2.nim#L31-L34 |
08:40:00 | FromDiscord | <mratsim> note that all the procs must be not inline for those flags to work correctly |
08:41:19 | FromDiscord | <JSGRANT> @Clyybber There's been a lot of work the last 3-4 releases by (mostly) the Cannonical people and performance has greatly improved. That being said, always thought Javascript was a weird language for this domain. Not unheard of & appeals to the webdev / ui folks obviously -- but you're probably not getting best in class perfomance with it, yeah |
08:42:50 | FromDiscord | <JSGRANT> @Elegant Beef What's 'stock Fedora'? You might of grabbed the Server install by default. There is Workstation (Gnome) and Server. A bunch of side-project as well like Silverblue & CoreOS. And spins with other DEs / WMs. |
08:43:11 | FromDiscord | <Elegant Beef> No it had gnome, but there was no desktop, or minimize/maximize buttons |
08:43:19 | FromDiscord | <Elegant Beef> It has the weirdest decisions imo |
08:43:52 | FromDiscord | <lqdev> it's keyboard focused :) |
08:44:00 | FromDiscord | <Ricky Spanish> @mratsim ah thats much more hidden i suppose might be nicer than the cfg file? or whats the preference? |
08:44:06 | FromDiscord | <Elegant Beef> It's a desktop environment without a desktop |
08:44:12 | FromDiscord | <lqdev> if i had to choose a stacking WM it'd probably be gnome |
08:44:23 | FromDiscord | <lqdev> but i have i3 :) |
08:44:38 | FromDiscord | <mratsim> @Clyybber if you want to test gc:orc to see if it would be usable in our codebase you can try it with the test suite of libp2p, it's the main culprit of GC leaks right now: https://github.com/status-im/nim-libp2p |
08:45:13 | FromDiscord | <JSGRANT> @Elegant Beef Oh, you mean like no "desktop icons / folders" ? |
08:45:21 | FromDiscord | <mratsim> I prefer localPassC for compiler flags, especially because I can autogenerate them via macro, it's pretty new, it was introduced this year. |
08:45:27 | FromDiscord | <Elegant Beef> Yes no desktop 😄 |
08:45:33 | FromDiscord | <mratsim> also I don't have to take care when renaming my files |
08:45:41 | FromDiscord | <Clyybber> @mratsim Thanks |
08:46:05 | FromDiscord | <Clyybber> Oh, its not a go wrapper anymore? |
08:46:11 | FromDiscord | <Clyybber> Nice |
08:46:39 | FromDiscord | <lqdev> having no desktop icons is cool, you have the app launcher for a reason |
08:46:52 | FromDiscord | <Elegant Beef> I use i3wm, but if i were using a DE i'd want a desktop |
08:46:57 | FromDiscord | <Elegant Beef> As would most people |
08:47:12 | FromDiscord | <mratsim> the go wrapper is still there for testing against a reference implementation, but we needed it to unblock the rest of the stack |
08:47:44 | FromDiscord | <JSGRANT> @Elegant Beef Think that's a fair-enough design crit; Though contentious because you have a file-explorer and dock. But lack of minimize / maximizie is a bit more nuanced. Becuase it is challening the whole paradigm. Namely with lack of minimize encourage use of multiple desktops. |
08:47:44 | * | vicfred_ quit (Quit: Leaving) |
08:48:04 | FromDiscord | <JSGRANT> Maximize being an implied pull / up or double-click of the header/titlebar |
08:49:50 | FromDiscord | <Elegant Beef> Gnome also killed the system tray, so you cant close programs and have them running in the background |
08:49:52 | FromDiscord | <JSGRANT> GNOME is certainly not trying to be a regular WIMP and/or Classic GUI; And takes major hints from UI Design from the last few years -- obviously a lot of which was inspired by mobile interfaces. But I think it does it tactful way & is very easy to reason about once you get out of the mindset that it should be like a 'normal' floating environment |
08:50:25 | * | PMunch quit (Quit: Leaving) |
08:50:32 | FromDiscord | <Elegant Beef> I mean i can use it but considering the way it's going i cannot suggest it to anyone that expects a normal desktop experience |
08:50:34 | * | PMunch_ joined #nim |
08:50:47 | FromDiscord | <Elegant Beef> So basically it's dead to me, cause i cant force my parents to use it, and i wont use it |
08:51:31 | FromDiscord | <JSGRANT> @Elegant Beef That's a much more fair criticism imo (lack of a system-try); It used to be present in the bottom-right of the overview but was removed with a promise of something better 'eventually' which never materialized. You can still add it back via an extension and it works fine, but yeah, not ideal by any means |
08:51:33 | FromDiscord | <mratsim> @Elegant Beef Apple killed the system tray |
08:52:09 | FromDiscord | <Elegant Beef> I mean apple not having one doesnt force gnome to not have one, and many applications still dock to the system tray |
08:53:14 | FromDiscord | <Elegant Beef> The way i see it if you want to kill off these things make them a setting, which is off by default in the actual settings panel, not in gnome tweaks |
08:53:26 | * | hnOsmium0001 quit (Quit: Connection closed for inactivity) |
08:53:56 | FromDiscord | <Elegant Beef> Gnome does the same thing windows 10 does, and that's seperate settings in multiple applications |
08:54:20 | FromDiscord | <Elegant Beef> *Well atleast ubuntu/fedora's implementations* |
08:54:49 | FromDiscord | <JSGRANT> Well I think "tweaks" is basically a 'not officially endorsed set of options, but we want to still provide them because the spirit of foss' kind of thing |
08:55:07 | FromDiscord | <JSGRANT> So I think it makes sense to have an extra degree of seperation |
08:55:09 | FromDiscord | <Elegant Beef> Dont you need tweaks for extensions? |
08:55:29 | FromDiscord | <JSGRANT> Not anymore; There is a seperate 'extensions' app |
08:55:40 | FromDiscord | <JSGRANT> Maybe they rolled it into settings now, idk |
08:56:08 | FromDiscord | <Elegant Beef> It doesnt make any sense to seperate it, it's a setting, put it in a "gnome settings" tab and carry on |
08:56:34 | FromDiscord | <Elegant Beef> Like privacy https://media.discordapp.net/attachments/371759389889003532/756076113184423966/unknown.png |
08:56:38 | FromDiscord | <Elegant Beef> It's a sub group |
08:56:51 | * | PMunch_ quit (Remote host closed the connection) |
08:58:04 | FromDiscord | <Elegant Beef> I feel like at the point you "hide" settings and remove features without opt in, you've officially lost the UX and dont care about users |
08:58:36 | * | PMunch joined #nim |
08:59:20 | * | idf04 joined #nim |
08:59:40 | * | Tanger quit (Quit: Leaving) |
09:00:09 | * | codic quit (Quit: Idle for 30+ days) |
09:10:32 | FromDiscord | <PizzaFox> sent a code paste, see https://play.nim-lang.org/#ix=2xPZ |
09:10:45 | FromDiscord | <PizzaFox> (edit) 'https://play.nim-lang.org/#ix=2xPZ' => 'https://play.nim-lang.org/#ix=2xQ0' |
09:11:08 | FromDiscord | <PizzaFox> is there some way i can pass an enum as a parameter or type param to the `newDownloader` proc? |
09:11:24 | FromDiscord | <PizzaFox> im just passing it down to `Media` |
09:11:44 | * | konkrrrrrr quit (Ping timeout: 272 seconds) |
09:12:23 | FromDiscord | <Vindaar> When you write `Downloader[Kinds]` the `Kinds` refers to a generic. What you want (I assume) however is a specific field of an enum though, correct? |
09:12:46 | FromDiscord | <PizzaFox> no |
09:12:49 | FromDiscord | <PizzaFox> i want to pass the whole enum |
09:12:50 | * | Zectbumo quit (Remote host closed the connection) |
09:12:56 | * | kinkinkijkin joined #nim |
09:12:57 | FromDiscord | <Rika> What enum? |
09:13:08 | FromDiscord | <Rika> I don't see an enum here |
09:13:23 | FromDiscord | <PizzaFox> yes its defined elsewhere |
09:13:23 | FromDiscord | <Vindaar> You don't have to pass any enum if it's always the same enum |
09:13:54 | FromDiscord | <Rika> Vindaar gl helping them I gotta do something else |
09:14:27 | FromDiscord | <Vindaar> sent a code paste, see https://play.nim-lang.org/#ix=2xQ1 |
09:15:30 | * | NimBot joined #nim |
09:15:42 | FromDiscord | <Vindaar> no, only if you wanted to have different `Kinds` |
09:15:45 | FromDiscord | <PizzaFox> i do |
09:15:57 | FromDiscord | <Vindaar> so you have N different enums? |
09:15:59 | FromDiscord | <PizzaFox> yes |
09:16:10 | FromDiscord | <PizzaFox> each `IdResolverProc` has a different enum to help it keep track of what its identifying |
09:16:14 | FromDiscord | <PizzaFox> ex. user profile, user post, etc. |
09:16:33 | * | abm joined #nim |
09:16:34 | FromDiscord | <Vindaar> Then you do need generics after all, yes |
09:16:38 | FromDiscord | <PizzaFox> eeeeeee |
09:16:54 | FromDiscord | <PizzaFox> the goal here is for me to figure out how generics work with procs |
09:17:14 | FromDiscord | <PizzaFox> and then figure out if i do it in the `newDownloader` proc or if i can just do it in the `IdResolverProc` (the only place its used) |
09:17:16 | FromDiscord | <PizzaFox> (edit) 'its' => 'it's' |
09:17:37 | FromDiscord | <PizzaFox> i know how to do this in typescript but i'm not familiar with nims syntax |
09:18:30 | FromDiscord | <Vindaar> sent a code paste, see https://play.nim-lang.org/#ix=2xQ4 |
09:18:38 | FromDiscord | <PizzaFox> sick |
09:18:46 | FromDiscord | <PizzaFox> will test it out |
09:19:12 | FromDiscord | <Vindaar> there could still be something wrong here of course, since I didn't try to compile it, but the general idea is fine |
09:19:21 | FromDiscord | <PizzaFox> editor says its legit |
09:19:43 | FromDiscord | <PizzaFox> the nim extension is kinda wacky, you have to save files back and forth until it synchronizes everything properly |
09:20:07 | FromDiscord | <Vindaar> using VSCode? |
09:20:09 | FromDiscord | <PizzaFox> yes |
09:20:17 | FromDiscord | <Vindaar> ok, can't help you there 🙂 |
09:20:19 | FromDiscord | <PizzaFox> also it was wacky because it isnt compiling properly |
09:20:31 | FromDiscord | <PizzaFox> `Error: cannot instantiate: 'newDownloader[InstagramIdKind]'; got 1 type(s) but expected 2` |
09:20:44 | FromDiscord | <Vindaar> oh |
09:20:52 | FromDiscord | <PizzaFox> what is this second type it speaks of |
09:21:03 | FromDiscord | <PizzaFox> we got the one generic and 3 params that have worked prior to this point |
09:21:09 | FromDiscord | <PizzaFox> (edit) 'worked' => '~~worked~~ compiled' |
09:21:15 | FromDiscord | <Vindaar> the `IdResolverProc` argument in the proc signature has to be `IdResolverProc[T]` as well |
09:21:22 | FromDiscord | <PizzaFox> o |
09:21:37 | FromDiscord | <PizzaFox> thats a weird way for it to communicate that |
09:21:45 | FromDiscord | <PizzaFox> haha it compiles now thank you very much |
09:22:18 | * | krux02 joined #nim |
09:22:24 | FromDiscord | <Vindaar> then you don't even have to use the `newDownloader[MyEnum1](...)` syntax and you can just write `newDownloader(...)` since it can be deduced from the argument |
09:22:42 | FromDiscord | <Vindaar> (might not hurt for clarity though!) |
09:22:42 | FromDiscord | <PizzaFox> nim syntax wins again |
09:23:00 | FromDiscord | <PizzaFox> since the Kind is only getting used in that one proc it makes sense to get rid of it imo |
09:23:13 | FromDiscord | <PizzaFox> nim syntax is actually bonkers |
09:24:49 | FromDiscord | <PizzaFox> my buddy was doing super beginner block programming the other day and i showed a snippet of nim code to demonstrate what text programming is like |
09:25:03 | FromDiscord | <PizzaFox> sent a code paste, see https://play.nim-lang.org/#ix=2xQ6 |
09:25:05 | FromDiscord | <PizzaFox> this is like valid english |
09:25:09 | FromDiscord | <Vindaar> hehe, glad you like it! |
09:25:43 | * | femtotones|away quit (Quit: Default Quit Message) |
09:54:54 | FromDiscord | <neow> which language is not text programming? |
09:55:00 | FromDiscord | <neow> oh visual nvm |
09:55:09 | FromDiscord | <neow> those exist as wel |
09:55:12 | FromDiscord | <neow> (edit) 'wel' => 'well' |
09:55:56 | FromDiscord | <Vindaar> LabView 😍 🥰 😘 /s |
10:13:37 | * | idf04 quit (Read error: Connection reset by peer) |
10:16:22 | FromDiscord | <neow> I have never tried any visual programming |
10:16:45 | FromDiscord | <neow> is it a huge chore to navigate the code, or is my assumption wrong |
10:16:56 | FromDiscord | <Vindaar> be happy about it. ime it's clumsy |
10:17:23 | FromDiscord | <Vindaar> not saying that humans aren't technically more visual than whatever "text based" implies |
10:17:39 | FromDiscord | <Vindaar> but _writing code_ is a horrible experience |
10:17:52 | FromDiscord | <neow> yeah, it's that computers are optimized for text editors |
10:18:11 | FromDiscord | <neow> idk, using mice is a pain |
10:18:34 | FromDiscord | <Vindaar> I could imagine a distant future with visual coding becoming a lot more productive, but that will be at a time when the limiting bandwidth between my head and the computer has been alleviated |
10:19:18 | FromDiscord | <neow> if you can type fast the bandwidth is already near the speed of thinking, no? |
10:19:53 | FromDiscord | <Vindaar> is it really though? yes, near the speed of _talking_, but my thinking is way faster than what I can articulate in sentences |
10:21:12 | FromDiscord | <neow> if we really want to go in hypothetical scenarios, for me, maybe it would speed up coding if I instantly saw what I want to write, because I could start thinking about the next line |
10:21:18 | FromDiscord | <neow> it could be interesting |
10:21:45 | FromDiscord | <Vindaar> yeah, that would be a boon already. Well, the next few decades will be interesting for sure 🙂 |
10:22:01 | FromDiscord | <neow> i hope they ban any thought reading tech though |
10:22:09 | FromDiscord | <neow> together with facial/speech recognition |
10:22:27 | FromDiscord | <neow> I don't trust the companies/government enough for this tech to be legal |
10:23:27 | FromDiscord | <Vindaar> this is getting off topic... but I agree to in principle. I still hope we can have fancy tech with privacy in place. Will be hard, but not necessarily impossible |
10:45:42 | * | sagax joined #nim |
10:51:32 | PMunch | neow, well the nice thing with visual programming for beginners is that you don't have to worry about syntax |
10:52:00 | PMunch | It's more about piecing your program together logically than trying to figure out how to type something and which symbols go where |
10:53:11 | PMunch | lik u cn reed tis just fin, but a computer would have no frickin' clue what that sentence was supposed to mean. Visual programming just means you can't type stuff that looks fine to a human but in incomprehensible to the computer |
10:53:21 | FromDiscord | <Vindaar> but you quickly have different problems. things like "oh, in which order does this run now?". and quickly you have so much stuff you need to add as visual building blocks that it's just another syntax to learn |
10:54:26 | PMunch | Oh for sure, much of the complexity is still there. But a misplaced comma is impossible |
10:54:37 | FromDiscord | <Vindaar> true |
10:55:24 | PMunch | And error messages typically won't tell you "you're missing a comma here", because to do that means to understand what the programmer meant to do originally, in which case you could just fix it automatically |
10:55:27 | FromDiscord | <Vindaar> for a certain group of people it is certainly advantageous (thinking young children), but in my experience it just doesn't scale well |
10:55:56 | FromDiscord | <Vindaar> which is related to what I admitted above, that humans are inherently visually focused |
10:56:07 | PMunch | Agreed, it's nice for kids and maybe even simple automation stuff for non-tech people. But for any kind of serious work it's probably not going to be very useful |
11:01:20 | FromDiscord | <Vindaar> yeah |
11:23:48 | * | Vladar joined #nim |
11:25:21 | FromDiscord | <neow> > neow, well the nice thing with visual programming for beginners is that you don't have to worry about syntax↵@PMunch[IRC]#0000 oh, that makes sense, thank you for the in depth explanation :) |
11:25:33 | FromDiscord | <neow> it actually makes perfect sense |
11:28:06 | FromGitter | <alehander92> visual coding can be fine |
11:28:08 | FromGitter | <alehander92> imho |
11:28:12 | FromGitter | <alehander92> but it needs more research |
11:28:20 | FromGitter | <alehander92> and maybe just a ipython-like notebook |
11:28:30 | FromGitter | <alehander92> optional visual coding for just some cases |
11:28:34 | FromGitter | <alehander92> might be more optimal |
11:35:03 | * | superbia1 joined #nim |
11:35:59 | FromDiscord | <neow> i guess also depends on the maturity of the environment, since text-based programming languages have gone a long way to be programmer-friendly |
11:36:15 | FromDiscord | <neow> (edit) 'i guess also depends on the maturity of the environment, since text-based programming languages have gone a long way to be programmer-friendly ... ' => 'i guess also depends on the maturity of the environment, since text-based programming languages have gone a long way to be programmer-friendlyand editors to be code-friendly' |
11:36:33 | FromDiscord | <neow> (edit) 'i guess also depends on the maturity of the environment, since text-based programming languages have gone a long way to be programmer-friendly and ... editorscode-friendly,' => 'i guess also depends on the maturity of the environment, since text-based programming languages have gone a long way to be programmer-friendly andtext' | 'code-friendly' => 'code-friendly, not to talk about IDEs' |
11:36:43 | FromDiscord | <neow> (edit) 'to talk about' => 'even gonna mention' |
11:37:18 | * | superbia quit (Ping timeout: 244 seconds) |
11:38:26 | alehander92 | yeah |
11:38:31 | alehander92 | i mean i am biased |
11:38:58 | alehander92 | because i applied to one similar company |
11:39:14 | alehander92 | but i do think it is possible to have a bit of that |
11:39:22 | alehander92 | even if I like text syntax a lot |
11:40:48 | alehander92 | the luna guys have text and visual repr-s iirc |
11:41:00 | alehander92 | so one can probably use visual for stuff where it actually works fine |
11:41:02 | FromDiscord | <Vindaar> I... just got a compiler crash in the linter, because it tries to go out of bounds in the string `0x7f05eab96ae0"weaveTask_ParallelFor_"`. fun times |
11:41:02 | alehander92 | even if 20% |
11:41:07 | alehander92 | of the cases: maybe this would be ok |
11:41:16 | * | Vladar quit (Remote host closed the connection) |
11:41:29 | alehander92 | (and yeah, learnin gto write text might be better: but this might still use a tree-like ide? |
11:41:30 | alehander92 | ) |
11:41:39 | * | Vladar joined #nim |
11:42:39 | FromDiscord | <neow> > I... just got a compiler crash in the linter, because it tries to go out of bounds in the string `0x7f05eab96ae0"weaveTask_ParallelFor_"`. fun times↵@Vindaar compiler crash :O |
11:43:01 | FromDiscord | <neow> i haven't seen that before, i guess i'm lucky or i haven't programmed in nim long enough |
11:43:16 | FromDiscord | <Vindaar> @neow ah, it happens from time to time. But never seen one in the linter. Typically it's stuff related to generics, static, macros etc |
11:45:48 | * | arecacea1 quit (Remote host closed the connection) |
11:46:13 | * | arecacea1 joined #nim |
11:56:07 | FromDiscord | <Vindaar> ok, the regression got introduced somewhere between 1.2.4 and 1.2.6. Will try to open an issue soon |
12:06:02 | * | supakeen quit (Quit: WeeChat 2.9) |
12:06:42 | * | supakeen joined #nim |
12:07:06 | * | Trustable joined #nim |
12:08:38 | * | rockcavera joined #nim |
12:25:21 | * | D_ quit (Ping timeout: 265 seconds) |
12:32:29 | FromDiscord | <himu> sent a code paste, see https://play.nim-lang.org/#ix=2xRa |
12:32:37 | FromDiscord | <himu> What is the exact error here? |
12:32:59 | PMunch | The signature doesn't match |
12:33:09 | PMunch | sigHandler needs to take a `cint` not an `int` |
12:33:41 | FromDiscord | <himu> @PMunch but what's the solution for the handler? |
12:34:04 | PMunch | Change `a: int` to be `a: cint` in the procedure declaration |
12:34:33 | FromDiscord | <Recruit_main707> or int32 if you will |
12:34:33 | PMunch | Like so: https://play.nim-lang.org/#ix=2xRc |
12:34:41 | PMunch | No, not int32 if you will |
12:35:01 | FromDiscord | <Recruit_main707> cint = int32 |
12:35:06 | PMunch | cint maps to "int" in C, which can be anything from int16 to int64 IIRC |
12:35:20 | PMunch | On Arduino for example it's int16 |
12:36:02 | FromDiscord | <himu> Thanks done. ↵↵One more doubt. What should I use by default? `int64` or `int`. most of the places I use `int` but many standard library functions take in `int64`. I have to cast again and again |
12:36:14 | PMunch | Ah, `int` can only be 16 or 32 bit, not 64 |
12:36:14 | FromDiscord | <himu> I am using x64 machine |
12:36:31 | PMunch | That's a bit strange |
12:36:40 | PMunch | int in Nim is defined to be the same size as a pointer |
12:36:43 | FromDiscord | <Recruit_main707> int == int64 in nim |
12:36:47 | FromDiscord | <Recruit_main707> iirc |
12:36:50 | PMunch | Which on a x64 machine should be int64 |
12:37:10 | PMunch | @Recruit_main707, only on 64 bit machines |
12:37:15 | FromDiscord | <himu> really. i am getting compile time errors saying cast to `int` |
12:37:37 | PMunch | What specifically are you trying to use? |
12:38:00 | PMunch | Nim is pretty strict about types, but I thought the int type would automatically match |
12:39:24 | FromDiscord | <himu> I am using date/duration functions at the moment. |
12:41:22 | FromDiscord | <himu> e.g. `initDuration(seconds = 1).inSeconds()` gives be int64 |
12:44:22 | PMunch | Are you sure you are compiling for 64 bit? |
12:44:24 | PMunch | https://play.nim-lang.org/#ix=2xRg |
12:44:28 | PMunch | This works just fine ^ |
12:46:23 | PMunch | @himu, could you add this snippet to your project and tell me the output? https://play.nim-lang.org/#ix=2xRi |
12:46:45 | PMunch | Preferably in the same project you have issues with, in case it picks up a weird configuration file |
12:49:14 | FromDiscord | <himu> > Are you sure you are compiling for 64 bit?↵@PMunch[IRC]#0000 ↵↵How do i know? my computer is 64-bit. i am on a windows machine |
12:50:17 | FromDiscord | <Recruit_main707> do nim --version |
12:51:18 | FromDiscord | <Recruit_main707> the first line should be:↵`Nim Compiler Version x.x.x [Windows: amd64]`↵if you have 64bit nim |
12:51:27 | * | letto quit (Quit: Konversation terminated!) |
12:51:59 | FromDiscord | <Clyybber> disruptek: Can you give me a refresher on the cps arc issue? |
12:53:29 | * | letto joined #nim |
12:54:06 | PMunch | @himu, just add the things I sent you to your project and tell me what it outputs |
13:13:07 | * | waleee-cl joined #nim |
13:37:03 | FromDiscord | <himu> sent a code paste, see https://play.nim-lang.org/#ix=2xRI |
13:37:31 | FromDiscord | <himu> (edit) 'https://play.nim-lang.org/#ix=2xRI' => 'https://play.nim-lang.org/#ix=2xRJ' |
13:39:50 | * | dgb quit (Quit: WeeChat 2.7.1) |
13:48:20 | * | dgb joined #nim |
13:59:02 | PMunch | Hmm, that looks good though |
13:59:12 | PMunch | int should definitely be the same as int64 |
14:02:03 | FromDiscord | <himu> sent a code paste, see https://play.nim-lang.org/#ix=2xRP |
14:02:35 | FromDiscord | <himu> (edit) 'https://play.nim-lang.org/#ix=2xRP' => 'https://play.nim-lang.org/#ix=2xRQ' |
14:02:50 | * | dgb quit (Quit: WeeChat 2.7.1) |
14:04:26 | FromDiscord | <lqdev> int is not implicitly convertible to int64 because it may be int32 on some architectures |
14:04:28 | FromDiscord | <himu> sent a code paste, see https://play.nim-lang.org/#ix=2xRR |
14:04:47 | FromDiscord | <lqdev> oh wait |
14:04:50 | FromDiscord | <lqdev> it's the other way around |
14:05:48 | FromDiscord | <lqdev> int64 is not implicitly convertible to int because int may be int32 which would be a narrowing conversion |
14:06:01 | FromDiscord | <himu> okay. i got it. `int64` cannot be used for `int`. but `int` can be used for `int64` because architechtures may vary. got it, |
14:06:10 | FromDiscord | <himu> thanks a lot guys. |
14:07:03 | FromDiscord | <lqdev> np |
14:09:24 | FromDiscord | <himu> by the way. nim is an awesome language. I built my first project in nim. ported some javascript project to nim and surprisingly i never felt so comfortable writing a statically compiled language to be so easy to write. ↵↵One complain though. Strict null pointer checks should have been in the language I felt like Kotlin. |
14:09:29 | FromDiscord | <himu> (edit) 'complain' => 'complaint' |
14:11:14 | FromDiscord | <lqdev> @himu https://nim-lang.org/docs/manual.html#types-not-nil-annotation |
14:12:06 | FromDiscord | <neow> oh this is useful |
14:12:35 | FromDiscord | <neow> also, if i did `type nilableint = ref int` it would be nilable, and by default nil, right? |
14:12:43 | alehander92 | himu we're just |
14:12:47 | alehander92 | working on this feature |
14:13:20 | alehander92 | it should work in a similar way if it gets to stable |
14:13:25 | alehander92 | i guess |
14:14:07 | alehander92 | neow the current plan is for nilable by default |
14:14:10 | FromDiscord | <himu> @lqdev I used this and this is an awesome feature. I was talking about things that all `nil`lable ↵A nillable type ***must*** be typechecked before using it otherwise compiler error. That will lessen millions of runtime errors that are to come in future. |
14:14:13 | alehander92 | it would be too big of a change |
14:14:22 | alehander92 | for 1.0 |
14:14:46 | * | dgb joined #nim |
14:14:48 | FromDiscord | <neow> like, for all regular non-pointer int's to be nilable by default, and non-nilable if I mark them not nil? |
14:14:59 | alehander92 | himu yes! |
14:15:06 | alehander92 | that's the checking we're working on |
14:15:10 | alehander92 | it's one of the 2020 goals |
14:15:25 | FromDiscord | <neow> i tried the ref int thing, and that variable was broken, I couldn't assign anything to it... I need to learn more |
14:15:28 | alehander92 | neow yep, for now, you'd need to use `not nil` in the definition |
14:15:46 | alehander92 | but as i said: we're doing a new implementation, and it's not merged yt |
14:15:51 | FromDiscord | <himu> > it's one of the 2020 goals↵@alehander92[IRC]#0000 Wow. That will make nim just about the perfect language for everything. Keep the good work going guys! |
14:16:10 | alehander92 | so i can't really tell you much about the existing one, sorry |
14:16:12 | * | PMunch quit (Quit: Leaving) |
14:16:25 | alehander92 | but assigning non-nilable variables is a bit tricky |
14:16:52 | alehander92 | the goal is to check that all branches before use assign the required fields |
14:16:58 | alehander92 | (or the value) |
14:17:16 | alehander92 | i am not sure how does kotlin deal with that :) |
14:21:27 | alehander92 | if you're really interested, i can give you a branch to play with later this week (it's here now, but it needs some rework right now) |
14:22:13 | FromDiscord | <shad0w> sent a code paste, see https://play.nim-lang.org/#ix=2xRW |
14:22:46 | FromDiscord | <himu> > i am not sure how does kotlin deal with that :)↵@alehander92[IRC]#0000 That's the whole selling point behind Kotlin. It's a tricky implementation though I agree. Even TypeScript to some extent implements this. In Rust, we have the Option type that really does the aforementioned job. |
14:22:54 | FromDiscord | <himu> > if you're really interested, i can give you a branch to play with later this week (it's here now, but it needs some rework right now)↵@alehander92[IRC]#0000 Cool. |
14:23:25 | alehander92 | himu yeah, i've used typescript mostly and i've talked with people about the c# nullable stuff |
14:23:47 | FromDiscord | <mratsim> if you don't use ref, there are no nillable types |
14:23:49 | alehander92 | I think this kind of stuff is becoming kinda mainstream |
14:24:02 | alehander92 | but i kinda changed my opinion about it |
14:24:09 | FromDiscord | <mratsim> also we might get formal verification of non nillability: https://nim-lang.org/docs/drnim.html |
14:24:11 | alehander92 | at one point i thought : Options are it |
14:25:02 | alehander92 | but currently i think refining types to subranges of their possible values |
14:25:08 | alehander92 | might be the better lang design |
14:25:51 | alehander92 | options require so much additional machinery for composition |
14:26:13 | alehander92 | on the other hand this machinery is useful for other sum types |
14:26:31 | FromDiscord | <himu> @alehander42 runtime errors are a drag to handle. Really frustrating at times. nillable and non-nillable types will make things clear to the programmer that (s)he is doing the right thing. |
14:26:40 | alehander92 | himu absolutely! |
14:27:00 | alehander92 | i am talking about non-nil vs Options tho |
14:27:33 | alehander92 | they both lead to compile time detection |
14:27:46 | * | superbia1 quit (Ping timeout: 260 seconds) |
14:27:51 | alehander92 | mratsim i have high hopes for the z3 stuff too |
14:27:53 | FromDiscord | <himu> > i am talking about non-nil vs Options tho↵@alehander92[IRC]#0000 oh. didn't see the option type. cool. |
14:28:09 | alehander92 | it's the approach that functional langs/rust take iirc |
14:28:39 | alehander92 | and yeah: if you don't actually have a pointer, you do need an Option i guess |
14:28:45 | alehander92 | e.g. an atom value |
14:28:51 | FromDiscord | <himu> yeah. true. |
14:29:00 | FromDiscord | <mratsim> Options do the right thing with pointer type anyway, no cost |
14:29:34 | alehander92 | yeah but they do carry some userland cost imo |
14:29:42 | alehander92 | i have to constantly unwrap/pattern match |
14:29:51 | alehander92 | i need to take care when map/chaining stuff on them |
14:30:17 | alehander92 | so if nothing is a possible "extension" of the type |
14:30:26 | alehander92 | like pointers and NULL or seq-s and @[] |
14:31:20 | alehander92 | it can be useful to just keep a subtype of it which is safe |
14:32:06 | FromDiscord | <himu> can this implementation not be done at compile time only? I mean at the end when C is generated, just put everything as it is now. Rather than having it in the compiled C output, have it just as a check. Like TypeScript |
14:32:20 | alehander92 | but typescript also does it on compile time |
14:32:49 | FromDiscord | <himu> Yeah. only compile time check for nilability. |
14:32:55 | alehander92 | yeah, that's the plan |
14:32:57 | FromDiscord | <mratsim> "not nil" does that |
14:33:06 | FromDiscord | <mratsim> and formal verification further down also |
14:33:16 | * | thomasross joined #nim |
14:33:19 | FromDiscord | <mratsim> (i.e. delegating that to a theorem prover) |
14:33:26 | alehander92 | well, just throwing z3 doesn't mean it's "verified" |
14:33:36 | FromDiscord | <mratsim> it is |
14:33:38 | alehander92 | because you need to integrate it with flow info |
14:33:46 | alehander92 | and the existing nim passes |
14:33:52 | alehander92 | and now you need to verify that part |
14:33:58 | alehander92 | z3 just works on what you give to it |
14:34:00 | FromDiscord | <mratsim> Well you have proofs that some situation cannot or have to happen |
14:34:21 | alehander92 | yeah, i was mostly nitpicking :) |
14:34:28 | FromDiscord | <mratsim> this is what I describe here for correct-by-construction programs: https://github.com/nim-lang/RFCs/issues/222 |
14:34:29 | disbot | ➥ Correct-by-construction Nim programs ; snippet at 12https://play.nim-lang.org/#ix=2lbm |
14:35:12 | alehander92 | yeah checks for state machines would be cool |
14:35:20 | alehander92 | i kinda have another idea for that |
14:35:30 | alehander92 | but i should eventually prototype it |
14:35:35 | alehander92 | going for a train, see ya |
14:37:47 | * | superbia1 joined #nim |
14:41:54 | FromGitter | <brentp> I'd like to get my library working with gc:orc/arc. but am hitting this: https://github.com/nim-lang/Nim/issues/14226 that issue was closed, but I don't see how to resolve. Any ideas? |
14:41:56 | disbot | ➥ [ARC] Code with a finaliser and object initialisation doesn't compile ; snippet at 12https://play.nim-lang.org/#ix=2xS2 |
14:42:18 | FromDiscord | <shad0w> sent a code paste, see https://play.nim-lang.org/#ix=2xS3 |
14:42:22 | FromDiscord | <shad0w> does it mean different things ? |
14:42:42 | FromDiscord | <mratsim> no |
14:43:07 | FromDiscord | <mratsim> the symbol aren't the same so beware of the case, that's all |
14:43:19 | FromDiscord | <shad0w> thats quite alright |
14:43:47 | FromDiscord | <shad0w> but the upper case insn't something special in the language or the convention right? |
14:44:05 | FromDiscord | <shad0w> my editor aslo seems to syntax highlight them differently |
14:44:57 | FromDiscord | <shad0w> i know they are just integers in the end, but North vs North doesn't make it some sort of recursive type right? |
14:45:00 | FromDiscord | <haxscramper> Upper case does not mean anything special byt itself, but there is a convention to name types and pure enums uppercase |
14:45:15 | FromDiscord | <shad0w> sorry, kindda used to Haskell types : P |
14:45:50 | FromDiscord | <shad0w> (edit) 'North' => 'north' |
14:46:00 | FromDiscord | <shad0w> (edit) 'North' => '`North`' | 'north' => '`north`' |
14:46:33 | FromDiscord | <shad0w> (edit) 'i know they are just integers in the end, but `North` vs `north` doesn't make it some sort of recursive ... type' => 'i know they are just integers in the end, but `North` vs `north` doesn't make it some sort of recursive/ Nested' |
14:46:34 | FromDiscord | <haxscramper> Due to how identifiers are handler in nim the only actual difference in case is in first character. And for regular enums the convention is to prefix things with enum type name abbreviation, like `dirNorth`, `dirEast` etc. |
14:47:53 | FromDiscord | <shad0w> and it wouldn't allow me use North in there if North was already a separate type right? |
14:48:11 | FromDiscord | <shad0w> (edit) 'North' => '`North`' |
14:48:43 | FromDiscord | <haxscramper> Yes, that would be a redefinition error |
14:49:00 | FromDiscord | <shad0w> sweet. Thanks! |
14:49:20 | FromDiscord | <shad0w> sent a code paste, see https://play.nim-lang.org/#ix=2xS5 |
14:49:25 | FromDiscord | <haxscramper> But if you really want you can use `{.pure.}` on enum and then write `Direction.North` |
14:49:28 | FromDiscord | <shad0w> any idea about this ? |
14:49:40 | FromDiscord | <shad0w> (edit) |
14:49:46 | * | femtotones|away joined #nim |
14:49:58 | FromDiscord | <shad0w> > But if you really want you can use `{.pure.}` on enum and then write `Direction.North`↵@haxscramper interesting. |
14:51:00 | FromDiscord | <haxscramper> About hex - i don't know, probably address, but I'm not sure. |
14:52:38 | FromDiscord | <shad0w> Thanks anyway : ) |
14:54:28 | FromDiscord | <mratsim> I think nimsuggest is burning more CPU than mining crypto .... so annoying |
14:55:15 | FromDiscord | <Gary M> speaking of nimsuggest, I'm trying to learn how to talk to it via sockets |
14:55:25 | FromDiscord | <Gary M> but I'm having a lot of trouble with that |
14:55:52 | FromDiscord | <Gary M> I can start it like `nimsuggest test.nim` but it doesn't bind to any ports |
14:56:34 | FromDiscord | <lqdev> i'm wondering, would it be safe to cast a proc which takes some params to another proc which takes the same number of params, each with the same size, with the same calling convention? |
14:57:04 | FromDiscord | <Gary M> so then I do `nimsuggest --port:6000 test.nim` and that seems to bind it to the port, then I connect a client to that port and try to write `sug test.nim 1:7` which should return something |
14:57:27 | FromDiscord | <Gary M> but I can't get it to respond to anything from the client at all |
14:57:43 | FromDiscord | <lqdev> i'm trying to work around the type system's limitations, i have a `type RootComponent = ref object of RootObj` and a callback `type Callback = proc (comp: var RootComponent)`. could I cast the callback to a `proc (comp: var MyComponent)`, if MyComponent inherits from RootComponent? |
14:57:52 | FromDiscord | <lqdev> i'm thinking it _should_ work |
14:58:00 | FromDiscord | <lqdev> because the params are of the same size |
14:58:08 | FromDiscord | <lqdev> (both are pointers) |
15:01:37 | FromDiscord | <mratsim> you can convert in that case |
15:02:22 | FromDiscord | <mratsim> but if they inherit, at compiletime the compiler cannot decide which proc to call |
15:02:42 | FromDiscord | <mratsim> (well it can if one is instantiated in the same scope as the proc called) |
15:05:38 | FromDiscord | <lqdev> the proc is stored in a field in RootComponent |
15:05:57 | FromDiscord | <djazz> I started using nim-lang/sdl2 and instantly found a bug heh. https://github.com/nim-lang/sdl2/pull/127/files#diff-3d693a667c2d9c67b635128f6c723241L890-R890 |
15:05:58 | disbot | ➥ Fix getNumRenderDrivers |
15:08:37 | FromDiscord | <djazz> maybe I should use Vladar4's sdl2 lib instead |
15:08:52 | FromDiscord | <djazz> seems more up to date |
15:10:21 | FromDiscord | <kodkuce> yo how do you post img on forum |
15:11:03 | FromDiscord | <kodkuce> hmm i just checked my cross compile issue thread, i think maybe this /home/me/.choosenim/toolchains/nim-1.2.6/config/nim.cfg is wrong for void-linx |
15:11:18 | FromDiscord | <kodkuce> https://media.discordapp.net/attachments/371759389889003532/756170416375988234/2020-09-17_170720.png |
15:12:04 | FromDiscord | <kodkuce> tough i uncomented it and put name from my bin but i still can run build on desktop pc like its not compiling proper to arm64 |
15:13:19 | FromDiscord | <kodkuce> right arm64 should not run on x86_64 pc |
15:19:30 | FromDiscord | <kodkuce> i have nothing in bin named genode |
15:21:40 | * | FromDiscord quit (Remote host closed the connection) |
15:21:56 | * | FromDiscord joined #nim |
15:24:33 | FromDiscord | <kodkuce> in default config there is no arm64.linux.gcc.exe = |
15:24:54 | FromDiscord | <kodkuce> only arm.linux.gcc.exe, maybe that is issue? |
15:27:47 | FromDiscord | <kodkuce> what should be a parraler to " arm-linux-gnueabihf-gcc " ? |
15:28:06 | FromDiscord | <kodkuce> https://media.discordapp.net/attachments/371759389889003532/756174648147968070/2020-09-17_172604.png |
15:29:57 | FromDiscord | <kodkuce> duno how linker is named for aarch64 i go google it i guess |
15:31:34 | FromDiscord | <kodkuce> aarch64-linux-gnu-ld but this i not binary file |
15:33:33 | FromDiscord | <kodkuce> guess i can play hit and try cuz google sux |
15:34:45 | FromDiscord | <kodkuce> aarch64-linux-gnu-gcc-ar compiled with no error |
15:34:58 | FromDiscord | <kodkuce> and now i cant run it on desktop witch is good |
15:41:02 | * | hnOsmium0001 joined #nim |
15:41:05 | FromDiscord | <kodkuce> hmm on rpi4 now i get ./et: line 2: syntax error: unexpected newline |
15:41:20 | FromDiscord | <kodkuce> but on pc i get |
15:41:21 | FromDiscord | <kodkuce> ./echotest ↵./echotest: line 1: syntax error near unexpected token `newline'↵./echotest: line 1: `!<arch>' |
15:46:18 | * | kenran quit (Ping timeout: 272 seconds) |
16:01:46 | * | alfabetacain[m] quit (Quit: Idle for 30+ days) |
16:01:59 | * | arecacea1 quit (Remote host closed the connection) |
16:02:01 | alehander92 | "Hi Andreas! How do you feel, Rumpf?" |
16:02:07 | alehander92 | this is a part of the test code |
16:02:19 | * | arecacea1 joined #nim |
16:02:30 | alehander92 | we also have four mentions of `love` in the nim codebase |
16:02:43 | alehander92 | the wonders of full project search when you're a bit lazy |
16:02:43 | * | waleee-cl quit (Quit: Connection closed for inactivity) |
16:04:09 | alehander92 | we have many Python mentions |
16:04:11 | alehander92 | less Perl ones |
16:10:09 | FromDiscord | <kodkuce> sometims i think i should install shbuntu just to stop this pain |
16:11:47 | FromDiscord | <lqdev> arch btw |
16:13:14 | FromGitter | <alehander92> @brentp best to reopen? or open a new issue |
16:13:34 | FromDiscord | <kodkuce> stupid unity runs on ubuntu hassle free too, duno if on arch same |
16:14:25 | FromDiscord | <haxscramper> > the wonders of full project search when you're a bit lazy↵@alehander92[IRC]# Grepped for "fuck" over all nim packages, found this - https://github.com/juancarlospaco/sweetanitify/blob/master/src/sweetanitify.nim#L7 |
16:19:21 | * | lritter joined #nim |
16:42:12 | FromDiscord | <kodkuce> anyone know what to put for arm64.linux.gcc.linkerexe = HERE? |
16:44:07 | FromDiscord | <kodkuce> https://linux.die.net/man/1/aarch64-linux-gnu-ld |
16:44:17 | FromDiscord | <kodkuce> but if i put that it complains |
16:45:42 | FromDiscord | <kodkuce> https://hatebin.com/bbvcpyzgqa |
16:45:55 | FromDiscord | <kodkuce> tough this is gnu i |
16:45:58 | FromDiscord | <kodkuce> (edit) removed 'i' |
16:47:19 | * | D_ joined #nim |
16:48:13 | FromDiscord | <neow> > @alehander92[IRC]# Grepped for "fuck" over all nim packages, found this - https://github.com/juancarlospaco/sweetanitify/blob/master/src/sweetanitify.nim#L7↵@haxscramper hahaha it's technically a compiler |
16:55:05 | * | rockcavera is now known as Guest244 |
16:55:05 | * | tiorock joined #nim |
16:55:05 | * | Guest244 quit (Killed (rothfuss.freenode.net (Nickname regained by services))) |
16:55:05 | * | tiorock is now known as rockcavera |
16:57:09 | * | femtotones|away is now known as femtotones|notaw |
17:02:02 | ehmry | FWIW nixos is overriding the nim.cfg path via an environmental variable, and creating cross-compilers using wrapper scripts |
17:03:01 | FromDiscord | <kodkuce> i want to die |
17:03:19 | FromDiscord | <kodkuce> like i am so close to installing shubuntu now |
17:06:32 | FromDiscord | <shashlick> @kodkuce you can set it to gcc |
17:06:32 | Prestige | what is shubuntu |
17:06:50 | FromDiscord | <shashlick> Same as the exe basically |
17:07:09 | FromDiscord | <shashlick> Unless you want to link with c++ cause you have mixed code |
17:07:14 | FromDiscord | <kodkuce> ubuntu( with poop prefix) |
17:07:24 | alehander92 | dude i dont like this package |
17:07:28 | FromDiscord | <kodkuce> (edit) |
17:07:31 | alehander92 | the whole * words thing is so lame |
17:07:41 | FromDiscord | <kodkuce> @shashlick what |
17:07:46 | FromDiscord | <kodkuce> where i have mixed |
17:07:57 | FromDiscord | <kodkuce> ```↵arm64.linux.gcc.exe = "aarch64-linux-musl-gcc"↵arm64.linux.gcc.linkerexe = "aarch64-linux-musl-ld"↵``` |
17:08:21 | FromDiscord | <kodkuce> nim c -f --cpu:arm64 echotest.nim |
17:08:28 | FromDiscord | <kodkuce> i am running c no cpp |
17:08:32 | FromDiscord | <shashlick> Set both to gcc, don't set to ld |
17:08:52 | FromDiscord | <kodkuce> i tought linker heas to point to some dirent bin |
17:09:47 | FromDiscord | <shashlick> https://github.com/nim-lang/nightlies/blob/master/dx.sh#L44 |
17:10:07 | FromDiscord | <kodkuce> lol ye it builds now |
17:10:12 | FromDiscord | <kodkuce> and works on rpi4 |
17:10:14 | FromDiscord | <shashlick> Don't ask me why but that works |
17:10:35 | FromDiscord | <kodkuce> the doom is kinda ended now just need to test with -d:ssl |
17:11:05 | * | abm quit (Ping timeout: 240 seconds) |
17:12:14 | FromDiscord | <kodkuce> ye i think it works |
17:13:50 | FromDiscord | <kodkuce> @shashlick ty :) |
17:16:10 | FromDiscord | <shashlick> peace |
17:35:04 | * | gmaggior joined #nim |
17:37:39 | * | natrys joined #nim |
17:42:01 | * | kenran joined #nim |
17:47:16 | * | kenran quit (Ping timeout: 272 seconds) |
17:51:45 | * | Trustable quit (Remote host closed the connection) |
18:06:22 | * | waleee-cl joined #nim |
18:08:36 | FromDiscord | <lqdev> are there any other index operators apart from `[]` and `{}`? |
18:23:37 | * | bung_ joined #nim |
18:25:09 | * | bung quit (Ping timeout: 272 seconds) |
18:27:45 | FromDiscord | <Vindaar> as in something that is typically used? |
18:32:00 | FromDiscord | <kodkuce> anywone know like some training app i can self host or phone app, basicly i just want like some todo, with progress monitoring |
18:36:38 | * | Vladar quit (Quit: Leaving) |
18:37:55 | pulux | can someone look on nimdow, a tiling windowmanager: it use startProcess to start applications, but it also forked zombie sh processes |
18:38:18 | pulux | what is the best to fork a process and forget him? |
18:38:25 | FromDiscord | <tomck> Hello! I want to return an optional `lent T`, I would've thought `Option[lent T]` was the way to go here, but 'lent' is invalid in this context (as a type parameter, i think)↵↵What's the way to go about this? |
18:40:12 | FromDiscord | <Vindaar> I'm not really into this whole `lent` etc business yet, but I would assume it would be `lent Option[T]` |
18:40:12 | FromDiscord | <tomck> I mean.. should i just use a pointer? |
18:40:30 | FromDiscord | <tomck> No, since that 'lends' the option, which is a stack value i'm constructing |
18:40:51 | FromDiscord | <tomck> I think a pointer is the way to go here actually... mb |
18:43:53 | * | Zectbumo joined #nim |
18:47:26 | * | bung_ quit (Ping timeout: 272 seconds) |
18:51:44 | * | bung joined #nim |
18:52:31 | * | tiorock joined #nim |
18:52:31 | * | tiorock quit (Changing host) |
18:52:31 | * | tiorock joined #nim |
18:52:31 | * | rockcavera is now known as Guest20249 |
18:52:31 | * | tiorock is now known as rockcavera |
18:53:39 | pulux | what is the best to fork a process and forget him?, nimdow use: "discard startProcess(command = cmd, options = { poEvalCommand })" |
18:56:18 | * | Guest20249 quit (Ping timeout: 272 seconds) |
18:56:49 | * | bung quit (Ping timeout: 272 seconds) |
18:57:18 | * | bung joined #nim |
19:02:46 | FromDiscord | <djazz> hmm, is raspberry pi not supported by choosenim? `Error: Sorry, your platform (linux_arm) is not supported by choosenim.` |
19:03:05 | FromDiscord | <dom96> it is not |
19:03:24 | FromDiscord | <djazz> how do i compile it then? pretty sure i've seen choosenim compile it in the past |
19:03:54 | FromDiscord | <dom96> https://github.com/nim-lang/Nim#compiling |
19:04:24 | FromDiscord | <djazz> yes, but can't choosenim do that as fallback? |
19:04:44 | FromDiscord | <djazz> pretty sure i've used nim before on a pi... |
19:04:48 | FromDiscord | <dom96> yes, but there are no choosenim releases for arm |
19:04:53 | FromDiscord | <shashlick> there's just no precompiled binary |
19:05:05 | FromDiscord | <shashlick> @elijahr was working on it |
19:06:19 | * | bung quit (Ping timeout: 260 seconds) |
19:07:07 | FromDiscord | <dom96> afaik there isn't much of a blocker, just need CI to build choosenim for us, right? |
19:07:28 | FromDiscord | <shashlick> ya |
19:07:47 | FromDiscord | <shashlick> there were some code changes too in the init script but the PR covered that too |
19:07:49 | FromDiscord | <shashlick> and few other things |
19:08:13 | FromDiscord | <djazz> an option to compile nim when using choosenim would be nice, for unsupported platforms |
19:08:23 | FromDiscord | <shashlick> https://github.com/dom96/choosenim/pull/215 |
19:08:24 | disbot | ➥ Support arm64 and powerpc64el |
19:08:35 | FromDiscord | <shashlick> @djazz - if you have a compiled choosenim binary, it will work per usual |
19:08:40 | FromDiscord | <shashlick> it will compile the binaries for you |
19:08:48 | * | bung joined #nim |
19:08:55 | FromDiscord | <djazz> ah right, choosenim itself is a nim program |
19:10:18 | FromDiscord | <djazz> @shashlick that's not for armv7l/armhf though |
19:10:30 | FromDiscord | <djazz> compiling nim manually now ^^ |
19:10:41 | FromDiscord | <shashlick> just use a nightlies build |
19:11:28 | FromDiscord | <shashlick> https://github.com/nim-lang/nightlies/releases/ |
19:17:37 | * | bung quit (Ping timeout: 264 seconds) |
19:23:08 | * | bung joined #nim |
19:27:50 | * | bung quit (Ping timeout: 260 seconds) |
19:32:22 | * | abm joined #nim |
19:33:51 | * | bung joined #nim |
19:38:44 | * | bung quit (Ping timeout: 272 seconds) |
19:39:48 | * | bung joined #nim |
19:42:58 | * | kenran joined #nim |
19:44:31 | * | tiorock joined #nim |
19:47:54 | * | kenran quit (Ping timeout: 260 seconds) |
19:48:14 | * | rockcavera quit (Ping timeout: 272 seconds) |
19:51:34 | * | bung quit (Ping timeout: 256 seconds) |
19:51:58 | * | vsantana joined #nim |
19:52:48 | * | marcpm joined #nim |
19:58:51 | * | bung joined #nim |
19:59:05 | FromDiscord | <reilly> Would anyone happen to be knowledgeable on Dimscord? |
19:59:22 | * | Jesin quit (Quit: Leaving) |
19:59:30 | FromDiscord | <IanIAnIAN> About dim? |
20:00:04 | FromDiscord | <shashlick> Even I was looking yesterday to convert my slack bot into a discord bot |
20:01:01 | FromDiscord | <shashlick> Got turned off, too much work - am simply using matterbridge to cross post from slack to discord for now |
20:01:32 | FromDiscord | <shashlick> I just want rss and github notifications in discord, is that too much to ask |
20:02:55 | * | natrys quit (Quit: natrys) |
20:03:57 | * | bung quit (Ping timeout: 272 seconds) |
20:05:16 | FromDiscord | <reilly> At the moment I just need to know how I would send a message in a specific text channel, since the way it'd be done in Dimscord doesn't appear to be the same as other language's API. |
20:06:00 | FromDiscord | <lqdev> cc @krisppurg |
20:06:11 | FromDiscord | <reilly> Closest thing I've found is the `getGuildChannel()` procedure, but that calls for a `RestApi` object that I have no idea how to get. |
20:06:55 | FromDiscord | <shashlick> You'd think discord had a simple way to do it |
20:07:11 | FromDiscord | <shashlick> You can create a web hook for that channel to make it easy |
20:07:39 | FromDiscord | <shashlick> But slack has one api call to post to any channel instead of some complex channel id and what not |
20:07:42 | * | bung joined #nim |
20:08:05 | FromDiscord | <shashlick> I could just use http to post |
20:14:19 | alehander92 | wow so many people |
20:14:21 | alehander92 | write bots |
20:15:43 | * | bung quit (Ping timeout: 260 seconds) |
20:17:48 | * | bung joined #nim |
20:19:22 | FromDiscord | <Avatarfighter> Bots are so fun to write alehander |
20:20:01 | alehander92 | maybe |
20:20:13 | FromDiscord | <Avatarfighter> Its true you should try |
20:20:16 | alehander92 | i did |
20:20:21 | alehander92 | back then, in elixir |
20:20:30 | alehander92 | but for messenger iirc |
20:20:31 | FromDiscord | <Avatarfighter> Way back when 😛 |
20:20:38 | alehander92 | euro 2016 |
20:20:52 | alehander92 | but not much more xp with that |
20:21:03 | alehander92 | if one has a cool idea , it can be surely fun |
20:21:08 | FromDiscord | <Avatarfighter> yeah |
20:21:16 | FromDiscord | <Avatarfighter> it also matters what your writing a bot for too imo |
20:21:44 | alehander92 | yeah i have no good idea of discord/slack capabilities |
20:21:49 | alehander92 | in bot stuff |
20:21:51 | FromDiscord | <Avatarfighter> Bots for messengers are cool and can be complex |
20:22:02 | FromDiscord | <Avatarfighter> I know for discord some people have some really cool ones |
20:22:10 | alehander92 | what are the coolest! |
20:22:26 | * | bung quit (Ping timeout: 260 seconds) |
20:22:54 | FromDiscord | <Avatarfighter> In my opinion, I think the coolest are the ones that are all in one |
20:23:11 | FromDiscord | <Avatarfighter> The ones that do moderation, music, fun features, etc |
20:23:13 | * | bung joined #nim |
20:24:16 | FromDiscord | <shashlick> my irc <-> slack bot was to bridge irc DMs into slack |
20:24:30 | FromDiscord | <Avatarfighter> that's sick |
20:25:01 | * | superbia1 is now known as superbia |
20:26:13 | * | narimiran quit (Ping timeout: 260 seconds) |
20:26:54 | * | lritter quit (Quit: Leaving) |
20:27:12 | alehander92 | cool! |
20:27:25 | alehander92 | yeah i also like applying other software's usages inside |
20:27:29 | alehander92 | like making it a music player |
20:27:37 | alehander92 | probably not always practical but interesting |
20:27:45 | FromDiscord | <Avatarfighter> alehander you could also make a sick bot for games if utility bots aren't your thing |
20:27:55 | FromDiscord | <shashlick> https://github.com/genotrance/bot - written in nim but is a bit round about |
20:27:58 | alehander92 | no i prefer chat bots |
20:28:04 | alehander92 | i am not such a game guy |
20:28:12 | * | bung quit (Ping timeout: 265 seconds) |
20:28:30 | FromDiscord | <Avatarfighter> Oh wait shashlick your genotrance on github? |
20:28:41 | FromDiscord | <shashlick> == |
20:28:45 | FromDiscord | <Avatarfighter> ohhhh |
20:28:48 | * | bung joined #nim |
20:28:59 | * | a_chou joined #nim |
20:29:14 | FromDiscord | <Avatarfighter> can't wait for plugins to support ARC/ORC 😛 |
20:29:30 | FromDiscord | <shashlick> it doesn't pass tests |
20:29:33 | FromDiscord | <Avatarfighter> ik 😦 |
20:29:46 | FromDiscord | <Avatarfighter> What did you say was the issue in the issue I had opened, that the memory didn't play nice? |
20:30:18 | FromDiscord | <shashlick> https://github.com/nim-lang/Nim/issues/15202 |
20:30:20 | disbot | ➥ --gc:arc segfaults if dll modifies object owned by main executable ; snippet at 12https://play.nim-lang.org/#ix=2xUj |
20:30:25 | * | a_chou quit (Remote host closed the connection) |
20:30:41 | FromDiscord | <Avatarfighter> Oh yeah |
20:30:46 | FromDiscord | <Avatarfighter> that's so weird tbh |
20:34:52 | FromDiscord | <krisppurg> @reilly you can ask in the discord api server or the guild |
20:35:51 | FromDiscord | <krisppurg> ```nim↵↵discord.api.sendMessage("CHAN ID", "CONTENT")``` |
20:37:48 | FromDiscord | <reilly> I had actually just figured it out myself, but thank you. |
20:37:56 | FromDiscord | <krisppurg> your welcome. |
20:38:08 | FromDiscord | <krisppurg> (edit) 'your' => 'you're' |
20:39:31 | FromDiscord | <shashlick> @krispurg - is there a simple way to connect and send a message to a discord channel by name |
20:39:40 | FromDiscord | <shashlick> without knowing chan ID |
20:40:14 | FromDiscord | <shashlick> (edit) '@krispurg' => '@krisppurg' |
20:40:21 | * | Jesin joined #nim |
20:42:14 | FromDiscord | <Avatarfighter> You could use getGuildChannels? |
20:42:25 | FromDiscord | <Nisha (LGBTQ+)> Iirc there's a function that lets you get a channel object by name |
20:42:44 | FromDiscord | <Nisha (LGBTQ+)> But that could be my Discord.py knowledge from the past coming back to haunt me- |
20:42:53 | FromDiscord | <Avatarfighter> i don't see that in dimscord |
20:43:01 | FromDiscord | <Avatarfighter> I swear there is but its prob discord.py lol |
20:43:12 | FromDiscord | <Nisha (LGBTQ+)> There is in d.py xD |
20:43:23 | FromDiscord | <Nisha (LGBTQ+)> This should probably be added to dimscord though |
20:43:29 | FromDiscord | <Nisha (LGBTQ+)> ~dimscord |
20:43:29 | disbot | no footnotes for `dimscord`. 🙁 |
20:43:34 | FromDiscord | <Nisha (LGBTQ+)> Oof |
20:43:56 | FromDiscord | <Elegant Beef> !repo dimscord |
20:43:58 | disbot | https://github.com/krisppurg/dimscord -- 9dimscord: 11A Discord Bot & REST Library for Nim. 15 37⭐ 5🍴 7& 2 more... |
20:44:04 | FromDiscord | <Elegant Beef> Is that what you wanted? |
20:44:05 | FromDiscord | <Nisha (LGBTQ+)> Would it be a bannable offence to make a note for `dimscord`, which sends the invite for the Dimscord discord server?- |
20:44:16 | FromDiscord | <Nisha (LGBTQ+)> Kinda :P |
20:44:17 | FromDiscord | <Avatarfighter> Shashlick, just do `getGuildChannels` and then iterate through the channels and check if the channel.name is the one you're looking for |
20:45:19 | FromDiscord | <Clyybber> @Nisha (LGBTQ+) No, of course not |
20:45:44 | FromDiscord | <Nisha (LGBTQ+)> Thanks, just wanted to double check :P |
20:46:41 | alehander92 | Nisha what is Q |
20:46:58 | FromDiscord | <Nisha (LGBTQ+)> I don't even have the discord server for Dimscord- |
20:46:59 | FromDiscord | <Elegant Beef> A letter |
20:47:05 | FromDiscord | <Nisha (LGBTQ+)> Q is for Queer |
20:47:06 | FromDiscord | <Nisha (LGBTQ+)> :P |
20:49:39 | FromDiscord | <Avatarfighter> I actually didn't know that, that's neat |
20:50:06 | alehander92 | yeah i read the wiki article now |
20:50:15 | alehander92 | i thought it's an ironic remark about all the letters |
21:04:56 | FromDiscord | <krisppurg> No idea how did I miss a ping |
21:05:38 | FromDiscord | <krisppurg> @Avatarfighter you can use m.channel_id in message_create |
21:05:54 | FromDiscord | <krisppurg> Or unless get a channel by cache |
21:06:16 | FromDiscord | <krisppurg> ```nim↵s.cache.guildChannels[""]``` |
21:06:31 | FromDiscord | <Avatarfighter> that's smart I didn't think about the cache |
21:07:18 | FromDiscord | <krisppurg> just dont rely more on REST api sometimes, because of ratelimits although the lib handles it well. |
21:07:58 | FromDiscord | <krisppurg> plus some slowness (which in cache you can get it much faster). |
21:10:27 | * | Kaivo quit (Ping timeout: 272 seconds) |
21:12:01 | FromDiscord | <Avatarfighter> Yeah I know the ratelimits happen really easily, I just assumed that the bot that is being made wouldn't query the api too often so it could get away with using the REST api |
21:12:36 | * | Kaivo joined #nim |
21:12:57 | FromDiscord | <krisppurg> I see |
21:17:21 | * | tiorock is now known as rockcavera |
21:17:22 | * | rockcavera quit (Changing host) |
21:17:22 | * | rockcavera joined #nim |
21:30:05 | * | kinkinkijkin quit (Read error: Connection reset by peer) |
21:30:27 | * | kinkinkijkin joined #nim |
21:33:20 | * | bung quit (Ping timeout: 256 seconds) |
21:34:02 | * | solitudesf quit (Ping timeout: 258 seconds) |
21:35:18 | * | bung joined #nim |
21:39:54 | * | bung quit (Ping timeout: 260 seconds) |
21:43:46 | * | kenran joined #nim |
21:44:48 | * | bung joined #nim |
21:49:12 | * | kenran quit (Ping timeout: 272 seconds) |
21:49:42 | * | bung quit (Ping timeout: 260 seconds) |
21:52:54 | * | bung joined #nim |
21:58:24 | * | bung quit (Ping timeout: 260 seconds) |
21:59:34 | FromDiscord | <shashlick> Good you're on here - will port my bot to discord and let you know if any issues |
21:59:45 | FromDiscord | <himu> basic question. how to install a package in a directory? |
22:00:02 | FromDiscord | <himu> (edit) 'directory?' => 'nimble project?' |
22:00:26 | * | bung joined #nim |
22:00:52 | * | arecacea1 quit (Remote host closed the connection) |
22:01:38 | * | arecacea1 joined #nim |
22:01:51 | FromDiscord | <Elegant Beef> Inside the `.nimble` add `requires "packageName"` |
22:02:11 | FromDiscord | <Elegant Beef> https://github.com/nim-lang/nimble#creating-packages |
22:02:28 | * | marcpm quit (Quit: Connection closed for inactivity) |
22:04:10 | FromDiscord | <himu> thanks. |
22:05:33 | * | bung quit (Ping timeout: 272 seconds) |
22:11:56 | * | bung joined #nim |
22:16:57 | * | bung quit (Ping timeout: 272 seconds) |
22:26:16 | * | bung joined #nim |
22:49:27 | Prestige | How should I go about waiting for processes to end before I try closing them? I need to let them run async until they have finished |
22:53:42 | Prestige | Atm I'm using startProcess with poEvalCommand (which works) but I've no idea how to fork and stop the process |
22:56:29 | * | abm quit (Read error: Connection reset by peer) |
22:59:44 | * | lritter joined #nim |
23:01:02 | * | NimBot joined #nim |
23:01:07 | FromDiscord | <Avatarfighter> Oh you said async |
23:01:38 | FromDiscord | <Rika> look into osproc or so |
23:01:56 | FromDiscord | <Avatarfighter> You could do `Process.peekExitCode()` in a loop and when the process has the code you're looking for close it? |
23:03:15 | Prestige | Hmm I suppose that's an option... Sucks it can't just die on its own |
23:04:03 | FromDiscord | <Avatarfighter> yeah |
23:04:29 | FromDiscord | <Avatarfighter> I wonder if you could make a proc that returns waitForExit as a future lol |
23:07:39 | Prestige | sounds reasonable |
23:11:26 | Prestige | although with async I need to poll in a loop, which is also annoying |
23:18:01 | Prestige | I wonder if other window managers written in C have to deal with this, or what they do |
23:26:50 | FromDiscord | <Elegant Beef> Are you using XCB? |
23:29:13 | FromDiscord | <Elegant Beef> If you arent, there is your problem Xlib is a bitch to multithread/async, XCB intentionally makes it friendlier to do |
23:29:46 | FromDiscord | <Elegant Beef> Guess i should, Prestige ^ |
23:31:01 | Prestige | Yeah xlib. I mean I can do it (I have a loop processing x events), just annoying to have to poll futures |
23:34:49 | FromDiscord | <Elegant Beef> I imagine moving to xcb would make the async stuff ncier |
23:35:24 | Prestige | How so? I think I'm just annoyed with the nature of nim's async system |
23:36:40 | FromDiscord | <Elegant Beef> Well no clue, dont know the issue you have really. I havent touched async anywhere really |
23:38:09 | FromDiscord | <Rika> what's wrong with nim's async system |
23:38:13 | Prestige | maybe there's a nicer way to deal with async I havent found |
23:40:13 | FromDiscord | <Elegant Beef> Well describing your issue may provide just that 😛 |
23:41:10 | Prestige | @Rika basically I want to run a process async, and once it completes I want to close the process. Not sure how to do it cleanly |
23:42:29 | FromDiscord | <Elegant Beef> Does startProcess do just that |
23:42:51 | FromDiscord | <Elegant Beef> Oh nevermind you need to close the process |
23:43:00 | FromDiscord | <Elegant Beef> *Doesnt arc handle that automagically?* |
23:44:40 | * | kenran joined #nim |
23:47:24 | FromDiscord | <Elegant Beef> Ah guess not, i'm dumb |
23:47:42 | FromDiscord | <Elegant Beef> Prestige can i see how you're currently handling it? |
23:48:40 | Prestige | Lol atm I'm just discarding the startProcess so I have zombie processes. I think I need to store futures for all the processes in a seq and poll them all in my event loop but I'm not sure |
23:49:21 | FromDiscord | <Elegant Beef> You could just add the processes to a sequence then in your main loop check if any are done, if so close them and carry one |
23:49:28 | FromDiscord | <Elegant Beef> (edit) 'one' => 'on' |
23:49:41 | FromDiscord | <Elegant Beef> Or could use async, however the fuck that works 😄 |
23:49:49 | * | kenran quit (Ping timeout: 260 seconds) |
23:50:02 | Prestige | I think I'd have to do the same for async |
23:50:07 | Prestige | which is annoying |
23:50:28 | FromDiscord | <Elegant Beef> Couldnt you just make an async which waits for a ms checks if the process is ended, then close it? |
23:50:44 | Prestige | ms? |
23:50:52 | FromDiscord | <Elegant Beef> millisecond |
23:51:25 | Prestige | uh idk why I'd be waiting for any time |
23:51:54 | FromDiscord | <Elegant Beef> I guess you could just do a `while proc.status == x` but that takes more computation i'd imagine, |
23:52:16 | FromDiscord | <Elegant Beef> The waiting is to delay the check so you dont endlessly pin it |
23:52:21 | Prestige | the user could start a browser with a key binding for example, and after they close their browser I need to close the process |
23:52:51 | Prestige | Hm yeah but I'd still have to poll all the futures in my event loop afaik |
23:53:04 | Prestige | Just hoping there's a cleaner way |
23:54:04 | FromDiscord | <Elegant Beef> Well if the asyncs procs are a while loop with an internal delay, why would you have to poll the futures? |
23:54:40 | Prestige | Idk, thought I have to |
23:54:58 | FromDiscord | <Elegant Beef> Well i havent used nim's async so i could possibly be speaking out my ass |
23:55:18 | Prestige | same I haven't figured out how nim does it |
23:55:26 | Prestige | I wish the examples were more verbose |
23:55:40 | FromDiscord | <Elegant Beef> there is runForever |
23:55:57 | Prestige | yeah but that blocks |
23:56:46 | FromDiscord | <Elegant Beef> I need to toy with async a bit |
23:58:43 | Prestige | if the code in an invoked async proc automatically runs, this will be fine. I'll try testing it out |