<< 22-10-2020 >>

00:05:16FromDiscord<Yardanico> it doesn't feel that way for me :)
00:05:23FromDiscord<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:12leorize[m]1avatarfighter: use nim.nvim :p
00:29:37FromDiscord<ElegantBeef> It really needs renamed to `N(im)vim` 😛
00:31:20*TomDotTom joined #nim
00:31:23avatarfighter[m]ewww vim
00:31:55*krux02 quit (Remote host closed the connection)
00:32:23FromDiscord<Yardanico> ban
00:41:27FromGitter<gogolxdong> Does stdlib have sha256?
00:42:21FromDiscord<ElegantBeef> Seems it only has sha1
00:43:50FromGitter<gogolxdong> I think sha1 has been deprecated in industry.
00:45:24FromDiscord<ElegantBeef> Yea it's sha160
00:45:46FromDiscord<ElegantBeef> https://nimble.directory/pkg/nimsha2 does implement shad256
00:45:50FromDiscord<ElegantBeef> sha 😄
00:48:08FromGitter<gogolxdong> There are some sha2 libraries in nimble. Hard to know which to use, though used nimsha2, thanks for your guide!
00:48:37disrupteksee what i did there
00:48:47disruptek!repo sigv4
00:48:47disbothttps://github.com/disruptek/sigv4 -- 9sigv4: 11Amazon Web Services Signature Version 4 15 4⭐ 1🍴
00:48:57disruptekomg its amazing
00:49:07disruptekits like the scooby doo of sha
00:49:52FromDiscord<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:24FromDiscord<Gyllou> trying write multiprocess code with an arm/android target
00:50:26leorize[m]1@gogolxdong if you want sha2 you should use nimcrypto
00:50:37disruptekdude
00:50:56disruptekyou can get by with nimsha2 if you're not a child.
00:50:59leorize[m]1nimcrypto is audited, why not?
00:51:12disruptekwait, how old are you?
00:52:18disruptekare you flirting with me?
00:52:29disrupteki am too old for you, steve.
00:54:07disruptekSTEVE
00:54:13disruptekNO MEANS NO
00:55:28FromDiscord<scott> what the hell are you even on about disruptek, there is no steve here
00:55:50leorize[m]1~disruptek
00:55:52disbotdisruptek: 11a sexy fella with magic hands.
00:55:52disbotdisruptek: 11:disruptek:
00:55:52disbotdisruptek: 11an unsafe nil deref
00:55:52disrupteklisten, i don't know how to say this...
00:56:14disruptekbut hamburger isn't my favorite extruded food.
00:56:44disruptekit just isn't, okay?
00:57:20disruptekeveryone has their secrets...
00:58:31*abm quit (Read error: Connection reset by peer)
01:02:10disruptekhold on, they want me to say something to the fans.
01:02:35disrupteki'll be back in 3.5mins. don't go anywhere.
01:05:18FromDiscord<Yardanico> @scott don't worry, he's just high from time to time
01:05:20FromDiscord<Yardanico> it's normal :)
01:05:48FromDiscord<Yardanico> btw in just 150 lines with karax + jester + other stdlib stuff you can make this:
01:05:55FromDiscord<Yardanico> https://media.discordapp.net/attachments/371759389889003532/768641249208041523/unknown.png
01:06:05FromDiscord<Yardanico> https://media.discordapp.net/attachments/371759389889003532/768641289359982622/unknown.png
01:06:30FromDiscord<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:10FromDiscord<Yardanico> https://media.discordapp.net/attachments/371759389889003532/768641563895005205/unknown.png
01:07:15FromDiscord<Yardanico> just getting accustomed to clion a bit
01:07:30FromDiscord<ElegantBeef> Does anything special have to be done to get a macro to work with `push`?
01:07:39FromDiscord<Yardanico> i don't think so?
01:07:51FromDiscord<Yardanico> push just applies macro to everything between push/pop
01:09:28FromDiscord<ElegantBeef> https://play.nim-lang.org/#ix=2Bz6
01:09:34FromDiscord<ElegantBeef> What am i doing wrong? 😄
01:09:45disruptekvery special beef.
01:09:58FromDiscord<ElegantBeef> I am but that's besides the point mom
01:10:24disruptekps. dad needs changing. do you mind?
01:10:45disruptekand 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:52FromDiscord<ElegantBeef> Sometimes i wish i could unread things
01:17:40disrupteki can take your breath but i can't take your sight.
01:17:53disruptekwell, i can, but the rate goes up.
01:18:14FromDiscord<exelotl> I think disruptek is just clairvoyant. Its like he's channeling a vision of someone's future
01:18:27FromDiscord<exelotl> Even the ugly parts
01:18:37FromDiscord<ElegantBeef> If anyone's future involves disruptek i feel sorry for them 😄
01:18:49disruptekall the parts are ugly.
01:19:03FromDiscord<ElegantBeef> Got too close to the blender eh?
01:19:47disruptekit says vacu-jack right on the tin.
01:21:39*Tanger joined #nim
01:26:06disruptekbeef i had a dream you were snoring and i sneezed in your open mouth.
01:26:14avatarfighter[m]LOL
01:26:15disruptektwice.
01:26:21*apahl quit (Ping timeout: 246 seconds)
01:26:22disrupteki'm sorry.
01:26:34avatarfighter[m]hey disruptek should i tell the dude that we want to do his project
01:27:01disruptekon the plus side, you looked so peaceful while you were sleeping.
01:27:30FromDiscord<Avatarfighter> Beef how do you feel
01:27:58FromDiscord<ElegantBeef> I feel a litle lost in this macro 😄
01:28:12FromDiscord<Avatarfighter> Unfortunate
01:28:25FromDiscord<Avatarfighter> disruptek: did you block matrix messages?
01:28:28*apahl joined #nim
01:28:48disrupteki don't even know matrix.
01:28:56FromDiscord<Avatarfighter> 😐
01:29:15*Avatarfighter joined #nim
01:29:31Avatarfighteralways a bit iffy ya dig
01:29:32disruptekwell, i had a guinea pig named matrix but i crushed his head in the door of the fridge.
01:31:48disrupteki'm not attracted to pigs.
01:32:01disruptekthey're attracted to me.
01:32:05FromDiscord<Avatarfighter> 😐
01:32:35disruptekfighter tell your mate you need cashish before you do any work.
01:33:37disruptekhttps://github.com/disruptek/golden/issues/20 shashlick ftw
01:33:39*Avatarfighter1 joined #nim
01:33:40disbotCan't install with nimble ; snippet at 12https://play.nim-lang.org/#ix=2Bz8
01:33:40*Avatarfighter1 quit (Client Quit)
01:34:37avatarfighter[m]disruptek: he pays after + % of sales is that fine or naw
01:35:07*Avatarfighter quit (Ping timeout: 260 seconds)
01:35:09disruptekare you nuts?
01:35:36FromDiscord<Avatarfighter> no? lol
01:37:31disruptekare you sure?
01:37:47ForumUpdaterBotNew thread by Niminem: What Nim projects are you working on?, see https://forum.nim-lang.org/t/6971
01:37:52avatarfighter[m]I'm asking smh
01:38:13disrupteki was kidding about killing matrix with the fridge door.
01:38:37disruptekyou knew that, right?
01:38:45disrupteki could never kill a pig.
01:38:49avatarfighter[m]i assumed
01:38:49disruptekeven a guinea pig.
01:39:18avatarfighter[m]do dms work matrix -> irc?
01:39:30disrupteki don't know why you think i'm evil.
01:40:01FromDiscord<Avatarfighter> did the dms send?
01:40:08disruptekactually, i let bentley chase matrix around the yard and i filmed it.
01:40:29disruptekwell, it wasn't as long a video as i expected and i accidentally forgot to take it off portrait mode.
01:40:44disrupteki did post it though.
01:40:51disruptekhttps://www.youtube.com/watch?v=dQw4w9WgXcQ
01:41:01FromDiscord<Avatarfighter> you let someone in a Bentley chase Yardanico??
01:41:12Yardanico?
01:41:28FromDiscord<Avatarfighter> disruptek let bentley chase around yard
01:41:29disruptekno, bentley doesn't like fat people.
01:41:30FromDiscord<Avatarfighter> 😛
01:41:51FromDiscord<Avatarfighter> disruptek can u hop on ur discord account and communicate with the guy please
01:42:07disruptekis now a good time?
01:42:37FromDiscord<Avatarfighter> better now than never 😄
01:42:58disruptekhow do i get to where i was last night?
01:45:40*casaca joined #nim
01:46:22disruptekbeef: can i ask you something?
01:46:57disrupteki promise i won't bring up your fetish on irc.
01:47:12FromDiscord<Yardanico> @disruptek see a problem - discord adds previews to youtube videos automatically
01:47:15FromDiscord<Yardanico> and I remember that URL anyway
01:47:28disruptekyou what?
01:47:41disruptekhey yardanico.
01:47:45disruptekriddle me this:
01:47:50disruptekhow do you spell erstwhile?
01:48:03disruptekoh shit nevermind.
01:50:02disruptekthe thing about guinea pigs is their name is what we call a MISNOMER.
01:50:23disruptekbelieve me, i've tried. you can't get mini bacon out of 'em.
01:50:31disrupteki mean, you can, but it takes a lot of work.
01:50:43disruptekit's not what we call EFFICIENT.
01:51:42FromDiscord<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:02disruptekwill you do me a favor?
01:52:53FromDiscord<Yardanico> what favour?
01:53:25disrupteki want a static site generator for nim docs.
01:54:01disruptekit should consume rst and generate something a little slicker than what's probable in nim.
01:54:18disrupteki don't give a fuck what it's written in as long as it's python.
01:54:25FromDiscord<Yardanico> i suck at web design
01:54:49FromDiscord<Yardanico> but there were some other versions of nim doc generators already, no?
01:54:54disruptekthat's why you use someone else's work.
01:56:10disruptekthis is what i have in mind:
01:56:13FromDiscord<Avatarfighter> as long as its python you say 😛
01:56:13disruptekhttps://github.com/squidfunk/mkdocs-material
01:56:27disruptekdon't let any chuckleheads read it.
01:56:36FromDiscord<flywind> I love this style.
01:56:44disruptekof course you do.
01:56:57disruptekyou are a mermaid of taste.
01:57:07disruptekyou have a very fine tail, by the way.
01:57:14disrupteki hope it's not too forward of me to say this.
01:58:08FromDiscord<Yardanico> https://media.discordapp.net/attachments/371759389889003532/768654387811057684/unknown.png
01:58:13FromDiscord<Yardanico> https://media.discordapp.net/attachments/371759389889003532/768654407851704400/unknown.png
01:58:20FromDiscord<Yardanico> when you copy nimforum's css it looks almost the same :)
01:58:24FromDiscord<flywind> @flywind And I use this style for my docs. https://planety.github.io/prologue/
01:59:24disruptekit's like i'm looking in a mirror.
01:59:40disruptekdamn, i can't wait for tomorrow.
02:00:10FromDiscord<Avatarfighter> @Yardanico the css looks nice
02:00:18FromDiscord<Yardanico> because I literally copied it from nimforum :)
02:00:35FromDiscord<Yardanico> i just made a smol jester + karax powered thing which gives you static HTML for viewing the forum
02:00:44FromDiscord<Yardanico> it does json requests to the nimforum itself
02:00:50avatarfighter[m]ah
02:00:51FromDiscord<Yardanico> https://media.discordapp.net/attachments/371759389889003532/768655073843609650/unknown.png
02:00:54FromDiscord<Yardanico> its under 200 lines
02:01:13FromDiscord<Yardanico> https://media.discordapp.net/attachments/371759389889003532/768655166571937792/unknown.png
02:02:08disruptekhow come every time i touch my knee, i hear a ding.
02:02:34FromDiscord<Yardanico> https://media.discordapp.net/attachments/371759389889003532/768655505060003850/unknown.png
02:02:40FromDiscord<Yardanico> https://media.discordapp.net/attachments/371759389889003532/768655532008538162/unknown.png
02:03:36FromDiscord<Yardanico> placeholder because, as I said, nimforum gives the wrong author in the thread list
02:03:52FromDiscord<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:20FromDiscord<Yardanico> also apparently nimforum gives you ALL versions of all messages (I mean all edits) in the thread
02:04:29FromDiscord<Yardanico> like if you have 10 edits, it'll give you all 10 edits
02:05:16disrupteki believe they call that, "batting one thousand."
02:05:21FromDiscord<Yardanico> not sure why it's like that, since it slowes down opening threads and doesn't contribute any value
02:05:29disruptekit means you can just abort your first two kids and focus on the third.
02:05:48disruptekdon't be silly, children have value.
02:05:55disrupteknutritional value, at least.
02:06:34FromDiscord<flywind> @flywind I maybe reimplement it in pure Nim supporting material style. I don't want to use python too.
02:07:05FromDiscord<Yardanico> lemme add "next page" button and host it on my vps for fun
02:07:45disruptekwhat's wrong with python?
02:09:55FromDiscord<Avatarfighter> @Yardanico what about prologue >:)
02:10:03FromDiscord<Yardanico> I don't need prologue here
02:10:10FromDiscord<Avatarfighter> yes you do
02:10:11FromDiscord<Yardanico> I just serve html generated by karax really
02:10:19FromDiscord<Yardanico> I can as well implement it as CGI
02:10:20FromDiscord<Avatarfighter> come to #webdev and find out why you need it
02:10:56FromDiscord<flywind> Nothing. But I think Nim projects should use more tools in Nim.
02:13:07disruptekyou can't squeeze blood from a stone, merman.
02:13:19disruptekdon't they teach you that?
02:16:03*a_chou joined #nim
02:17:43disruptekmy teeth are sweating like crazy. is it hot in here?
02:21:47*rockcavera quit (Remote host closed the connection)
02:22:17FromDiscord<Yardanico> @Avatarfighter started it on https://forum.my-toolbox.xyz/
02:22:38disruptekyou know what the problem is?
02:22:45FromDiscord<Yardanico> i always do
02:23:19FromDiscord<Yardanico> src is https://github.com/Yardanico/kuforum/blob/master/src/forscraper.nim btw
02:23:42FromDiscord<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:06disruptekthey shouldn't have made PSEUDOSCIENCE sound so credible if they didn't want us to believe it.
02:24:17disrupteki mean, it's like PLACEBO. hell yes i want some.
02:24:27disruptekgive me placebo. i don't care what it costs. it sounds awesome.
02:26:35*TomDotTom quit (Ping timeout: 260 seconds)
02:26:50FromDiscord<ElegantBeef> Same with pseduointellectual it sounds atleast 99% smarter than just intellectual
02:27:03disruptekright?
02:28:35*CcxWrk quit (Remote host closed the connection)
02:28:54disruptekis 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:04disruptekmaybe some of them just died while they were there.
02:29:59FromDiscord<Avatarfighter> @Yardanico the lack of indents for one of your procs is sending me
02:30:04FromDiscord<Yardanico> ??
02:30:08FromDiscord<Yardanico> where
02:30:18FromDiscord<Avatarfighter> Oh nvm
02:30:23disruptekyardanico only has 6 procs.
02:30:52FromDiscord<Avatarfighter> github on the embedded safari on my phone didnt render the coxde
02:31:07FromDiscord<Yardanico> huh
02:31:14FromDiscord<Yardanico> it's very simple really
02:31:20disruptekyou have an iphone?
02:31:27disruptekyou must live in california.
02:31:37FromDiscord<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:43disruptekhow does it feel to be wealthy?
02:32:21FromDiscord<Avatarfighter> Honestly bad knowing others are less fortunate
02:32:46disruptekalright, when i come to power i'll kill you last.
02:32:58FromDiscord<Avatarfighter> @Yardanico no i know lmao githubs preview just showed all your procs without indentation lmao
02:33:06FromDiscord<Yardanico> weird
02:33:12FromDiscord<Avatarfighter> its good now
02:33:17FromDiscord<Yardanico> also I wrote that in CLion with nim plugin + nimlsp
02:33:26FromDiscord<Avatarfighter> ooo
02:33:39FromDiscord<Avatarfighter> Yeah ive made clion my dedicated nim editor
02:33:39FromDiscord<Yardanico> and used "nimble run" for the first time in my life
02:33:48FromDiscord<Avatarfighter> what theme are you using in the editor?
02:34:09FromDiscord<Avatarfighter> im using Palenight from the Material Theme plugin
02:34:36*muffindrake quit (Ping timeout: 246 seconds)
02:34:58FromDiscord<Yardanico> OneDarkMonokai for the IDE, and Coderpillr Dusk for the editor https://media.discordapp.net/attachments/371759389889003532/768663655407157258/unknown.png
02:35:04FromDiscord<Yardanico> need to fix that console background
02:35:13FromDiscord<Yardanico> sadly you can't use separate color schemes for editor and the console
02:37:03*muffindrake joined #nim
02:37:54disruptekever wonder why more people dont have a last name that ends in LIPS?
02:38:00disrupteklike PHILLIPS?
02:38:06disruptekthink about it.
02:38:34disrupteksee, i'm right.
02:40:07disruptekthat's another thing i'll change when i take power.
02:45:35disruptekis anyone writing this down?
02:45:46disrupteki think it's best if we start recording the tenets of this platform.
02:46:35disruptekYardanico: you can wear a special hat.
02:48:10FromDiscord<nikki> @Yardanico that setup works p nice with tmux for the terminal i think
02:48:22FromDiscord<nikki> managed to live in intellij for a year that way
02:49:03disruptekgross.
02:49:04*CcxWrk joined #nim
02:51:11FromDiscord<nikki> it's only nice if u need to write some android js for whatever reason
02:51:40FromDiscord<ElegantBeef> android js?
02:51:54FromDiscord<nikki> kek java sry
02:53:28FromDiscord<Yardanico> ok made it use nimforum's type definitions
02:55:52leorize[m]1make sure you pin the version :P
02:56:02disruptekleorize[m]1: you can wear a hat, too.
02:58:29disruptekleorize[m]1: i said you could wear a hat.
02:58:39leorize[m]1what hat
02:58:45disrupteka special hat.
02:59:03FromDiscord<ElegantBeef> Nah disruptek you should keep all the dunce hats you've earned
02:59:05disruptekleorize, don't create a problem where there is none.
02:59:12disruptek-rw-------. 1 adavidoff adavidoff 985119 Aug 23 2019 LEORIZE
02:59:23disrupteki have a file on you already.
02:59:30leorize[m]1creating problems is my job lol
02:59:31leorize[m]1add that in
02:59:34disruptekit's not much, but it's enough.
02:59:36FromDiscord<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:46FromDiscord<Yardanico> i'll let it run
02:59:58FromDiscord<Yardanico> i think some people might even have a use for it, but they might want replies :P
03:00:06FromDiscord<Yardanico> and I don't really do web development/html/css
03:00:16disruptekwe noticed.
03:00:22FromDiscord<Yardanico> and need to fix that bug with author on the thread list on nimforum if it haven't been fixed already
03:01:49disruptekoh we should have arm bands, too.
03:02:23FromDiscord<ElegantBeef> And you should step like a bird?
03:02:23disrupteki'm really getting into this. i just love accessorizing.
03:06:56disruptekshashlick: are you awake?
03:08:11FromDiscord<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:20FromDiscord<Revenant> once i figured it out, but forgot... 😦
03:08:32disruptekis that bad?
03:09:08FromDiscord<ElegantBeef> What are your compile flags?
03:09:12FromDiscord<Yardanico> @Revenant --app:gui
03:09:24FromDiscord<Yardanico> ah wait you want to open the console or what?
03:09:31FromDiscord<Yardanico> it should write to the console anyway
03:09:47FromDiscord<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:48disruptekit /is/ writing the console.
03:09:53disruptekhooray!
03:10:02FromDiscord<ElegantBeef> Yea you have to be doing something to redirect the stdout
03:11:07disrupteki'm changing my gigolo rate to be based on weight rather than volume.
03:11:13FromDiscord<Revenant> `nim c --gc:arc --deepcopy:on --app:gui -D:nvgGL3 -D:glfwStaticLib -r src/main`
03:11:20FromDiscord<Revenant> sadly `--app:gui` doesn't do the trick
03:11:32disruptekare you /sure/ you're running windows?
03:12:01FromDiscord<Revenant> well, i'm just executing that command from the windows console
03:12:09FromDiscord<Revenant> command prompt
03:12:35FromDiscord<Revenant> trying to debug stuff with echo iteratively, you know... change stuff, re-run, look at console output, etc
03:14:20leorize[m]1use --app:console
03:14:20*kungtotte quit (Read error: Connection reset by peer)
03:14:25leorize[m]1--app:gui will disable the console
03:14:35leorize[m]1unless you're running the binary through wine
03:15:15*kungtotte joined #nim
03:15:28FromDiscord<Revenant> sorry guys, my bad... forgot that i'm using a library that implicitly adds `-mwindows`...
03:15:38FromDiscord<Revenant> yeah without that it works just like you said... user error
03:17:03FromDiscord<Revenant> if i specify `--app:console`, btw... `--app:gui` doesn't work
03:17:09disruptekweird.
03:17:32disruptekmaybe 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:37PrestigeHow can I declare an array[12, uint8] (or cast it?) without typing .uint8 after the first number?
03:24:10disruptektype 'u8 after the first number.
03:24:12leorize[m]1you type `u8` :P
03:24:44PrestigeI 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:04disruptekyou're blowing my mind right now.
03:25:11FromDiscord<Yardanico> @Prestige what do you mean exactly?
03:25:16*vqrs joined #nim
03:25:39PrestigeSomething like this: https://play.nim-lang.org/#ix=2Bzp
03:25:49FromDiscord<Yardanico> why cast??????
03:26:03PrestigeJust trying different things to get it to work
03:26:19FromDiscord<Yardanico> but why do you want it lined up?
03:26:32Prestigefor an example for image data rotation
03:26:36FromDiscord<Yardanico> https://play.nim-lang.org/#ix=2Bzq
03:26:39FromDiscord<Yardanico> lined up :))
03:27:12disrupteki have one of those new keyboards with a big wide button near the bottom.
03:27:13Prestigelooks sloppy for a visual representation of image data, though
03:27:14FromDiscord<ElegantBeef> https://play.nim-lang.org/#ix=2Bzr
03:27:17disruptekit's perfect for these tasks.
03:27:41FromDiscord<ElegantBeef> I've use shaders many of times and never had this "Have to have data aligned to images"
03:27:54FromDiscord<Yardanico> @Prestige I'd use worse code styling over unsafe language constructs any day
03:28:10FromDiscord<Yardanico> maybe you have some OCD? :)
03:28:16FromDiscord<Yardanico> for code alignment
03:28:25leorize[m]1you can also make them line up by adding `u8` to everything btw
03:28:25FromDiscord<ElegantBeef> ya think? 😛
03:28:38FromDiscord<Yardanico> that too, as an extension of my proposal
03:28:47disruptekhttps://play.nim-lang.org/#ix=2Bzs
03:28:48Prestigenah, I don't care about code alignment here... it's about visualizing pixels of an image that will be rotated
03:28:48FromDiscord<ElegantBeef> I prefer my method due to the converter name
03:28:58disrupteki don't know how to say this, but even bentley doesn't like your code.
03:29:04PrestigeIt's not for something that's running other than a proof of concept
03:29:14FromDiscord<Yardanico> but I still don't understand how alignment is a requirement
03:29:31FromDiscord<Yardanico> but yeah, people are different
03:29:35FromDiscord<ElegantBeef> I dont see how it's' a desire
03:29:42PrestigeIt's easier to visualize pixels if they are all square lol
03:30:01FromDiscord<ElegantBeef> Again i've spent many of hours writting shaders and never once desired this
03:30:04FromDiscord<Yardanico> just add 'u8 everywhere then
03:30:09FromDiscord<Yardanico> they all will still be aligned
03:30:19FromDiscord<Yardanico> actually you don't even need 'u8
03:30:21FromDiscord<Yardanico> just 0u8 will work
03:30:21PrestigeI'm using beef's converter, he wins
03:30:28FromDiscord<Yardanico> I consider that ugly :)
03:30:29disruptekadd spaces everywhere you OCD nutjob.
03:30:38Prestigetoo much effort
03:30:40FromDiscord<ElegantBeef> This was a competition?
03:30:48Prestigeno but you won anyway :P
03:30:53FromDiscord<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:12FromDiscord<nikki> can u make it a template or w/e
03:31:21FromDiscord<Yardanico> you can
03:31:21disruptekof course.
03:31:37disruptekPrestige: there's no way in hell you're getting a hat.
03:31:46PrestigeYeah, like I said this is for a proof of concept
03:31:51disrupteki don't care.
03:31:56disruptekno hat for you.
03:31:59PrestigeA hat? okay
03:32:03disruptekno!
03:32:06disruptekNO HAT FOR YOU.
03:32:13PrestigeIt fits so nicely.
03:32:14FromDiscord<Yardanico> NO HAT FOR PRESTIGE
03:32:16FromDiscord<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:17disruptekNO HAT.
03:32:22FromDiscord<Yardanico> ~prestige is has NO HAT
03:32:23disbotprestige: 11has NO HAT
03:32:28Prestigelmao
03:32:31FromDiscord<nikki> but i need to actually learn abt them still. just got to the twitter clone part in dom's book
03:32:32FromDiscord<ElegantBeef> What do you mean yard, dont converters only convert when context makes sense?
03:32:46disruptekyes.
03:32:47FromDiscord<Yardanico> @ElegantBeef yes, but a converter will run EACH TIME he wants to use that array as array[12, uint8]
03:32:50FromDiscord<Yardanico> @nikki you can have static arguments in Nim
03:33:06FromDiscord<Yardanico> and you also have "const"
03:33:09FromDiscord<nikki> does that make the proc run at compile time?
03:33:11FromDiscord<Yardanico> yes
03:33:13FromDiscord<Yardanico> "const" does
03:33:24disruptekactually, the way zig works is more like how i'd like nim-2 to work.
03:33:25FromDiscord<nikki> cool, right 😮
03:33:30disruptekbut let's not talk about that.
03:33:40FromDiscord<nikki> i want to hear abt it
03:33:43leorize[m]1`{.compiletime.}` <- we got that too :P
03:33:48FromDiscord<nikki> i won't say anything
03:33:54FromDiscord<nikki> if ur the only one saying stuff
03:33:58FromDiscord<nikki> does that count as us talking
03:34:03FromDiscord<Yardanico> nim has more compile-time features than zig
03:34:55FromDiscord<nikki> the main interesting one was types as values and @typeInfo and @Type in zig
03:35:07FromDiscord<Yardanico> we have that - typedesc
03:35:17FromDiscord<Yardanico> and we had that before Zig even existed ;)
03:35:23FromDiscord<Yardanico> sent a code paste, see https://play.nim-lang.org/#ix=2Bzw
03:35:25FromDiscord<Yardanico> computeInt will be called at compile-time
03:35:40FromDiscord<ElegantBeef> Psh we even have a typeinfo module https://nim-lang.org/docs/typeinfo.html
03:35:48FromDiscord<Yardanico> that's for other things beef
03:35:52FromDiscord<Yardanico> it's for RTTI which is deprecated
03:35:53FromDiscord<ElegantBeef> I know it's a joke
03:35:59FromDiscord<Yardanico> you mean https://nim-lang.org/docs/typetraits.html
03:36:03FromDiscord<nikki> yeah the interesting qs are mostly about how they're different
03:36:10FromDiscord<ElegantBeef> No i dont, i was joking about the name overlap
03:36:18FromDiscord<Yardanico> bad joke
03:36:22FromDiscord<Yardanico> :nimDog:
03:36:24FromDiscord<ElegantBeef> As all of mine are
03:36:57FromDiscord<Yardanico> @nikki a lot of modules in the nim can run at compile-time
03:37:01FromDiscord<Yardanico> even stuff like the json parser
03:37:05FromDiscord<Yardanico> (edit) "parser" => "module"
03:37:19FromDiscord<ElegantBeef> Serializing stuff doesnt work much though
03:37:21FromDiscord<nikki> yeah saw that today. it's also cool that nim-regex can build the state machine at compile time
03:37:22FromDiscord<ElegantBeef> Json does, but streams dont
03:37:36FromDiscord<Yardanico> they do now
03:37:36FromDiscord<nikki> or; whatever it compiles to
03:37:43FromDiscord<Yardanico> you're out of the loop again
03:37:46FromDiscord<ElegantBeef> No i'm not
03:37:49FromDiscord<Yardanico> you are
03:37:55FromDiscord<ElegantBeef> Stringstreams do not allow you writting to them
03:38:11FromDiscord<ElegantBeef> Due to the fact there is no way to get byte information from them to write to
03:38:29disrupteksorry yard.
03:38:37disruptekhe's write. or right. or writing.
03:38:55disruptekhe's writing writing wrong but he's right about write.
03:38:57FromDiscord<ElegantBeef> I looked into using streams for the nimscript interop instead of using json, and there is no stringstream support
03:39:00disruptekyou know what i mean.
03:41:07FromDiscord<ElegantBeef> https://github.com/nim-lang/Nim/blob/devel/lib/pure/streams.nim#L1258 Just to provide evidence
03:41:18FromDiscord<ElegantBeef> But yes you can allocate them at compile time
03:42:25FromDiscord<ElegantBeef> <https://github.com/nim-lang/Nim/blob/devel/lib/pure/streams.nim#L1166>
03:42:42FromDiscord<Yardanico> :disruptek:
03:43:09disruptekwut
03:43:19FromDiscord<Yardanico> disruptek you're a meme now
03:43:30FromDiscord<Yardanico> and we can send this emoji in any situation now
03:43:32FromDiscord<Yardanico> embrace it
03:43:37disruptekuhh
03:43:53disrupteki'm not sure that's how memes work.
03:44:03FromDiscord<Yardanico> that's how they work nowadays :(
03:44:26disruptekis disruptek the person a subset of the meme?
03:44:32FromDiscord<Yardanico> it is the meme
03:44:37disruptekholy fuck.
03:44:41disrupteki knew i felt something.
03:44:48disrupteki thought it was just gas.
03:44:54disruptekactually...
03:44:55FromDiscord<Yardanico> your balls throbbed more than usual?
03:44:59disruptekyeah, it was gas.
03:45:10disruptekoh wait.
03:45:19disrupteknope, more gas.
03:48:26Yardanicowhat do you think about freebsd
03:48:32disrupteki'm against it.
03:48:40Yardanicow h y
03:48:56disruptek'cause i have enough demons in my life.
03:49:03FromDiscord<ElegantBeef> He's scared of the logo
03:49:09disruptekopenbsd is the only one worth supporting.
03:49:19disruptekit's the only one that offers a novel proposition.
03:51:27disruptekhere's a question for you, Yardanico.
03:51:36Yardanicomy hands are ready
03:51:50disruptekhow come when you ask people who've drank their own urine, it was always "accidentally"?
03:52:02disruptekwhat kinda bullshit is this?
03:52:15disruptekyou expect me to believe you just accidentally urinated into your own mouth?
03:52:20disruptekand then swallowed?
03:52:27Yardanicohello
03:52:31Yardanicowho am i talking with
03:52:35disruptekor, wait, you just accidentally peed into a cup and then gargled it?
03:52:40Yardanicois this the suicide prevention hotline?
03:52:55disrupteklook, i said you could wear a hat.
03:53:00disruptekyou don't need to make a scene.
03:53:15Yardanicoyeah ill wear a hat if it's not made of your skin
03:53:29disruptekno, it's foreskin.
03:53:37disruptekyou'll be fine.
03:57:19disruptekthere's nothing secret about pop secret.
03:57:30disruptekit's corn. the main ingredient is corn.
03:58:01Yardanicois it weed
03:58:09Yardanicoim pretty sure its weed
03:58:21disrupteknah.
03:58:45disrupteki only use weed while coding.
03:58:56disruptekyou don't want to waste it.
04:06:02*supakeen quit (Quit: WeeChat 2.9)
04:06:39*supakeen joined #nim
04:07:20user0proc smokeWeed(amount: float, code: string): Paranoia {.nonwasteable.} =
04:22:28disrupteksmoking 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:41Zevvdon't do it kids
05:03:42Zevvreally
05:04:48*narimiran joined #nim
05:10:09*mmohammadi9812 quit (Ping timeout: 256 seconds)
05:16:12disruptek!pull mangling
05:16:14disbothttps://github.com/nim-lang/Nim/pull/14632 -- 3porting name mangling from ic effort 7& 20 more...
05:19:56Zevvgo to bed dude
05:20:02Zevvbed is good
05:20:58FromDiscord<Idefau> not
05:21:14disruptekyeah, i'm on the phone watching porn right now. it won't be long.
05:21:34disrupteki mean, it's long but it's more girthy than anything.
05:22:06disruptekzevv: i know what you drink at night but what do you drink in the morning?
05:27:36FromDiscord<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:17FromDiscord<Recruit_main707> the worst thing is that im 100% sure he actually is doing it
06:36:20FromDiscord<ElegantBeef> What are you the porn? 😄
06:38:44PMunchZevv, 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:55leorize[m]1npeg lets you pass a state variable to the parser
06:40:24PMunchI know
06:41:09PMunchBut this would be part of a bigger thing
06:41:19*mbomba joined #nim
06:41:44PMunchAnd because of backtracing I can't do everything I need to do in the sub-branch
06:43:39ZevvHm not sure I get you
06:43:40FromDiscord<Recruit_main707> PMunch, i finally got nimlsp to work in intellij, should i add it to the readme?
06:43:53PMunchOoh, yes please!
06:44:56PMunchZevv, 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:08PMunchI can store it in the output structure, but it would quickly get a bit messy
06:46:37Yardanico@Recruit_main707 wdym finally?
06:46:41Yardanicodidn't it work before for you?
06:46:50ZevvPMunch: well, I'm not sure if npeg can store this any better way for you
06:47:11Zevvyou know the structure of what you're doing, npeg doesnt
06:47:21Zevvthat's typically what I use my external stack for
06:47:25PMunchHmm, okay
06:47:34Zevvyou build AST on the go, and attach any stuff you need to take along with you
06:47:41Zevvagain, I'm open to ideas for improvement, of course
06:48:38PMunchI 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:59PMunchNot very pretty though
06:49:28Zevvwhat would be prettier?
06:49:34PMunchDunno
06:49:36Zevv:)
06:49:57ZevvI tried tons, and I always go back to the stacky way
06:50:05Zevvor listy, if you prefer that
06:50:18Zevvbut the only answer really is "it depends"
06:50:22PMunchBut it's not very pretty to first parse a string and then need to do a lookup on that string later
06:50:42PMunchThe table could of course work as a cache if your parsing is expensive though..
06:50:46Zevvyeah, 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:06Zevvor you're not building a tree but sosmething flat, then you just store it somehwere
06:51:23PMunchEssentially 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:56Zevvsure, my answer would be "just store it somewhere"
06:52:07PMunchOkay, table it is then!
06:52:09Zevvif you don't want to use globals or closures, pass a custom type var into your parser
06:52:12Zevvwhich is nice
06:52:19PMunchYeah, I really liked that
06:52:37PMunchBut it would be nice if I could have one temporary parsing object, and one result object
06:52:54Zevvwell, make one type containing both and pass that around
06:53:10PMunchFor example all my tables for temporary matches wouldn't be much use after I'm done parsing
06:53:18PMunchI guess I could do that
06:53:38Zevvso many ways :)
06:53:53FromDiscord<alehander42> morning
06:54:40PMunchGood morning alehander
06:54:52FromDiscord<ElegantBeef> Yellow
06:54:58FromDiscord<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:37FromDiscord<alehander42> praise God, a good morning indeed ❤️
06:57:54FromDiscord<alehander42> some breakfast, sunny weather
06:58:09FromDiscord<alehander42> if i am not lazy
06:59:31*solitudesf quit (Ping timeout: 256 seconds)
07:01:03FromDiscord<ElegantBeef> Does the weather change if you are? 😛
07:01:29FromDiscord<alehander42> no haha
07:01:34FromDiscord<alehander42> but the breakfast might be missing 😄
07:03:03*oculux joined #nim
07:03:12PMunchHere it's cold and snowy..
07:03:32FromDiscord<ElegantBeef> Not much snow here maybe 2cm so far
07:03:43FromDiscord<ElegantBeef> But it's dark by like 5/6pm already 😄
07:04:12FromDiscord<ElegantBeef> What's the temperature pmunch?
07:05:08FromDiscord<alehander42> i like snow tho
07:05:15FromDiscord<alehander42> ohh with some warm tea
07:05:24FromDiscord<Idefau> a truly beautiful morning i must say
07:05:39FromDiscord<Idefau> ruined by online school
07:06:02FromDiscord<alehander42> ❤️
07:06:04FromDiscord<alehander42> oh man
07:06:11FromDiscord<alehander42> i prefer offlin school
07:06:32FromDiscord<Idefau> i prefer no school, more nim coding time
07:06:37FromDiscord<alehander42> noo
07:06:40*bunbunbunbunny quit (Quit: Lost terminal)
07:06:41FromDiscord<ElegantBeef> School's for nerds
07:06:42FromDiscord<alehander42> you can code later
07:06:50FromDiscord<alehander42> i am old now
07:06:53FromDiscord<alehander42> and miss school
07:06:58FromDiscord<alehander42> so much more chilll
07:07:31*oculux quit (Ping timeout: 260 seconds)
07:07:34PMunch@Elegant, it's only -1.5C and we don't actually have snow in the city yet, just ice on the roads
07:07:56FromDiscord<ElegantBeef> Ah it's -7 atm here but it's also 1am
07:08:19PMunchIt normally doesn't get that cold here as I live by the coast
07:08:40FromDiscord<alehander42> ohh
07:08:44PMunchWhere do you live again where it gets dark that early and already have snow?
07:08:45FromDiscord<alehander42> is it gulfstream
07:08:51PMunchYup
07:08:51FromDiscord<alehander42> or is it too north for that
07:08:59FromDiscord<Idefau> there's like 13 degrees here
07:09:00PMunchSee who paid attention in school!
07:09:12FromDiscord<alehander42> wow you're like almost on the north pole
07:09:17FromDiscord<alehander42> but still warm
07:09:24FromDiscord<Idefau> comfy
07:09:38FromDiscord<ElegantBeef> Canada roughly 50% of the way north of the province 😄
07:09:44FromDiscord<ElegantBeef> of alberta
07:09:53FromDiscord<alehander42> wow (has to open a map now)
07:10:18FromDiscord<ElegantBeef> Pmunch is vastly further north than me
07:10:50PMunchTo be fair though I'm vastly further north than pretty much everything
07:10:51FromDiscord<ElegantBeef> But from previously talking we have similar climates 😄
07:11:11FromDiscord<alehander42> yeah but
07:11:30FromDiscord<alehander42> look sibe
07:11:32FromDiscord<alehander42> siberia
07:11:46PMunch*looking at a map of Canada* there's not much north of Alberta :P
07:11:51FromDiscord<alehander42> it might be similarly north
07:11:55FromDiscord<alehander42> but it's inside
07:11:57FromDiscord<alehander42> the continent
07:12:03FromDiscord<alehander42> so probably that makes it much colder
07:12:08PMunchOh yeah
07:12:14FromDiscord<alehander42> canadian siberia
07:12:32PMunchJust drive an hour or two inlands from where I live and it drops down to -30/40 in winter
07:12:39FromDiscord<ElegantBeef> We also have the rockies on are west border
07:12:43FromDiscord<ElegantBeef> (edit) "are" => "our"
07:12:44PMunchHere we seldom get much less than -10
07:13:10FromDiscord<ElegantBeef> Ah we get that nice -40 january/feburary weather
07:13:22FromDiscord<Idefau> cold
07:13:23PMunch"nice"
07:13:23FromDiscord<ElegantBeef> Dry, windy cold
07:13:30FromDiscord<ElegantBeef> I'm partial to the cold
07:13:37FromDiscord<ElegantBeef> I much prefer -30 than + 30
07:13:40FromDiscord<Idefau> i feel like freezing to death at 20 degrees in wind
07:13:49PMunchIt doesn't actually feel all that cold when its dry and -30
07:14:08FromDiscord<ElegantBeef> The wind is certainly what does it here
07:14:29PMunchMaybe I should move to Svalbard just to ensure that I'll forever be the northernmost Nim user :P
07:14:30FromDiscord<Idefau> i am still surprised by how we entered september
07:14:37FromDiscord<Idefau> week was 40 degrees then boom
07:14:38FromDiscord<Idefau> 13 degrees
07:14:52FromDiscord<ElegantBeef> And we get a ton of windchill it'll be like -20 without but -40 with
07:16:14FromDiscord<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:48FromDiscord<Rika> Are we using Celsius or the dumb units
07:16:50*vicfred quit (Quit: Leaving)
07:17:01FromDiscord<Idefau> kelvin
07:17:12FromDiscord<ElegantBeef> There are no USA Americans
07:17:13FromDiscord<Rika> Damn, -30 kelvin
07:17:15FromDiscord<ElegantBeef> Just North Americans
07:17:17PMunch@Rika -40 is -40 in both scales :P
07:17:21FromDiscord<Idefau> below absolute 0
07:17:32FromDiscord<Rika> -40 kelvin exists?
07:17:35FromDiscord<ElegantBeef> No
07:17:36FromDiscord<Idefau> no
07:17:38PMunchHaha, no in F and C
07:17:43FromDiscord<Rika> I'm joking damn it
07:17:54FromDiscord<Rika> I have at least ONE braincell come on
07:17:54Yardanicobaaaaaaaaaaaaaad joooooooookeeeeeeeee
07:18:01FromDiscord<ElegantBeef> Yard i didnt make it
07:18:04FromDiscord<ElegantBeef> Calm down
07:18:12PMunchI mean some weird theoretical physicist could probably come up with some weird negative Kelvin shenanigans
07:18:21FromDiscord<ElegantBeef> I dont think so
07:18:30FromDiscord<Rika> What would negative kelvin even look like in a molecular scale
07:18:43FromDiscord<ElegantBeef> Remember temperature is a measure of kinetic energy so you cant have a negative amount of kinetic energy
07:18:48PMunchAfter they started with Quantum physics I don't trust my intuition when it comes to physics any longer :P
07:19:02PMunchOr can you?
07:19:26FromDiscord<ElegantBeef> Lol idk can you make atoms stop moving so hard they generate energy? 😛
07:19:27FromDiscord<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:37Yardanicoor you're just high
07:19:38leorize[m]1kelvin is an absolute unit, it can't go to negative
07:20:13FromDiscord<ElegantBeef> That doesnt fucking matter if it's not our universe, 0 kelvin is a byproduct of the natural laws
07:20:24FromDiscord<Rika> Just like how disrup.tek is an absolute unit of a programmer
07:20:39FromDiscord<ElegantBeef> It's when there is no molecular motion(but there is cause of quantum fuckery)
07:20:40PMunchIf it vibrates in and out of another dimension
07:20:42FromDiscord<Idefau> i was just larping as a history channel serial
07:20:53PMunchTo us it would appear to just be a bit dimmer, but it would still have a lot of motion
07:21:02FromDiscord<ElegantBeef> It's not a ruddy light
07:21:15FromDiscord<Idefau> funny vibrate
07:21:24FromDiscord<Rika> Man and I was just asking if y'all used Celsius or Fahrenheit
07:21:36Yardanicowell, guess what
07:21:39PMunchRankine of course
07:21:51PMunchThe worst unit
07:21:51Yardanicopeople in most of the world except USA use Celsius
07:21:57Yardanicopeople in USA usually use F
07:22:17FromDiscord<Idefau> people in USA dont exist
07:22:18PMunchCombining the scientific logic of Kelvin with the silliness of Fahrenheit
07:22:19FromDiscord<Rika> Well we got one usa citizen here right now don't we
07:22:22FromDiscord<ElegantBeef> Which was my point of saying there are no USA Americans here atm, just North Americans
07:22:34FromDiscord<ElegantBeef> Who's a USA citizen?
07:22:37FromDiscord<Rika> Uh
07:23:00FromDiscord<Rika> I shall not dictate who I thought to be a US citizen
07:23:02FromDiscord<ElegantBeef> Wait... did you think i was "American"
07:23:05FromDiscord<Rika> No
07:23:06FromDiscord<Rika> Not you
07:23:20PMunchNow I'm curious :P
07:23:21FromDiscord<Idefau> native american
07:23:22FromDiscord<Vindaar> https://en.m.wikipedia.org/wiki/Negative_temperature
07:24:11FromDiscord<ElegantBeef> That very much feels like "We changed the definition of temperature" 😄
07:24:30leorize[m]1@ElegantBeef idk you don't say enough sorrys to be qualified as a canadian
07:24:37PMunchI like temperature scales, since their outer points are fairly arbitrary there are so many silly ones
07:24:42FromDiscord<ElegantBeef> Sorry, i'll try harder
07:25:10FromDiscord<ElegantBeef> If you ever hear me pronounce "Sorry" it'll be clear
07:25:15FromDiscord<Idefau> idk man water boiling and freezing points dont seem so silly to me
07:25:21PMunchLike 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:33FromDiscord<Idefau> oh
07:25:37PMunchHaha
07:25:48FromDiscord<Rika> Mmm 7.5 totally not arbitrary
07:26:05PMunchIt was actually defined as the freezing point of some brine solution
07:26:13FromDiscord<Idefau> why not water
07:26:23PMunchWho knows..
07:26:29FromDiscord<ElegantBeef> Dude probably had a lot of brine from making deli meats
07:26:29FromDiscord<Idefau> im going to make a scale with the freezing point of oxygen and melting point of titanium
07:26:38PMunchThey had a thing for measuring brines for some reason
07:26:52PMunchFahrenheit is also defined as freezing point of some brine
07:27:05FromDiscord<Idefau> fahrenheit is ugly
07:27:13PMunchAnd the body temperature of Fahrenheits wife -_-
07:27:22FromDiscord<Idefau> hot
07:27:26PMunchTurns out she was a bit higher than average body temperature
07:27:31FromDiscord<ElegantBeef> Any measurement that is mainstream in the US is ugly
07:27:38PMunchSo at 100F you actually have a slight fewer
07:27:52FromDiscord<Idefau> so its more of a medical scale
07:28:01PMunchWell I'm partial to using inches when describing timber myself
07:28:08PMunchOr "thumbs" as we call them
07:28:24FromDiscord<ElegantBeef> As do i but i hate it
07:28:30FromDiscord<ElegantBeef> Since it's so tedious to work with
07:28:47FromDiscord<Idefau> https://en.wikipedia.org/wiki/Romanian_units_of_measurement↵lol
07:28:57FromDiscord<Idefau> 1/8 of 2 meters
07:29:01PMunchWell it's much easier to say a two by four than a 22 by 44
07:29:04FromDiscord<ElegantBeef> 6 ticks is 6/16ths, and that in practical measurements is... fucking fractions
07:29:16PMunchOr whatever a 2"x4" is in metric
07:29:42FromDiscord<alehander42> hmm disruptek and zachary
07:29:43FromDiscord<alehander42> are usa
07:29:44FromDiscord<ElegantBeef> I dont even have a metric tape measure and it hurts!
07:29:49FromDiscord<ElegantBeef> Yea but they arent present
07:30:22FromDiscord<ElegantBeef> I built my arcade cabinent and may have fucked a few cuts up cause i measured to the wrong 16th
07:30:27PMunchWhat? All tape measures here are both metric and imperial
07:31:10PMunchmm is great when doing cuts, but they're too small for measuring materials
07:31:11FromDiscord<ElegantBeef> Not here where all construction is in imperial
07:31:27FromDiscord<ElegantBeef> US/Canada share construction materials
07:32:09FromDiscord<ElegantBeef> Pipes, timber, accessories, everything but screws are imperial, luckily screws are robertson
07:32:22FromDiscord<ElegantBeef> Our studs are 16" center to center
07:32:23FromDiscord<Idefau> laughs in european union standards
07:32:35PMunchHuh, just realised I was completely wrong and both my tape measure and yardstick(?) are both metric only
07:32:37FromDiscord<Idefau> there should be a nim lib for converting units
07:32:38FromDiscord<ElegantBeef> I mean i'll take anything as long as i keep the robertson
07:32:58FromDiscord<ElegantBeef> There is no screw that is better than the square drive!
07:33:05FromDiscord<ElegantBeef> And it's Canadian in origin
07:33:08leorize[m]1iirc PMunch is an American living abroad
07:33:17FromDiscord<Idefau> there's no screw better than a nail
07:33:22FromDiscord<ElegantBeef> Lol
07:33:25FromDiscord<ElegantBeef> Nails suck
07:33:25Yardanico@Idefau they exist already
07:33:49FromDiscord<Idefau> ok yardanico
07:33:49PMunch@Elegant, get outa here with your robertsons, torx is vastly superior
07:34:07FromDiscord<ElegantBeef> Idk i havent used large torx so idk if they stick to the drive
07:34:09PMunchleorize[m]1, I am?
07:34:32FromDiscord<ElegantBeef> Robertsons stick to the drive and with shitty bit holding so well that the bit comes out of drivers 😛
07:34:38leorize[m]1I guess I misremembered
07:35:01*mbomba quit (Quit: WeeChat 2.9)
07:35:18FromDiscord<ElegantBeef> We can both agree that phillips suck though 😉
07:35:19PMunch@Elegant, but you slip once and now you have a screw with a circle drive..
07:35:25FromDiscord<ElegantBeef> Nah
07:35:25PMunchOh yeah
07:35:47PMunchAt least those are still better than flat head though
07:36:02FromDiscord<ElegantBeef> Slotted are great if you like stabbing yourself
07:36:18PMunchThe masochist screw
07:36:57FromDiscord<Rika> LMAO
07:36:59FromDiscord<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:08PMunchOnly 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:09FromDiscord<Rika> No one be mentioning allen
07:37:37PMunchAllen is like the bastard child of torx and robertsons
07:37:44PMunchWith the worst of both
07:38:15FromDiscord<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:33PMunchWell, 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:00PMunchOh god, who thought that was a good idea?
07:39:05FromDiscord<ElegantBeef> Also allen driven screws arent common for anything but like bikes or set screws
07:39:21FromDiscord<ElegantBeef> The US, they're the twits that still use phillips/slotted
07:40:08PMunchOurs aren't much better though, but at least those are phillips
07:40:13FromDiscord<ElegantBeef> Do large torx heads actually stick to the bit?
07:40:24FromDiscord<ElegantBeef> I've never used them so i'm actually curious
07:40:34PMunchYeah
07:40:37FromDiscord<ElegantBeef> Torx is used here as "Security light"
07:41:07FromDiscord<ElegantBeef> So for when you want to prevent people from opening your hardware but not overly
07:41:11PMunchI mean not quite as much as robertsons appears to (haven't used a lot of those)
07:41:16FromDiscord<Rika> Why do bikes use Allen so much I do wonder
07:41:34PMunchAh right, I think a robertsons would have about the same effect here
07:41:44FromDiscord<Rika> Beef there's even a security version of torx so you get double the security!!!
07:41:45FromDiscord<ElegantBeef> So you have to make multiple passes to the allen key
07:41:48FromDiscord<ElegantBeef> Yea i know
07:41:50PMunchMainly torx and phillips
07:41:53FromDiscord<ElegantBeef> I have security drivers 😛
07:42:19PMunchDitto, got a set after I "had to" open a small electric oven
07:42:24FromDiscord<ElegantBeef> Which reminds me i have to modify this gbasp still, so it can charge off a usb
07:42:36FromDiscord<ElegantBeef> (edit) "gbasp" => "gba sp"
07:42:44FromDiscord<ElegantBeef> Proprietary connectors can fuck right off
07:43:02FromDiscord<Rika> Apple :EyesShaking:
07:43:11PMunchHaha, GBC doesn't have that problem, just two AAs :P
07:43:13FromDiscord<ElegantBeef> Nintendo used to use them a lot aswell
07:44:00PMunchNow 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:17PMunchThat way even if you slip you wont be able to get the driver into the live
07:44:45FromDiscord<ElegantBeef> I mean i think you're "supposed" to turn the breaker off when installing the scoket cover
07:44:49FromDiscord<Rika> Y'all are screw nerds
07:45:14FromDiscord<ElegantBeef> I've taken apart/built a fair few things using a variety of tools
07:45:20FromDiscord<ElegantBeef> Yes i have a prefernce 😛
07:45:55FromDiscord<ElegantBeef> Where are all the new nim users to ask questions!
07:46:12FromDiscord<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:55FromDiscord<Idefau> i think the new users might have been confused by the temperature units discussion
07:47:02PMunchMaybe they're scared off by us sitting here discussing screws :P
07:47:04supakeenHere's a question: When do you prefer to use macros as opposed to not.
07:47:05FromDiscord<ElegantBeef> Or screws
07:47:11PMunchYeah, or that..
07:47:20FromDiscord<ElegantBeef> I prefer to use the simplisted tool possible
07:47:32FromDiscord<ElegantBeef> (edit) "simplisted" => "simplist"
07:47:51PMunchsupakeen, I use macros when I want to write a different pattern from what I currently have to
07:48:05Yardanico@ElegantBeef if you want to edit one more time - simplest :)
07:48:12FromDiscord<Rika> when i cant make a clean code interface, id make a dsl and macro
07:48:14PMunchOr if I want to implement compile-time checking or extra safeties
07:48:17FromDiscord<ElegantBeef> Lol yard
07:48:24Araqsupakeen, avoid macros for sugar, use them for DSLs
07:48:28supakeenIt 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:31FromDiscord<ElegantBeef> I realized it was still wrong but... i cried 😄
07:48:39supakeenAraq: Yea, that's how I feel great for DSLs.
07:48:43FromDiscord<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:09FromDiscord<ElegantBeef> Get all that lovely data from the code and use it elsewhere
07:49:15PMunchYeah, you should try to avoid your macros doing something unexpected
07:49:19FromDiscord<ElegantBeef> I swear i'll stop talking about the nimscriper thing eventually
07:49:21FromDiscord<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:22Araqand DSLs are language design problems
07:49:35PMunch@Elegant please don't :)
07:49:39supakeenOf course; but there is quite a bit of emphasis on Nim has really good macros.
07:49:39Araqso respect the problem domain
07:49:48*wowi42 joined #nim
07:49:55Araqand yeah, most programmers are not language designers
07:50:12FromDiscord<ElegantBeef> Well the emphasis is more we have LISP inspired macros, so we get an AST and generate an AST afaik
07:50:12supakeenI'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:27supakeenWhich is super neat, ElegantBeef.
07:50:29PMunchsupakeen, 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:48FromDiscord<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:14supakeenSo 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:15YardanicoC# can achieve some of the metaprogramming stuff via runtime reflection
07:51:26Yardanicoi think
07:51:27FromDiscord<ElegantBeef> Oh god yard, dont even get me started
07:51:31FromDiscord<ElegantBeef> Yes it can
07:51:34YardanicoI know that it's far from good :)
07:51:38Yardanico"runtime" is the keyword
07:51:54PMunchBut if you want to "sell" the metaprogramming thing to people examples like npeg are really strong
07:52:04Yardanicoalso I like correcting people who say that Rust macros are AST-based :P
07:52:09FromDiscord<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:19PMunchType 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:30Yardanicojust did that again recently on reddit in the post about the arc/orc article
07:52:35*Cthalupa joined #nim
07:52:51FromDiscord<ElegantBeef> The fact that nim's macros just call code makes it a vastly more pleasing experience
07:53:22supakeenPMunch: npeg is listed in my presentation ;)
07:53:38supakeenTogether with nimpy since that's also a common usecase at least for the ones I chat with.
07:53:43PMunchOr 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:43FromDiscord<ElegantBeef> You also have things like my constructor library which can show off reducing redundant code by using the DSL
07:53:57supakeenPMunch: Ooo, can I see that one?
07:54:09supakeenShow me neat macro examples!
07:54:12FromDiscord<ElegantBeef> <https://github.com/beef331/constructor>
07:54:28Yardanicosupakeen: npeg does them
07:54:28FromDiscord<ElegantBeef> No more manually created constructors for me, i just use that when i need them
07:54:49Yardanicoit can show you a railway diagram of your peg patterns in the terminal while compiling
07:55:21Yardanico-d:npegGraph
07:55:24Yardanicohttps://i.imgur.com/8XYyFGz.png
07:55:25supakeenneat and yea, npeg already on the list :)
07:55:35Yardanicoalso it can do .dot graphs
07:55:57PMunchsupakeen, the implementation is ugly as sin: https://github.com/PMunch/MannBarSchwein-arduboy/blob/master/ardusprites.nim#L20
07:56:42supakeenThat's fine.
07:56:48FromDiscord<ElegantBeef> Pmunch that's how i feel about the nimscripter macros, they're pretty eeeeh
07:57:10supakeenSo far my approach is 'Nim can do everything you already do PLUS ...' :)
07:57:10PMunchIt 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:15ZevvPMunch: what presentation is that?
07:57:46PMunchZevv, huh?
07:57:56Zevvno supakeen I mean :)
07:57:56FromDiscord<ElegantBeef> I still find the fact i generate an AST just so i can do `let vmRepr = $node.repr` fantastically comical
07:58:14Yardanicotemplates + getASt
07:58:39supakeenZevv: 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:49FromDiscord<ElegantBeef> What do you mean yard?
07:58:56supakeenMostly meant as a random slidedeck to present at random conferences and/or for karaoke slides :)
07:59:40PMunchThe 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:59PMunchAnd it reads the static width/height from the type, so cleaner code with 0 runtime overhead
08:00:28PMunchCombines the excellent type system with macro magic ;)
08:00:50Zevvsupakeen: nice stuff. We need to make all these presentations CC and reusable :)
08:00:54FromDiscord<ElegantBeef> Similar to my interop macro, where it generates a table of all the VmProcSignatures which is just accessible at runtime
08:01:06supakeenZevv: I have no problem making it CC.
08:01:14Zevv:)
08:01:35supakeenI'll make a note of it and add it in the first slide tonight!
08:02:02PMunchOh, 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:16FromDiscord<ElegantBeef> lol
08:02:35PMunchref: https://github.com/PMunch/MannBarSchwein-arduboy/blob/master/ardusprites.nim#L428
08:02:37FromDiscord<ElegantBeef> You should really talk about the top quality compile time evaluation as well
08:03:34supakeenI think in general under advantages it'd be good to list that Nim can do a lot at compile time.
08:03:57FromDiscord<ElegantBeef> yea "Has an entire intepreted language" is a big + imo
08:04:09FromDiscord<Idefau> i use macros so i can generate the entire table of sinus values at compile time
08:04:23FromDiscord<ElegantBeef> Do you need a macro for that?
08:04:25FromDiscord<Idefau> no
08:04:29FromDiscord<Idefau> but its compile time
08:04:39FromDiscord<ElegantBeef> But... a `static: ` is aswell 😛
08:05:00FromDiscord<Idefau> not complicated enough
08:05:33FromDiscord<Idefau> ~~also i didnt know about static~~
08:06:11FromDiscord<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:04supakeenThanks Vindaar :)
08:08:11FromDiscord<ElegantBeef> Since we're talking about macros, how the hell do you get a macro capable of being `push`ed?
08:10:08FromDiscord<ElegantBeef> I asked early but like the hell is wrong 😄 https://play.nim-lang.org/#ix=2BAt
08:14:07Yardanicobtw, maybe we can use github projects to better differentiate between bugs in different stdlib modules?
08:14:14Yardanicoso it's easier to fund bugs for a specific stdlib module
08:14:17FromDiscord<Recruit_main707> why, if you could use an unroll pragma on a for loop, cant add other pragmas to for loops?
08:14:22Yardanicoor add more labels :)
08:14:30YardanicoRecruit_main707 unroll pragma was removed anyway
08:14:34Yardanicobecause it was never implemented :P
08:14:51FromDiscord<Recruit_main707> my point is that it was valid syntax
08:15:25FromDiscord<Chaz Ashley> sent a code paste, see https://play.nim-lang.org/#ix=2BAv
08:15:41Yardanicowhat's your nim version?
08:15:42Yardaniconim -v
08:20:00FromDiscord<Chaz Ashley> it's 1.4.0
08:20:42Yardanicowell weird, what about nimble ?
08:20:42PMunchAnd how did you try to install it?
08:20:43Yardaniconimble -v
08:21:01*hnOsmium0001 quit (Quit: Connection closed for inactivity)
08:21:10FromDiscord<Chaz Ashley> oh, nimble seems to be a little bit older, it's v0.9.0
08:22:01Yardanicowell nimble has it's own versioning
08:22:12Yardanicobut last version of it os 0.12.0
08:22:12Yardanicois*
08:22:38Yardanico0.9.0 is from september 2018
08:22:38FromDiscord<Idefau> old
08:22:58FromDiscord<Chaz Ashley> it's interesting that I can install nimble with nimble
08:23:44Yardanicoyes, because nimble is a nimble package
08:23:44Yardanicobut it might not work the way you want
08:24:09Yardanicoyou 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:44FromDiscord<Idefau> linux distro with nimble as the package manager when
08:25:47FromDiscord<Chaz Ashley> sent a code paste, see https://play.nim-lang.org/#ix=2BAy
08:26:13PMunchHow did you install Nim?
08:26:40FromDiscord<Chaz Ashley> with unpackaging the tarball downloaded from the website and executing the install.sh script
08:26:41PMunchI recommend choosenim, in which case you get the latest version of nimble when you update
08:26:59PMunchWith just "choosenim update stable"
08:27:42Yardanico~doing my random issue labeling stuff~
08:27:42disbotno footnotes for `doing`. 🙁
08:27:48Yardanicoso we have less unlabeled issues
08:27:54Yardanicoand finding potential duplicates/fixed ones
08:28:20supakeen~yardanico
08:28:20disbotno footnotes for `yardanico`. 🙁
08:28:22supakeenmrm
08:28:30Yardanico~ystream exists though (and no I'm not streaming rn)
08:28:30disbotno matching footnotes for `ystream` with regexps `exists, though, (and, no, I'm, not, streaming, rn)`. 🙁
08:28:33Yardanico~ystream
08:28:33disbotystream: 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:08supakeenWhy does the mumble have a nazi slogan as its hostname.
08:29:25Yardanicoask disruptek
08:32:35supakeenNot very nice.
08:34:09*xet7 quit (Quit: Leaving)
08:34:49FromDiscord<Chaz Ashley> ok, choosenim worked, I now finally can process my anime wallpapers with imageman 🥳
08:35:26*xet7 joined #nim
08:35:45FromDiscord<Idefau> i think solitude would be proud of such usage
08:35:58FromDiscord<ElegantBeef> Burn the weebs!
08:36:02FromDiscord<Idefau> this
08:36:32Yardanico@SolitudeSF ^
08:38:48FromDiscord<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:26FromDiscord<Idefau> cool stuff but, it means you have quite a lot of anime wallpapies
08:40:42FromDiscord<Chaz Ashley> not now, but i'm gonna have them
08:40:47FromDiscord<Idefau> fair
08:42:15FromDiscord<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:26FromDiscord<Idefau> 😎
08:43:47PMunchI barely ever see my wallpapers after switching to i3..
08:43:57FromDiscord<ElegantBeef> ^
08:44:13Yardanicoexactly same
08:44:17FromDiscord<ElegantBeef> Wallpapers are always hidden, dont even notice them through transparent windows much
08:44:48FromDiscord<dom96> @supakeen wtf, is that really a nazi slogan?
08:45:34supakeendom96: 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:00FromDiscord<Idefau> my wallpaper https://media.discordapp.net/attachments/371759389889003532/768757031221067806/comfy.png
08:46:14PMunchOooh, that's cool
08:46:34FromDiscord<Idefau> let me find it
08:46:51FromDiscord<Idefau> https://media.discordapp.net/attachments/371759389889003532/768757247077515285/1596369597079.jpg
08:46:51FromDiscord<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:25supakeendom96: It means "Germany above all", etc.
08:48:17Yardanicosupakeen: in this context it can mean "mumble above all" though :)
08:48:27Yardanicobut yeah, disruptek knows more about that mumble server
08:48:40FromDiscord<Vindaar> maybe I'm just weird, but reading that URL the reference to "Deutschland über alles" never crossed my mind 🧐
08:48:46supakeenSure, just like "Heil Mumble" can be about mumble, it just irks me the wrong way.
08:48:51Yardanicohttps://en.wiktionary.org/wiki/%C3%BCber_alles
08:49:07*landerlo joined #nim
08:49:10FromDiscord<Vindaar> I mean now it obviously does, but still
08:49:27FromDiscord<Idefau> heil disrupt.ek
08:49:34supakeenIt has clear Nazi connotations in at least my country and Germany.
08:49:51supakeenAnd I don't think it's a great plan to use something like that ironically without context.
08:49:54Araqyeah, get rid of this. ASAP. Immediately.
08:50:23Yardanicodisruptek is getting busted today it seems :P
08:50:26Araqcompletely unacceptable
08:50:33Yardanicoand only disruptek can remove entries from disbot, no one else
08:50:37Yardanicoor edit for that matter
08:51:01FromDiscord<ElegantBeef> He's one special being 😄
08:51:24Araqhe can be special elsewhere
08:51:49Yardanicointeresting thing is that a lot of us talked in that mumble server a lot of times and no one noticed the url
08:52:01FromDiscord<Idefau> i honestly thought it says umbrella
08:53:21Araqoh I misunderstand, but still
08:53:50AraqI read it as "Mumble above all" too fwiw
08:54:03Araqlike "there is nothing better than Mumble"
08:55:36FromDiscord<ElegantBeef> Yea it's not overally bad, but it's still probably not something that should be associated with
08:56:55FromDiscord<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:04Araqsupakeen, I've seen it used in Germany and always ironically
08:57:42miprithe 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:47supakeenIf people mostly view it as ironic then that's fine.
08:58:05supakeenI probably just misread the intention.
08:58:09AraqI always take it ironically fwiw
08:58:18FromDiscord<Recruit_main707> specially on the internet
09:00:53FromDiscord<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:42supakeenI feel the same ElegantBeef but if most people don't see it that way it's also not problematic.
09:02:12FromDiscord<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:28supakeenWell, it's hard to read irony from a hostname!
09:02:50mipriyou could read it as what it literally means.
09:03:20miprithrow-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:53miprithe 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:58FromDiscord<ElegantBeef> Yea but remember we're talking about disruptek, someone that's not opposed to ridding the edge
09:04:01supakeenIt'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:24mipriyou're not making the world a better place by caring about hostnames. How about trying to make it better with software?
09:04:30FromDiscord<ElegantBeef> I'm not really worried about dog whistles, i'm more concerned about the association to the community/language
09:04:46Yardanicowhat about disruptek?:)
09:05:52FromDiscord<dom96> mipri: I think it's a fair thing to bring up. Indeed, the community is what suffers here.
09:06:18FromDiscord<dom96> And people who do believe these things often rely on the fact that the words they are using are ambiguous
09:06:37FromDiscord<ElegantBeef> I'm not overly PC, so dont mistake me for being such 😄
09:07:51FromDiscord<ElegantBeef> You can always go back to all the comments i've made about master -> main or whitelist -> allowlist if you please 😄
09:10:04FromDiscord<Idefau> i'm master of holyc
09:10:48mipriyou'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:10FromDiscord<Idefau> step 1 is literally me
09:11:18supakeenThose are strawman, none of that is happening.
09:11:23FromDiscord<ElegantBeef> Lol
09:11:24Yardanicomipri: average python coooooder vs average nim enjoyer
09:11:42Yardanicoyes there's a meme like that
09:11:59FromDiscord<Idefau> no way dude, its not like its spammed on the nim telegram(on which i dont have an account)
09:12:06YardanicoKappa
09:12:12miprisorry I am cursed with a good memory so I still remember peopel getting fired for the 'OK' symbol.
09:12:46Yardanico!status
09:12:47PMunchZevv, is there a way to run something when parsing succeeds in npeg?
09:12:47FromDiscordUptime - 1 day, 13 hours, and 36 minutes
09:13:07ZevvPMunch: elaborate
09:13:09miprithis all happens all the time and the only solution is not care about theater, about 'solutions' that do not solve anything.
09:13:47FromDiscord<ElegantBeef> Congrats we agree on something
09:13:50FromDiscord<ElegantBeef> But the issue isnt that
09:14:36supakeenI 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:58PMunchWell 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:04FromDiscord<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:06supakeenI don't care particularly either way but I do feel that it can easily be misconstrued without having to fetch very far.
09:15:09FromDiscord<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:19PMunchI guess I could just write a proc that takes a string and returns my type and then have that do the unpacking
09:15:27PMunchNo reason to tack that onto npeg
09:15:58supakeenThis isn't part of some greater plot to remove the crown from the Nim logo :')
09:16:31Araqtoo late, I replaced it with Perl's LSD trip logo already
09:17:00FromDiscord<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:11FromDiscord<ElegantBeef> Just throw some anti-semetic comments and racial slurs in change logs just to ensure the steady decline 😛
09:18:21Araqit isn't a neo nazi phrase and it's not an official Nim mumble channel either.
09:18:38FromDiscord<ElegantBeef> Yea hence my use of "if"
09:19:18supakeenThough I am republican so MRRRRM.
09:19:24FromDiscord<ElegantBeef> It's a non issue so we can carry on our days
09:19:51Araqyeah, for example
09:20:06Araqyesterday I found out nothing works. Nim 1.0.x cannot build 1.2
09:20:13Araqand 1.2 cannot build 1.4 either
09:20:49Araqhowever
09:21:13Araqyou can build the first Nim binary from our frozen C sources, copy it to bin/ and bootstrap
09:21:25Araqwhich is the offical way to build things, so that's good.
09:21:36Araqbut still, we could use more care here
09:22:01supakeenSpeaking of, is someone looking into the docs overflow issue?
09:22:02mipriIC with --useVersion:1.0 ?
09:22:12miprisupakeen: that's fixed in devel I think
09:22:18supakeenAh nice.
09:22:24supakeenOtherwise I'd do a stab at it.
09:22:32supakeenAfter I read the issue I kept noticing.
09:22:41miprisupakeen: yeah, https://nim-lang.github.io/Nim/net.html
09:22:49FromDiscord<dom96> supakeen: hol' up
09:22:53supakeenThanks.
09:22:58supakeenYa, much better.
09:23:01PMunchWait, 1.2 can't build 1.4?
09:23:02miprinim-lang.org, Documentation, 'Bleeding Edge Docs' at the very bottom
09:23:12*landerlo quit (Remote host closed the connection)
09:23:27Yardanicosupakeen: I think narimiran did?
09:23:31Yardanicomaybe not
09:23:35PMunchThat fix should really be backported ASAP
09:23:39Yardanicooh right it was fixed already
09:23:41narimiranit is done, but the website stuff is cached
09:23:42YardanicoPMunch: true
09:23:42PMunchThe official docs now look completely broken
09:23:44FromDiscord<dom96> supakeen: all I will say is I am disappointed 🙂
09:23:49PMunchAh right
09:23:50Yardaniconarimiran: cool :)
09:25:45supakeendom96: 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:45disbotProvide non-splitting parseHeaderField in httpcore
09:27:05FromDiscord<dom96> supakeen: sure, have a look at how other deprecations are done
09:27:12supakeenOki!
09:27:15FromDiscord<dom96> and change the usage of that other proc if possible to the new one
09:28:21supakeenYea 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:36FromDiscord<dom96> also, you should join #nim-offtopic 🙂
09:28:53supakeenSure!
09:52:31*arecacea1 quit (Remote host closed the connection)
09:54:10*arecacea1 joined #nim
10:11:14FromDiscord<Revenant> yo, just upgraded to 1.4.0 and i'm getting a few of these warning suddenly
10:11:18FromDiscord<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:39FromDiscord<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:53FromDiscord<Revenant> (edit) "a string" => "another object"
10:13:06FromDiscord<Revenant> any way to silence these?
10:15:39FromDiscord<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:07FromDiscord<Revenant> (edit) yo, just upgraded to 1.4.0 and i'm getting a few of these warnings suddenly
10:17:13Araq--hint[Performance]:off
10:17:26Araqor via .push/pop
10:17:54Araqmaybe these should be opt-in rather than opt-out
10:19:00FromDiscord<Revenant> cheers, that hint did the trick
10:19:27FromGitter<jrfondren> Revenant: https://play.nim-lang.org/#ix=2BBc
10:19:41FromDiscord<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:43FromGitter<jrfondren> also the sink param triggers the warnings
10:20:19FromDiscord<Revenant> it's a largish codebase, i'm assigning objects left/right/centre everywhere
10:21:38AraqRevenant: it's about copies you otherwise don't see
10:22:18Araqassignments do copy (unless optimized to moves or to cursors)
10:22:46Araqif you really care, --expandArc:foobar shows the full picture
10:24:45FromDiscord<Revenant> sent a code paste, see https://play.nim-lang.org/#ix=2BBf
10:25:09FromDiscord<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:12FromDiscord<Revenant> seems quite explicit to me
10:32:12*abm joined #nim
11:05:42FromDiscord<Clyybber> > maybe these should be opt-in rather than opt-out↵Yeah, I think so too
11:08:29*luismanfroni joined #nim
11:10:00FromGitter<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:52FromGitter<jrfondren> oh Araq said it
11:17:18FromDiscord<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:45FromDiscord<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:42Araqso can we add a check that Nim 1.0 can bootstrap 1.x ?
11:25:48*TomDotTom joined #nim
11:25:54FromDiscord<Clyybber> can it not?
11:25:57Araqit means more 'when' statements in the compiler though
11:26:32Araq(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:35FromDiscord<Clyybber> do you mean that nim 1.0 can't bootstrap 1.x using the 1.x stdlib?
11:26:59Araqno, I mean the 1.0 we ship to everybody cannot do it because it uses the 1.0 stdlib
11:27:21FromDiscord<Clyybber> and it works if we make it use the 1.x stdlib?
11:27:28FromDiscord<Clyybber> won't it encounter unknown magics?
11:27:50Araqunknown magics raise a warning, not an error
11:28:07Araqplus they are usually behind a 'when defined(nimHasVoodoo)' switch
11:28:12FromDiscord<Clyybber> ah right
11:29:13FromDiscord<Clyybber> don't we have a option for setting the stdlib ?
11:29:29FromDiscord<Clyybber> Araq: Oh, btw theres also #nim-internals now
11:32:07Araqwell no there isn't. and if it were, now it would be public
11:34:01ZevvClyybber: ??
11:34:37FromDiscord<Clyybber> Araq: Hmm, theres a channel on discord, I figured it was bridged to irc
11:34:46FromDiscord<Clyybber> Zevv: you have make in your instructions :D
11:34:51FromDiscord<Clyybber> but no makefile
11:35:28Zevvwho cares
11:35:56Zevvnimble build that shit
11:36:00Zevvthat's in the docs anyway
11:36:04ZevvMake in the docs is only an illusion
11:36:19Zevvbut anway, my project has been abandoned in favor of Tracy
11:36:24Zevvwhich is the same thing, but for grownups
11:36:38Zevvit was fun while it lasted
11:52:17PMunchTracy?
11:52:43ZevvI also never heard of it. https://github.com/wolfpld/tracy
11:52:49Zevvbut it looks way cooler
11:54:33PMunchHuh, that does look cool
12:02:32Zevvmuch cooler then bitline, right :(
12:02:33Zevvboohoo
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:25FromDiscord<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:30FromDiscord<lqdev> and that's how suckless was born
12:28:16*rockcavera joined #nim
12:28:30FromDiscord<Rika> wtf is that avatar
12:33:21FromDiscord<lqdev> yes
12:33:47FromDiscord<Rika> ok l↵iqu↵id
12:34:29FromDiscord<lqdev> it's called word wrapping.
12:35:06*solitudesf joined #nim
12:35:10FromDiscord<Rika> it's called a joke.
12:35:42*Vladar quit (Ping timeout: 272 seconds)
12:36:29FromDiscord<Vindaar> damn, I'm too braindead for that. I honestly only now realized that it's "liquid", smh
12:46:03FromDiscord<Idefau> l iqu id
12:47:41*Vladar joined #nim
12:48:16FromDiscord<Idefau> what is this supposed to mean
12:58:17PMunchWe can't see avatars :(
12:59:26PMunchHmm, Kiwi is nice, but when it fails it's kinda hard to debug why..
13:07:50FromDiscord<lqdev> PMunch: https://cdn.discordapp.com/avatars/229535009969537024/82355a61d56a61a0a4e6236b9278fede.png
13:08:21PMunchHaha, 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:50FromDiscord<notchris> @Rika good morning \o/
13:31:53FromDiscord<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:30FromDiscord<tomck> sent a code paste, see https://paste.rs/Lff
13:53:20FromDiscord<tomck> sent a code paste, see https://play.nim-lang.org/#ix=2BCJ
13:53:27FromDiscord<tomck> unsure when a returning 'var' copies
13:54:06FromDiscord<Idefau> wha
13:54:28FromDiscord<tomck> wha
13:54:48FromDiscord<Clyybber> @tomck Returning var is a view/borrow operation
13:54:58FromDiscord<Clyybber> A copy will not happen
13:55:12FromDiscord<tomck> right, can I 'alias' that view though? Since if i store the 'view' in a variable, it copies
13:55:32FromDiscord<tomck> sent a code paste, see https://play.nim-lang.org/#ix=2BCN
13:55:55FromDiscord<Clyybber> make myX an argument of getX
13:56:06FromDiscord<tomck> eh?
13:56:10*Vladar joined #nim
13:56:55FromDiscord<tomck> I'm not struggling to use this as a view, that's fine
13:57:03FromDiscord<tomck> i'm just wondering what the semantics are on when exactly a copy happens
13:57:09FromDiscord<Clyybber> a copy shouldn't happen
13:57:12FromDiscord<tomck> So, a copy happens when it's assigned to a var
13:57:36FromDiscord<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:38FromDiscord<Clyybber> ah, I see what you mean now
13:57:51FromDiscord<tomck> is there a rule for this, like c++ lvalue / rvalue semantics?
13:58:24FromDiscord<Clyybber> if you do var a = b where b is a view or getX() then it will be copied
13:58:35FromDiscord<tomck> is that the only time?
13:58:50FromDiscord<Clyybber> yeah
13:59:03FromDiscord<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:21FromDiscord<Clyybber> hmm its the behaviour most people expect
13:59:24FromDiscord<tomck> I've been treating `var` as a transparent ptr
13:59:41FromDiscord<tomck> oh is `var` just the same as `&` in c++?
13:59:58FromDiscord<tomck> that makes more sense thinking about it like that, actually
14:00:04FromDiscord<Clyybber> in a way yeah
14:00:09Araqyes, pretty much
14:00:15FromDiscord<tomck> right, i see, cool
14:00:28FromDiscord<Idefau> var parameter means the function can modify the passed variable argument
14:02:05AraqNim is C++, 'var' is '&', 'sink T' is 'T', 'T' is 'const T&', 'ref' is a movable_ptr
14:02:28Araqexcept that C++ has no movable_ptr. yet? :-)
14:02:37FromDiscord<tomck> isn't `ref` shared_ptr?
14:03:05FromDiscord<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:40AraqI know, I am writing a "Nim for C++ programmers" book.
14:03:50Araq(Nah, I'm not. But I should...)
14:03:51FromDiscord<tomck> just needs to be that one line
14:04:09FromDiscord<tomck> seriously though, isn't `ref` just `shared_ptr`? or am i not understanding `ref`?
14:04:10AraqPRs are welcome but we also have "Nim X programmers" wiki pages
14:05:11Araqshared_ptr is atomic, Nim's ref is racy so you can only move it between threads, much like unique_ptr
14:05:34FromDiscord<tomck> ohhh that's good to know
14:05:52Araqplus 'ref' also allows for cycles
14:07:44Araq(and 'ref' is builtin and optimized quite a bit with more optimizations to come)
14:08:04Araq(not easily replicated in C++, IMHO)
14:09:04*a_chou joined #nim
14:10:07Araqer, I meant to say
14:10:15Araqwe also have "Nim for X programmers" wiki pages
14:10:50FromDiscord<Idefau> wow secret Nim 10.0.0
14:15:51FromDiscord<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:34Araqcorrect, but there is a "strict funcs" mode
14:17:07Araqwhere 'x[] = ...' is disallowed
14:17:31FromDiscord<tomck> right ok, is that a compiler option?
14:18:37Araqyes 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:18FromDiscord<haxscramper> Is there any way to check which package depends on something? Except for spamming !requires in chat here
14:55:24FromDiscord<lqdev> read its .nimble file?
14:55:39FromDiscord<lqdev> or `nimble dump <package>`
14:55:46FromDiscord<haxscramper> I mean globally, in all nimble packages
14:55:52FromDiscord<haxscramper> !requires cligen
14:55:55disbotcligen: 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:59FromDiscord<lqdev> oh
15:01:53*a_chou quit (Ping timeout: 260 seconds)
15:03:34avatarfighter[m]Hello hello everyone
15:05:23idfsup
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:13leorize[m]1@haxscramper spamming !requires is better for your machine health :P
15:29:20leorize[m]1since `.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:31FromGitter<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:38FromGitter<iffy> Or maybe the problem is `NIM_ALIGNOF`?
15:37:56leorize[m]1have you updated your `nimbase.h`?
15:38:11FromGitter<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:01FromGitter<iffy> That was it; thank you!
15:56:32disruptekhaxscramper: 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:06disruptekuber 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:35disruptekthe server name is a reference to a disposable heros cover of a dead kennedys song.
16:24:46disruptekget over yourselves.
16:26:06disrupteknim is also above all. what is monarchy but a very fine-pointed racism?
16:26:20disruptekshould we abandon the exclusionist iconography of the crown?
16:29:33leorize[m]1did someone join the mumble server to complain?
16:29:59miprino it came up here about seven hours ago
16:30:25disrupteki had to dig deep to investigate a ping.
16:31:35disruptekincidentally, if you don't enjoy this tune, you have a hole in your soul: https://www.youtube.com/watch?v=cBAkOifDeSw
16:34:52supakeenNote 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:03supakeenSo they picked a thing people would relate to it.
16:35:27disruptekof course.
16:35:41disrupteklisten to the fucking lyrics.
16:36:03supakeenSure, 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:16disruptekobviously. i already refuted that point.
16:36:25disruptekuber 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:25supakeenI 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:02disruptekdon't let the terrorists win, supakeen.
16:38:57FromGitter<iffy> With `--gc:orc/arc` I still need to call `NimMain()` to initialize globals, right?
16:39:53leorize[m]1yes
16:41:24FromGitter<jrfondren> huh, --expandArc: can take a module name
16:41:39*luis_ joined #nim
16:42:09*luis_ quit (Client Quit)
16:43:15supakeenDoes anyone have any resources related to me wanting to run Nim on my ESP* (embedded) things?
16:45:26supakeen(it doesn't help that a popular library is called NimBLE either in espressif-land)
16:47:04supakeenAh, 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:10FromDiscord<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:55leorize[m]1https://aardappel.github.io/lobster/memory_management.html <- here's the doc behind it
16:57:02leorize[m]1I have only skimmed but it seems to work like arc
17:01:24*lbart_ is now known as lbart
17:05:02supakeennice!
17:21:01disruptekwhere do i know this guy from?
17:21:34FromGitter<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:49disrupteknever mind, i guess i only recognize his voice at 1.5x and not 1.0x. 🤪
17:22:43disruptekjrfondren: tell me where to look.
17:23:00disrupteki lost electricity so i'm not staring at context.
17:23:24FromDiscord<dom96> supakeen: I’m doing some ESP dev with Nim right now 🙂
17:23:44FromDiscord<dom96> Join #nim-embedded iirc it’s linked with our discord
17:23:47FromGitter<jrfondren> I'm not asking for help, it's just a curiousity.
17:25:20disruptek!repo badresults
17:25:21disbothttps://github.com/disruptek/badresults -- 9badresults: 11like results but worse 15 1⭐ 0🍴
17:25:26disruptekthis is what you want.
17:25:46disrupteksee my `:=` in gittyup, too.
17:25:49disruptek!repo gittyup
17:25:50disbothttps://github.com/disruptek/gittyup -- 9gittyup: 11higher-level libgit2 bindings that build upon nimgit2 15 6⭐ 1🍴
17:31:38FromGitter<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:11disrupteki like it a lot. i won't be insulted if you reimpl it, though.
17:33:15disruptekit's something that evolved.
17:33:40Araqleorize[m]1, it's exactly arc
17:34:08disruptekwe don't really use escape hatch, though.
17:36:19*siulManfroni joined #nim
17:37:03*gangstacat quit (Ping timeout: 272 seconds)
17:38:24nikki93disruptek: 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:25nikki93if 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:39Araqcorrect
17:48:29*rockcavera quit (Remote host closed the connection)
17:50:41nikki93where 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:42nikki93seems interesting
17:52:06disrupteki'm just guessing here, but `sinkparameter_inference.nim`
17:52:19*siul_ quit (Remote host closed the connection)
17:52:26disrupteksorry, it must be that time of the month for me.
17:52:41*siul_ joined #nim
17:53:14disruptekwhere snowflakes flutter about amid calls for national unity and anti-corruption.
17:53:31disruptekdid i say month? i meant year.
17:53:51nikki93haha, i should've just looked
17:54:02FromDiscord<Avatarfighter> I thought you were referring to the Nim community when you said snowflakes lmfao
17:54:15disruptekthat's the idea, bro.
17:54:20disruptekyou are right there on it, man.
17:54:53disruptekokay, we'll do some coffee and then stream some IC.
17:56:50FromDiscord<Avatarfighter> \o/ IC moment
17:57:15FromDiscord<William_CTO> `Warning: observable stores to 'parsed' [ObservableStores]`↵What are "observable stores"?
17:58:28disruptekthe classic case is an exception after mutation.
18:04:32*siul_ quit (Ping timeout: 246 seconds)
18:05:31FromDiscord<Yardanico> Also they're hidden in 1.4
18:05:35FromDiscord<Yardanico> I mean those warnings
18:05:55*desai[m] left #nim ("User left")
18:08:40*luismanfroni joined #nim
18:28:55FromDiscord<Recruit_main707> > where do i know this guy from?↵disruptek, isnt he the flatbuffers guy?
18:29:15FromDiscord<Recruit_main707> (one of the most active devs)
18:29:28disrupteki dunno. i forget what flatbuffers is.
18:30:24FromDiscord<alehander42> jrfondren sounds to me like a guy from lobste.rs
18:30:30FromDiscord<alehander42> but i might be misremembering
18:30:35disruptekshould we string him up?
18:31:00FromDiscord<alehander42> noo
18:31:02FromDiscord<alehander42> i might be wrong
18:31:07FromDiscord<alehander42> it's time for eveninng
18:31:10FromDiscord<alehander42> after work
18:31:25disruptekinteresting.
18:31:42disrupteki 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:12disruptekwhen do you like to do your killin', sasha?
18:32:18FromDiscord<Recruit_main707> "FlatBuffers is an efficient cross platform serialization library"
18:32:27disruptekyou're blowin' my mind right now.
18:33:28FromDiscord<Recruit_main707> ...
18:33:38PrestigeThat happens a lot disruptek
18:33:42bungI got response from server by using recvInto, data is filled ,but recvInto returns 0
18:33:45disrupteki know.
18:33:57disruptekbung: sounds like a bug.
18:34:07*arecacea1 quit (Remote host closed the connection)
18:34:26disruptekmaybe we should just impl flatbuffers for nim.
18:34:41*arecacea1 joined #nim
18:35:04bungah, old version I use recv without problem. can you confirm that ? a bug ?
18:35:16disruptekit sounds pretty bad to me.
18:37:02disruptekdidn't skrylar impl something like this?
18:38:36bungI remenber someone interested in flatbuffers in repo's issue, dont know if they started
18:40:20bungI also have a glance at flatbuffers's repo, it's about n*1000 lines code
18:40:22disruptekhmm, it's skcbor i'm thinking of i guess.
18:41:23FromDiscord<alehander42> disruptek i hate lynches
18:41:32FromDiscord<alehander42> that reminds me i read of a horrible one
18:41:37FromDiscord<alehander42> some time ago
18:41:44disruptekare you thinking of leechee fruit?
18:41:47FromDiscord<alehander42> i didnt expect they were that bad
18:41:55disruptekoh, leeches?
18:41:56FromDiscord<alehander42> i mean, sadism
18:42:10FromDiscord<alehander42> lynchings
18:42:14disruptekoh, lynch'ins.
18:42:17FromDiscord<alehander42> horribl
18:42:26disruptekhow do you not expect them to be bad?
18:42:28FromDiscord<alehander42> are you some kind of southern guy disruptek
18:42:31FromDiscord<alehander42> the accent and stuff
18:42:37disrupteknah.
18:42:43FromDiscord<alehander42> well i expected them to at least not be as .. brutal
18:43:01disruptekit's pretty fucking scary, dude.
18:43:12FromDiscord<alehander42> are you safe!
18:43:26disrupteknot as safe as i was.
18:43:46disruptekactually, they are selling half my shop at auction in december.
18:43:52FromDiscord<alehander42> what's new in life
18:43:57FromDiscord<alehander42> ahh, is this good?
18:44:02disruptekdude, did you ever send me a postcard?
18:44:05FromDiscord<alehander42> what would you do with a half-shop
18:44:07FromDiscord<alehander42> nope
18:44:10PMunchZevv, hmm is there a way of getting the position in the string in a capture?
18:44:12disruptekno, i didn't pay my bill and they took all my stuff.
18:44:18PMunchI want to store it for error messages
18:44:19FromDiscord<alehander42> i found out the address is of some questionable place
18:44:24FromDiscord<alehander42> in hollywood or something
18:44:27FromDiscord<nikki> @Recruit_main707 yea he's the flatbuffers guy
18:44:37disruptekpmunch: i need this too for substitution in nim.cfg 🎉
18:44:44FromDiscord<alehander42> hmm
18:44:46disruptekneat.
18:44:55FromDiscord<alehander42> but you still have half a shop
18:45:05disruptekthey will take it, too.
18:45:07FromGitter<jrfondren> you're definitely misremembering. I've never posted on lobste.rs
18:45:08FromDiscord<alehander42> what bills do you have if no rent
18:45:13FromDiscord<alehander42> yeah sorry
18:45:17FromDiscord<alehander42> 😄
18:45:35FromDiscord<alehander42> i myself have to fix some debts
18:45:40disruptekstorage unit and servicing debt.
18:45:43FromDiscord<alehander42> but i have no shop
18:46:02FromDiscord<alehander42> can't you
18:46:08FromDiscord<alehander42> make money from the shop
18:46:25disruptekit's in storage units.
18:46:32FromDiscord<alehander42> wait i mean, what do they sell in this shop
18:46:42FromDiscord<alehander42> maybe i am imagining a market shop like
18:46:44FromDiscord<alehander42> bread and stuff
18:46:55disrupteki had a little porsche repair/fabrication shop.
18:47:16FromDiscord<alehander42> this sounds good
18:47:36disruptekit's got a big lathe and a mill. complete mechanics tools. welder. that sort of thing.
18:47:47FromDiscord<alehander42> hm, cars and stuff
18:47:56disruptekyeah.
18:48:00FromDiscord<alehander42> sounds specialized
18:48:05FromDiscord<alehander42> can't you like
18:48:06FromDiscord<alehander42> move it to
18:48:15FromDiscord<alehander42> place where people drive a lot of porsches
18:48:26disruptekyou might think so, huh?
18:48:30narimiran:D
18:48:40FromDiscord<alehander42> i have no idea
18:48:47disruptekmaybe someone in cali would like to hire me.
18:48:53FromDiscord<alehander42> i suspect porsche is a bit more expensive
18:48:54FromDiscord<Recruit_main707> @nikki thanks
18:49:14FromDiscord<alehander42> so you can like fix cars and compilers
18:49:32disrupteki'm also a rare coin dealer.
18:49:33FromDiscord<alehander42> go to tesla or something
18:49:53disruptekbut, kinda low on capital for rare coin dealing these days.
18:50:02narimiranhe's not *that* good of a repair-man to fix teslas
18:50:18disruptekyou can learn anything you need to know from rich.
18:50:40disruptekanyway, i lost a fortune on musk so i'm very anti.
18:50:43FromDiscord<alehander42> is this a dig at the electric cars industry
18:50:46FromDiscord<alehander42> 😄
18:50:51disruptekit's gonna kill me to have to buy his internet later.
18:50:51FromDiscord<alehander42> narimiran
18:51:03narimiranit is at tesla's pooooor quality control
18:51:42FromDiscord<alehander42> no idea
18:51:48FromDiscord<alehander42> horses have great quality
18:51:54narimiranif a regular car company had so many mis-aligned panels and other problems, people would call it Yugo
18:52:07FromDiscord<alehander42> we had many russian cars
18:52:15FromDiscord<alehander42> but not many jugo ones, which sounds strange
18:52:18FromDiscord<alehander42> did you export
18:52:33FromDiscord<alehander42> disruptek have you dealt with easter european cars
18:52:45FromDiscord<alehander42> i guess not very popular in usa
18:53:07*lbart quit (Ping timeout: 260 seconds)
18:53:16narimiranyugo was even exported to USA! (where it was crowned as the worst car ever)
18:53:31disruptekno, 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:49FromDiscord<kodkuce> https://github.com/yglukhov/nim-jwt , hmm alg: SignatureAlgorithm what should i put for this ?
18:55:58*luis_ joined #nim
18:56:39FromDiscord<alehander42> woww
18:56:47FromDiscord<alehander42> i found out
18:56:49FromDiscord<alehander42> opel is now
18:56:54FromDiscord<alehander42> with peugeot in pSA
18:56:56FromDiscord<alehander42> PSA
18:57:59*Kaivo joined #nim
18:59:16FromDiscord<kodkuce> token.header.alg just this ?
19:00:01FromDiscord<reilly> How can I turn a `ptr cstring` into a regular `string`?
19:00:19disruptekx[]
19:00:48FromGitter<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:29disrupteki guess a hack would be to check compiles(x = y)
19:01:51disruptekseems fair for tests code.
19:04:25FromDiscord<Yardanico> @reilly something like $x[]
19:05:12*Kaivo quit (Ping timeout: 272 seconds)
19:05:45FromGitter<ynfle> @distruptek, that only check if it can't be assigned. Could be that it isn't exported or is immutable
19:06:19disruptekyeah, you try to assign x a value.
19:06:24*go|dfish quit (Remote host closed the connection)
19:06:24disruptekthat tests mutability.
19:07:19*Kaivo joined #nim
19:07:39FromGitter<ynfle> But it it doesn't exist, it wouldn't compile also
19:07:55FromGitter<ynfle> Doesn't test but it exists but is immutable
19:07:57FromGitter<ynfle> *that
19:08:22disruptekyeah, you might have to use two expressions to model this.
19:08:46*go|dfish joined #nim
19:09:00FromGitter<ynfle> like `compiles(echo $x)`?
19:10:06disruptekwhen defined(foo): ... elif not compiles(foo = 3): ...
19:10:17*luis_ quit (Quit: luis_)
19:12:25FromDiscord<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:12FromDiscord<dom96> where are you getting the `ptr cstring`?
19:34:18FromDiscord<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:10FromDiscord<ElegantBeef> I'm going to assume from the glfw filedrop callback
19:49:18FromDiscord<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:06FromDiscord<nikki> maybe log the `count` value?
19:52:30FromDiscord<ElegantBeef> Psh maybe speak english 😛
19:53:05FromDiscord<nikki> glfw file drops are not english though xD
19:53:17FromDiscord<ElegantBeef> I'm mostly joking at the c gibberish
19:53:34*narimiran quit (Quit: leaving)
19:54:16FromDiscord<nikki> @ElegantBeef https://cdecl.org/ funny it literally says 'c gibberish' and 'english' in the website
19:54:37FromDiscord<ElegantBeef> That's where i got the phrase 😛
19:54:44*bung quit (Ping timeout: 260 seconds)
19:57:51disrupteki can't keep up with you two.
19:58:13FromDiscord<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:44FromDiscord<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:26nikki93disruptek: is that a compliment
20:38:45FromDiscord<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:30FromDiscord<nikki> i've used GLFW before and i kinda prefer SDL2 now ...
20:39:41FromDiscord<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:20FromDiscord<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:26FromDiscord<dom96> tried gdb to see where it points?
20:43:01FromDiscord<nikki> yeah gdb breakpoint in the callback would be v helpful
20:49:28FromDiscord<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:32FromDiscord<shashlick> @dom96 - quick review - https://github.com/dom96/choosenim/pull/238
20:49:33disbotLinux build, windows init.sh fixes
20:49:51*xet7 quit (Quit: Leaving)
20:52:29FromDiscord<ElegantBeef> @dom96 also fix this https://media.discordapp.net/attachments/371759389889003532/768939856687792148/unknown.png
20:52:50FromDiscord<ElegantBeef> Ah nvm that's right... weird
20:54:08FromDiscord<nikki> has anyone made macros that generate CSS yet 👀
20:54:38*mbomba quit (Quit: WeeChat 2.9)
20:55:50FromDiscord<exelotl> huh I haven't heard of any but it seems like a good idea
20:56:03disruptektreeform's department.
20:56:31disruptekskrylar: are you around?
20:56:41FromDiscord<exelotl> nim equivalent of sass would be nice
20:56:52disrupteki got all the sass you need, sugah.
20:57:09*rockcavera joined #nim
20:59:06*bung joined #nim
21:01:44FromDiscord<dom96> @exelotl sass works pretty well tbf
21:02:51FromDiscord<exelotl> yeah, it does I guess
21:04:16*bung quit (Ping timeout: 272 seconds)
21:05:10FromDiscord<nikki> kinda nice to eg. have libraries that ship thru nimble that include their css or whatever and it all composes
21:05:23FromDiscord<nikki> or splice in nim variables and so on
21:05:59FromDiscord<nikki> (edit) "kinda nice to eg. have ... libraries" added "component"
21:06:15FromDiscord<exelotl> sent a code paste, see https://play.nim-lang.org/#ix=2BFA
21:06:34FromDiscord<exelotl> but the idea of a Nim CSS DSL sounds nice in principle
21:08:03FromDiscord<nikki> @exelotl saw your talk on gba programming in nim yday btw and it was cool 🙂
21:08:20FromDiscord<nikki> how long have u been working on that game itself? the platformer one that was in the video
21:08:36FromDiscord<exelotl> oh thanks, nice to hear :)
21:09:11FromDiscord<exelotl> we started working on it in early 2019
21:09:47FromDiscord<exelotl> after the jam version which we made in C in december 2018
21:10:10FromDiscord<nikki> cool 😮
21:15:31*bung joined #nim
21:19:55*bung quit (Ping timeout: 246 seconds)
21:25:13FromDiscord<Clyybber> disbot: keeping it fake?
21:25:21FromDiscord<Clyybber> disappointment
21:30:04*sealmove joined #nim
21:30:13sealmoveguys 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:18sealmovemust be something really obvious
21:34:52leorize[m]1@nikki karax actually have something called VStyle
21:35:01FromDiscord<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:37FromDiscord<dom96> hold up
21:35:57leorize[m]1sealmove: remove `ref` :P
21:36:29FromDiscord<shashlick> basically fixes around the static build changes
21:36:42sealmove:| I am stupid
21:36:49disrupteknah.
21:37:25*mbomba joined #nim
21:37:44*Guest94576 quit (Client Quit)
21:37:56FromDiscord<tomku> sent a code paste, see https://play.nim-lang.org/#ix=2BFP
21:38:03FromDiscord<dom96> @shashlick hmmm, so we now will create a dynamic build if `musl-gcc` is not found
21:38:05disruptekclyybber: criterion in 1.4?
21:38:14FromDiscord<Clyybber> w
21:38:17disruptekthink it's worthwhile?
21:38:24FromDiscord<dom96> @shashlick seems like it could lead to some head scratching, maybe we should just hard fail?
21:38:25FromDiscord<Clyybber> yes,
21:38:37FromDiscord<shashlick> @dom96 - ya cause the openssl libs need pthread and -static doesn't work
21:39:04FromDiscord<shashlick> the binary segfaults when you run it
21:39:26FromDiscord<Clyybber> disruptek > It is expected not to pass tests at the moment.
21:39:29FromDiscord<dom96> huh, so are we also going to be shipping non-static binaries again?
21:39:40disruptekclyybber: https://github.com/disruptek/criterion/actions?query=workflow%3ACI
21:39:41FromDiscord<shashlick> no the travis build is setup with musl-gcc
21:39:46FromDiscord<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:51FromDiscord<shashlick> so we will only build non-static locally
21:40:00FromDiscord<shashlick> or if musl-gcc isn't available
21:40:28leorize[m]1shashlick: consider grabbing a toolchain from musl.cc, that's what I did for nightlies
21:40:50FromDiscord<dom96> Right. I'm just concerned we'll end up releasing dynamic binaries by accident
21:40:57FromDiscord<Clyybber> disruptek: why does it not pass?
21:41:05FromDiscord<shashlick> yes - we need to have musl setup and it will work fine
21:41:11FromDiscord<dom96> Can you make it so that an explicit flag needs to be passed for dynamic linking?
21:41:19disrupteki forget. you want me to read the url?
21:41:28FromDiscord<Clyybber> disruptek: nah, just see it
21:41:41FromDiscord<Clyybber> disruptek: is this the one where I told you to try --useVersion:1.2?
21:41:46disruptek/home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020
21:41:49disruptek395
21:41:50disruptek/home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020
21:41:53disruptek395
21:41:55disruptek/home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020
21:41:58FromDiscord<Clyybber> I see it
21:41:59disruptek/home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020
21:42:02disruptek/home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020
21:42:03FromDiscord<Clyybber> bruh
21:42:04FromDiscord<shashlick> @dom96 - but then choosenim won't compile locally
21:42:05disruptek/home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020
21:42:08disruptek/home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020
21:42:10FromDiscord<Clyybber> lol
21:42:10FromDiscord<shashlick> or rather, it will compile but crash
21:42:11disruptek/home/runner/work/criterion/criterion/criterion/tests/test1.nim(14, 24) Error: internal error: expr: param not init input_19370020
21:42:14disruptekshit, sorry.
21:42:28leorize[m]1Yardanico: @tomku message seems to be broken when rendered to a paste
21:42:32disrupteki dunno why this keyboard is so sticky.
21:42:39disruptekoh wait, now i remember.
21:42:40FromDiscord<Clyybber> so
21:42:46FromDiscord<dom96> @shashlick just refuse to compile if musl-gcc is not in PATH and output a nice error message?
21:42:52FromDiscord<Clyybber> did you try useVersion:1.2
21:42:53FromDiscord<Yardanico> @leorize ?
21:43:07FromDiscord<shashlick> that will piss people off - like on arch linux where there's no musl-gcc
21:43:10disrupteki did, clyybber. i put it into the .nimble tests, also.
21:43:21FromDiscord<shashlick> no one expects a static choosenim when compiling locally for tests
21:43:30FromDiscord<Clyybber> disruptek: so it doesn't help?
21:43:43leorize[m]1Yardanico: look at this? https://play.nim-lang.org/#ix=2BFP
21:43:58leorize[m]1vs https://discord.com/channels/371759389889003530/371759389889003532/768951290080264202
21:44:09disruptekclyybber: help how?
21:44:16FromDiscord<Clyybber> compile
21:44:27Yardanico@leorize ah okay
21:44:28FromDiscord<dom96> shashlick: how will it if the instructions are "Please get `musl-gcc` or compile with -d:useDynamicLinking"?
21:44:34FromDiscord<Clyybber> it does not work with useVersion:1.2 is what I'm asking?
21:45:07disrupteki think it doesn't, but if it does, am i supposed to say that criterion no longer supports nim?
21:45:09leorize[m]1@tomku usually in Nim we just make a new `newContainer()` proc instead
21:45:18FromDiscord<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:31FromDiscord<Clyybber> disruptek: you are supposed to shush, and eat your own food until you know more
21:45:42leorize[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:51disrupteki'll try that.
21:45:54Yardanico!status
21:45:56FromDiscordUptime - 2 days, 2 hours, and 9 minutes
21:46:16FromDiscord<shashlick> @dom96 - well, that means we don't work at all without musl
21:47:01leorize[m]1@dom96 it shouldn't have to, if you're writing only Nim you should be 100% compatible with musl
21:47:30FromDiscord<tomku> @leorize i was hoping there's some kind of pragma that would allow for that, but no biggie. thanks
21:47:42FromDiscord<dom96> @shashlick not sure what you mean by that
21:48:09leorize[m]1@tomku it depends on how you wanna call that proc
21:48:15leorize[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:31FromDiscord<Clyybber> disruptek: Sooooo, does it work?
21:48:51FromDiscord<shashlick> so currently, you get dynamic builds if musl-gcc isn't present - which is the travis setup
21:49:05FromDiscord<tomku> @leorize the idea was to call Container.new(). but that goes straight to the default system.new proc
21:49:17FromDiscord<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:14leorize[m]1@tomku ah you overloaded it wrong :P
21:50:14leorize[m]1@tomku here's what you should use instead `proc new(T: typedesc[Container]): Container`
21:50:22FromDiscord<shashlick> I don't see the issue with the way it is cause you can build and test choosenim locally
21:50:32FromDiscord<shashlick> a static glibc choosenim isn't really so portable
21:50:49FromDiscord<shashlick> and forcing musl for choosenim devs is just hmm
21:51:52FromDiscord<shashlick> even the nim binaries on nightlies are musl built whereas locally you can still build however
21:52:01FromDiscord<tomku> @leorize ha! I had a gut feeling there was a way to do that, much appreciated!
21:52:20leorize[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:34FromDiscord<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:48FromDiscord<Clyybber> disruptek: As in, did you try locally?
21:54:05FromDiscord<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:28FromDiscord<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:00FromDiscord<shashlick> in either case, local build is going to be different - static/dynamic or static but with glibc
21:56:03FromDiscord<dom96> why is there a third? It's just between musl (static) or no musl (glibc or whatever is on the system)
21:56:36FromDiscord<Clyybber> disruptek: If it works with --useVersion:1.2 then its the sym change, thus why its your own food :P
21:56:39FromDiscord<shashlick> what do you mean by third
21:56:42FromDiscord<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:19disruptekclyybber: it's an ICE under --useVersion:1.2; how could that be my own food?
21:58:36FromDiscord<shashlick> @leorize - know what this means - http://ix.io/2BFR - that's the choosenim crash if you -static with glibc and -lpthread
21:58:38FromDiscord<Clyybber> disruptek: Oh, then its not your own food :D
21:58:51disruptekmy food smells like food.
21:58:57FromDiscord<Clyybber> disruptek: does it say something different without --useVersion:1.2?
21:59:16disruptekit just has your email address in bold and italics.
21:59:23leorize[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:02disruptekit works without --useVersion:1.2
22:00:41leorize[m]1shashlick: can't tell without seeing having debug symbols for the crashing sym
22:00:59FromDiscord<dom96> shashlick: third case
22:01:35FromDiscord<shashlick> @leorize rebuilt with -g but still no more details
22:02:13leorize[m]1your libc provider (the distribution) must provide them. Those are generated at libc compile time.
22:02:14FromDiscord<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:30FromDiscord<Clyybber> disruptek: Lol, then don't use --useVersion:1.2 :D
22:02:36FromDiscord<shashlick> @leorize - do you have a non-musl system
22:02:45FromDiscord<dom96> @shashlick I mean why are you talking about a static glibc? I don't think anyone needs that
22:02:52disruptekwell, these switches aren't very useful if they don't work.
22:02:55FromDiscord<dom96> Just support dynamic linking with whatever libc is available and musl static linking
22:03:02FromDiscord<Clyybber> disruptek: Well clearly they do
22:03:05FromDiscord<Clyybber> they break your code
22:03:17FromDiscord<Clyybber> because you updated it to 1.4
22:03:25disruptekwhat?
22:03:37disruptekthe code works in 1.2 and it works in 1.0.
22:03:45FromDiscord<Clyybber> ?
22:03:45disruptekit doesn't work in 1.4 pretending to be 1.2.
22:03:50FromDiscord<shashlick> @dom96 but that's exactly how the diff is right now - if there's no musl, it's dynamci
22:03:53FromDiscord<Clyybber> but it works in 1.4?
22:03:56disruptekyes.
22:04:00FromDiscord<Clyybber> then its fine
22:04:09disruptekhow?
22:04:33FromDiscord<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:42FromDiscord<Clyybber> because I can tell you right away that thats the cause
22:05:13FromDiscord<Clyybber> its something subtle and I cannot introduce a switch to turn all 1.4 changes off
22:05:36disruptekdo 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:51FromDiscord<Clyybber> nobody uses that switch
22:06:04FromDiscord<Clyybber> I introduced it for status, but I also sent out a PR updating their code
22:06:05disruptekthen let's deprecate it.
22:06:17FromDiscord<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:18disruptekotherwise, it's just going to be a thorn in our side.
22:06:36FromDiscord<dom96> @shashlick if there's no musl then I want an error
22:06:42FromDiscord<dom96> that's all
22:06:57FromDiscord<Clyybber> disruptek: I agree, but I think --useVersion is declared as a best-effort thing
22:07:10FromDiscord<Clyybber> so if it doesn't work with it, so be it
22:07:13disruptekhmm, interesting.
22:07:46FromDiscord<dom96> Why use --useVersion? Just grab the version of Nim you need
22:07:52FromDiscord<Clyybber> yeah
22:08:10*disruptek 🤦
22:08:53FromDiscord<Clyybber> disruptek: does criterion fail the CI if it finds regressions?
22:09:04FromDiscord<Clyybber> because that might make it flaky no?
22:09:10disruptekno.
22:09:14disruptekand yes.
22:09:14FromDiscord<Clyybber> cool
22:09:19FromDiscord<Clyybber> then I think its good to go
22:09:32FromDiscord<Clyybber> if you removed that --useVersion
22:09:34disruptekjust wait until it passes tomorrow. no reason to make this more painful than it is.
22:09:41FromDiscord<Clyybber> ok
22:09:46FromDiscord<Clyybber> its already tomorrow
22:09:47disruptekor you can rerun it now if you're anxious.
22:09:51FromDiscord<Clyybber> here at least :P
22:09:59FromDiscord<Clyybber> disruptek: Oh, your CI is daily?
22:10:06disruptekwell, i just cut a new release, but yes.
22:10:26disrupteki run ci daily. it rebuilds nim if there are any changes to the branches.
22:10:39FromDiscord<Clyybber> neat
22:10:49disruptekblame leorize; he set it all up for me.
22:10:58disruptekwell, i stole it from him, rather.
22:11:28FromDiscord<Clyybber> srchtfckff
22:11:38FromDiscord<shashlick> @dom96 - things like nimble install choosenim will fail on most linux distros
22:11:46FromDiscord<shashlick> i don't see the value of this
22:12:08FromDiscord<Clyybber> using nimble to install choosenim seems a little
22:12:19FromDiscord<Clyybber> like going in circles
22:12:30leorize[m]1well, you know, we can just... test those switches
22:12:30leorize[m]1useVersion is Nim's equivalence to C++ `-std` switch
22:12:30leorize[m]1since nightlies now provide prebuilt assets at static url you might just grab them from there
22:13:11disruptekyes. i am waiting until it settles down and then i'll patch all my cis.
22:13:33disruptekprobably will just switch them all to gitnim and automate gitnim.
22:13:51FromDiscord<Clyybber> leorize; The failures don't give me the ability to fix it
22:14:02FromDiscord<Clyybber> Its a subtle interaction between bugfixes and "features"
22:14:15FromDiscord<Clyybber> its nothing that can be fixed
22:14:33leorize[m]1context please
22:14:52disruptekit's a breaking feature.
22:14:59FromDiscord<Clyybber> --useVersion:1.2 disables turning proc args into syms
22:15:04*astronavt quit (Remote host closed the connection)
22:15:28FromDiscord<dom96> @shashlick the value in this is us not making mistakes
22:15:30disruptekthat's something status needed? i thought it was cooldome.
22:15:37FromDiscord<dom96> you shouldn't install choosenim via nimble anyway
22:15:49FromDiscord<Clyybber> disruptek: No, cooldome handled it
22:15:54FromDiscord<Clyybber> And status does now too
22:15:55disruptekahh.
22:15:59FromDiscord<Clyybber> I just introduced it for araqs sake
22:16:12disruptekwell, i don't care what we do. just tell me what to type in.
22:16:12leorize[m]1so what's the issue?
22:16:27leorize[m]1--useVersion is designed for old buggy code that hasn't migrated yet
22:16:34FromDiscord<Clyybber> yeah, no issue
22:16:45FromDiscord<Clyybber> I just told disruptek to use it for some reason
22:16:48FromDiscord<Clyybber> I can't remember
22:17:02disrupteki started testing with --useVersion because we regressed in supporting it accidentally.
22:17:33FromDiscord<Clyybber> look at this shit https://builds.sr.ht/~clyybber/job/325583
22:17:35disrupteknot with criterion; it was something silly. it was just a way to make sure it didn't accidentally stop working.
22:17:36FromDiscord<Clyybber> it uses git
22:17:41FromDiscord<Clyybber> and then it can't find git
22:17:46disruptekpath issue, i guess?
22:17:49leorize[m]1we will always regress in supporting useVersion
22:17:57FromDiscord<Clyybber> yep
22:18:06FromDiscord<Clyybber> disruptek: But it sometimes works when restarting
22:18:21leorize[m]1there are literally zero test in Nim CI for it
22:18:22disruptekbut only sometimes?
22:18:38FromDiscord<Clyybber> its like ddevault stole IBMs qbits or something
22:19:11leorize[m]1Clyybber: try rebasing the branch or merge devel in
22:19:14FromDiscord<shashlick> @dom96 - then we need additional checks to verify that the gcc in use is musl or not
22:19:26FromDiscord<shashlick> cause alpine doesn't need a special musl-gcc
22:19:42FromDiscord<Clyybber> welp, now it fails with the opposite error
22:19:44disruptekclyybber: which pr is this?
22:19:48FromDiscord<shashlick> and if we don't want to install choosenim via nimble then we should remove it from the registry
22:19:52FromDiscord<Clyybber> ah no it works
22:19:55*lbart_ quit (Ping timeout: 265 seconds)
22:20:05FromDiscord<Clyybber> disruptek: add criterion to improtant pks, but I think it works now
22:20:16FromDiscord<Clyybber> and I don't want to force push to a PR again :P
22:20:26FromDiscord<Clyybber> even though this time I can say "leorize told me to"
22:21:04leorize[m]1just `git merge --no-ff devel`
22:21:06leorize[m]1when you squash all the ugly stuff go away
22:21:08leorize[m]1and it's linear so you don't have to force push
22:21:34disruptekprobably should have a guard against red PRs, though.
22:21:39disruptekthey are easy to setup now in gh.
22:21:47FromDiscord<Clyybber> guard?
22:21:52FromDiscord<Clyybber> you mean preventing a merge
22:21:54disruptekyeah.
22:21:59FromDiscord<Clyybber> please no
22:22:33FromDiscord<dom96> @shashlick yeah, better yet, let's create a repo that compiles a `{.error: "Please install via ...".}`
22:22:43leorize[m]1a guard can always be bypassed if a collaborator gets someone else to agree with them
22:22:48FromDiscord<dom96> @shashlick but then your current check also won't work, right?
22:22:59FromDiscord<dom96> since you're just checking for the presence of `musl-gcc`?
22:23:00disruptekor you can let the owner force, too.
22:23:00leorize[m]1alternatively you can just do the merge on the command line by hand
22:23:14disruptekno, the guard will prevent that.
22:23:24FromDiscord<Clyybber> or just don't have a guard, and trust us to see colors
22:23:33FromDiscord<shashlick> @dom96 No on alpine, it simply creates a dynamic build
22:23:54disruptekdoesn't matter to me. i don't have any rights, so i'm guilt-free.
22:23:59leorize[m]1disruptek: it won't if you do the entire merge process via git manually
22:24:24disruptekwell, i couldn't reproduce that in my tests.
22:24:35disruptekmaybe i was doing it wrong somehow. i was prevented.
22:24:38leorize[m]1shashlick, dom96: I'm wary of how you're making choosenim build system sound like an abomination
22:25:09disruptekleorize[m]1: it's best not to watch them make sausage.
22:25:30FromDiscord<dom96> @shashlick okay, so there is no problem with asking alpine users to also provide this `-d:useDynamicLinkin` flag
22:25:42FromDiscord<dom96> The number of alpine users is likely to be small anyway
22:25:55FromDiscord<dom96> and if they really want a static build they can hack the config file
22:26:49FromDiscord<shashlick> @leorize I don't see the point of this, I think it works fine how it is
22:27:36FromDiscord<shashlick> It's not like musl is making a big difference
22:27:56FromDiscord<dom96> @leorize suggestions welcome
22:28:22FromDiscord<shashlick> Local testing is still gated by the CI
22:29:21leorize[m]1personally I'd just gate the static build under a `-d:static` flag
22:29:32leorize[m]1zero magic, works by default
22:29:56FromDiscord<dom96> @shashlick how about something different, let's flip it around-- and yeah, do exactly what leorize just suggested
22:30:29FromDiscord<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:49FromDiscord<shashlick> But what does all that buy us
22:31:19FromDiscord<dom96> reliability
22:31:35leorize[m]1it just works when you do the ordinary clone & build
22:32:35leorize[m]1and I'd remove the musl-gcc magic as well. If you want to use a different gcc, pass it to the compiler
22:33:43leorize[m]1or you can gate it under a define like -d:useMuslGcc for CI convenience
22:33:48FromDiscord<shashlick> But the musl build doesn't get pthreads but glibc does
22:34:12FromDiscord<shashlick> So you need some logic in the code
22:34:29leorize[m]1just add `-pthread` for linux
22:34:35leorize[m]1unconditionally
22:35:29leorize[m]1I think musl provides an empty -lpthread
22:35:46FromDiscord<dom96> I don't think having musl be set for -d:static is a problem
22:35:57FromDiscord<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:37leorize[m]1shashlick: 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:03leorize[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:20FromDiscord<shashlick> If that works, @dom96 are you good if we have static throughout
22:45:20FromDiscord<dom96> I'd rather just have -d:static or -d:musl or whatever
22:45:29FromDiscord<dom96> static glibc just seems like a time sink
22:45:38FromDiscord<dom96> and everywhere I've read it's not recommended
22:51:42FromDiscord<shashlick> okay -d:musl will build static with musl-gcc else will be dynamic by default
22:52:02FromDiscord<shashlick> alpine will also be dynamic and if user does give -d:musl, it won't work
22:52:16FromDiscord<shashlick> unless i add detection code for musl
22:52:37*arecacea1 quit (Remote host closed the connection)
22:52:39leorize[m]1or you can just add a -d:static flag
22:52:48leorize[m]1you're kinda complicating this for yourself
22:53:10*arecacea1 joined #nim
22:53:36FromDiscord<dom96> screw alpine, seriously
22:54:00leorize[m]1if people want musl-gcc, they tell the compiler to use that
22:56:56FromDiscord<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:32FromDiscord<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:20leorize[m]1you can make choosenim tester take optional command line flags like koch...
23:00:49*mbomba quit (Quit: WeeChat 2.9)
23:01:26leorize[m]1if that's not feasible then just screwing with alpine users isn't a bad option :P
23:03:29FromDiscord<Clyybber> disruptek: eheheheheh, criterion is taking way too long
23:03:35FromDiscord<Clyybber> 35 minutes :P
23:03:40*bung joined #nim
23:03:57disruptekdo we thread that stuff?
23:04:05FromDiscord<Clyybber> no
23:04:37FromDiscord<Clyybber> (AFAIK)
23:05:07disruptekdo you test head or latest release?
23:05:31FromDiscord<Clyybber> you sent the PR, its latest release
23:05:56FromDiscord<Clyybber> maybe only run a subset of the tests in important packages
23:06:09disruptekdo i get a flag somehow?
23:06:17FromDiscord<Clyybber> you can set the command yourself
23:06:24FromDiscord<Clyybber> so you can also pass a flag that way
23:06:37disrupteklet's see how long it takes and then i'll cut it in half at least.
23:07:03FromDiscord<Clyybber> yeah, I think 3-5mins max
23:07:08disrupteki am planning on just doing c and c++ tests. arc in 1.2+ and w/o otherwise.
23:07:38FromDiscord<Clyybber> but you don't have something crazy setup right?
23:07:49FromDiscord<Clyybber> where you test 1.0 on the #devel ci?
23:07:51disrupteki'm afraid to answer that question.
23:08:06disruptekno, that doesn't make any sense.
23:08:18FromDiscord<Clyybber> ok, good that we agree
23:08:24*bung quit (Ping timeout: 260 seconds)
23:09:57disrupteki hate to even ask, but docs are being fixed, right?
23:10:43FromDiscord<Clyybber> which ones?
23:10:54FromDiscord<Clyybber> I saw something weird on devel just now
23:10:57FromDiscord<Yardanico> They're fixed already if you mean Nim docs
23:11:01disruptekthe prod site.
23:11:02FromDiscord<Clyybber> but not sure if that s what you men
23:11:07FromDiscord<Yardanico> But they're cached on stable
23:11:10FromDiscord<Yardanico> But it was updated
23:11:15disruptekthe links for procs with args scribble all over my page.
23:11:23disruptekthat's fixed and merely cached, yes?
23:11:33FromDiscord<Yardanico> yes, devel docs look fine
23:11:40disrupteknice.
23:11:42disruptekthanks.
23:12:22FromDiscord<Clyybber> the proc name | proc args seperator being a comma is a bit weird, but maybe its always been that way
23:12:30disrupteknah.
23:29:17*Vladar quit (Quit: Leaving)
23:43:31*TomDotTom quit (Quit: Leaving)