00:05:16 | FromDiscord | <Yardanico> it doesn't feel that way for me :) |
00:05:23 | FromDiscord | <Yardanico> but yeah, it's nice that it supports go-to definition locally |
00:05:41 | * | arecacea1 quit (Remote host closed the connection) |
00:06:09 | * | arecacea1 joined #nim |
00:28:12 | leorize[m]1 | avatarfighter: use nim.nvim :p |
00:29:37 | FromDiscord | <ElegantBeef> It really needs renamed to `N(im)vim` 😛 |
00:31:20 | * | TomDotTom joined #nim |
00:31:23 | avatarfighter[m] | ewww vim |
00:31:55 | * | krux02 quit (Remote host closed the connection) |
00:32:23 | FromDiscord | <Yardanico> ban |
00:41:27 | FromGitter | <gogolxdong> Does stdlib have sha256? |
00:42:21 | FromDiscord | <ElegantBeef> Seems it only has sha1 |
00:43:50 | FromGitter | <gogolxdong> I think sha1 has been deprecated in industry. |
00:45:24 | FromDiscord | <ElegantBeef> Yea it's sha160 |
00:45:46 | FromDiscord | <ElegantBeef> https://nimble.directory/pkg/nimsha2 does implement shad256 |
00:45:50 | FromDiscord | <ElegantBeef> sha 😄 |
00:48:08 | FromGitter | <gogolxdong> There are some sha2 libraries in nimble. Hard to know which to use, though used nimsha2, thanks for your guide! |
00:48:37 | disruptek | see what i did there |
00:48:47 | disruptek | !repo sigv4 |
00:48:47 | disbot | https://github.com/disruptek/sigv4 -- 9sigv4: 11Amazon Web Services Signature Version 4 15 4⭐ 1🍴 |
00:48:57 | disruptek | omg its amazing |
00:49:07 | disruptek | its like the scooby doo of sha |
00:49:52 | FromDiscord | <Gyllou> merp i post a question over in science about nim threads on android, if thats something you know about please hit me up |
00:50:24 | FromDiscord | <Gyllou> trying write multiprocess code with an arm/android target |
00:50:26 | leorize[m]1 | @gogolxdong if you want sha2 you should use nimcrypto |
00:50:37 | disruptek | dude |
00:50:56 | disruptek | you can get by with nimsha2 if you're not a child. |
00:50:59 | leorize[m]1 | nimcrypto is audited, why not? |
00:51:12 | disruptek | wait, how old are you? |
00:52:18 | disruptek | are you flirting with me? |
00:52:29 | disruptek | i am too old for you, steve. |
00:54:07 | disruptek | STEVE |
00:54:13 | disruptek | NO MEANS NO |
00:55:28 | FromDiscord | <scott> what the hell are you even on about disruptek, there is no steve here |
00:55:50 | leorize[m]1 | ~disruptek |
00:55:52 | disbot | disruptek: 11a sexy fella with magic hands. |
00:55:52 | disbot | disruptek: 11:disruptek: |
00:55:52 | disbot | disruptek: 11an unsafe nil deref |
00:55:52 | disruptek | listen, i don't know how to say this... |
00:56:14 | disruptek | but hamburger isn't my favorite extruded food. |
00:56:44 | disruptek | it just isn't, okay? |
00:57:20 | disruptek | everyone has their secrets... |
00:58:31 | * | abm quit (Read error: Connection reset by peer) |
01:02:10 | disruptek | hold on, they want me to say something to the fans. |
01:02:35 | disruptek | i'll be back in 3.5mins. don't go anywhere. |
01:05:18 | FromDiscord | <Yardanico> @scott don't worry, he's just high from time to time |
01:05:20 | FromDiscord | <Yardanico> it's normal :) |
01:05:48 | FromDiscord | <Yardanico> btw in just 150 lines with karax + jester + other stdlib stuff you can make this: |
01:05:55 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/768641249208041523/unknown.png |
01:06:05 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/768641289359982622/unknown.png |
01:06:30 | FromDiscord | <Yardanico> placeholder because nimforum actually has a bug - it doesn't return the correct author in the json request to the threads list |
01:07:10 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/768641563895005205/unknown.png |
01:07:15 | FromDiscord | <Yardanico> just getting accustomed to clion a bit |
01:07:30 | FromDiscord | <ElegantBeef> Does anything special have to be done to get a macro to work with `push`? |
01:07:39 | FromDiscord | <Yardanico> i don't think so? |
01:07:51 | FromDiscord | <Yardanico> push just applies macro to everything between push/pop |
01:09:28 | FromDiscord | <ElegantBeef> https://play.nim-lang.org/#ix=2Bz6 |
01:09:34 | FromDiscord | <ElegantBeef> What am i doing wrong? 😄 |
01:09:45 | disruptek | very special beef. |
01:09:58 | FromDiscord | <ElegantBeef> I am but that's besides the point mom |
01:10:24 | disruptek | ps. dad needs changing. do you mind? |
01:10:45 | disruptek | and do a good job down there. |
01:11:03 | * | manjaroi3_ joined #nim |
01:12:09 | * | TomDotTom quit (Ping timeout: 256 seconds) |
01:13:32 | * | manjaroi3_ is now known as TomDotTom |
01:14:52 | FromDiscord | <ElegantBeef> Sometimes i wish i could unread things |
01:17:40 | disruptek | i can take your breath but i can't take your sight. |
01:17:53 | disruptek | well, i can, but the rate goes up. |
01:18:14 | FromDiscord | <exelotl> I think disruptek is just clairvoyant. Its like he's channeling a vision of someone's future |
01:18:27 | FromDiscord | <exelotl> Even the ugly parts |
01:18:37 | FromDiscord | <ElegantBeef> If anyone's future involves disruptek i feel sorry for them 😄 |
01:18:49 | disruptek | all the parts are ugly. |
01:19:03 | FromDiscord | <ElegantBeef> Got too close to the blender eh? |
01:19:47 | disruptek | it says vacu-jack right on the tin. |
01:21:39 | * | Tanger joined #nim |
01:26:06 | disruptek | beef i had a dream you were snoring and i sneezed in your open mouth. |
01:26:14 | avatarfighter[m] | LOL |
01:26:15 | disruptek | twice. |
01:26:21 | * | apahl quit (Ping timeout: 246 seconds) |
01:26:22 | disruptek | i'm sorry. |
01:26:34 | avatarfighter[m] | hey disruptek should i tell the dude that we want to do his project |
01:27:01 | disruptek | on the plus side, you looked so peaceful while you were sleeping. |
01:27:30 | FromDiscord | <Avatarfighter> Beef how do you feel |
01:27:58 | FromDiscord | <ElegantBeef> I feel a litle lost in this macro 😄 |
01:28:12 | FromDiscord | <Avatarfighter> Unfortunate |
01:28:25 | FromDiscord | <Avatarfighter> disruptek: did you block matrix messages? |
01:28:28 | * | apahl joined #nim |
01:28:48 | disruptek | i don't even know matrix. |
01:28:56 | FromDiscord | <Avatarfighter> 😐 |
01:29:15 | * | Avatarfighter joined #nim |
01:29:31 | Avatarfighter | always a bit iffy ya dig |
01:29:32 | disruptek | well, i had a guinea pig named matrix but i crushed his head in the door of the fridge. |
01:31:48 | disruptek | i'm not attracted to pigs. |
01:32:01 | disruptek | they're attracted to me. |
01:32:05 | FromDiscord | <Avatarfighter> 😐 |
01:32:35 | disruptek | fighter tell your mate you need cashish before you do any work. |
01:33:37 | disruptek | https://github.com/disruptek/golden/issues/20 shashlick ftw |
01:33:39 | * | Avatarfighter1 joined #nim |
01:33:40 | disbot | ➥ Can't install with nimble ; snippet at 12https://play.nim-lang.org/#ix=2Bz8 |
01:33:40 | * | Avatarfighter1 quit (Client Quit) |
01:34:37 | avatarfighter[m] | disruptek: he pays after + % of sales is that fine or naw |
01:35:07 | * | Avatarfighter quit (Ping timeout: 260 seconds) |
01:35:09 | disruptek | are you nuts? |
01:35:36 | FromDiscord | <Avatarfighter> no? lol |
01:37:31 | disruptek | are you sure? |
01:37:47 | ForumUpdaterBot | New thread by Niminem: What Nim projects are you working on?, see https://forum.nim-lang.org/t/6971 |
01:37:52 | avatarfighter[m] | I'm asking smh |
01:38:13 | disruptek | i was kidding about killing matrix with the fridge door. |
01:38:37 | disruptek | you knew that, right? |
01:38:45 | disruptek | i could never kill a pig. |
01:38:49 | avatarfighter[m] | i assumed |
01:38:49 | disruptek | even a guinea pig. |
01:39:18 | avatarfighter[m] | do dms work matrix -> irc? |
01:39:30 | disruptek | i don't know why you think i'm evil. |
01:40:01 | FromDiscord | <Avatarfighter> did the dms send? |
01:40:08 | disruptek | actually, i let bentley chase matrix around the yard and i filmed it. |
01:40:29 | disruptek | well, it wasn't as long a video as i expected and i accidentally forgot to take it off portrait mode. |
01:40:44 | disruptek | i did post it though. |
01:40:51 | disruptek | https://www.youtube.com/watch?v=dQw4w9WgXcQ |
01:41:01 | FromDiscord | <Avatarfighter> you let someone in a Bentley chase Yardanico?? |
01:41:12 | Yardanico | ? |
01:41:28 | FromDiscord | <Avatarfighter> disruptek let bentley chase around yard |
01:41:29 | disruptek | no, bentley doesn't like fat people. |
01:41:30 | FromDiscord | <Avatarfighter> 😛 |
01:41:51 | FromDiscord | <Avatarfighter> disruptek can u hop on ur discord account and communicate with the guy please |
01:42:07 | disruptek | is now a good time? |
01:42:37 | FromDiscord | <Avatarfighter> better now than never 😄 |
01:42:58 | disruptek | how do i get to where i was last night? |
01:45:40 | * | casaca joined #nim |
01:46:22 | disruptek | beef: can i ask you something? |
01:46:57 | disruptek | i promise i won't bring up your fetish on irc. |
01:47:12 | FromDiscord | <Yardanico> @disruptek see a problem - discord adds previews to youtube videos automatically |
01:47:15 | FromDiscord | <Yardanico> and I remember that URL anyway |
01:47:28 | disruptek | you what? |
01:47:41 | disruptek | hey yardanico. |
01:47:45 | disruptek | riddle me this: |
01:47:50 | disruptek | how do you spell erstwhile? |
01:48:03 | disruptek | oh shit nevermind. |
01:50:02 | disruptek | the thing about guinea pigs is their name is what we call a MISNOMER. |
01:50:23 | disruptek | believe me, i've tried. you can't get mini bacon out of 'em. |
01:50:31 | disruptek | i mean, you can, but it takes a lot of work. |
01:50:43 | disruptek | it's not what we call EFFICIENT. |
01:51:42 | FromDiscord | <Yardanico> just copied nimforum's css and made a very minimal (tm) static html frontend which just queries nimforum JSON API in the back https://media.discordapp.net/attachments/371759389889003532/768652770202222612/unknown.png |
01:52:02 | disruptek | will you do me a favor? |
01:52:53 | FromDiscord | <Yardanico> what favour? |
01:53:25 | disruptek | i want a static site generator for nim docs. |
01:54:01 | disruptek | it should consume rst and generate something a little slicker than what's probable in nim. |
01:54:18 | disruptek | i don't give a fuck what it's written in as long as it's python. |
01:54:25 | FromDiscord | <Yardanico> i suck at web design |
01:54:49 | FromDiscord | <Yardanico> but there were some other versions of nim doc generators already, no? |
01:54:54 | disruptek | that's why you use someone else's work. |
01:56:10 | disruptek | this is what i have in mind: |
01:56:13 | FromDiscord | <Avatarfighter> as long as its python you say 😛 |
01:56:13 | disruptek | https://github.com/squidfunk/mkdocs-material |
01:56:27 | disruptek | don't let any chuckleheads read it. |
01:56:36 | FromDiscord | <flywind> I love this style. |
01:56:44 | disruptek | of course you do. |
01:56:57 | disruptek | you are a mermaid of taste. |
01:57:07 | disruptek | you have a very fine tail, by the way. |
01:57:14 | disruptek | i hope it's not too forward of me to say this. |
01:58:08 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/768654387811057684/unknown.png |
01:58:13 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/768654407851704400/unknown.png |
01:58:20 | FromDiscord | <Yardanico> when you copy nimforum's css it looks almost the same :) |
01:58:24 | FromDiscord | <flywind> @flywind And I use this style for my docs. https://planety.github.io/prologue/ |
01:59:24 | disruptek | it's like i'm looking in a mirror. |
01:59:40 | disruptek | damn, i can't wait for tomorrow. |
02:00:10 | FromDiscord | <Avatarfighter> @Yardanico the css looks nice |
02:00:18 | FromDiscord | <Yardanico> because I literally copied it from nimforum :) |
02:00:35 | FromDiscord | <Yardanico> i just made a smol jester + karax powered thing which gives you static HTML for viewing the forum |
02:00:44 | FromDiscord | <Yardanico> it does json requests to the nimforum itself |
02:00:50 | avatarfighter[m] | ah |
02:00:51 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/768655073843609650/unknown.png |
02:00:54 | FromDiscord | <Yardanico> its under 200 lines |
02:01:13 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/768655166571937792/unknown.png |
02:02:08 | disruptek | how come every time i touch my knee, i hear a ding. |
02:02:34 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/768655505060003850/unknown.png |
02:02:40 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/768655532008538162/unknown.png |
02:03:36 | FromDiscord | <Yardanico> placeholder because, as I said, nimforum gives the wrong author in the thread list |
02:03:52 | FromDiscord | <Yardanico> it gives the last user who wrote the message in the thread, but if you actually request the thread info itself, author here will be correct |
02:04:20 | FromDiscord | <Yardanico> also apparently nimforum gives you ALL versions of all messages (I mean all edits) in the thread |
02:04:29 | FromDiscord | <Yardanico> like if you have 10 edits, it'll give you all 10 edits |
02:05:16 | disruptek | i believe they call that, "batting one thousand." |
02:05:21 | FromDiscord | <Yardanico> not sure why it's like that, since it slowes down opening threads and doesn't contribute any value |
02:05:29 | disruptek | it means you can just abort your first two kids and focus on the third. |
02:05:48 | disruptek | don't be silly, children have value. |
02:05:55 | disruptek | nutritional value, at least. |
02:06:34 | FromDiscord | <flywind> @flywind I maybe reimplement it in pure Nim supporting material style. I don't want to use python too. |
02:07:05 | FromDiscord | <Yardanico> lemme add "next page" button and host it on my vps for fun |
02:07:45 | disruptek | what's wrong with python? |
02:09:55 | FromDiscord | <Avatarfighter> @Yardanico what about prologue >:) |
02:10:03 | FromDiscord | <Yardanico> I don't need prologue here |
02:10:10 | FromDiscord | <Avatarfighter> yes you do |
02:10:11 | FromDiscord | <Yardanico> I just serve html generated by karax really |
02:10:19 | FromDiscord | <Yardanico> I can as well implement it as CGI |
02:10:20 | FromDiscord | <Avatarfighter> come to #webdev and find out why you need it |
02:10:56 | FromDiscord | <flywind> Nothing. But I think Nim projects should use more tools in Nim. |
02:13:07 | disruptek | you can't squeeze blood from a stone, merman. |
02:13:19 | disruptek | don't they teach you that? |
02:16:03 | * | a_chou joined #nim |
02:17:43 | disruptek | my teeth are sweating like crazy. is it hot in here? |
02:21:47 | * | rockcavera quit (Remote host closed the connection) |
02:22:17 | FromDiscord | <Yardanico> @Avatarfighter started it on https://forum.my-toolbox.xyz/ |
02:22:38 | disruptek | you know what the problem is? |
02:22:45 | FromDiscord | <Yardanico> i always do |
02:23:19 | FromDiscord | <Yardanico> src is https://github.com/Yardanico/kuforum/blob/master/src/forscraper.nim btw |
02:23:42 | FromDiscord | <Yardanico> yes I'm a special snowflake so I didn't just copy the type definitions from nimforum but made my own versions |
02:24:06 | disruptek | they shouldn't have made PSEUDOSCIENCE sound so credible if they didn't want us to believe it. |
02:24:17 | disruptek | i mean, it's like PLACEBO. hell yes i want some. |
02:24:27 | disruptek | give me placebo. i don't care what it costs. it sounds awesome. |
02:26:35 | * | TomDotTom quit (Ping timeout: 260 seconds) |
02:26:50 | FromDiscord | <ElegantBeef> Same with pseduointellectual it sounds atleast 99% smarter than just intellectual |
02:27:03 | disruptek | right? |
02:28:35 | * | CcxWrk quit (Remote host closed the connection) |
02:28:54 | disruptek | is it naive of me to think that not /all/ of the dead animals on the bottom of my feet got there when i stepped on them? |
02:29:04 | disruptek | maybe some of them just died while they were there. |
02:29:59 | FromDiscord | <Avatarfighter> @Yardanico the lack of indents for one of your procs is sending me |
02:30:04 | FromDiscord | <Yardanico> ?? |
02:30:08 | FromDiscord | <Yardanico> where |
02:30:18 | FromDiscord | <Avatarfighter> Oh nvm |
02:30:23 | disruptek | yardanico only has 6 procs. |
02:30:52 | FromDiscord | <Avatarfighter> github on the embedded safari on my phone didnt render the coxde |
02:31:07 | FromDiscord | <Yardanico> huh |
02:31:14 | FromDiscord | <Yardanico> it's very simple really |
02:31:20 | disruptek | you have an iphone? |
02:31:27 | disruptek | you must live in california. |
02:31:37 | FromDiscord | <Yardanico> I just access nimforum's json, and then make same html elements on server-side with karax as nimforum would do dynamically on client-side with karax |
02:31:43 | disruptek | how does it feel to be wealthy? |
02:32:21 | FromDiscord | <Avatarfighter> Honestly bad knowing others are less fortunate |
02:32:46 | disruptek | alright, when i come to power i'll kill you last. |
02:32:58 | FromDiscord | <Avatarfighter> @Yardanico no i know lmao githubs preview just showed all your procs without indentation lmao |
02:33:06 | FromDiscord | <Yardanico> weird |
02:33:12 | FromDiscord | <Avatarfighter> its good now |
02:33:17 | FromDiscord | <Yardanico> also I wrote that in CLion with nim plugin + nimlsp |
02:33:26 | FromDiscord | <Avatarfighter> ooo |
02:33:39 | FromDiscord | <Avatarfighter> Yeah ive made clion my dedicated nim editor |
02:33:39 | FromDiscord | <Yardanico> and used "nimble run" for the first time in my life |
02:33:48 | FromDiscord | <Avatarfighter> what theme are you using in the editor? |
02:34:09 | FromDiscord | <Avatarfighter> im using Palenight from the Material Theme plugin |
02:34:36 | * | muffindrake quit (Ping timeout: 246 seconds) |
02:34:58 | FromDiscord | <Yardanico> OneDarkMonokai for the IDE, and Coderpillr Dusk for the editor https://media.discordapp.net/attachments/371759389889003532/768663655407157258/unknown.png |
02:35:04 | FromDiscord | <Yardanico> need to fix that console background |
02:35:13 | FromDiscord | <Yardanico> sadly you can't use separate color schemes for editor and the console |
02:37:03 | * | muffindrake joined #nim |
02:37:54 | disruptek | ever wonder why more people dont have a last name that ends in LIPS? |
02:38:00 | disruptek | like PHILLIPS? |
02:38:06 | disruptek | think about it. |
02:38:34 | disruptek | see, i'm right. |
02:40:07 | disruptek | that's another thing i'll change when i take power. |
02:45:35 | disruptek | is anyone writing this down? |
02:45:46 | disruptek | i think it's best if we start recording the tenets of this platform. |
02:46:35 | disruptek | Yardanico: you can wear a special hat. |
02:48:10 | FromDiscord | <nikki> @Yardanico that setup works p nice with tmux for the terminal i think |
02:48:22 | FromDiscord | <nikki> managed to live in intellij for a year that way |
02:49:03 | disruptek | gross. |
02:49:04 | * | CcxWrk joined #nim |
02:51:11 | FromDiscord | <nikki> it's only nice if u need to write some android js for whatever reason |
02:51:40 | FromDiscord | <ElegantBeef> android js? |
02:51:54 | FromDiscord | <nikki> kek java sry |
02:53:28 | FromDiscord | <Yardanico> ok made it use nimforum's type definitions |
02:55:52 | leorize[m]1 | make sure you pin the version :P |
02:56:02 | disruptek | leorize[m]1: you can wear a hat, too. |
02:58:29 | disruptek | leorize[m]1: i said you could wear a hat. |
02:58:39 | leorize[m]1 | what hat |
02:58:45 | disruptek | a special hat. |
02:59:03 | FromDiscord | <ElegantBeef> Nah disruptek you should keep all the dunce hats you've earned |
02:59:05 | disruptek | leorize, don't create a problem where there is none. |
02:59:12 | disruptek | -rw-------. 1 adavidoff adavidoff 985119 Aug 23 2019 LEORIZE |
02:59:23 | disruptek | i have a file on you already. |
02:59:30 | leorize[m]1 | creating problems is my job lol |
02:59:31 | leorize[m]1 | add that in |
02:59:34 | disruptek | it's not much, but it's enough. |
02:59:36 | FromDiscord | <Yardanico> @leorize well yeah I copied them and there was a mismatch, so I had to add "Option" to the id of "User" type (it just doesn't exist on the current running instance, but I made it future-proof (TM) ) |
02:59:46 | FromDiscord | <Yardanico> i'll let it run |
02:59:58 | FromDiscord | <Yardanico> i think some people might even have a use for it, but they might want replies :P |
03:00:06 | FromDiscord | <Yardanico> and I don't really do web development/html/css |
03:00:16 | disruptek | we noticed. |
03:00:22 | FromDiscord | <Yardanico> and need to fix that bug with author on the thread list on nimforum if it haven't been fixed already |
03:01:49 | disruptek | oh we should have arm bands, too. |
03:02:23 | FromDiscord | <ElegantBeef> And you should step like a bird? |
03:02:23 | disruptek | i'm really getting into this. i just love accessorizing. |
03:06:56 | disruptek | shashlick: are you awake? |
03:08:11 | FromDiscord | <Revenant> hey guys, i can't remember for the life of me how to run my GUI app on windows (glfw based) so the `echo` statements actually write to the windows console |
03:08:20 | FromDiscord | <Revenant> once i figured it out, but forgot... 😦 |
03:08:32 | disruptek | is that bad? |
03:09:08 | FromDiscord | <ElegantBeef> What are your compile flags? |
03:09:12 | FromDiscord | <Yardanico> @Revenant --app:gui |
03:09:24 | FromDiscord | <Yardanico> ah wait you want to open the console or what? |
03:09:31 | FromDiscord | <Yardanico> it should write to the console anyway |
03:09:47 | FromDiscord | <Yardanico> but for that (if you have --app:gui) you need to open it from console. Or you want to have a terminal window open with the app? |
03:09:48 | disruptek | it /is/ writing the console. |
03:09:53 | disruptek | hooray! |
03:10:02 | FromDiscord | <ElegantBeef> Yea you have to be doing something to redirect the stdout |
03:11:07 | disruptek | i'm changing my gigolo rate to be based on weight rather than volume. |
03:11:13 | FromDiscord | <Revenant> `nim c --gc:arc --deepcopy:on --app:gui -D:nvgGL3 -D:glfwStaticLib -r src/main` |
03:11:20 | FromDiscord | <Revenant> sadly `--app:gui` doesn't do the trick |
03:11:32 | disruptek | are you /sure/ you're running windows? |
03:12:01 | FromDiscord | <Revenant> well, i'm just executing that command from the windows console |
03:12:09 | FromDiscord | <Revenant> command prompt |
03:12:35 | FromDiscord | <Revenant> trying to debug stuff with echo iteratively, you know... change stuff, re-run, look at console output, etc |
03:14:20 | leorize[m]1 | use --app:console |
03:14:20 | * | kungtotte quit (Read error: Connection reset by peer) |
03:14:25 | leorize[m]1 | --app:gui will disable the console |
03:14:35 | leorize[m]1 | unless you're running the binary through wine |
03:15:15 | * | kungtotte joined #nim |
03:15:28 | FromDiscord | <Revenant> sorry guys, my bad... forgot that i'm using a library that implicitly adds `-mwindows`... |
03:15:38 | FromDiscord | <Revenant> yeah without that it works just like you said... user error |
03:17:03 | FromDiscord | <Revenant> if i specify `--app:console`, btw... `--app:gui` doesn't work |
03:17:09 | disruptek | weird. |
03:17:32 | disruptek | maybe windows no longer supplies a gui. |
03:20:36 | * | bunbunbunbunny joined #nim |
03:22:16 | * | arecacea1 quit (Read error: Connection reset by peer) |
03:22:49 | * | arecacea1 joined #nim |
03:23:03 | * | bunbunbunbunny left #nim (#nim) |
03:23:37 | Prestige | How can I declare an array[12, uint8] (or cast it?) without typing .uint8 after the first number? |
03:24:10 | disruptek | type 'u8 after the first number. |
03:24:12 | leorize[m]1 | you type `u8` :P |
03:24:44 | Prestige | I mean without typing anything after the first. I'm wanting the numbers to visually line up for an example |
03:24:48 | * | vqrs quit (Ping timeout: 260 seconds) |
03:25:04 | disruptek | you're blowing my mind right now. |
03:25:11 | FromDiscord | <Yardanico> @Prestige what do you mean exactly? |
03:25:16 | * | vqrs joined #nim |
03:25:39 | Prestige | Something like this: https://play.nim-lang.org/#ix=2Bzp |
03:25:49 | FromDiscord | <Yardanico> why cast?????? |
03:26:03 | Prestige | Just trying different things to get it to work |
03:26:19 | FromDiscord | <Yardanico> but why do you want it lined up? |
03:26:32 | Prestige | for an example for image data rotation |
03:26:36 | FromDiscord | <Yardanico> https://play.nim-lang.org/#ix=2Bzq |
03:26:39 | FromDiscord | <Yardanico> lined up :)) |
03:27:12 | disruptek | i have one of those new keyboards with a big wide button near the bottom. |
03:27:13 | Prestige | looks sloppy for a visual representation of image data, though |
03:27:14 | FromDiscord | <ElegantBeef> https://play.nim-lang.org/#ix=2Bzr |
03:27:17 | disruptek | it's perfect for these tasks. |
03:27:41 | FromDiscord | <ElegantBeef> I've use shaders many of times and never had this "Have to have data aligned to images" |
03:27:54 | FromDiscord | <Yardanico> @Prestige I'd use worse code styling over unsafe language constructs any day |
03:28:10 | FromDiscord | <Yardanico> maybe you have some OCD? :) |
03:28:16 | FromDiscord | <Yardanico> for code alignment |
03:28:25 | leorize[m]1 | you can also make them line up by adding `u8` to everything btw |
03:28:25 | FromDiscord | <ElegantBeef> ya think? 😛 |
03:28:38 | FromDiscord | <Yardanico> that too, as an extension of my proposal |
03:28:47 | disruptek | https://play.nim-lang.org/#ix=2Bzs |
03:28:48 | Prestige | nah, I don't care about code alignment here... it's about visualizing pixels of an image that will be rotated |
03:28:48 | FromDiscord | <ElegantBeef> I prefer my method due to the converter name |
03:28:58 | disruptek | i don't know how to say this, but even bentley doesn't like your code. |
03:29:04 | Prestige | It's not for something that's running other than a proof of concept |
03:29:14 | FromDiscord | <Yardanico> but I still don't understand how alignment is a requirement |
03:29:31 | FromDiscord | <Yardanico> but yeah, people are different |
03:29:35 | FromDiscord | <ElegantBeef> I dont see how it's' a desire |
03:29:42 | Prestige | It's easier to visualize pixels if they are all square lol |
03:30:01 | FromDiscord | <ElegantBeef> Again i've spent many of hours writting shaders and never once desired this |
03:30:04 | FromDiscord | <Yardanico> just add 'u8 everywhere then |
03:30:09 | FromDiscord | <Yardanico> they all will still be aligned |
03:30:19 | FromDiscord | <Yardanico> actually you don't even need 'u8 |
03:30:21 | FromDiscord | <Yardanico> just 0u8 will work |
03:30:21 | Prestige | I'm using beef's converter, he wins |
03:30:28 | FromDiscord | <Yardanico> I consider that ugly :) |
03:30:29 | disruptek | add spaces everywhere you OCD nutjob. |
03:30:38 | Prestige | too much effort |
03:30:40 | FromDiscord | <ElegantBeef> This was a competition? |
03:30:48 | Prestige | no but you won anyway :P |
03:30:53 | FromDiscord | <Yardanico> @Prestige: you understand that it'll run each time in runtime where you want to use that array of ints as an array of uint8s ? |
03:31:12 | FromDiscord | <nikki> can u make it a template or w/e |
03:31:21 | FromDiscord | <Yardanico> you can |
03:31:21 | disruptek | of course. |
03:31:37 | disruptek | Prestige: there's no way in hell you're getting a hat. |
03:31:46 | Prestige | Yeah, like I said this is for a proof of concept |
03:31:51 | disruptek | i don't care. |
03:31:56 | disruptek | no hat for you. |
03:31:59 | Prestige | A hat? okay |
03:32:03 | disruptek | no! |
03:32:06 | disruptek | NO HAT FOR YOU. |
03:32:13 | Prestige | It fits so nicely. |
03:32:14 | FromDiscord | <Yardanico> NO HAT FOR PRESTIGE |
03:32:16 | FromDiscord | <nikki> i haven't decided yet if i like nim's separate template concept vs. just having funcs that can specify some arg as "comptime" 🤔 like in zig |
03:32:17 | disruptek | NO HAT. |
03:32:22 | FromDiscord | <Yardanico> ~prestige is has NO HAT |
03:32:23 | disbot | prestige: 11has NO HAT |
03:32:28 | Prestige | lmao |
03:32:31 | FromDiscord | <nikki> but i need to actually learn abt them still. just got to the twitter clone part in dom's book |
03:32:32 | FromDiscord | <ElegantBeef> What do you mean yard, dont converters only convert when context makes sense? |
03:32:46 | disruptek | yes. |
03:32:47 | FromDiscord | <Yardanico> @ElegantBeef yes, but a converter will run EACH TIME he wants to use that array as array[12, uint8] |
03:32:50 | FromDiscord | <Yardanico> @nikki you can have static arguments in Nim |
03:33:06 | FromDiscord | <Yardanico> and you also have "const" |
03:33:09 | FromDiscord | <nikki> does that make the proc run at compile time? |
03:33:11 | FromDiscord | <Yardanico> yes |
03:33:13 | FromDiscord | <Yardanico> "const" does |
03:33:24 | disruptek | actually, the way zig works is more like how i'd like nim-2 to work. |
03:33:25 | FromDiscord | <nikki> cool, right 😮 |
03:33:30 | disruptek | but let's not talk about that. |
03:33:40 | FromDiscord | <nikki> i want to hear abt it |
03:33:43 | leorize[m]1 | `{.compiletime.}` <- we got that too :P |
03:33:48 | FromDiscord | <nikki> i won't say anything |
03:33:54 | FromDiscord | <nikki> if ur the only one saying stuff |
03:33:58 | FromDiscord | <nikki> does that count as us talking |
03:34:03 | FromDiscord | <Yardanico> nim has more compile-time features than zig |
03:34:55 | FromDiscord | <nikki> the main interesting one was types as values and @typeInfo and @Type in zig |
03:35:07 | FromDiscord | <Yardanico> we have that - typedesc |
03:35:17 | FromDiscord | <Yardanico> and we had that before Zig even existed ;) |
03:35:23 | FromDiscord | <Yardanico> sent a code paste, see https://play.nim-lang.org/#ix=2Bzw |
03:35:25 | FromDiscord | <Yardanico> computeInt will be called at compile-time |
03:35:40 | FromDiscord | <ElegantBeef> Psh we even have a typeinfo module https://nim-lang.org/docs/typeinfo.html |
03:35:48 | FromDiscord | <Yardanico> that's for other things beef |
03:35:52 | FromDiscord | <Yardanico> it's for RTTI which is deprecated |
03:35:53 | FromDiscord | <ElegantBeef> I know it's a joke |
03:35:59 | FromDiscord | <Yardanico> you mean https://nim-lang.org/docs/typetraits.html |
03:36:03 | FromDiscord | <nikki> yeah the interesting qs are mostly about how they're different |
03:36:10 | FromDiscord | <ElegantBeef> No i dont, i was joking about the name overlap |
03:36:18 | FromDiscord | <Yardanico> bad joke |
03:36:22 | FromDiscord | <Yardanico> :nimDog: |
03:36:24 | FromDiscord | <ElegantBeef> As all of mine are |
03:36:57 | FromDiscord | <Yardanico> @nikki a lot of modules in the nim can run at compile-time |
03:37:01 | FromDiscord | <Yardanico> even stuff like the json parser |
03:37:05 | FromDiscord | <Yardanico> (edit) "parser" => "module" |
03:37:19 | FromDiscord | <ElegantBeef> Serializing stuff doesnt work much though |
03:37:21 | FromDiscord | <nikki> yeah saw that today. it's also cool that nim-regex can build the state machine at compile time |
03:37:22 | FromDiscord | <ElegantBeef> Json does, but streams dont |
03:37:36 | FromDiscord | <Yardanico> they do now |
03:37:36 | FromDiscord | <nikki> or; whatever it compiles to |
03:37:43 | FromDiscord | <Yardanico> you're out of the loop again |
03:37:46 | FromDiscord | <ElegantBeef> No i'm not |
03:37:49 | FromDiscord | <Yardanico> you are |
03:37:55 | FromDiscord | <ElegantBeef> Stringstreams do not allow you writting to them |
03:38:11 | FromDiscord | <ElegantBeef> Due to the fact there is no way to get byte information from them to write to |
03:38:29 | disruptek | sorry yard. |
03:38:37 | disruptek | he's write. or right. or writing. |
03:38:55 | disruptek | he's writing writing wrong but he's right about write. |
03:38:57 | FromDiscord | <ElegantBeef> I looked into using streams for the nimscript interop instead of using json, and there is no stringstream support |
03:39:00 | disruptek | you know what i mean. |
03:41:07 | FromDiscord | <ElegantBeef> https://github.com/nim-lang/Nim/blob/devel/lib/pure/streams.nim#L1258 Just to provide evidence |
03:41:18 | FromDiscord | <ElegantBeef> But yes you can allocate them at compile time |
03:42:25 | FromDiscord | <ElegantBeef> <https://github.com/nim-lang/Nim/blob/devel/lib/pure/streams.nim#L1166> |
03:42:42 | FromDiscord | <Yardanico> :disruptek: |
03:43:09 | disruptek | wut |
03:43:19 | FromDiscord | <Yardanico> disruptek you're a meme now |
03:43:30 | FromDiscord | <Yardanico> and we can send this emoji in any situation now |
03:43:32 | FromDiscord | <Yardanico> embrace it |
03:43:37 | disruptek | uhh |
03:43:53 | disruptek | i'm not sure that's how memes work. |
03:44:03 | FromDiscord | <Yardanico> that's how they work nowadays :( |
03:44:26 | disruptek | is disruptek the person a subset of the meme? |
03:44:32 | FromDiscord | <Yardanico> it is the meme |
03:44:37 | disruptek | holy fuck. |
03:44:41 | disruptek | i knew i felt something. |
03:44:48 | disruptek | i thought it was just gas. |
03:44:54 | disruptek | actually... |
03:44:55 | FromDiscord | <Yardanico> your balls throbbed more than usual? |
03:44:59 | disruptek | yeah, it was gas. |
03:45:10 | disruptek | oh wait. |
03:45:19 | disruptek | nope, more gas. |
03:48:26 | Yardanico | what do you think about freebsd |
03:48:32 | disruptek | i'm against it. |
03:48:40 | Yardanico | w h y |
03:48:56 | disruptek | 'cause i have enough demons in my life. |
03:49:03 | FromDiscord | <ElegantBeef> He's scared of the logo |
03:49:09 | disruptek | openbsd is the only one worth supporting. |
03:49:19 | disruptek | it's the only one that offers a novel proposition. |
03:51:27 | disruptek | here's a question for you, Yardanico. |
03:51:36 | Yardanico | my hands are ready |
03:51:50 | disruptek | how come when you ask people who've drank their own urine, it was always "accidentally"? |
03:52:02 | disruptek | what kinda bullshit is this? |
03:52:15 | disruptek | you expect me to believe you just accidentally urinated into your own mouth? |
03:52:20 | disruptek | and then swallowed? |
03:52:27 | Yardanico | hello |
03:52:31 | Yardanico | who am i talking with |
03:52:35 | disruptek | or, wait, you just accidentally peed into a cup and then gargled it? |
03:52:40 | Yardanico | is this the suicide prevention hotline? |
03:52:55 | disruptek | look, i said you could wear a hat. |
03:53:00 | disruptek | you don't need to make a scene. |
03:53:15 | Yardanico | yeah ill wear a hat if it's not made of your skin |
03:53:29 | disruptek | no, it's foreskin. |
03:53:37 | disruptek | you'll be fine. |
03:57:19 | disruptek | there's nothing secret about pop secret. |
03:57:30 | disruptek | it's corn. the main ingredient is corn. |
03:58:01 | Yardanico | is it weed |
03:58:09 | Yardanico | im pretty sure its weed |
03:58:21 | disruptek | nah. |
03:58:45 | disruptek | i only use weed while coding. |
03:58:56 | disruptek | you don't want to waste it. |
04:06:02 | * | supakeen quit (Quit: WeeChat 2.9) |
04:06:39 | * | supakeen joined #nim |
04:07:20 | user0 | proc smokeWeed(amount: float, code: string): Paranoia {.nonwasteable.} = |
04:22:28 | disruptek | smoking is bad for your lungs. not only that, but it disgusts those around you. don't do it. |
04:22:46 | * | a_chou quit (Ping timeout: 258 seconds) |
04:31:53 | * | mmohammadi981266 joined #nim |
04:35:02 | * | a_chou joined #nim |
04:41:47 | * | mmohammadi9812 joined #nim |
04:47:35 | * | mmohammadi9812 quit (Quit: Quit) |
04:48:01 | * | mmohammadi9812 joined #nim |
04:48:28 | * | mmohammadi981266 quit (Quit: I quit (╯°□°)╯︵ ┻━┻) |
04:54:49 | * | mmohammadi9812 quit (Ping timeout: 264 seconds) |
04:57:28 | * | leeooox quit (Quit: Connection closed for inactivity) |
05:03:03 | * | solitudesf joined #nim |
05:03:27 | * | mmohammadi9812 joined #nim |
05:03:41 | Zevv | don't do it kids |
05:03:42 | Zevv | really |
05:04:48 | * | narimiran joined #nim |
05:10:09 | * | mmohammadi9812 quit (Ping timeout: 256 seconds) |
05:16:12 | disruptek | !pull mangling |
05:16:14 | disbot | https://github.com/nim-lang/Nim/pull/14632 -- 3porting name mangling from ic effort 7& 20 more... |
05:19:56 | Zevv | go to bed dude |
05:20:02 | Zevv | bed is good |
05:20:58 | FromDiscord | <Idefau> not |
05:21:14 | disruptek | yeah, i'm on the phone watching porn right now. it won't be long. |
05:21:34 | disruptek | i mean, it's long but it's more girthy than anything. |
05:22:06 | disruptek | zevv: i know what you drink at night but what do you drink in the morning? |
05:27:36 | FromDiscord | <Idefau> coomer |
05:42:22 | * | a_chou quit (Quit: a_chou) |
05:54:46 | * | oculux quit (Ping timeout: 258 seconds) |
06:06:16 | * | astronavt__ joined #nim |
06:09:01 | * | astronavt quit (Ping timeout: 256 seconds) |
06:25:04 | * | bunbunbunbunny joined #nim |
06:28:37 | * | PMunch joined #nim |
06:35:17 | FromDiscord | <Recruit_main707> the worst thing is that im 100% sure he actually is doing it |
06:36:20 | FromDiscord | <ElegantBeef> What are you the porn? 😄 |
06:38:44 | PMunch | Zevv, is there a way to parse a value in one branch and get the parsed value in another in npeg? Like this: https://play.nim-lang.org/#ix=2BA8 |
06:39:55 | leorize[m]1 | npeg lets you pass a state variable to the parser |
06:40:24 | PMunch | I know |
06:41:09 | PMunch | But this would be part of a bigger thing |
06:41:19 | * | mbomba joined #nim |
06:41:44 | PMunch | And because of backtracing I can't do everything I need to do in the sub-branch |
06:43:39 | Zevv | Hm not sure I get you |
06:43:40 | FromDiscord | <Recruit_main707> PMunch, i finally got nimlsp to work in intellij, should i add it to the readme? |
06:43:53 | PMunch | Ooh, yes please! |
06:44:56 | PMunch | Zevv, well what I want is to parse a value when I have the sub-components (such as key/value in my example) and then later get the parsed structure for that capture |
06:46:08 | PMunch | I can store it in the output structure, but it would quickly get a bit messy |
06:46:37 | Yardanico | @Recruit_main707 wdym finally? |
06:46:41 | Yardanico | didn't it work before for you? |
06:46:50 | Zevv | PMunch: well, I'm not sure if npeg can store this any better way for you |
06:47:11 | Zevv | you know the structure of what you're doing, npeg doesnt |
06:47:21 | Zevv | that's typically what I use my external stack for |
06:47:25 | PMunch | Hmm, okay |
06:47:34 | Zevv | you build AST on the go, and attach any stuff you need to take along with you |
06:47:41 | Zevv | again, I'm open to ideas for improvement, of course |
06:48:38 | PMunch | I did a dirty test where I had a table named after the capture and then stored the string -> object mapping in there. Then when I got that capture later I could look it up in the table |
06:48:59 | PMunch | Not very pretty though |
06:49:28 | Zevv | what would be prettier? |
06:49:34 | PMunch | Dunno |
06:49:36 | Zevv | :) |
06:49:57 | Zevv | I tried tons, and I always go back to the stacky way |
06:50:05 | Zevv | or listy, if you prefer that |
06:50:18 | Zevv | but the only answer really is "it depends" |
06:50:22 | PMunch | But it's not very pretty to first parse a string and then need to do a lookup on that string later |
06:50:42 | PMunch | The table could of course work as a cache if your parsing is expensive though.. |
06:50:46 | Zevv | yeah, but where do you want to store it? either you're building AST, so you probably want to hook it somewher in your tree |
06:51:06 | Zevv | or you're not building a tree but sosmething flat, then you just store it somehwere |
06:51:23 | PMunch | Essentially in the `element` rule I just want to parse the matched string into an object, then in the `start` rule I want to be able to get that object instead of the string for the `>element` capture |
06:51:56 | Zevv | sure, my answer would be "just store it somewhere" |
06:52:07 | PMunch | Okay, table it is then! |
06:52:09 | Zevv | if you don't want to use globals or closures, pass a custom type var into your parser |
06:52:12 | Zevv | which is nice |
06:52:19 | PMunch | Yeah, I really liked that |
06:52:37 | PMunch | But it would be nice if I could have one temporary parsing object, and one result object |
06:52:54 | Zevv | well, make one type containing both and pass that around |
06:53:10 | PMunch | For example all my tables for temporary matches wouldn't be much use after I'm done parsing |
06:53:18 | PMunch | I guess I could do that |
06:53:38 | Zevv | so many ways :) |
06:53:53 | FromDiscord | <alehander42> morning |
06:54:40 | PMunch | Good morning alehander |
06:54:52 | FromDiscord | <ElegantBeef> Yellow |
06:54:58 | FromDiscord | <Recruit_main707> Yardanico, no, i think it was because i always tried to make it work with nims and nimble files at the same time |
06:55:20 | * | Cthalupa quit (Ping timeout: 258 seconds) |
06:56:00 | * | Cthalupa joined #nim |
06:57:37 | FromDiscord | <alehander42> praise God, a good morning indeed ❤️ |
06:57:54 | FromDiscord | <alehander42> some breakfast, sunny weather |
06:58:09 | FromDiscord | <alehander42> if i am not lazy |
06:59:31 | * | solitudesf quit (Ping timeout: 256 seconds) |
07:01:03 | FromDiscord | <ElegantBeef> Does the weather change if you are? 😛 |
07:01:29 | FromDiscord | <alehander42> no haha |
07:01:34 | FromDiscord | <alehander42> but the breakfast might be missing 😄 |
07:03:03 | * | oculux joined #nim |
07:03:12 | PMunch | Here it's cold and snowy.. |
07:03:32 | FromDiscord | <ElegantBeef> Not much snow here maybe 2cm so far |
07:03:43 | FromDiscord | <ElegantBeef> But it's dark by like 5/6pm already 😄 |
07:04:12 | FromDiscord | <ElegantBeef> What's the temperature pmunch? |
07:05:08 | FromDiscord | <alehander42> i like snow tho |
07:05:15 | FromDiscord | <alehander42> ohh with some warm tea |
07:05:24 | FromDiscord | <Idefau> a truly beautiful morning i must say |
07:05:39 | FromDiscord | <Idefau> ruined by online school |
07:06:02 | FromDiscord | <alehander42> ❤️ |
07:06:04 | FromDiscord | <alehander42> oh man |
07:06:11 | FromDiscord | <alehander42> i prefer offlin school |
07:06:32 | FromDiscord | <Idefau> i prefer no school, more nim coding time |
07:06:37 | FromDiscord | <alehander42> noo |
07:06:40 | * | bunbunbunbunny quit (Quit: Lost terminal) |
07:06:41 | FromDiscord | <ElegantBeef> School's for nerds |
07:06:42 | FromDiscord | <alehander42> you can code later |
07:06:50 | FromDiscord | <alehander42> i am old now |
07:06:53 | FromDiscord | <alehander42> and miss school |
07:06:58 | FromDiscord | <alehander42> so much more chilll |
07:07:31 | * | oculux quit (Ping timeout: 260 seconds) |
07:07:34 | PMunch | @Elegant, it's only -1.5C and we don't actually have snow in the city yet, just ice on the roads |
07:07:56 | FromDiscord | <ElegantBeef> Ah it's -7 atm here but it's also 1am |
07:08:19 | PMunch | It normally doesn't get that cold here as I live by the coast |
07:08:40 | FromDiscord | <alehander42> ohh |
07:08:44 | PMunch | Where do you live again where it gets dark that early and already have snow? |
07:08:45 | FromDiscord | <alehander42> is it gulfstream |
07:08:51 | PMunch | Yup |
07:08:51 | FromDiscord | <alehander42> or is it too north for that |
07:08:59 | FromDiscord | <Idefau> there's like 13 degrees here |
07:09:00 | PMunch | See who paid attention in school! |
07:09:12 | FromDiscord | <alehander42> wow you're like almost on the north pole |
07:09:17 | FromDiscord | <alehander42> but still warm |
07:09:24 | FromDiscord | <Idefau> comfy |
07:09:38 | FromDiscord | <ElegantBeef> Canada roughly 50% of the way north of the province 😄 |
07:09:44 | FromDiscord | <ElegantBeef> of alberta |
07:09:53 | FromDiscord | <alehander42> wow (has to open a map now) |
07:10:18 | FromDiscord | <ElegantBeef> Pmunch is vastly further north than me |
07:10:50 | PMunch | To be fair though I'm vastly further north than pretty much everything |
07:10:51 | FromDiscord | <ElegantBeef> But from previously talking we have similar climates 😄 |
07:11:11 | FromDiscord | <alehander42> yeah but |
07:11:30 | FromDiscord | <alehander42> look sibe |
07:11:32 | FromDiscord | <alehander42> siberia |
07:11:46 | PMunch | *looking at a map of Canada* there's not much north of Alberta :P |
07:11:51 | FromDiscord | <alehander42> it might be similarly north |
07:11:55 | FromDiscord | <alehander42> but it's inside |
07:11:57 | FromDiscord | <alehander42> the continent |
07:12:03 | FromDiscord | <alehander42> so probably that makes it much colder |
07:12:08 | PMunch | Oh yeah |
07:12:14 | FromDiscord | <alehander42> canadian siberia |
07:12:32 | PMunch | Just drive an hour or two inlands from where I live and it drops down to -30/40 in winter |
07:12:39 | FromDiscord | <ElegantBeef> We also have the rockies on are west border |
07:12:43 | FromDiscord | <ElegantBeef> (edit) "are" => "our" |
07:12:44 | PMunch | Here we seldom get much less than -10 |
07:13:10 | FromDiscord | <ElegantBeef> Ah we get that nice -40 january/feburary weather |
07:13:22 | FromDiscord | <Idefau> cold |
07:13:23 | PMunch | "nice" |
07:13:23 | FromDiscord | <ElegantBeef> Dry, windy cold |
07:13:30 | FromDiscord | <ElegantBeef> I'm partial to the cold |
07:13:37 | FromDiscord | <ElegantBeef> I much prefer -30 than + 30 |
07:13:40 | FromDiscord | <Idefau> i feel like freezing to death at 20 degrees in wind |
07:13:49 | PMunch | It doesn't actually feel all that cold when its dry and -30 |
07:14:08 | FromDiscord | <ElegantBeef> The wind is certainly what does it here |
07:14:29 | PMunch | Maybe I should move to Svalbard just to ensure that I'll forever be the northernmost Nim user :P |
07:14:30 | FromDiscord | <Idefau> i am still surprised by how we entered september |
07:14:37 | FromDiscord | <Idefau> week was 40 degrees then boom |
07:14:38 | FromDiscord | <Idefau> 13 degrees |
07:14:52 | FromDiscord | <ElegantBeef> And we get a ton of windchill it'll be like -20 without but -40 with |
07:16:14 | FromDiscord | <ElegantBeef> I think legally i'm obliged to only move to scandanavian countries, so if i ever move(i certainly wont) i'll challenge you 😛 |
07:16:48 | FromDiscord | <Rika> Are we using Celsius or the dumb units |
07:16:50 | * | vicfred quit (Quit: Leaving) |
07:17:01 | FromDiscord | <Idefau> kelvin |
07:17:12 | FromDiscord | <ElegantBeef> There are no USA Americans |
07:17:13 | FromDiscord | <Rika> Damn, -30 kelvin |
07:17:15 | FromDiscord | <ElegantBeef> Just North Americans |
07:17:17 | PMunch | @Rika -40 is -40 in both scales :P |
07:17:21 | FromDiscord | <Idefau> below absolute 0 |
07:17:32 | FromDiscord | <Rika> -40 kelvin exists? |
07:17:35 | FromDiscord | <ElegantBeef> No |
07:17:36 | FromDiscord | <Idefau> no |
07:17:38 | PMunch | Haha, no in F and C |
07:17:43 | FromDiscord | <Rika> I'm joking damn it |
07:17:54 | FromDiscord | <Rika> I have at least ONE braincell come on |
07:17:54 | Yardanico | baaaaaaaaaaaaaad joooooooookeeeeeeeee |
07:18:01 | FromDiscord | <ElegantBeef> Yard i didnt make it |
07:18:04 | FromDiscord | <ElegantBeef> Calm down |
07:18:12 | PMunch | I mean some weird theoretical physicist could probably come up with some weird negative Kelvin shenanigans |
07:18:21 | FromDiscord | <ElegantBeef> I dont think so |
07:18:30 | FromDiscord | <Rika> What would negative kelvin even look like in a molecular scale |
07:18:43 | FromDiscord | <ElegantBeef> Remember temperature is a measure of kinetic energy so you cant have a negative amount of kinetic energy |
07:18:48 | PMunch | After they started with Quantum physics I don't trust my intuition when it comes to physics any longer :P |
07:19:02 | PMunch | Or can you? |
07:19:26 | FromDiscord | <ElegantBeef> Lol idk can you make atoms stop moving so hard they generate energy? 😛 |
07:19:27 | FromDiscord | <Idefau> so you see, absolute 0 is the lowest value in OUR universe, but lets say, that in one of the dimensions trhought the infinite dimensions, you can have, -40 kelvin right, now, i think, that the temperature is inversed, so, -40 kelvin is in fact 40 kelving, but mathematically, its negative |
07:19:37 | Yardanico | or you're just high |
07:19:38 | leorize[m]1 | kelvin is an absolute unit, it can't go to negative |
07:20:13 | FromDiscord | <ElegantBeef> That doesnt fucking matter if it's not our universe, 0 kelvin is a byproduct of the natural laws |
07:20:24 | FromDiscord | <Rika> Just like how disrup.tek is an absolute unit of a programmer |
07:20:39 | FromDiscord | <ElegantBeef> It's when there is no molecular motion(but there is cause of quantum fuckery) |
07:20:40 | PMunch | If it vibrates in and out of another dimension |
07:20:42 | FromDiscord | <Idefau> i was just larping as a history channel serial |
07:20:53 | PMunch | To us it would appear to just be a bit dimmer, but it would still have a lot of motion |
07:21:02 | FromDiscord | <ElegantBeef> It's not a ruddy light |
07:21:15 | FromDiscord | <Idefau> funny vibrate |
07:21:24 | FromDiscord | <Rika> Man and I was just asking if y'all used Celsius or Fahrenheit |
07:21:36 | Yardanico | well, guess what |
07:21:39 | PMunch | Rankine of course |
07:21:51 | PMunch | The worst unit |
07:21:51 | Yardanico | people in most of the world except USA use Celsius |
07:21:57 | Yardanico | people in USA usually use F |
07:22:17 | FromDiscord | <Idefau> people in USA dont exist |
07:22:18 | PMunch | Combining the scientific logic of Kelvin with the silliness of Fahrenheit |
07:22:19 | FromDiscord | <Rika> Well we got one usa citizen here right now don't we |
07:22:22 | FromDiscord | <ElegantBeef> Which was my point of saying there are no USA Americans here atm, just North Americans |
07:22:34 | FromDiscord | <ElegantBeef> Who's a USA citizen? |
07:22:37 | FromDiscord | <Rika> Uh |
07:23:00 | FromDiscord | <Rika> I shall not dictate who I thought to be a US citizen |
07:23:02 | FromDiscord | <ElegantBeef> Wait... did you think i was "American" |
07:23:05 | FromDiscord | <Rika> No |
07:23:06 | FromDiscord | <Rika> Not you |
07:23:20 | PMunch | Now I'm curious :P |
07:23:21 | FromDiscord | <Idefau> native american |
07:23:22 | FromDiscord | <Vindaar> https://en.m.wikipedia.org/wiki/Negative_temperature |
07:24:11 | FromDiscord | <ElegantBeef> That very much feels like "We changed the definition of temperature" 😄 |
07:24:30 | leorize[m]1 | @ElegantBeef idk you don't say enough sorrys to be qualified as a canadian |
07:24:37 | PMunch | I like temperature scales, since their outer points are fairly arbitrary there are so many silly ones |
07:24:42 | FromDiscord | <ElegantBeef> Sorry, i'll try harder |
07:25:10 | FromDiscord | <ElegantBeef> If you ever hear me pronounce "Sorry" it'll be clear |
07:25:15 | FromDiscord | <Idefau> idk man water boiling and freezing points dont seem so silly to me |
07:25:21 | PMunch | Like Rømer, which defines the outer bounds as 60 degrees for boiling water (makes sense with clocks and all) and 7.5 degrees for freezing water -_- |
07:25:33 | FromDiscord | <Idefau> oh |
07:25:37 | PMunch | Haha |
07:25:48 | FromDiscord | <Rika> Mmm 7.5 totally not arbitrary |
07:26:05 | PMunch | It was actually defined as the freezing point of some brine solution |
07:26:13 | FromDiscord | <Idefau> why not water |
07:26:23 | PMunch | Who knows.. |
07:26:29 | FromDiscord | <ElegantBeef> Dude probably had a lot of brine from making deli meats |
07:26:29 | FromDiscord | <Idefau> im going to make a scale with the freezing point of oxygen and melting point of titanium |
07:26:38 | PMunch | They had a thing for measuring brines for some reason |
07:26:52 | PMunch | Fahrenheit is also defined as freezing point of some brine |
07:27:05 | FromDiscord | <Idefau> fahrenheit is ugly |
07:27:13 | PMunch | And the body temperature of Fahrenheits wife -_- |
07:27:22 | FromDiscord | <Idefau> hot |
07:27:26 | PMunch | Turns out she was a bit higher than average body temperature |
07:27:31 | FromDiscord | <ElegantBeef> Any measurement that is mainstream in the US is ugly |
07:27:38 | PMunch | So at 100F you actually have a slight fewer |
07:27:52 | FromDiscord | <Idefau> so its more of a medical scale |
07:28:01 | PMunch | Well I'm partial to using inches when describing timber myself |
07:28:08 | PMunch | Or "thumbs" as we call them |
07:28:24 | FromDiscord | <ElegantBeef> As do i but i hate it |
07:28:30 | FromDiscord | <ElegantBeef> Since it's so tedious to work with |
07:28:47 | FromDiscord | <Idefau> https://en.wikipedia.org/wiki/Romanian_units_of_measurement↵lol |
07:28:57 | FromDiscord | <Idefau> 1/8 of 2 meters |
07:29:01 | PMunch | Well it's much easier to say a two by four than a 22 by 44 |
07:29:04 | FromDiscord | <ElegantBeef> 6 ticks is 6/16ths, and that in practical measurements is... fucking fractions |
07:29:16 | PMunch | Or whatever a 2"x4" is in metric |
07:29:42 | FromDiscord | <alehander42> hmm disruptek and zachary |
07:29:43 | FromDiscord | <alehander42> are usa |
07:29:44 | FromDiscord | <ElegantBeef> I dont even have a metric tape measure and it hurts! |
07:29:49 | FromDiscord | <ElegantBeef> Yea but they arent present |
07:30:22 | FromDiscord | <ElegantBeef> I built my arcade cabinent and may have fucked a few cuts up cause i measured to the wrong 16th |
07:30:27 | PMunch | What? All tape measures here are both metric and imperial |
07:31:10 | PMunch | mm is great when doing cuts, but they're too small for measuring materials |
07:31:11 | FromDiscord | <ElegantBeef> Not here where all construction is in imperial |
07:31:27 | FromDiscord | <ElegantBeef> US/Canada share construction materials |
07:32:09 | FromDiscord | <ElegantBeef> Pipes, timber, accessories, everything but screws are imperial, luckily screws are robertson |
07:32:22 | FromDiscord | <ElegantBeef> Our studs are 16" center to center |
07:32:23 | FromDiscord | <Idefau> laughs in european union standards |
07:32:35 | PMunch | Huh, just realised I was completely wrong and both my tape measure and yardstick(?) are both metric only |
07:32:37 | FromDiscord | <Idefau> there should be a nim lib for converting units |
07:32:38 | FromDiscord | <ElegantBeef> I mean i'll take anything as long as i keep the robertson |
07:32:58 | FromDiscord | <ElegantBeef> There is no screw that is better than the square drive! |
07:33:05 | FromDiscord | <ElegantBeef> And it's Canadian in origin |
07:33:08 | leorize[m]1 | iirc PMunch is an American living abroad |
07:33:17 | FromDiscord | <Idefau> there's no screw better than a nail |
07:33:22 | FromDiscord | <ElegantBeef> Lol |
07:33:25 | FromDiscord | <ElegantBeef> Nails suck |
07:33:25 | Yardanico | @Idefau they exist already |
07:33:49 | FromDiscord | <Idefau> ok yardanico |
07:33:49 | PMunch | @Elegant, get outa here with your robertsons, torx is vastly superior |
07:34:07 | FromDiscord | <ElegantBeef> Idk i havent used large torx so idk if they stick to the drive |
07:34:09 | PMunch | leorize[m]1, I am? |
07:34:32 | FromDiscord | <ElegantBeef> Robertsons stick to the drive and with shitty bit holding so well that the bit comes out of drivers 😛 |
07:34:38 | leorize[m]1 | I guess I misremembered |
07:35:01 | * | mbomba quit (Quit: WeeChat 2.9) |
07:35:18 | FromDiscord | <ElegantBeef> We can both agree that phillips suck though 😉 |
07:35:19 | PMunch | @Elegant, but you slip once and now you have a screw with a circle drive.. |
07:35:25 | FromDiscord | <ElegantBeef> Nah |
07:35:25 | PMunch | Oh yeah |
07:35:47 | PMunch | At least those are still better than flat head though |
07:36:02 | FromDiscord | <ElegantBeef> Slotted are great if you like stabbing yourself |
07:36:18 | PMunch | The masochist screw |
07:36:57 | FromDiscord | <Rika> LMAO |
07:36:59 | FromDiscord | <ElegantBeef> Phillips suck mainly cause the screws dont stay, and you can use many different drivers for a single screw with no indication if it's "right" |
07:37:08 | PMunch | Only excuse for use slotted nowadays is for stuff like a battery compartment or utility panel which is meant to be able to unscrew with a coin or a key or something |
07:37:09 | FromDiscord | <Rika> No one be mentioning allen |
07:37:37 | PMunch | Allen is like the bastard child of torx and robertsons |
07:37:44 | PMunch | With the worst of both |
07:38:15 | FromDiscord | <ElegantBeef> The US junction box covers are attached with a single screw which is slotted, so you're dicking around an outlet with the one driver that can actually land inside the live 😄 |
07:38:17 | * | oculux joined #nim |
07:38:33 | PMunch | Well, it's mainly the incredibly shitty allen wrenches that comes with flat-pack furniture that turns into a cylinder before you're halfway through setting up the damn thing |
07:39:00 | PMunch | Oh god, who thought that was a good idea? |
07:39:05 | FromDiscord | <ElegantBeef> Also allen driven screws arent common for anything but like bikes or set screws |
07:39:21 | FromDiscord | <ElegantBeef> The US, they're the twits that still use phillips/slotted |
07:40:08 | PMunch | Ours aren't much better though, but at least those are phillips |
07:40:13 | FromDiscord | <ElegantBeef> Do large torx heads actually stick to the bit? |
07:40:24 | FromDiscord | <ElegantBeef> I've never used them so i'm actually curious |
07:40:34 | PMunch | Yeah |
07:40:37 | FromDiscord | <ElegantBeef> Torx is used here as "Security light" |
07:41:07 | FromDiscord | <ElegantBeef> So for when you want to prevent people from opening your hardware but not overly |
07:41:11 | PMunch | I mean not quite as much as robertsons appears to (haven't used a lot of those) |
07:41:16 | FromDiscord | <Rika> Why do bikes use Allen so much I do wonder |
07:41:34 | PMunch | Ah right, I think a robertsons would have about the same effect here |
07:41:44 | FromDiscord | <Rika> Beef there's even a security version of torx so you get double the security!!! |
07:41:45 | FromDiscord | <ElegantBeef> So you have to make multiple passes to the allen key |
07:41:48 | FromDiscord | <ElegantBeef> Yea i know |
07:41:50 | PMunch | Mainly torx and phillips |
07:41:53 | FromDiscord | <ElegantBeef> I have security drivers 😛 |
07:42:19 | PMunch | Ditto, got a set after I "had to" open a small electric oven |
07:42:24 | FromDiscord | <ElegantBeef> Which reminds me i have to modify this gbasp still, so it can charge off a usb |
07:42:36 | FromDiscord | <ElegantBeef> (edit) "gbasp" => "gba sp" |
07:42:44 | FromDiscord | <ElegantBeef> Proprietary connectors can fuck right off |
07:43:02 | FromDiscord | <Rika> Apple :EyesShaking: |
07:43:11 | PMunch | Haha, GBC doesn't have that problem, just two AAs :P |
07:43:13 | FromDiscord | <ElegantBeef> Nintendo used to use them a lot aswell |
07:44:00 | PMunch | Now that I think about it sockets should really define the size of the screw to be bigger than the whole in the socket |
07:44:17 | PMunch | That way even if you slip you wont be able to get the driver into the live |
07:44:45 | FromDiscord | <ElegantBeef> I mean i think you're "supposed" to turn the breaker off when installing the scoket cover |
07:44:49 | FromDiscord | <Rika> Y'all are screw nerds |
07:45:14 | FromDiscord | <ElegantBeef> I've taken apart/built a fair few things using a variety of tools |
07:45:20 | FromDiscord | <ElegantBeef> Yes i have a prefernce 😛 |
07:45:55 | FromDiscord | <ElegantBeef> Where are all the new nim users to ask questions! |
07:46:12 | FromDiscord | <ElegantBeef> Our discord has been growing and there are new people, it's fantastic! |
07:46:37 | * | Tanger quit (Remote host closed the connection) |
07:46:39 | * | Vladar joined #nim |
07:46:55 | FromDiscord | <Idefau> i think the new users might have been confused by the temperature units discussion |
07:47:02 | PMunch | Maybe they're scared off by us sitting here discussing screws :P |
07:47:04 | supakeen | Here's a question: When do you prefer to use macros as opposed to not. |
07:47:05 | FromDiscord | <ElegantBeef> Or screws |
07:47:11 | PMunch | Yeah, or that.. |
07:47:20 | FromDiscord | <ElegantBeef> I prefer to use the simplisted tool possible |
07:47:32 | FromDiscord | <ElegantBeef> (edit) "simplisted" => "simplist" |
07:47:51 | PMunch | supakeen, I use macros when I want to write a different pattern from what I currently have to |
07:48:05 | Yardanico | @ElegantBeef if you want to edit one more time - simplest :) |
07:48:12 | FromDiscord | <Rika> when i cant make a clean code interface, id make a dsl and macro |
07:48:14 | PMunch | Or if I want to implement compile-time checking or extra safeties |
07:48:17 | FromDiscord | <ElegantBeef> Lol yard |
07:48:24 | Araq | supakeen, avoid macros for sugar, use them for DSLs |
07:48:28 | supakeen | It seems to me partially that macros can make things rough on people new to the language as they're a pretty 'advanced' concept of rewriting an AST. |
07:48:31 | FromDiscord | <ElegantBeef> I realized it was still wrong but... i cried 😄 |
07:48:39 | supakeen | Araq: Yea, that's how I feel great for DSLs. |
07:48:43 | FromDiscord | <ElegantBeef> Another nice thing macros can do is introspection |
07:49:04 | * | wowi42 quit (Quit: Kowa Bunga!!!) |
07:49:08 | * | Tanger joined #nim |
07:49:09 | FromDiscord | <ElegantBeef> Get all that lovely data from the code and use it elsewhere |
07:49:15 | PMunch | Yeah, you should try to avoid your macros doing something unexpected |
07:49:19 | FromDiscord | <ElegantBeef> I swear i'll stop talking about the nimscriper thing eventually |
07:49:21 | FromDiscord | <Vindaar> but no one tells people they need to use macros supakeen. If people feel like they need to use every language feature available that's on them |
07:49:22 | Araq | and DSLs are language design problems |
07:49:35 | PMunch | @Elegant please don't :) |
07:49:39 | supakeen | Of course; but there is quite a bit of emphasis on Nim has really good macros. |
07:49:39 | Araq | so respect the problem domain |
07:49:48 | * | wowi42 joined #nim |
07:49:55 | Araq | and yeah, most programmers are not language designers |
07:50:12 | FromDiscord | <ElegantBeef> Well the emphasis is more we have LISP inspired macros, so we get an AST and generate an AST afaik |
07:50:12 | supakeen | I've been trying to sell Nim a bit around me casually and I end up with macros as one of the coolest things but few 'care' about that as much. |
07:50:27 | supakeen | Which is super neat, ElegantBeef. |
07:50:29 | PMunch | supakeen, that is true. It's just one of those features that when you realise how powerful they are it's a really exiting feature |
07:50:48 | FromDiscord | <ElegantBeef> Yea i came from C# i didnt even know what metaprogramming was, i was like that's complicated |
07:50:55 | * | Cthalupa quit (Ping timeout: 260 seconds) |
07:51:14 | supakeen | So far I mostly give the same listing I'd give for other (new) languages: fast, small, ease of deployment, cool macro system where only the last bit is Nimmy. |
07:51:15 | Yardanico | C# can achieve some of the metaprogramming stuff via runtime reflection |
07:51:26 | Yardanico | i think |
07:51:27 | FromDiscord | <ElegantBeef> Oh god yard, dont even get me started |
07:51:31 | FromDiscord | <ElegantBeef> Yes it can |
07:51:34 | Yardanico | I know that it's far from good :) |
07:51:38 | Yardanico | "runtime" is the keyword |
07:51:54 | PMunch | But if you want to "sell" the metaprogramming thing to people examples like npeg are really strong |
07:52:04 | Yardanico | also I like correcting people who say that Rust macros are AST-based :P |
07:52:09 | FromDiscord | <ElegantBeef> But it's in such an awful way, you use attributes to tag your values then you search the Entire app domain to find the tags then have to extract what you need and cache it... |
07:52:19 | PMunch | Type up a nice syntax in your code, and when it compiles it can output railway diagrams and graphs, that's magic to most people! |
07:52:30 | Yardanico | just did that again recently on reddit in the post about the arc/orc article |
07:52:35 | * | Cthalupa joined #nim |
07:52:51 | FromDiscord | <ElegantBeef> The fact that nim's macros just call code makes it a vastly more pleasing experience |
07:53:22 | supakeen | PMunch: npeg is listed in my presentation ;) |
07:53:38 | supakeen | Together with nimpy since that's also a common usecase at least for the ones I chat with. |
07:53:43 | PMunch | Or if you're trying to sell it to low-level people things like my macro for loading sprites on compile-time and embedding them into an Arduino project as a C array of bytes is pretty neat. |
07:53:43 | FromDiscord | <ElegantBeef> You also have things like my constructor library which can show off reducing redundant code by using the DSL |
07:53:57 | supakeen | PMunch: Ooo, can I see that one? |
07:54:09 | supakeen | Show me neat macro examples! |
07:54:12 | FromDiscord | <ElegantBeef> <https://github.com/beef331/constructor> |
07:54:28 | Yardanico | supakeen: npeg does them |
07:54:28 | FromDiscord | <ElegantBeef> No more manually created constructors for me, i just use that when i need them |
07:54:49 | Yardanico | it can show you a railway diagram of your peg patterns in the terminal while compiling |
07:55:21 | Yardanico | -d:npegGraph |
07:55:24 | Yardanico | https://i.imgur.com/8XYyFGz.png |
07:55:25 | supakeen | neat and yea, npeg already on the list :) |
07:55:35 | Yardanico | also it can do .dot graphs |
07:55:57 | PMunch | supakeen, the implementation is ugly as sin: https://github.com/PMunch/MannBarSchwein-arduboy/blob/master/ardusprites.nim#L20 |
07:56:42 | supakeen | That's fine. |
07:56:48 | FromDiscord | <ElegantBeef> Pmunch that's how i feel about the nimscripter macros, they're pretty eeeeh |
07:57:10 | supakeen | So far my approach is 'Nim can do everything you already do PLUS ...' :) |
07:57:10 | PMunch | It started with me wanting to just show off something random so I made it possible to draw sprites in ASCII. Then I figured it would be actually practical to be able to load the BMPs directly. That led me to write a macro that turned a black/white BMP into an ASCII representation and then pass that to the macro |
07:57:15 | Zevv | PMunch: what presentation is that? |
07:57:46 | PMunch | Zevv, huh? |
07:57:56 | Zevv | no supakeen I mean :) |
07:57:56 | FromDiscord | <ElegantBeef> I still find the fact i generate an AST just so i can do `let vmRepr = $node.repr` fantastically comical |
07:58:14 | Yardanico | templates + getASt |
07:58:39 | supakeen | Zevv: I have non-finished slides here: https://bit.ly/introduction-to-nim-slides and I was just filling out the 'how' (examples of Nim) part etc. |
07:58:49 | FromDiscord | <ElegantBeef> What do you mean yard? |
07:58:56 | supakeen | Mostly meant as a random slidedeck to present at random conferences and/or for karaoke slides :) |
07:59:40 | PMunch | The cool thing about the sprite loading macro is that normally you would put a sprite in a flat byte array in C++. And then call sprites.drawSprite(<pointer>, <width>, <height>, <x>, <y>), but my macro stores it as a generic type with static width/height information. So that just becomes <loadedSprite>.draw(<x>, <y>). |
07:59:59 | PMunch | And it reads the static width/height from the type, so cleaner code with 0 runtime overhead |
08:00:28 | PMunch | Combines the excellent type system with macro magic ;) |
08:00:50 | Zevv | supakeen: nice stuff. We need to make all these presentations CC and reusable :) |
08:00:54 | FromDiscord | <ElegantBeef> Similar to my interop macro, where it generates a table of all the VmProcSignatures which is just accessible at runtime |
08:01:06 | supakeen | Zevv: I have no problem making it CC. |
08:01:14 | Zevv | :) |
08:01:35 | supakeen | I'll make a note of it and add it in the first slide tonight! |
08:02:02 | PMunch | Oh, and if you want to mask things you can pass another sprite. In C++ it's up to you to make sure the two pointers you pass in point to an array of the same length actually containing image data of the width and height you specify. In Nim the generic signature of the draw proc makes sure that the sprite and mask are both Sprite types with the same dimensions :D |
08:02:16 | FromDiscord | <ElegantBeef> lol |
08:02:35 | PMunch | ref: https://github.com/PMunch/MannBarSchwein-arduboy/blob/master/ardusprites.nim#L428 |
08:02:37 | FromDiscord | <ElegantBeef> You should really talk about the top quality compile time evaluation as well |
08:03:34 | supakeen | I think in general under advantages it'd be good to list that Nim can do a lot at compile time. |
08:03:57 | FromDiscord | <ElegantBeef> yea "Has an entire intepreted language" is a big + imo |
08:04:09 | FromDiscord | <Idefau> i use macros so i can generate the entire table of sinus values at compile time |
08:04:23 | FromDiscord | <ElegantBeef> Do you need a macro for that? |
08:04:25 | FromDiscord | <Idefau> no |
08:04:29 | FromDiscord | <Idefau> but its compile time |
08:04:39 | FromDiscord | <ElegantBeef> But... a `static: ` is aswell 😛 |
08:05:00 | FromDiscord | <Idefau> not complicated enough |
08:05:33 | FromDiscord | <Idefau> ~~also i didnt know about static~~ |
08:06:11 | FromDiscord | <Vindaar> @supakeen slides for a talk I recently gave to my colleagues about metaprogramming. Mistakes discussing lexer/parser are yours to keep 😛 And yeah, as expected they didn't care for the talk at all (aside from 2 people) 🤣 https://media.discordapp.net/attachments/371759389889003532/768747012954390528/fun_with_metaprogramming.pdf |
08:06:54 | * | stefantalpalaru_ is now known as stefantalpalaru |
08:06:57 | * | stefantalpalaru quit (Changing host) |
08:06:57 | * | stefantalpalaru joined #nim |
08:08:04 | supakeen | Thanks Vindaar :) |
08:08:11 | FromDiscord | <ElegantBeef> Since we're talking about macros, how the hell do you get a macro capable of being `push`ed? |
08:10:08 | FromDiscord | <ElegantBeef> I asked early but like the hell is wrong 😄 https://play.nim-lang.org/#ix=2BAt |
08:14:07 | Yardanico | btw, maybe we can use github projects to better differentiate between bugs in different stdlib modules? |
08:14:14 | Yardanico | so it's easier to fund bugs for a specific stdlib module |
08:14:17 | FromDiscord | <Recruit_main707> why, if you could use an unroll pragma on a for loop, cant add other pragmas to for loops? |
08:14:22 | Yardanico | or add more labels :) |
08:14:30 | Yardanico | Recruit_main707 unroll pragma was removed anyway |
08:14:34 | Yardanico | because it was never implemented :P |
08:14:51 | FromDiscord | <Recruit_main707> my point is that it was valid syntax |
08:15:25 | FromDiscord | <Chaz Ashley> sent a code paste, see https://play.nim-lang.org/#ix=2BAv |
08:15:41 | Yardanico | what's your nim version? |
08:15:42 | Yardanico | nim -v |
08:20:00 | FromDiscord | <Chaz Ashley> it's 1.4.0 |
08:20:42 | Yardanico | well weird, what about nimble ? |
08:20:42 | PMunch | And how did you try to install it? |
08:20:43 | Yardanico | nimble -v |
08:21:01 | * | hnOsmium0001 quit (Quit: Connection closed for inactivity) |
08:21:10 | FromDiscord | <Chaz Ashley> oh, nimble seems to be a little bit older, it's v0.9.0 |
08:22:01 | Yardanico | well nimble has it's own versioning |
08:22:12 | Yardanico | but last version of it os 0.12.0 |
08:22:12 | Yardanico | is* |
08:22:38 | Yardanico | 0.9.0 is from september 2018 |
08:22:38 | FromDiscord | <Idefau> old |
08:22:58 | FromDiscord | <Chaz Ashley> it's interesting that I can install nimble with nimble |
08:23:44 | Yardanico | yes, because nimble is a nimble package |
08:23:44 | Yardanico | but it might not work the way you want |
08:24:09 | Yardanico | you need to have ~/.nimble/bin in PATH and have it on higher priority than /usr/bin for your system to use nimble-installed nimble |
08:24:40 | * | NimBot joined #nim |
08:24:44 | FromDiscord | <Idefau> linux distro with nimble as the package manager when |
08:25:47 | FromDiscord | <Chaz Ashley> sent a code paste, see https://play.nim-lang.org/#ix=2BAy |
08:26:13 | PMunch | How did you install Nim? |
08:26:40 | FromDiscord | <Chaz Ashley> with unpackaging the tarball downloaded from the website and executing the install.sh script |
08:26:41 | PMunch | I recommend choosenim, in which case you get the latest version of nimble when you update |
08:26:59 | PMunch | With just "choosenim update stable" |
08:27:42 | Yardanico | ~doing my random issue labeling stuff~ |
08:27:42 | disbot | no footnotes for `doing`. 🙁 |
08:27:48 | Yardanico | so we have less unlabeled issues |
08:27:54 | Yardanico | and finding potential duplicates/fixed ones |
08:28:20 | supakeen | ~yardanico |
08:28:20 | disbot | no footnotes for `yardanico`. 🙁 |
08:28:22 | supakeen | mrm |
08:28:30 | Yardanico | ~ystream exists though (and no I'm not streaming rn) |
08:28:30 | disbot | no matching footnotes for `ystream` with regexps `exists, though, (and, no, I'm, not, streaming, rn)`. 🙁 |
08:28:33 | Yardanico | ~ystream |
08:28:33 | disbot | ystream: 11Stream at https://twitch.tv/yardanico, voice chat either on Mumble (mumble://uberalles.mumbl.io/) or in Discord (https://discord.com/invite/ezDFDw2) -- Yardanico |
08:29:08 | supakeen | Why does the mumble have a nazi slogan as its hostname. |
08:29:25 | Yardanico | ask disruptek |
08:32:35 | supakeen | Not very nice. |
08:34:09 | * | xet7 quit (Quit: Leaving) |
08:34:49 | FromDiscord | <Chaz Ashley> ok, choosenim worked, I now finally can process my anime wallpapers with imageman 🥳 |
08:35:26 | * | xet7 joined #nim |
08:35:45 | FromDiscord | <Idefau> i think solitude would be proud of such usage |
08:35:58 | FromDiscord | <ElegantBeef> Burn the weebs! |
08:36:02 | FromDiscord | <Idefau> this |
08:36:32 | Yardanico | @SolitudeSF ^ |
08:38:48 | FromDiscord | <Chaz Ashley> yeah, I'd like to create a small program that would compare images in a folder and show some info about duplicates, I'm gonna use some simple algorithm, I guess it's called hashsomething... Basically it scales images down to 64x64 and desaturates them, and then compares same pixels of two images |
08:40:26 | FromDiscord | <Idefau> cool stuff but, it means you have quite a lot of anime wallpapies |
08:40:42 | FromDiscord | <Chaz Ashley> not now, but i'm gonna have them |
08:40:47 | FromDiscord | <Idefau> fair |
08:42:15 | FromDiscord | <Chaz Ashley> I also wrote a simple cron job that changes them every 30 minutes, it uses `feh` to set wallpapers↵looks nice 😎 https://media.discordapp.net/attachments/371759389889003532/768756086449635338/unknown.png |
08:42:26 | FromDiscord | <Idefau> 😎 |
08:43:47 | PMunch | I barely ever see my wallpapers after switching to i3.. |
08:43:57 | FromDiscord | <ElegantBeef> ^ |
08:44:13 | Yardanico | exactly same |
08:44:17 | FromDiscord | <ElegantBeef> Wallpapers are always hidden, dont even notice them through transparent windows much |
08:44:48 | FromDiscord | <dom96> @supakeen wtf, is that really a nazi slogan? |
08:45:34 | supakeen | dom96: It is part of the first verse of the German anthem, it was forbidden by the allies after the second world war as it was used widely as propaganda. It was reinstated in the 60s by germany but that verse (and the following verse) were dropped from the anthem and they only use the 3rd verse due to the connotations. |
08:46:00 | FromDiscord | <Idefau> my wallpaper https://media.discordapp.net/attachments/371759389889003532/768757031221067806/comfy.png |
08:46:14 | PMunch | Oooh, that's cool |
08:46:34 | FromDiscord | <Idefau> let me find it |
08:46:51 | FromDiscord | <Idefau> https://media.discordapp.net/attachments/371759389889003532/768757247077515285/1596369597079.jpg |
08:46:51 | FromDiscord | <Chaz Ashley> I acutally don't see my wallpapers too, lol↵the only way to see them is to launch terminal which has a bit transparent bg |
08:47:25 | supakeen | dom96: It means "Germany above all", etc. |
08:48:17 | Yardanico | supakeen: in this context it can mean "mumble above all" though :) |
08:48:27 | Yardanico | but yeah, disruptek knows more about that mumble server |
08:48:40 | FromDiscord | <Vindaar> maybe I'm just weird, but reading that URL the reference to "Deutschland über alles" never crossed my mind 🧐 |
08:48:46 | supakeen | Sure, just like "Heil Mumble" can be about mumble, it just irks me the wrong way. |
08:48:51 | Yardanico | https://en.wiktionary.org/wiki/%C3%BCber_alles |
08:49:07 | * | landerlo joined #nim |
08:49:10 | FromDiscord | <Vindaar> I mean now it obviously does, but still |
08:49:27 | FromDiscord | <Idefau> heil disrupt.ek |
08:49:34 | supakeen | It has clear Nazi connotations in at least my country and Germany. |
08:49:51 | supakeen | And I don't think it's a great plan to use something like that ironically without context. |
08:49:54 | Araq | yeah, get rid of this. ASAP. Immediately. |
08:50:23 | Yardanico | disruptek is getting busted today it seems :P |
08:50:26 | Araq | completely unacceptable |
08:50:33 | Yardanico | and only disruptek can remove entries from disbot, no one else |
08:50:37 | Yardanico | or edit for that matter |
08:51:01 | FromDiscord | <ElegantBeef> He's one special being 😄 |
08:51:24 | Araq | he can be special elsewhere |
08:51:49 | Yardanico | interesting thing is that a lot of us talked in that mumble server a lot of times and no one noticed the url |
08:52:01 | FromDiscord | <Idefau> i honestly thought it says umbrella |
08:53:21 | Araq | oh I misunderstand, but still |
08:53:50 | Araq | I read it as "Mumble above all" too fwiw |
08:54:03 | Araq | like "there is nothing better than Mumble" |
08:55:36 | FromDiscord | <ElegantBeef> Yea it's not overally bad, but it's still probably not something that should be associated with |
08:56:55 | FromDiscord | <Recruit_main707> personally i dont give a shit, they are two german words that mean good or important, nazis also said goodbye and good morning. |
08:57:04 | Araq | supakeen, I've seen it used in Germany and always ironically |
08:57:42 | mipri | the problem with this shit is that it doesn't accomplish its goals. It's theater, like security theater after 9/11. Ban some German words. Do things actually get better? No, nothing is changed. |
08:57:47 | supakeen | If people mostly view it as ironic then that's fine. |
08:58:05 | supakeen | I probably just misread the intention. |
08:58:09 | Araq | I always take it ironically fwiw |
08:58:18 | FromDiscord | <Recruit_main707> specially on the internet |
09:00:53 | FromDiscord | <ElegantBeef> Ah my remarks were under the assumption the general consensus of that being a dog whistle 😄 |
09:01:40 | * | lritter joined #nim |
09:01:42 | supakeen | I feel the same ElegantBeef but if most people don't see it that way it's also not problematic. |
09:02:12 | FromDiscord | <ElegantBeef> I mean i feel it's not an issue cause it's not a dogwhistle, based off what you were saying it seemed like it was a dog whistle 😄 |
09:02:28 | supakeen | Well, it's hard to read irony from a hostname! |
09:02:50 | mipri | you could read it as what it literally means. |
09:03:20 | mipri | throw-the-jew-down-the-well.mumbl.io is where you have to wonder if it's an ironic reference to Borat or not. |
09:03:53 | mipri | the only reason you're worried about 'dog whistles' to begin with is prior waves of anti-hate theater where overt expressions are banned to no effect whatsoever. |
09:03:58 | FromDiscord | <ElegantBeef> Yea but remember we're talking about disruptek, someone that's not opposed to ridding the edge |
09:04:01 | supakeen | It's well known that the sentence is related to nazi Germany, when used ironically it's probably because Germany didn't end up being above all. |
09:04:24 | mipri | you're not making the world a better place by caring about hostnames. How about trying to make it better with software? |
09:04:30 | FromDiscord | <ElegantBeef> I'm not really worried about dog whistles, i'm more concerned about the association to the community/language |
09:04:46 | Yardanico | what about disruptek?:) |
09:05:52 | FromDiscord | <dom96> mipri: I think it's a fair thing to bring up. Indeed, the community is what suffers here. |
09:06:18 | FromDiscord | <dom96> And people who do believe these things often rely on the fact that the words they are using are ambiguous |
09:06:37 | FromDiscord | <ElegantBeef> I'm not overly PC, so dont mistake me for being such 😄 |
09:07:51 | FromDiscord | <ElegantBeef> You can always go back to all the comments i've made about master -> main or whitelist -> allowlist if you please 😄 |
09:10:04 | FromDiscord | <Idefau> i'm master of holyc |
09:10:48 | mipri | you're just asking to get jerked around in the name of vague associations. easy steps: 1. go to 4chan, post "nim is based and redpilled because its symbol is a crown, and the alright call each other kings now", 2. post it here. look at how the association makes the community looks bad! 3. ok you removed the crown but that's not enough, you need to put "WE DISAVOW THE ALT RIGHT" on your webpage. |
09:11:10 | FromDiscord | <Idefau> step 1 is literally me |
09:11:18 | supakeen | Those are strawman, none of that is happening. |
09:11:23 | FromDiscord | <ElegantBeef> Lol |
09:11:24 | Yardanico | mipri: average python coooooder vs average nim enjoyer |
09:11:42 | Yardanico | yes there's a meme like that |
09:11:59 | FromDiscord | <Idefau> no way dude, its not like its spammed on the nim telegram(on which i dont have an account) |
09:12:06 | Yardanico | Kappa |
09:12:12 | mipri | sorry I am cursed with a good memory so I still remember peopel getting fired for the 'OK' symbol. |
09:12:46 | Yardanico | !status |
09:12:47 | PMunch | Zevv, is there a way to run something when parsing succeeds in npeg? |
09:12:47 | FromDiscord | Uptime - 1 day, 13 hours, and 36 minutes |
09:13:07 | Zevv | PMunch: elaborate |
09:13:09 | mipri | this all happens all the time and the only solution is not care about theater, about 'solutions' that do not solve anything. |
09:13:47 | FromDiscord | <ElegantBeef> Congrats we agree on something |
09:13:50 | FromDiscord | <ElegantBeef> But the issue isnt that |
09:14:36 | supakeen | I don't really understand why you bring all of this up; if the majority of people see the use of `uberalles` as ironic then that's fine, I just read it as a reference to nazi Germany and that link does exist but if day to day use is seen as ironic then that's fine too. |
09:14:58 | PMunch | Well I have the object that does the whole stack thing, but when the parsing is complete I really only want the (hopefully) only element in the stack |
09:15:04 | FromDiscord | <ElegantBeef> The issue is that if it was as superkeen was making out to be a nazi phase and neo-nazi phrase, it'd be a bad image for the nim community to openly using it and sharing it, harming the prospects of the language and growth of the language imo |
09:15:06 | supakeen | I don't care particularly either way but I do feel that it can easily be misconstrued without having to fetch very far. |
09:15:09 | FromDiscord | <Recruit_main707> mipri: ah the ok hand, lovely example of how easy it is to influence people |
09:15:12 | * | Tanger quit (Quit: Leaving) |
09:15:19 | PMunch | I guess I could just write a proc that takes a string and returns my type and then have that do the unpacking |
09:15:27 | PMunch | No reason to tack that onto npeg |
09:15:58 | supakeen | This isn't part of some greater plot to remove the crown from the Nim logo :') |
09:16:31 | Araq | too late, I replaced it with Perl's LSD trip logo already |
09:17:00 | FromDiscord | <ElegantBeef> I dont think that we need a super safe place to not harm snowflakes, but for fucks sakes if it was an actual neo nazi phrase it's probably not wise for a language to use it if it wants to stay afloat |
09:18:11 | FromDiscord | <ElegantBeef> Just throw some anti-semetic comments and racial slurs in change logs just to ensure the steady decline 😛 |
09:18:21 | Araq | it isn't a neo nazi phrase and it's not an official Nim mumble channel either. |
09:18:38 | FromDiscord | <ElegantBeef> Yea hence my use of "if" |
09:19:18 | supakeen | Though I am republican so MRRRRM. |
09:19:24 | FromDiscord | <ElegantBeef> It's a non issue so we can carry on our days |
09:19:51 | Araq | yeah, for example |
09:20:06 | Araq | yesterday I found out nothing works. Nim 1.0.x cannot build 1.2 |
09:20:13 | Araq | and 1.2 cannot build 1.4 either |
09:20:49 | Araq | however |
09:21:13 | Araq | you can build the first Nim binary from our frozen C sources, copy it to bin/ and bootstrap |
09:21:25 | Araq | which is the offical way to build things, so that's good. |
09:21:36 | Araq | but still, we could use more care here |
09:22:01 | supakeen | Speaking of, is someone looking into the docs overflow issue? |
09:22:02 | mipri | IC with --useVersion:1.0 ? |
09:22:12 | mipri | supakeen: that's fixed in devel I think |
09:22:18 | supakeen | Ah nice. |
09:22:24 | supakeen | Otherwise I'd do a stab at it. |
09:22:32 | supakeen | After I read the issue I kept noticing. |
09:22:41 | mipri | supakeen: yeah, https://nim-lang.github.io/Nim/net.html |
09:22:49 | FromDiscord | <dom96> supakeen: hol' up |
09:22:53 | supakeen | Thanks. |
09:22:58 | supakeen | Ya, much better. |
09:23:01 | PMunch | Wait, 1.2 can't build 1.4? |
09:23:02 | mipri | nim-lang.org, Documentation, 'Bleeding Edge Docs' at the very bottom |
09:23:12 | * | landerlo quit (Remote host closed the connection) |
09:23:27 | Yardanico | supakeen: I think narimiran did? |
09:23:31 | Yardanico | maybe not |
09:23:35 | PMunch | That fix should really be backported ASAP |
09:23:39 | Yardanico | oh right it was fixed already |
09:23:41 | narimiran | it is done, but the website stuff is cached |
09:23:42 | Yardanico | PMunch: true |
09:23:42 | PMunch | The official docs now look completely broken |
09:23:44 | FromDiscord | <dom96> supakeen: all I will say is I am disappointed 🙂 |
09:23:49 | PMunch | Ah right |
09:23:50 | Yardanico | narimiran: cool :) |
09:25:45 | supakeen | dom96: Same but I don't exist in a vacuum! Oh, since you're here, this PR: https://github.com/nim-lang/Nim/pull/15478 do you want me to turn it into something that immediately replaces the deprecations? |
09:25:45 | disbot | ➥ Provide non-splitting parseHeaderField in httpcore |
09:27:05 | FromDiscord | <dom96> supakeen: sure, have a look at how other deprecations are done |
09:27:12 | supakeen | Oki! |
09:27:15 | FromDiscord | <dom96> and change the usage of that other proc if possible to the new one |
09:28:21 | supakeen | Yea I'll go over the use sites instead of splitting it out in one that provides the new proc and one that implements its usage. |
09:28:36 | FromDiscord | <dom96> also, you should join #nim-offtopic 🙂 |
09:28:53 | supakeen | Sure! |
09:52:31 | * | arecacea1 quit (Remote host closed the connection) |
09:54:10 | * | arecacea1 joined #nim |
10:11:14 | FromDiscord | <Revenant> yo, just upgraded to 1.4.0 and i'm getting a few of these warning suddenly |
10:11:18 | FromDiscord | <Revenant> ` passing 'dlg.text' to a sink parameter introduces an implicit copy; if possible, rearrange your program's control flow to prevent it` |
10:11:39 | FromDiscord | <Revenant> thing is, i'm just doing stuff like passing a string into a constructor, so yeah it gets copied, but who cares... |
10:12:53 | FromDiscord | <Revenant> (edit) "a string" => "another object" |
10:13:06 | FromDiscord | <Revenant> any way to silence these? |
10:15:39 | FromDiscord | <Revenant> there must be lots of object copying going on everywhere in the code anyway, so i don't understand why i'm getting only these 8-10 warnings about implicit copies. are these of some special importance for some reason? |
10:16:07 | FromDiscord | <Revenant> (edit) yo, just upgraded to 1.4.0 and i'm getting a few of these warnings suddenly |
10:17:13 | Araq | --hint[Performance]:off |
10:17:26 | Araq | or via .push/pop |
10:17:54 | Araq | maybe these should be opt-in rather than opt-out |
10:19:00 | FromDiscord | <Revenant> cheers, that hint did the trick |
10:19:27 | FromGitter | <jrfondren> Revenant: https://play.nim-lang.org/#ix=2BBc |
10:19:41 | FromDiscord | <Revenant> so just for my better understanding, i'm using `--gc:arc`, does this mean that objects are only copied where i get these warnings? i find that hard to believe |
10:19:43 | FromGitter | <jrfondren> also the sink param triggers the warnings |
10:20:19 | FromDiscord | <Revenant> it's a largish codebase, i'm assigning objects left/right/centre everywhere |
10:21:38 | Araq | Revenant: it's about copies you otherwise don't see |
10:22:18 | Araq | assignments do copy (unless optimized to moves or to cursors) |
10:22:46 | Araq | if you really care, --expandArc:foobar shows the full picture |
10:24:45 | FromDiscord | <Revenant> sent a code paste, see https://play.nim-lang.org/#ix=2BBf |
10:25:09 | FromDiscord | <Revenant> that's pretty obvious that we're making a copy when creating Foo, i guess that's why i was suprised by this warning |
10:25:12 | FromDiscord | <Revenant> seems quite explicit to me |
10:32:12 | * | abm joined #nim |
11:05:42 | FromDiscord | <Clyybber> > maybe these should be opt-in rather than opt-out↵Yeah, I think so too |
11:08:29 | * | luismanfroni joined #nim |
11:10:00 | FromGitter | <jrfondren> I don't see what you're replying to. bridge problems? it's easy to throw hint[Performance]=off into nim.cfg, though that seems like a pretty broad hint category |
11:14:52 | FromGitter | <jrfondren> oh Araq said it |
11:17:18 | FromDiscord | <Clyybber> yeah, I'm replying to making it opt-in |
11:17:20 | * | krux02 joined #nim |
11:22:49 | * | arecacea1 quit (Remote host closed the connection) |
11:24:45 | FromDiscord | <Clyybber> zevv: bitline > make :P |
11:25:14 | * | arecacea1 joined #nim |
11:25:16 | * | TomDotTom joined #nim |
11:25:34 | * | TomDotTom quit (Client Quit) |
11:25:42 | Araq | so can we add a check that Nim 1.0 can bootstrap 1.x ? |
11:25:48 | * | TomDotTom joined #nim |
11:25:54 | FromDiscord | <Clyybber> can it not? |
11:25:57 | Araq | it means more 'when' statements in the compiler though |
11:26:32 | Araq | (not it cannot, but the 1.0 *binary* Nim.exe can do it. It's caused by the fact that 1.0 has its own stdlib) |
11:26:35 | FromDiscord | <Clyybber> do you mean that nim 1.0 can't bootstrap 1.x using the 1.x stdlib? |
11:26:59 | Araq | no, I mean the 1.0 we ship to everybody cannot do it because it uses the 1.0 stdlib |
11:27:21 | FromDiscord | <Clyybber> and it works if we make it use the 1.x stdlib? |
11:27:28 | FromDiscord | <Clyybber> won't it encounter unknown magics? |
11:27:50 | Araq | unknown magics raise a warning, not an error |
11:28:07 | Araq | plus they are usually behind a 'when defined(nimHasVoodoo)' switch |
11:28:12 | FromDiscord | <Clyybber> ah right |
11:29:13 | FromDiscord | <Clyybber> don't we have a option for setting the stdlib ? |
11:29:29 | FromDiscord | <Clyybber> Araq: Oh, btw theres also #nim-internals now |
11:32:07 | Araq | well no there isn't. and if it were, now it would be public |
11:34:01 | Zevv | Clyybber: ?? |
11:34:37 | FromDiscord | <Clyybber> Araq: Hmm, theres a channel on discord, I figured it was bridged to irc |
11:34:46 | FromDiscord | <Clyybber> Zevv: you have make in your instructions :D |
11:34:51 | FromDiscord | <Clyybber> but no makefile |
11:35:28 | Zevv | who cares |
11:35:56 | Zevv | nimble build that shit |
11:36:00 | Zevv | that's in the docs anyway |
11:36:04 | Zevv | Make in the docs is only an illusion |
11:36:19 | Zevv | but anway, my project has been abandoned in favor of Tracy |
11:36:24 | Zevv | which is the same thing, but for grownups |
11:36:38 | Zevv | it was fun while it lasted |
11:52:17 | PMunch | Tracy? |
11:52:43 | Zevv | I also never heard of it. https://github.com/wolfpld/tracy |
11:52:49 | Zevv | but it looks way cooler |
11:54:33 | PMunch | Huh, that does look cool |
12:02:32 | Zevv | much cooler then bitline, right :( |
12:02:33 | Zevv | boohoo |
12:03:10 | * | Amun_Ra quit (Ping timeout: 256 seconds) |
12:06:02 | * | supakeen quit (Quit: WeeChat 2.9) |
12:06:37 | * | supakeen joined #nim |
12:13:45 | * | Amun_Ra joined #nim |
12:15:25 | FromDiscord | <Vindaar> well, not sure. Yours is a project I can grok in a few hours and possibly suit my needs. tracy.... ehm yeah. Better hope it does what I want (: |
12:23:21 | * | abm quit (Quit: Leaving) |
12:23:51 | * | abm joined #nim |
12:27:30 | FromDiscord | <lqdev> and that's how suckless was born |
12:28:16 | * | rockcavera joined #nim |
12:28:30 | FromDiscord | <Rika> wtf is that avatar |
12:33:21 | FromDiscord | <lqdev> yes |
12:33:47 | FromDiscord | <Rika> ok l↵iqu↵id |
12:34:29 | FromDiscord | <lqdev> it's called word wrapping. |
12:35:06 | * | solitudesf joined #nim |
12:35:10 | FromDiscord | <Rika> it's called a joke. |
12:35:42 | * | Vladar quit (Ping timeout: 272 seconds) |
12:36:29 | FromDiscord | <Vindaar> damn, I'm too braindead for that. I honestly only now realized that it's "liquid", smh |
12:46:03 | FromDiscord | <Idefau> l iqu id |
12:47:41 | * | Vladar joined #nim |
12:48:16 | FromDiscord | <Idefau> what is this supposed to mean |
12:58:17 | PMunch | We can't see avatars :( |
12:59:26 | PMunch | Hmm, Kiwi is nice, but when it fails it's kinda hard to debug why.. |
13:07:50 | FromDiscord | <lqdev> PMunch: https://cdn.discordapp.com/avatars/229535009969537024/82355a61d56a61a0a4e6236b9278fede.png |
13:08:21 | PMunch | Haha, I see :P |
13:10:48 | * | Vladar_ joined #nim |
13:11:28 | * | Vladar_ quit (Client Quit) |
13:11:51 | * | vivus joined #nim |
13:14:58 | * | Vladar quit (Ping timeout: 272 seconds) |
13:30:50 | FromDiscord | <notchris> @Rika good morning \o/ |
13:31:53 | FromDiscord | <Rika> Wrong channel lol |
13:37:49 | * | astronavt__ is now known as astronavt |
13:40:34 | * | grorkster joined #nim |
13:45:27 | * | lbart quit (Read error: Connection reset by peer) |
13:45:41 | * | lbart joined #nim |
13:45:41 | * | lbart quit (Changing host) |
13:45:41 | * | lbart joined #nim |
13:52:30 | FromDiscord | <tomck> sent a code paste, see https://paste.rs/Lff |
13:53:20 | FromDiscord | <tomck> sent a code paste, see https://play.nim-lang.org/#ix=2BCJ |
13:53:27 | FromDiscord | <tomck> unsure when a returning 'var' copies |
13:54:06 | FromDiscord | <Idefau> wha |
13:54:28 | FromDiscord | <tomck> wha |
13:54:48 | FromDiscord | <Clyybber> @tomck Returning var is a view/borrow operation |
13:54:58 | FromDiscord | <Clyybber> A copy will not happen |
13:55:12 | FromDiscord | <tomck> right, can I 'alias' that view though? Since if i store the 'view' in a variable, it copies |
13:55:32 | FromDiscord | <tomck> sent a code paste, see https://play.nim-lang.org/#ix=2BCN |
13:55:55 | FromDiscord | <Clyybber> make myX an argument of getX |
13:56:06 | FromDiscord | <tomck> eh? |
13:56:10 | * | Vladar joined #nim |
13:56:55 | FromDiscord | <tomck> I'm not struggling to use this as a view, that's fine |
13:57:03 | FromDiscord | <tomck> i'm just wondering what the semantics are on when exactly a copy happens |
13:57:09 | FromDiscord | <Clyybber> a copy shouldn't happen |
13:57:12 | FromDiscord | <tomck> So, a copy happens when it's assigned to a var |
13:57:36 | FromDiscord | <tomck> Does a copy happy if you pass `getX()` directly into another function accepting a `var int`? Or if you return `getX()` from a function returning a `var int`? |
13:57:38 | FromDiscord | <Clyybber> ah, I see what you mean now |
13:57:51 | FromDiscord | <tomck> is there a rule for this, like c++ lvalue / rvalue semantics? |
13:58:24 | FromDiscord | <Clyybber> if you do var a = b where b is a view or getX() then it will be copied |
13:58:35 | FromDiscord | <tomck> is that the only time? |
13:58:50 | FromDiscord | <Clyybber> yeah |
13:59:03 | FromDiscord | <tomck> Is it possible to make this a warning? I've just run into a bug caused by not understanding this, unsure if there are any other areas in the codebase where I do this |
13:59:21 | FromDiscord | <Clyybber> hmm its the behaviour most people expect |
13:59:24 | FromDiscord | <tomck> I've been treating `var` as a transparent ptr |
13:59:41 | FromDiscord | <tomck> oh is `var` just the same as `&` in c++? |
13:59:58 | FromDiscord | <tomck> that makes more sense thinking about it like that, actually |
14:00:04 | FromDiscord | <Clyybber> in a way yeah |
14:00:09 | Araq | yes, pretty much |
14:00:15 | FromDiscord | <tomck> right, i see, cool |
14:00:28 | FromDiscord | <Idefau> var parameter means the function can modify the passed variable argument |
14:02:05 | Araq | Nim is C++, 'var' is '&', 'sink T' is 'T', 'T' is 'const T&', 'ref' is a movable_ptr |
14:02:28 | Araq | except that C++ has no movable_ptr. yet? :-) |
14:02:37 | FromDiscord | <tomck> isn't `ref` shared_ptr? |
14:03:05 | FromDiscord | <tomck> > Nim is C++, 'var' is '&', 'sink T' is 'T', 'T' is 'const T&', 'ref' is a movable_ptr↵This should be in the manual lol, clears everything up |
14:03:40 | Araq | I know, I am writing a "Nim for C++ programmers" book. |
14:03:50 | Araq | (Nah, I'm not. But I should...) |
14:03:51 | FromDiscord | <tomck> just needs to be that one line |
14:04:09 | FromDiscord | <tomck> seriously though, isn't `ref` just `shared_ptr`? or am i not understanding `ref`? |
14:04:10 | Araq | PRs are welcome but we also have "Nim X programmers" wiki pages |
14:05:11 | Araq | shared_ptr is atomic, Nim's ref is racy so you can only move it between threads, much like unique_ptr |
14:05:34 | FromDiscord | <tomck> ohhh that's good to know |
14:05:52 | Araq | plus 'ref' also allows for cycles |
14:07:44 | Araq | (and 'ref' is builtin and optimized quite a bit with more optimizations to come) |
14:08:04 | Araq | (not easily replicated in C++, IMHO) |
14:09:04 | * | a_chou joined #nim |
14:10:07 | Araq | er, I meant to say |
14:10:15 | Araq | we also have "Nim for X programmers" wiki pages |
14:10:50 | FromDiscord | <Idefau> wow secret Nim 10.0.0 |
14:15:51 | FromDiscord | <tomck> Is a `ptr` always mutable? e.g. if you have `x: ptr int` you can always do `x[] = 10` right? There's no 'const ` equivalent? |
14:16:34 | Araq | correct, but there is a "strict funcs" mode |
14:17:07 | Araq | where 'x[] = ...' is disallowed |
14:17:31 | FromDiscord | <tomck> right ok, is that a compiler option? |
14:18:37 | Araq | yes but also a .push'able pragma |
14:26:11 | * | vivus quit (Ping timeout: 260 seconds) |
14:35:40 | * | lbart quit (Ping timeout: 246 seconds) |
14:44:25 | * | lbart joined #nim |
14:44:25 | * | lbart quit (Changing host) |
14:44:25 | * | lbart joined #nim |
14:49:39 | * | luismanfroni quit (Remote host closed the connection) |
14:49:51 | * | luismanfroni joined #nim |
14:50:09 | * | hnOsmium0001 joined #nim |
14:54:18 | FromDiscord | <haxscramper> Is there any way to check which package depends on something? Except for spamming !requires in chat here |
14:55:24 | FromDiscord | <lqdev> read its .nimble file? |
14:55:39 | FromDiscord | <lqdev> or `nimble dump <package>` |
14:55:46 | FromDiscord | <haxscramper> I mean globally, in all nimble packages |
14:55:52 | FromDiscord | <haxscramper> !requires cligen |
14:55:55 | disbot | cligen: 11jiro4989[iler,3termnovel,3coc-radar], 11disruptek[3bump,3wet,3gully], 11snus-kin[3mmb,3aggregate], 11ikarino[3DeepTownOpt,3nimSCS], 11yglukhov[3clurp,3gplay], 11cwpearson/3graph-datasets2, 11treeform/3fidget, 11jonasrauber/3norm, 11momeemt/3BlackvasCli, 11ba0f3/3rcon2tele, 11andreas-wilm/3lofreq3, 11ixalender/3dopic, 11gis-rpd/3fluidemux, 11TechEmpower/ |
14:55:59 | FromDiscord | <lqdev> oh |
15:01:53 | * | a_chou quit (Ping timeout: 260 seconds) |
15:03:34 | avatarfighter[m] | Hello hello everyone |
15:05:23 | idf | sup |
15:05:47 | * | a_chou joined #nim |
15:05:54 | * | rockcavera quit (Remote host closed the connection) |
15:13:18 | * | luis_ joined #nim |
15:22:20 | * | luis_ quit (Quit: luis_) |
15:28:13 | leorize[m]1 | @haxscramper spamming !requires is better for your machine health :P |
15:29:20 | leorize[m]1 | since `.nimble` is in nimscript, it's not possible to perform static analysis to safely obtain the list of dependencies, which means we will have to run the `.nimble` files and who the hell knows what's in those |
15:33:31 | FromGitter | <iffy> I'm building for Android (nim --compileOnly then using Android ndk-build). I've just upgraded from nim 1.2.6 to nim 1.4.0 and am getting 2 new errors with stdlib.time: http://ix.io/2BDq It's possible I'm doing something wrong in my Android-building part, but wanted to see if the cause of the errors were obvious to someone before I dig further. |
15:37:38 | FromGitter | <iffy> Or maybe the problem is `NIM_ALIGNOF`? |
15:37:56 | leorize[m]1 | have you updated your `nimbase.h`? |
15:38:11 | FromGitter | <iffy> oh, good call; I haven't |
15:43:07 | * | vicfred joined #nim |
15:44:14 | * | vicfred quit (Max SendQ exceeded) |
15:44:42 | * | vicfred joined #nim |
15:45:51 | * | rockcavera joined #nim |
15:45:54 | * | vicfred quit (Max SendQ exceeded) |
15:46:24 | * | vicfred joined #nim |
15:55:01 | FromGitter | <iffy> That was it; thank you! |
15:56:32 | disruptek | haxscramper: you can always join irc and message disbot directly for private (and more extensive) replies. |
15:56:57 | * | kungtotte quit (Read error: Connection reset by peer) |
16:02:40 | * | pietroppeter joined #nim |
16:14:56 | * | grorkster quit (Quit: WeeChat 2.9) |
16:15:10 | * | tane joined #nim |
16:15:18 | * | luis_ joined #nim |
16:22:25 | * | luis_ quit (Quit: luis_) |
16:24:06 | disruptek | uber alles was a phrase already in use before it was appropriated by nazis and it'd ridiculous to allow the right to take ownership of our words just by uttering them. |
16:24:35 | disruptek | the server name is a reference to a disposable heros cover of a dead kennedys song. |
16:24:46 | disruptek | get over yourselves. |
16:26:06 | disruptek | nim is also above all. what is monarchy but a very fine-pointed racism? |
16:26:20 | disruptek | should we abandon the exclusionist iconography of the crown? |
16:29:33 | leorize[m]1 | did someone join the mumble server to complain? |
16:29:59 | mipri | no it came up here about seven hours ago |
16:30:25 | disruptek | i had to dig deep to investigate a ping. |
16:31:35 | disruptek | incidentally, if you don't enjoy this tune, you have a hole in your soul: https://www.youtube.com/watch?v=cBAkOifDeSw |
16:34:52 | supakeen | Note that the Dead Kennedy's called their song that in explicit reference to nazism, see also the LP cover I have here :p |
16:35:03 | supakeen | So they picked a thing people would relate to it. |
16:35:27 | disruptek | of course. |
16:35:41 | disruptek | listen to the fucking lyrics. |
16:36:03 | supakeen | Sure, my point was more that "uber alles" is sometimes associated with nazism and that this is the same reason the song is named that. |
16:36:16 | disruptek | obviously. i already refuted that point. |
16:36:25 | disruptek | uber alles was a phrase already in use before it was appropriated by nazis and it'd ridiculous to allow the right to take ownership of our words just by uttering them. |
16:37:25 | supakeen | I think it's a bit late to do that since that already happened over 70 years ago when the verse was first forbidden and then retconned by Germany itself. |
16:38:02 | disruptek | don't let the terrorists win, supakeen. |
16:38:57 | FromGitter | <iffy> With `--gc:orc/arc` I still need to call `NimMain()` to initialize globals, right? |
16:39:53 | leorize[m]1 | yes |
16:41:24 | FromGitter | <jrfondren> huh, --expandArc: can take a module name |
16:41:39 | * | luis_ joined #nim |
16:42:09 | * | luis_ quit (Client Quit) |
16:43:15 | supakeen | Does anyone have any resources related to me wanting to run Nim on my ESP* (embedded) things? |
16:45:26 | supakeen | (it doesn't help that a popular library is called NimBLE either in espressif-land) |
16:47:04 | supakeen | Ah, found some things to look over here: https://github.com/VPashkov/awesome-nim#embedded |
16:51:54 | * | lbart_ joined #nim |
16:53:01 | * | lbart quit (Ping timeout: 264 seconds) |
16:56:10 | FromDiscord | <nikki> https://www.youtube.com/watch?v=WUkYIdv9B8c (talk: Compile time reference counting & Lifetime Analysis in Lobster) reposting here per leorize's suggestion 🙂 |
16:56:55 | leorize[m]1 | https://aardappel.github.io/lobster/memory_management.html <- here's the doc behind it |
16:57:02 | leorize[m]1 | I have only skimmed but it seems to work like arc |
17:01:24 | * | lbart_ is now known as lbart |
17:05:02 | supakeen | nice! |
17:21:01 | disruptek | where do i know this guy from? |
17:21:34 | FromGitter | <jrfondren> https://play.nim-lang.org/#ix=2BEc - thinking of go-style error handling. you can't return from the fallible block without an error about the ret going unused, though |
17:21:49 | disruptek | never mind, i guess i only recognize his voice at 1.5x and not 1.0x. 🤪 |
17:22:43 | disruptek | jrfondren: tell me where to look. |
17:23:00 | disruptek | i lost electricity so i'm not staring at context. |
17:23:24 | FromDiscord | <dom96> supakeen: I’m doing some ESP dev with Nim right now 🙂 |
17:23:44 | FromDiscord | <dom96> Join #nim-embedded iirc it’s linked with our discord |
17:23:47 | FromGitter | <jrfondren> I'm not asking for help, it's just a curiousity. |
17:25:20 | disruptek | !repo badresults |
17:25:21 | disbot | https://github.com/disruptek/badresults -- 9badresults: 11like results but worse 15 1⭐ 0🍴 |
17:25:26 | disruptek | this is what you want. |
17:25:46 | disruptek | see my `:=` in gittyup, too. |
17:25:49 | disruptek | !repo gittyup |
17:25:50 | disbot | https://github.com/disruptek/gittyup -- 9gittyup: 11higher-level libgit2 bindings that build upon nimgit2 15 6⭐ 1🍴 |
17:31:38 | FromGitter | <jrfondren> ah nice, that `:=` looks like what I was aiming for |
17:32:44 | * | luismanfroni quit (Remote host closed the connection) |
17:33:10 | * | luismanfroni joined #nim |
17:33:11 | disruptek | i like it a lot. i won't be insulted if you reimpl it, though. |
17:33:15 | disruptek | it's something that evolved. |
17:33:40 | Araq | leorize[m]1, it's exactly arc |
17:34:08 | disruptek | we don't really use escape hatch, though. |
17:36:19 | * | siulManfroni joined #nim |
17:37:03 | * | gangstacat quit (Ping timeout: 272 seconds) |
17:38:24 | nikki93 | disruptek: the speaker made the cube / sauerbraten engine and some other stuff |
17:38:57 | * | luismanfroni quit (Ping timeout: 272 seconds) |
17:40:10 | * | gangstacat joined #nim |
17:41:07 | * | siul_ joined #nim |
17:44:37 | * | siulManfroni quit (Ping timeout: 264 seconds) |
17:45:25 | nikki93 | if you implement `=destroy` it doesn't cascade to members automatically right? you have to call `=destroy` on members yourself (if you want to)? |
17:45:39 | Araq | correct |
17:48:29 | * | rockcavera quit (Remote host closed the connection) |
17:50:41 | nikki93 | where would the code for eg. 'sink parameter inference' (https://nim-lang.org/docs/destructors.html#sink-parameter-inference) live in the nim compiler codebase |
17:50:42 | nikki93 | seems interesting |
17:52:06 | disruptek | i'm just guessing here, but `sinkparameter_inference.nim` |
17:52:19 | * | siul_ quit (Remote host closed the connection) |
17:52:26 | disruptek | sorry, it must be that time of the month for me. |
17:52:41 | * | siul_ joined #nim |
17:53:14 | disruptek | where snowflakes flutter about amid calls for national unity and anti-corruption. |
17:53:31 | disruptek | did i say month? i meant year. |
17:53:51 | nikki93 | haha, i should've just looked |
17:54:02 | FromDiscord | <Avatarfighter> I thought you were referring to the Nim community when you said snowflakes lmfao |
17:54:15 | disruptek | that's the idea, bro. |
17:54:20 | disruptek | you are right there on it, man. |
17:54:53 | disruptek | okay, we'll do some coffee and then stream some IC. |
17:56:50 | FromDiscord | <Avatarfighter> \o/ IC moment |
17:57:15 | FromDiscord | <William_CTO> `Warning: observable stores to 'parsed' [ObservableStores]`↵What are "observable stores"? |
17:58:28 | disruptek | the classic case is an exception after mutation. |
18:04:32 | * | siul_ quit (Ping timeout: 246 seconds) |
18:05:31 | FromDiscord | <Yardanico> Also they're hidden in 1.4 |
18:05:35 | FromDiscord | <Yardanico> I mean those warnings |
18:05:55 | * | desai[m] left #nim ("User left") |
18:08:40 | * | luismanfroni joined #nim |
18:28:55 | FromDiscord | <Recruit_main707> > where do i know this guy from?↵disruptek, isnt he the flatbuffers guy? |
18:29:15 | FromDiscord | <Recruit_main707> (one of the most active devs) |
18:29:28 | disruptek | i dunno. i forget what flatbuffers is. |
18:30:24 | FromDiscord | <alehander42> jrfondren sounds to me like a guy from lobste.rs |
18:30:30 | FromDiscord | <alehander42> but i might be misremembering |
18:30:35 | disruptek | should we string him up? |
18:31:00 | FromDiscord | <alehander42> noo |
18:31:02 | FromDiscord | <alehander42> i might be wrong |
18:31:07 | FromDiscord | <alehander42> it's time for eveninng |
18:31:10 | FromDiscord | <alehander42> after work |
18:31:25 | disruptek | interesting. |
18:31:42 | disruptek | i don't think i've ever heard anyone suggest that there was a good time of day for lynchin'. |
18:31:47 | * | lritter quit (Ping timeout: 265 seconds) |
18:32:12 | disruptek | when do you like to do your killin', sasha? |
18:32:18 | FromDiscord | <Recruit_main707> "FlatBuffers is an efficient cross platform serialization library" |
18:32:27 | disruptek | you're blowin' my mind right now. |
18:33:28 | FromDiscord | <Recruit_main707> ... |
18:33:38 | Prestige | That happens a lot disruptek |
18:33:42 | bung | I got response from server by using recvInto, data is filled ,but recvInto returns 0 |
18:33:45 | disruptek | i know. |
18:33:57 | disruptek | bung: sounds like a bug. |
18:34:07 | * | arecacea1 quit (Remote host closed the connection) |
18:34:26 | disruptek | maybe we should just impl flatbuffers for nim. |
18:34:41 | * | arecacea1 joined #nim |
18:35:04 | bung | ah, old version I use recv without problem. can you confirm that ? a bug ? |
18:35:16 | disruptek | it sounds pretty bad to me. |
18:37:02 | disruptek | didn't skrylar impl something like this? |
18:38:36 | bung | I remenber someone interested in flatbuffers in repo's issue, dont know if they started |
18:40:20 | bung | I also have a glance at flatbuffers's repo, it's about n*1000 lines code |
18:40:22 | disruptek | hmm, it's skcbor i'm thinking of i guess. |
18:41:23 | FromDiscord | <alehander42> disruptek i hate lynches |
18:41:32 | FromDiscord | <alehander42> that reminds me i read of a horrible one |
18:41:37 | FromDiscord | <alehander42> some time ago |
18:41:44 | disruptek | are you thinking of leechee fruit? |
18:41:47 | FromDiscord | <alehander42> i didnt expect they were that bad |
18:41:55 | disruptek | oh, leeches? |
18:41:56 | FromDiscord | <alehander42> i mean, sadism |
18:42:10 | FromDiscord | <alehander42> lynchings |
18:42:14 | disruptek | oh, lynch'ins. |
18:42:17 | FromDiscord | <alehander42> horribl |
18:42:26 | disruptek | how do you not expect them to be bad? |
18:42:28 | FromDiscord | <alehander42> are you some kind of southern guy disruptek |
18:42:31 | FromDiscord | <alehander42> the accent and stuff |
18:42:37 | disruptek | nah. |
18:42:43 | FromDiscord | <alehander42> well i expected them to at least not be as .. brutal |
18:43:01 | disruptek | it's pretty fucking scary, dude. |
18:43:12 | FromDiscord | <alehander42> are you safe! |
18:43:26 | disruptek | not as safe as i was. |
18:43:46 | disruptek | actually, they are selling half my shop at auction in december. |
18:43:52 | FromDiscord | <alehander42> what's new in life |
18:43:57 | FromDiscord | <alehander42> ahh, is this good? |
18:44:02 | disruptek | dude, did you ever send me a postcard? |
18:44:05 | FromDiscord | <alehander42> what would you do with a half-shop |
18:44:07 | FromDiscord | <alehander42> nope |
18:44:10 | PMunch | Zevv, hmm is there a way of getting the position in the string in a capture? |
18:44:12 | disruptek | no, i didn't pay my bill and they took all my stuff. |
18:44:18 | PMunch | I want to store it for error messages |
18:44:19 | FromDiscord | <alehander42> i found out the address is of some questionable place |
18:44:24 | FromDiscord | <alehander42> in hollywood or something |
18:44:27 | FromDiscord | <nikki> @Recruit_main707 yea he's the flatbuffers guy |
18:44:37 | disruptek | pmunch: i need this too for substitution in nim.cfg 🎉 |
18:44:44 | FromDiscord | <alehander42> hmm |
18:44:46 | disruptek | neat. |
18:44:55 | FromDiscord | <alehander42> but you still have half a shop |
18:45:05 | disruptek | they will take it, too. |
18:45:07 | FromGitter | <jrfondren> you're definitely misremembering. I've never posted on lobste.rs |
18:45:08 | FromDiscord | <alehander42> what bills do you have if no rent |
18:45:13 | FromDiscord | <alehander42> yeah sorry |
18:45:17 | FromDiscord | <alehander42> 😄 |
18:45:35 | FromDiscord | <alehander42> i myself have to fix some debts |
18:45:40 | disruptek | storage unit and servicing debt. |
18:45:43 | FromDiscord | <alehander42> but i have no shop |
18:46:02 | FromDiscord | <alehander42> can't you |
18:46:08 | FromDiscord | <alehander42> make money from the shop |
18:46:25 | disruptek | it's in storage units. |
18:46:32 | FromDiscord | <alehander42> wait i mean, what do they sell in this shop |
18:46:42 | FromDiscord | <alehander42> maybe i am imagining a market shop like |
18:46:44 | FromDiscord | <alehander42> bread and stuff |
18:46:55 | disruptek | i had a little porsche repair/fabrication shop. |
18:47:16 | FromDiscord | <alehander42> this sounds good |
18:47:36 | disruptek | it's got a big lathe and a mill. complete mechanics tools. welder. that sort of thing. |
18:47:47 | FromDiscord | <alehander42> hm, cars and stuff |
18:47:56 | disruptek | yeah. |
18:48:00 | FromDiscord | <alehander42> sounds specialized |
18:48:05 | FromDiscord | <alehander42> can't you like |
18:48:06 | FromDiscord | <alehander42> move it to |
18:48:15 | FromDiscord | <alehander42> place where people drive a lot of porsches |
18:48:26 | disruptek | you might think so, huh? |
18:48:30 | narimiran | :D |
18:48:40 | FromDiscord | <alehander42> i have no idea |
18:48:47 | disruptek | maybe someone in cali would like to hire me. |
18:48:53 | FromDiscord | <alehander42> i suspect porsche is a bit more expensive |
18:48:54 | FromDiscord | <Recruit_main707> @nikki thanks |
18:49:14 | FromDiscord | <alehander42> so you can like fix cars and compilers |
18:49:32 | disruptek | i'm also a rare coin dealer. |
18:49:33 | FromDiscord | <alehander42> go to tesla or something |
18:49:53 | disruptek | but, kinda low on capital for rare coin dealing these days. |
18:50:02 | narimiran | he's not *that* good of a repair-man to fix teslas |
18:50:18 | disruptek | you can learn anything you need to know from rich. |
18:50:40 | disruptek | anyway, i lost a fortune on musk so i'm very anti. |
18:50:43 | FromDiscord | <alehander42> is this a dig at the electric cars industry |
18:50:46 | FromDiscord | <alehander42> 😄 |
18:50:51 | disruptek | it's gonna kill me to have to buy his internet later. |
18:50:51 | FromDiscord | <alehander42> narimiran |
18:51:03 | narimiran | it is at tesla's pooooor quality control |
18:51:42 | FromDiscord | <alehander42> no idea |
18:51:48 | FromDiscord | <alehander42> horses have great quality |
18:51:54 | narimiran | if a regular car company had so many mis-aligned panels and other problems, people would call it Yugo |
18:52:07 | FromDiscord | <alehander42> we had many russian cars |
18:52:15 | FromDiscord | <alehander42> but not many jugo ones, which sounds strange |
18:52:18 | FromDiscord | <alehander42> did you export |
18:52:33 | FromDiscord | <alehander42> disruptek have you dealt with easter european cars |
18:52:45 | FromDiscord | <alehander42> i guess not very popular in usa |
18:53:07 | * | lbart quit (Ping timeout: 260 seconds) |
18:53:16 | narimiran | yugo was even exported to USA! (where it was crowned as the worst car ever) |
18:53:31 | disruptek | no, i can't think of any. |
18:54:40 | * | lbart joined #nim |
18:54:40 | * | lbart quit (Changing host) |
18:54:40 | * | lbart joined #nim |
18:55:42 | * | Kaivo quit (Ping timeout: 272 seconds) |
18:55:49 | FromDiscord | <kodkuce> https://github.com/yglukhov/nim-jwt , hmm alg: SignatureAlgorithm what should i put for this ? |
18:55:58 | * | luis_ joined #nim |
18:56:39 | FromDiscord | <alehander42> woww |
18:56:47 | FromDiscord | <alehander42> i found out |
18:56:49 | FromDiscord | <alehander42> opel is now |
18:56:54 | FromDiscord | <alehander42> with peugeot in pSA |
18:56:56 | FromDiscord | <alehander42> PSA |
18:57:59 | * | Kaivo joined #nim |
18:59:16 | FromDiscord | <kodkuce> token.header.alg just this ? |
19:00:01 | FromDiscord | <reilly> How can I turn a `ptr cstring` into a regular `string`? |
19:00:19 | disruptek | x[] |
19:00:48 | FromGitter | <ynfle> Can `expect` from `unittest` test if a variable is immutable (ie. delcared with `let`)? If not, is there a way to do it? |
19:01:29 | disruptek | i guess a hack would be to check compiles(x = y) |
19:01:51 | disruptek | seems fair for tests code. |
19:04:25 | FromDiscord | <Yardanico> @reilly something like $x[] |
19:05:12 | * | Kaivo quit (Ping timeout: 272 seconds) |
19:05:45 | FromGitter | <ynfle> @distruptek, that only check if it can't be assigned. Could be that it isn't exported or is immutable |
19:06:19 | disruptek | yeah, you try to assign x a value. |
19:06:24 | * | go|dfish quit (Remote host closed the connection) |
19:06:24 | disruptek | that tests mutability. |
19:07:19 | * | Kaivo joined #nim |
19:07:39 | FromGitter | <ynfle> But it it doesn't exist, it wouldn't compile also |
19:07:55 | FromGitter | <ynfle> Doesn't test but it exists but is immutable |
19:07:57 | FromGitter | <ynfle> *that |
19:08:22 | disruptek | yeah, you might have to use two expressions to model this. |
19:08:46 | * | go|dfish joined #nim |
19:09:00 | FromGitter | <ynfle> like `compiles(echo $x)`? |
19:10:06 | disruptek | when defined(foo): ... elif not compiles(foo = 3): ... |
19:10:17 | * | luis_ quit (Quit: luis_) |
19:12:25 | FromDiscord | <reilly> So, I think that `$x[]` worked, but I can't be 100% sure because I think I have an issue elsewhere. I'm trying to use a GLFW drop callback in Fidget. The window opens just fine, but trying to drag in a file causes the following error: https://hastebin.com/icajapeyec.txt |
19:12:41 | * | natrys joined #nim |
19:13:00 | * | NimBot joined #nim |
19:22:03 | * | bung quit (Ping timeout: 265 seconds) |
19:24:42 | * | siulManfroni joined #nim |
19:24:45 | * | luismanfroni quit (Ping timeout: 258 seconds) |
19:28:42 | * | qeeg quit (Remote host closed the connection) |
19:30:08 | * | qeeg joined #nim |
19:33:44 | * | lbart quit (Ping timeout: 260 seconds) |
19:34:12 | FromDiscord | <dom96> where are you getting the `ptr cstring`? |
19:34:18 | FromDiscord | <dom96> (edit) "cstring`?" => "cstring` from?" |
19:37:23 | * | lbart joined #nim |
19:37:23 | * | lbart quit (Changing host) |
19:37:23 | * | lbart joined #nim |
19:37:55 | * | qeeg quit (Ping timeout: 240 seconds) |
19:38:51 | * | mbomba joined #nim |
19:38:58 | * | a_chou quit (Remote host closed the connection) |
19:39:10 | FromDiscord | <ElegantBeef> I'm going to assume from the glfw filedrop callback |
19:49:18 | FromDiscord | <nikki> it seems like the glfw drop callback gives you a `count` and a `const char ` that points to `count` `const char`s that are each of the paths you receive |
19:49:53 | * | bung joined #nim |
19:50:06 | FromDiscord | <nikki> maybe log the `count` value? |
19:52:30 | FromDiscord | <ElegantBeef> Psh maybe speak english 😛 |
19:53:05 | FromDiscord | <nikki> glfw file drops are not english though xD |
19:53:17 | FromDiscord | <ElegantBeef> I'm mostly joking at the c gibberish |
19:53:34 | * | narimiran quit (Quit: leaving) |
19:54:16 | FromDiscord | <nikki> @ElegantBeef https://cdecl.org/ funny it literally says 'c gibberish' and 'english' in the website |
19:54:37 | FromDiscord | <ElegantBeef> That's where i got the phrase 😛 |
19:54:44 | * | bung quit (Ping timeout: 260 seconds) |
19:57:51 | disruptek | i can't keep up with you two. |
19:58:13 | FromDiscord | <ElegantBeef> Yea we're pretty quick witted |
20:12:36 | * | avatarfighter[m] is now known as Avatarfighter[m] |
20:12:53 | * | astronavt quit (Quit: Leaving) |
20:29:10 | * | bung joined #nim |
20:30:37 | * | astronavt joined #nim |
20:33:25 | * | bung quit (Ping timeout: 240 seconds) |
20:33:44 | FromDiscord | <reilly> So, I've given up on trying to do it with GLFW and am trying the Windows API instead. I've gathered that I need to handle a WM_DROPFILES message, but as is typical with the Windows API, it's a whole lot of confusing nonsense and I haven't worked out how to even get messages in the first place. |
20:37:26 | nikki93 | disruptek: is that a compliment |
20:38:45 | FromDiscord | <nikki> @reilly i think you need to set a 'window proc' using the `RegisterClass` windows function ... maybe it's still worth it to see if you can make it work with GLFW bc. it's probably internally doing just that and i'm not sure how it'd interact with its internal one / whether you can have multiple window procs / ... |
20:38:53 | * | natrys quit (Quit: natrys) |
20:39:30 | FromDiscord | <nikki> i've used GLFW before and i kinda prefer SDL2 now ... |
20:39:41 | FromDiscord | <reilly> I've been talking with Treeform and he doesn't have a clue, so if he can't figure it out then I definitely can't. |
20:40:20 | FromDiscord | <reilly> I should clarify that I'm really using Fidget, but that's built on top of staticglfw and I have access to the window anyway. |
20:42:26 | FromDiscord | <dom96> tried gdb to see where it points? |
20:43:01 | FromDiscord | <nikki> yeah gdb breakpoint in the callback would be v helpful |
20:49:28 | FromDiscord | <reilly> Give me the TL;DR on how to do that, because I've never touched gdb before and I'm not about to spend an hour learning just for a little library demo. |
20:49:32 | FromDiscord | <shashlick> @dom96 - quick review - https://github.com/dom96/choosenim/pull/238 |
20:49:33 | disbot | ➥ Linux build, windows init.sh fixes |
20:49:51 | * | xet7 quit (Quit: Leaving) |
20:52:29 | FromDiscord | <ElegantBeef> @dom96 also fix this https://media.discordapp.net/attachments/371759389889003532/768939856687792148/unknown.png |
20:52:50 | FromDiscord | <ElegantBeef> Ah nvm that's right... weird |
20:54:08 | FromDiscord | <nikki> has anyone made macros that generate CSS yet 👀 |
20:54:38 | * | mbomba quit (Quit: WeeChat 2.9) |
20:55:50 | FromDiscord | <exelotl> huh I haven't heard of any but it seems like a good idea |
20:56:03 | disruptek | treeform's department. |
20:56:31 | disruptek | skrylar: are you around? |
20:56:41 | FromDiscord | <exelotl> nim equivalent of sass would be nice |
20:56:52 | disruptek | i got all the sass you need, sugah. |
20:57:09 | * | rockcavera joined #nim |
20:59:06 | * | bung joined #nim |
21:01:44 | FromDiscord | <dom96> @exelotl sass works pretty well tbf |
21:02:51 | FromDiscord | <exelotl> yeah, it does I guess |
21:04:16 | * | bung quit (Ping timeout: 272 seconds) |
21:05:10 | FromDiscord | <nikki> kinda nice to eg. have libraries that ship thru nimble that include their css or whatever and it all composes |
21:05:23 | FromDiscord | <nikki> or splice in nim variables and so on |
21:05:59 | FromDiscord | <nikki> (edit) "kinda nice to eg. have ... libraries" added "component" |
21:06:15 | FromDiscord | <exelotl> sent a code paste, see https://play.nim-lang.org/#ix=2BFA |
21:06:34 | FromDiscord | <exelotl> but the idea of a Nim CSS DSL sounds nice in principle |
21:08:03 | FromDiscord | <nikki> @exelotl saw your talk on gba programming in nim yday btw and it was cool 🙂 |
21:08:20 | FromDiscord | <nikki> how long have u been working on that game itself? the platformer one that was in the video |
21:08:36 | FromDiscord | <exelotl> oh thanks, nice to hear :) |
21:09:11 | FromDiscord | <exelotl> we started working on it in early 2019 |
21:09:47 | FromDiscord | <exelotl> after the jam version which we made in C in december 2018 |
21:10:10 | FromDiscord | <nikki> cool 😮 |
21:15:31 | * | bung joined #nim |
21:19:55 | * | bung quit (Ping timeout: 246 seconds) |
21:25:13 | FromDiscord | <Clyybber> disbot: keeping it fake? |
21:25:21 | FromDiscord | <Clyybber> disappointment |
21:30:04 | * | sealmove joined #nim |
21:30:13 | sealmove | guys what I am missing? https://play.nim-lang.org/#ix=2BFL |
21:30:39 | * | lbart_ joined #nim |
21:31:07 | * | lbart quit (Ping timeout: 246 seconds) |
21:33:18 | sealmove | must be something really obvious |
21:34:52 | leorize[m]1 | @nikki karax actually have something called VStyle |
21:35:01 | FromDiscord | <shashlick> @dom96 - am merging that choosenim PR, have a couple more fixes that i need to do |
21:35:18 | * | Guest94576 joined #nim |
21:35:37 | FromDiscord | <dom96> hold up |
21:35:57 | leorize[m]1 | sealmove: remove `ref` :P |
21:36:29 | FromDiscord | <shashlick> basically fixes around the static build changes |
21:36:42 | sealmove | :| I am stupid |
21:36:49 | disruptek | nah. |
21:37:25 | * | mbomba joined #nim |
21:37:44 | * | Guest94576 quit (Client Quit) |
21:37:56 | FromDiscord | <tomku> sent a code paste, see https://play.nim-lang.org/#ix=2BFP |
21:38:03 | FromDiscord | <dom96> @shashlick hmmm, so we now will create a dynamic build if `musl-gcc` is not found |
21:38:05 | disruptek | clyybber: criterion in 1.4? |
21:38:14 | FromDiscord | <Clyybber> w |
21:38:17 | disruptek | think it's worthwhile? |
21:38:24 | FromDiscord | <dom96> @shashlick seems like it could lead to some head scratching, maybe we should just hard fail? |
21:38:25 | FromDiscord | <Clyybber> yes, |
21:38:37 | FromDiscord | <shashlick> @dom96 - ya cause the openssl libs need pthread and -static doesn't work |
21:39:04 | FromDiscord | <shashlick> the binary segfaults when you run it |
21:39:26 | FromDiscord | <Clyybber> disruptek > It is expected not to pass tests at the moment. |
21:39:29 | FromDiscord | <dom96> huh, so are we also going to be shipping non-static binaries again? |
21:39:40 | disruptek | clyybber: https://github.com/disruptek/criterion/actions?query=workflow%3ACI |
21:39:41 | FromDiscord | <shashlick> no the travis build is setup with musl-gcc |
21:39:46 | FromDiscord | <ElegantBeef> How can i change a global var from inside a thread, or alternatively what's the best way to get similar behaviour |
21:39:51 | FromDiscord | <shashlick> so we will only build non-static locally |
21:40:00 | FromDiscord | <shashlick> or if musl-gcc isn't available |
21:40:28 | leorize[m]1 | shashlick: consider grabbing a toolchain from musl.cc, that's what I did for nightlies |
21:40:50 | FromDiscord | <dom96> Right. I'm just concerned we'll end up releasing dynamic binaries by accident |
21:40:57 | FromDiscord | <Clyybber> disruptek: why does it not pass? |
21:41:05 | FromDiscord | <shashlick> yes - we need to have musl setup and it will work fine |
21:41:11 | FromDiscord | <dom96> Can you make it so that an explicit flag needs to be passed for dynamic linking? |
21:41:19 | disruptek | i forget. you want me to read the url? |
21:41:28 | FromDiscord | <Clyybber> disruptek: nah, just see it |
21:41:41 | FromDiscord | <Clyybber> disruptek: is this the one where I told you to try --useVersion:1.2? |
21:41:46 | disruptek | /home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020 |
21:41:49 | disruptek | 395 |
21:41:50 | disruptek | /home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020 |
21:41:53 | disruptek | 395 |
21:41:55 | disruptek | /home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020 |
21:41:58 | FromDiscord | <Clyybber> I see it |
21:41:59 | disruptek | /home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020 |
21:42:02 | disruptek | /home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020 |
21:42:03 | FromDiscord | <Clyybber> bruh |
21:42:04 | FromDiscord | <shashlick> @dom96 - but then choosenim won't compile locally |
21:42:05 | disruptek | /home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020 |
21:42:08 | disruptek | /home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020 |
21:42:10 | FromDiscord | <Clyybber> lol |
21:42:10 | FromDiscord | <shashlick> or rather, it will compile but crash |
21:42:11 | disruptek | /home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020 |
21:42:14 | disruptek | shit, sorry. |
21:42:28 | leorize[m]1 | Yardanico: @tomku message seems to be broken when rendered to a paste |
21:42:32 | disruptek | i dunno why this keyboard is so sticky. |
21:42:39 | disruptek | oh wait, now i remember. |
21:42:40 | FromDiscord | <Clyybber> so |
21:42:46 | FromDiscord | <dom96> @shashlick just refuse to compile if musl-gcc is not in PATH and output a nice error message? |
21:42:52 | FromDiscord | <Clyybber> did you try useVersion:1.2 |
21:42:53 | FromDiscord | <Yardanico> @leorize ? |
21:43:07 | FromDiscord | <shashlick> that will piss people off - like on arch linux where there's no musl-gcc |
21:43:10 | disruptek | i did, clyybber. i put it into the .nimble tests, also. |
21:43:21 | FromDiscord | <shashlick> no one expects a static choosenim when compiling locally for tests |
21:43:30 | FromDiscord | <Clyybber> disruptek: so it doesn't help? |
21:43:43 | leorize[m]1 | Yardanico: look at this? https://play.nim-lang.org/#ix=2BFP |
21:43:58 | leorize[m]1 | vs https://discord.com/channels/371759389889003530/371759389889003532/768951290080264202 |
21:44:09 | disruptek | clyybber: help how? |
21:44:16 | FromDiscord | <Clyybber> compile |
21:44:27 | Yardanico | @leorize ah okay |
21:44:28 | FromDiscord | <dom96> shashlick: how will it if the instructions are "Please get `musl-gcc` or compile with -d:useDynamicLinking"? |
21:44:34 | FromDiscord | <Clyybber> it does not work with useVersion:1.2 is what I'm asking? |
21:45:07 | disruptek | i think it doesn't, but if it does, am i supposed to say that criterion no longer supports nim? |
21:45:09 | leorize[m]1 | @tomku usually in Nim we just make a new `newContainer()` proc instead |
21:45:18 | FromDiscord | <dom96> shashlick: development should happen to as close an environment as the CI's, if we want to make it easier for people we need to make them explicitly ask for it |
21:45:31 | FromDiscord | <Clyybber> disruptek: you are supposed to shush, and eat your own food until you know more |
21:45:42 | leorize[m]1 | @tomku it's not possible for the compiler to infer your intention from a proc like above, unless it take a parameter |
21:45:51 | disruptek | i'll try that. |
21:45:54 | Yardanico | !status |
21:45:56 | FromDiscord | Uptime - 2 days, 2 hours, and 9 minutes |
21:46:16 | FromDiscord | <shashlick> @dom96 - well, that means we don't work at all without musl |
21:47:01 | leorize[m]1 | @dom96 it shouldn't have to, if you're writing only Nim you should be 100% compatible with musl |
21:47:30 | FromDiscord | <tomku> @leorize i was hoping there's some kind of pragma that would allow for that, but no biggie. thanks |
21:47:42 | FromDiscord | <dom96> @shashlick not sure what you mean by that |
21:48:09 | leorize[m]1 | @tomku it depends on how you wanna call that proc |
21:48:15 | leorize[m]1 | @tomku you can't call `new()` and have it magically resolve into `new[Container]()`. There has to be something for the compiler to infer |
21:48:31 | FromDiscord | <Clyybber> disruptek: Sooooo, does it work? |
21:48:51 | FromDiscord | <shashlick> so currently, you get dynamic builds if musl-gcc isn't present - which is the travis setup |
21:49:05 | FromDiscord | <tomku> @leorize the idea was to call Container.new(). but that goes straight to the default system.new proc |
21:49:17 | FromDiscord | <shashlick> one proposal is to just die cause musl-gcc is missing, which means we need to special case on platforms where musl == gcc like alpine |
21:49:52 | * | solitudesf quit (Ping timeout: 272 seconds) |
21:50:14 | leorize[m]1 | @tomku ah you overloaded it wrong :P |
21:50:14 | leorize[m]1 | @tomku here's what you should use instead `proc new(T: typedesc[Container]): Container` |
21:50:22 | FromDiscord | <shashlick> I don't see the issue with the way it is cause you can build and test choosenim locally |
21:50:32 | FromDiscord | <shashlick> a static glibc choosenim isn't really so portable |
21:50:49 | FromDiscord | <shashlick> and forcing musl for choosenim devs is just hmm |
21:51:52 | FromDiscord | <shashlick> even the nim binaries on nightlies are musl built whereas locally you can still build however |
21:52:01 | FromDiscord | <tomku> @leorize ha! I had a gut feeling there was a way to do that, much appreciated! |
21:52:20 | leorize[m]1 | @tomku note that Nim provides two differing `new`: `new(T: typedesc): T` and `new[T: ref](result: var T)`. For consistency you might want to overload both of them, not recommended though |
21:53:34 | FromDiscord | <dom96> My issue is with implicitly choosing what is used based on the build environment (whether `musl-gcc` is in PATH or not) |
21:53:48 | FromDiscord | <Clyybber> disruptek: As in, did you try locally? |
21:54:05 | FromDiscord | <dom96> I don't want you to force people to use this, I just want you to force people to write `-d:useDynamicLinkin` or similar to ensure they really don't want to use musl |
21:54:28 | FromDiscord | <shashlick> @dom96 - also to clarify - when you say local devs should ask for it (dynamic link) means by default, choosenim won't work at all locally since setting -static on glibc is crashing |
21:55:00 | FromDiscord | <shashlick> in either case, local build is going to be different - static/dynamic or static but with glibc |
21:56:03 | FromDiscord | <dom96> why is there a third? It's just between musl (static) or no musl (glibc or whatever is on the system) |
21:56:36 | FromDiscord | <Clyybber> disruptek: If it works with --useVersion:1.2 then its the sym change, thus why its your own food :P |
21:56:39 | FromDiscord | <shashlick> what do you mean by third |
21:56:42 | FromDiscord | <tomku> @leorize what's the second one for? when instantiating a ref for a type that's not a ref type by default? |
21:57:56 | * | tane quit (Quit: Leaving) |
21:58:19 | disruptek | clyybber: it's an ICE under --useVersion:1.2; how could that be my own food? |
21:58:36 | FromDiscord | <shashlick> @leorize - know what this means - http://ix.io/2BFR - that's the choosenim crash if you -static with glibc and -lpthread |
21:58:38 | FromDiscord | <Clyybber> disruptek: Oh, then its not your own food :D |
21:58:51 | disruptek | my food smells like food. |
21:58:57 | FromDiscord | <Clyybber> disruptek: does it say something different without --useVersion:1.2? |
21:59:16 | disruptek | it just has your email address in bold and italics. |
21:59:23 | leorize[m]1 | @tomku the second one is for `new(result)` pattern in a `proc`, used to initialize a ref variable before assigning things into them. It pretty much has been phased out due to the ref object constructor also creates the ref, though. |
22:00:02 | disruptek | it works without --useVersion:1.2 |
22:00:41 | leorize[m]1 | shashlick: can't tell without seeing having debug symbols for the crashing sym |
22:00:59 | FromDiscord | <dom96> shashlick: third case |
22:01:35 | FromDiscord | <shashlick> @leorize rebuilt with -g but still no more details |
22:02:13 | leorize[m]1 | your libc provider (the distribution) must provide them. Those are generated at libc compile time. |
22:02:14 | FromDiscord | <shashlick> @dom96 - i don't understand - do you mean in the diff or something else |
22:02:21 | * | pietroppeter quit (Quit: Connection closed for inactivity) |
22:02:30 | FromDiscord | <Clyybber> disruptek: Lol, then don't use --useVersion:1.2 :D |
22:02:36 | FromDiscord | <shashlick> @leorize - do you have a non-musl system |
22:02:45 | FromDiscord | <dom96> @shashlick I mean why are you talking about a static glibc? I don't think anyone needs that |
22:02:52 | disruptek | well, these switches aren't very useful if they don't work. |
22:02:55 | FromDiscord | <dom96> Just support dynamic linking with whatever libc is available and musl static linking |
22:03:02 | FromDiscord | <Clyybber> disruptek: Well clearly they do |
22:03:05 | FromDiscord | <Clyybber> they break your code |
22:03:17 | FromDiscord | <Clyybber> because you updated it to 1.4 |
22:03:25 | disruptek | what? |
22:03:37 | disruptek | the code works in 1.2 and it works in 1.0. |
22:03:45 | FromDiscord | <Clyybber> ? |
22:03:45 | disruptek | it doesn't work in 1.4 pretending to be 1.2. |
22:03:50 | FromDiscord | <shashlick> @dom96 but that's exactly how the diff is right now - if there's no musl, it's dynamci |
22:03:53 | FromDiscord | <Clyybber> but it works in 1.4? |
22:03:56 | disruptek | yes. |
22:04:00 | FromDiscord | <Clyybber> then its fine |
22:04:09 | disruptek | how? |
22:04:33 | FromDiscord | <Clyybber> or do you want me to dig into the issue resulting it in it being an interaction between the syms being idents with useVersion:1.2 and the typed macro change? |
22:04:42 | FromDiscord | <Clyybber> because I can tell you right away that thats the cause |
22:05:13 | FromDiscord | <Clyybber> its something subtle and I cannot introduce a switch to turn all 1.4 changes off |
22:05:36 | disruptek | do you want me to just not support benchmarks in anything using non-native nim versions? because that means we won't get much testing of stuff using these switches, which means the switches won't work, which means we may as well not have them. |
22:05:51 | FromDiscord | <Clyybber> nobody uses that switch |
22:06:04 | FromDiscord | <Clyybber> I introduced it for status, but I also sent out a PR updating their code |
22:06:05 | disruptek | then let's deprecate it. |
22:06:17 | FromDiscord | <dom96> @shashlick Yes, and I want it to be "If there is no musl /and/ a `-d:useDynamicLinking` flag is passed" then it's dynamic |
22:06:18 | disruptek | otherwise, it's just going to be a thorn in our side. |
22:06:36 | FromDiscord | <dom96> @shashlick if there's no musl then I want an error |
22:06:42 | FromDiscord | <dom96> that's all |
22:06:57 | FromDiscord | <Clyybber> disruptek: I agree, but I think --useVersion is declared as a best-effort thing |
22:07:10 | FromDiscord | <Clyybber> so if it doesn't work with it, so be it |
22:07:13 | disruptek | hmm, interesting. |
22:07:46 | FromDiscord | <dom96> Why use --useVersion? Just grab the version of Nim you need |
22:07:52 | FromDiscord | <Clyybber> yeah |
22:08:10 | * | disruptek 🤦 |
22:08:53 | FromDiscord | <Clyybber> disruptek: does criterion fail the CI if it finds regressions? |
22:09:04 | FromDiscord | <Clyybber> because that might make it flaky no? |
22:09:10 | disruptek | no. |
22:09:14 | disruptek | and yes. |
22:09:14 | FromDiscord | <Clyybber> cool |
22:09:19 | FromDiscord | <Clyybber> then I think its good to go |
22:09:32 | FromDiscord | <Clyybber> if you removed that --useVersion |
22:09:34 | disruptek | just wait until it passes tomorrow. no reason to make this more painful than it is. |
22:09:41 | FromDiscord | <Clyybber> ok |
22:09:46 | FromDiscord | <Clyybber> its already tomorrow |
22:09:47 | disruptek | or you can rerun it now if you're anxious. |
22:09:51 | FromDiscord | <Clyybber> here at least :P |
22:09:59 | FromDiscord | <Clyybber> disruptek: Oh, your CI is daily? |
22:10:06 | disruptek | well, i just cut a new release, but yes. |
22:10:26 | disruptek | i run ci daily. it rebuilds nim if there are any changes to the branches. |
22:10:39 | FromDiscord | <Clyybber> neat |
22:10:49 | disruptek | blame leorize; he set it all up for me. |
22:10:58 | disruptek | well, i stole it from him, rather. |
22:11:28 | FromDiscord | <Clyybber> srchtfckff |
22:11:38 | FromDiscord | <shashlick> @dom96 - things like nimble install choosenim will fail on most linux distros |
22:11:46 | FromDiscord | <shashlick> i don't see the value of this |
22:12:08 | FromDiscord | <Clyybber> using nimble to install choosenim seems a little |
22:12:19 | FromDiscord | <Clyybber> like going in circles |
22:12:30 | leorize[m]1 | well, you know, we can just... test those switches |
22:12:30 | leorize[m]1 | useVersion is Nim's equivalence to C++ `-std` switch |
22:12:30 | leorize[m]1 | since nightlies now provide prebuilt assets at static url you might just grab them from there |
22:13:11 | disruptek | yes. i am waiting until it settles down and then i'll patch all my cis. |
22:13:33 | disruptek | probably will just switch them all to gitnim and automate gitnim. |
22:13:51 | FromDiscord | <Clyybber> leorize; The failures don't give me the ability to fix it |
22:14:02 | FromDiscord | <Clyybber> Its a subtle interaction between bugfixes and "features" |
22:14:15 | FromDiscord | <Clyybber> its nothing that can be fixed |
22:14:33 | leorize[m]1 | context please |
22:14:52 | disruptek | it's a breaking feature. |
22:14:59 | FromDiscord | <Clyybber> --useVersion:1.2 disables turning proc args into syms |
22:15:04 | * | astronavt quit (Remote host closed the connection) |
22:15:28 | FromDiscord | <dom96> @shashlick the value in this is us not making mistakes |
22:15:30 | disruptek | that's something status needed? i thought it was cooldome. |
22:15:37 | FromDiscord | <dom96> you shouldn't install choosenim via nimble anyway |
22:15:49 | FromDiscord | <Clyybber> disruptek: No, cooldome handled it |
22:15:54 | FromDiscord | <Clyybber> And status does now too |
22:15:55 | disruptek | ahh. |
22:15:59 | FromDiscord | <Clyybber> I just introduced it for araqs sake |
22:16:12 | disruptek | well, i don't care what we do. just tell me what to type in. |
22:16:12 | leorize[m]1 | so what's the issue? |
22:16:27 | leorize[m]1 | --useVersion is designed for old buggy code that hasn't migrated yet |
22:16:34 | FromDiscord | <Clyybber> yeah, no issue |
22:16:45 | FromDiscord | <Clyybber> I just told disruptek to use it for some reason |
22:16:48 | FromDiscord | <Clyybber> I can't remember |
22:17:02 | disruptek | i started testing with --useVersion because we regressed in supporting it accidentally. |
22:17:33 | FromDiscord | <Clyybber> look at this shit https://builds.sr.ht/~clyybber/job/325583 |
22:17:35 | disruptek | not with criterion; it was something silly. it was just a way to make sure it didn't accidentally stop working. |
22:17:36 | FromDiscord | <Clyybber> it uses git |
22:17:41 | FromDiscord | <Clyybber> and then it can't find git |
22:17:46 | disruptek | path issue, i guess? |
22:17:49 | leorize[m]1 | we will always regress in supporting useVersion |
22:17:57 | FromDiscord | <Clyybber> yep |
22:18:06 | FromDiscord | <Clyybber> disruptek: But it sometimes works when restarting |
22:18:21 | leorize[m]1 | there are literally zero test in Nim CI for it |
22:18:22 | disruptek | but only sometimes? |
22:18:38 | FromDiscord | <Clyybber> its like ddevault stole IBMs qbits or something |
22:19:11 | leorize[m]1 | Clyybber: try rebasing the branch or merge devel in |
22:19:14 | FromDiscord | <shashlick> @dom96 - then we need additional checks to verify that the gcc in use is musl or not |
22:19:26 | FromDiscord | <shashlick> cause alpine doesn't need a special musl-gcc |
22:19:42 | FromDiscord | <Clyybber> welp, now it fails with the opposite error |
22:19:44 | disruptek | clyybber: which pr is this? |
22:19:48 | FromDiscord | <shashlick> and if we don't want to install choosenim via nimble then we should remove it from the registry |
22:19:52 | FromDiscord | <Clyybber> ah no it works |
22:19:55 | * | lbart_ quit (Ping timeout: 265 seconds) |
22:20:05 | FromDiscord | <Clyybber> disruptek: add criterion to improtant pks, but I think it works now |
22:20:16 | FromDiscord | <Clyybber> and I don't want to force push to a PR again :P |
22:20:26 | FromDiscord | <Clyybber> even though this time I can say "leorize told me to" |
22:21:04 | leorize[m]1 | just `git merge --no-ff devel` |
22:21:06 | leorize[m]1 | when you squash all the ugly stuff go away |
22:21:08 | leorize[m]1 | and it's linear so you don't have to force push |
22:21:34 | disruptek | probably should have a guard against red PRs, though. |
22:21:39 | disruptek | they are easy to setup now in gh. |
22:21:47 | FromDiscord | <Clyybber> guard? |
22:21:52 | FromDiscord | <Clyybber> you mean preventing a merge |
22:21:54 | disruptek | yeah. |
22:21:59 | FromDiscord | <Clyybber> please no |
22:22:33 | FromDiscord | <dom96> @shashlick yeah, better yet, let's create a repo that compiles a `{.error: "Please install via ...".}` |
22:22:43 | leorize[m]1 | a guard can always be bypassed if a collaborator gets someone else to agree with them |
22:22:48 | FromDiscord | <dom96> @shashlick but then your current check also won't work, right? |
22:22:59 | FromDiscord | <dom96> since you're just checking for the presence of `musl-gcc`? |
22:23:00 | disruptek | or you can let the owner force, too. |
22:23:00 | leorize[m]1 | alternatively you can just do the merge on the command line by hand |
22:23:14 | disruptek | no, the guard will prevent that. |
22:23:24 | FromDiscord | <Clyybber> or just don't have a guard, and trust us to see colors |
22:23:33 | FromDiscord | <shashlick> @dom96 No on alpine, it simply creates a dynamic build |
22:23:54 | disruptek | doesn't matter to me. i don't have any rights, so i'm guilt-free. |
22:23:59 | leorize[m]1 | disruptek: it won't if you do the entire merge process via git manually |
22:24:24 | disruptek | well, i couldn't reproduce that in my tests. |
22:24:35 | disruptek | maybe i was doing it wrong somehow. i was prevented. |
22:24:38 | leorize[m]1 | shashlick, dom96: I'm wary of how you're making choosenim build system sound like an abomination |
22:25:09 | disruptek | leorize[m]1: it's best not to watch them make sausage. |
22:25:30 | FromDiscord | <dom96> @shashlick okay, so there is no problem with asking alpine users to also provide this `-d:useDynamicLinkin` flag |
22:25:42 | FromDiscord | <dom96> The number of alpine users is likely to be small anyway |
22:25:55 | FromDiscord | <dom96> and if they really want a static build they can hack the config file |
22:26:49 | FromDiscord | <shashlick> @leorize I don't see the point of this, I think it works fine how it is |
22:27:36 | FromDiscord | <shashlick> It's not like musl is making a big difference |
22:27:56 | FromDiscord | <dom96> @leorize suggestions welcome |
22:28:22 | FromDiscord | <shashlick> Local testing is still gated by the CI |
22:29:21 | leorize[m]1 | personally I'd just gate the static build under a `-d:static` flag |
22:29:32 | leorize[m]1 | zero magic, works by default |
22:29:56 | FromDiscord | <dom96> @shashlick how about something different, let's flip it around-- and yeah, do exactly what leorize just suggested |
22:30:29 | FromDiscord | <dom96> plus maybe we can also add some checks into the CI to ensure we are getting a static binary, just in case |
22:30:49 | FromDiscord | <shashlick> But what does all that buy us |
22:31:19 | FromDiscord | <dom96> reliability |
22:31:35 | leorize[m]1 | it just works when you do the ordinary clone & build |
22:32:35 | leorize[m]1 | and I'd remove the musl-gcc magic as well. If you want to use a different gcc, pass it to the compiler |
22:33:43 | leorize[m]1 | or you can gate it under a define like -d:useMuslGcc for CI convenience |
22:33:48 | FromDiscord | <shashlick> But the musl build doesn't get pthreads but glibc does |
22:34:12 | FromDiscord | <shashlick> So you need some logic in the code |
22:34:29 | leorize[m]1 | just add `-pthread` for linux |
22:34:35 | leorize[m]1 | unconditionally |
22:35:29 | leorize[m]1 | I think musl provides an empty -lpthread |
22:35:46 | FromDiscord | <dom96> I don't think having musl be set for -d:static is a problem |
22:35:57 | FromDiscord | <dom96> since that's all we support it makes sense |
22:38:03 | * | lbart joined #nim |
22:38:03 | * | lbart quit (Changing host) |
22:38:03 | * | lbart joined #nim |
22:40:37 | leorize[m]1 | shashlick: apparently if you wanna link pthread statically for glibc, you gotta do: `-Wl,--whole-archive -lpthread -Wl,--no-whole-archive` because glibc is a broken mess |
22:41:03 | leorize[m]1 | ^ the same flags can be used for musl btw, libpthread.a in musl is an empty archive (all of musl is within libc.a) |
22:44:20 | FromDiscord | <shashlick> If that works, @dom96 are you good if we have static throughout |
22:45:20 | FromDiscord | <dom96> I'd rather just have -d:static or -d:musl or whatever |
22:45:29 | FromDiscord | <dom96> static glibc just seems like a time sink |
22:45:38 | FromDiscord | <dom96> and everywhere I've read it's not recommended |
22:51:42 | FromDiscord | <shashlick> okay -d:musl will build static with musl-gcc else will be dynamic by default |
22:52:02 | FromDiscord | <shashlick> alpine will also be dynamic and if user does give -d:musl, it won't work |
22:52:16 | FromDiscord | <shashlick> unless i add detection code for musl |
22:52:37 | * | arecacea1 quit (Remote host closed the connection) |
22:52:39 | leorize[m]1 | or you can just add a -d:static flag |
22:52:48 | leorize[m]1 | you're kinda complicating this for yourself |
22:53:10 | * | arecacea1 joined #nim |
22:53:36 | FromDiscord | <dom96> screw alpine, seriously |
22:54:00 | leorize[m]1 | if people want musl-gcc, they tell the compiler to use that |
22:56:56 | FromDiscord | <shashlick> well, i need to tell the compiler that in the CI and right now, choosenim debug is built within nimble test, so these things propagate all sorts of changes |
22:57:32 | FromDiscord | <shashlick> it's one thing to add a --passL to the command line, but when stuff's in the code, it's a different story |
22:59:20 | leorize[m]1 | you can make choosenim tester take optional command line flags like koch... |
23:00:49 | * | mbomba quit (Quit: WeeChat 2.9) |
23:01:26 | leorize[m]1 | if that's not feasible then just screwing with alpine users isn't a bad option :P |
23:03:29 | FromDiscord | <Clyybber> disruptek: eheheheheh, criterion is taking way too long |
23:03:35 | FromDiscord | <Clyybber> 35 minutes :P |
23:03:40 | * | bung joined #nim |
23:03:57 | disruptek | do we thread that stuff? |
23:04:05 | FromDiscord | <Clyybber> no |
23:04:37 | FromDiscord | <Clyybber> (AFAIK) |
23:05:07 | disruptek | do you test head or latest release? |
23:05:31 | FromDiscord | <Clyybber> you sent the PR, its latest release |
23:05:56 | FromDiscord | <Clyybber> maybe only run a subset of the tests in important packages |
23:06:09 | disruptek | do i get a flag somehow? |
23:06:17 | FromDiscord | <Clyybber> you can set the command yourself |
23:06:24 | FromDiscord | <Clyybber> so you can also pass a flag that way |
23:06:37 | disruptek | let's see how long it takes and then i'll cut it in half at least. |
23:07:03 | FromDiscord | <Clyybber> yeah, I think 3-5mins max |
23:07:08 | disruptek | i am planning on just doing c and c++ tests. arc in 1.2+ and w/o otherwise. |
23:07:38 | FromDiscord | <Clyybber> but you don't have something crazy setup right? |
23:07:49 | FromDiscord | <Clyybber> where you test 1.0 on the #devel ci? |
23:07:51 | disruptek | i'm afraid to answer that question. |
23:08:06 | disruptek | no, that doesn't make any sense. |
23:08:18 | FromDiscord | <Clyybber> ok, good that we agree |
23:08:24 | * | bung quit (Ping timeout: 260 seconds) |
23:09:57 | disruptek | i hate to even ask, but docs are being fixed, right? |
23:10:43 | FromDiscord | <Clyybber> which ones? |
23:10:54 | FromDiscord | <Clyybber> I saw something weird on devel just now |
23:10:57 | FromDiscord | <Yardanico> They're fixed already if you mean Nim docs |
23:11:01 | disruptek | the prod site. |
23:11:02 | FromDiscord | <Clyybber> but not sure if that s what you men |
23:11:07 | FromDiscord | <Yardanico> But they're cached on stable |
23:11:10 | FromDiscord | <Yardanico> But it was updated |
23:11:15 | disruptek | the links for procs with args scribble all over my page. |
23:11:23 | disruptek | that's fixed and merely cached, yes? |
23:11:33 | FromDiscord | <Yardanico> yes, devel docs look fine |
23:11:40 | disruptek | nice. |
23:11:42 | disruptek | thanks. |
23:12:22 | FromDiscord | <Clyybber> the proc name | proc args seperator being a comma is a bit weird, but maybe its always been that way |
23:12:30 | disruptek | nah. |
23:29:17 | * | Vladar quit (Quit: Leaving) |
23:43:31 | * | TomDotTom quit (Quit: Leaving) |