<< 22-09-2021 >>

00:00:50FromDiscord<Elegantbeef> Well you know you can make it easier/more extensible by making a `newAnimationTrack` proc that takes `frames`?
00:01:34nrds<Prestige99> you mean something other than my proc at line 54?
00:01:43FromDiscord<treeform> In reply to @iffy (Matt Haggard) "I'm going to give": Its cool that you want to highlight pixie, thanks!
00:01:48FromDiscord<Elegantbeef> Well the body
00:02:56nrds<Prestige99> I'm not sure what you mean
00:02:58FromDiscord<Elegantbeef> Something like https://play.nim-lang.org/#ix=3zBe
00:03:30nrds<Prestige99> oh I see
00:03:34FromDiscord<Elegantbeef> Guess it's a `seq[KeyFrame[int]]` instead
00:03:43nrds<Prestige99> yeah but I don't think that addresses the issue I have
00:04:01FromDiscord<Elegantbeef> Well it solves one issue of ugly code \:P
00:04:05nrds<Prestige99> like if I decide to add new states to TrackKind but forget to update TrackFieldType, or vice versa
00:09:30FromDiscord<Elegantbeef> `static: assert (TrackKind.high.ord - TrackKind.low.ord) == arity(TrackFieldType)` here you go
00:09:31FromDiscord<Elegantbeef> `import std/typetraits`
00:15:45nrds<Prestige99> oh that's interesting, thanks - makes it a bit safer
00:16:14FromDiscord<Elegantbeef> Otherwise you could generate the enum from the typedesc
00:16:37nrds<Prestige99> from TrackFieldType? That would be great, tried and failed earlier :P
00:16:48nrds<Prestige99> Couldn't figure out how to pull info from TrackFieldType
00:16:55FromDiscord<Elegantbeef> Ah
00:17:04FromDiscord<Elegantbeef> I'll make a macro and all the dots will connect 😛
00:17:09nrds<Prestige99> :D
00:17:28nrds<Prestige99> Gotta eat but I'll be back in a bit. Thanks for your help
00:35:27FromDiscord<Elegantbeef> Well bren i cannot compile Nim from source on my phone so yay! \:(
00:35:29FromDiscord<Elegantbeef> Here you go prestige https://play.nim-lang.org/#ix=3zBi
00:35:45FromDiscord<Elegantbeef> `cleanIdent` probably needs cleaned ironically but i'm a lazy man
00:36:16nrds<Prestige99> Thanks, I'll check it out soon
00:40:44FromDiscord<tsoj> Hi, is there an easy way to do the C `a |= 0b101101` in Nim, like `a or= 0b101101`?
00:40:47FromDiscord<Bren> What is the problem you are having
00:42:09FromDiscord<Elegantbeef> Glob issue
00:42:16FromDiscord<Elegantbeef> https://github.com/android/ndk/issues/718
00:42:30FromDiscord<Elegantbeef> You can define your own `|=` as there doesnt seem to be one in the stdlib↵(@tsoj)
00:43:18FromDiscord<Elegantbeef> Or you could make an `or` that takes a var T as the first parameter
00:44:31*Pyautogui joined #nim
00:44:39FromDiscord<Elegantbeef> Eh i guess no since it still thinks it's the operator sadly
00:44:47FromDiscord<Bren> sent a code paste, see https://paste.rs/qef
00:46:44FromDiscord<Elegantbeef> Yea i was just trying to build nim from inside termux without alpine
00:47:34FromDiscord<Elegantbeef> apline does nothing but seg fault
00:47:42FromDiscord<Elegantbeef> So i guess i say sorry i cannot help
00:53:42FromDiscord<Bren> Odd
01:03:26*arkurious quit (Quit: Leaving)
01:25:45*neurocyte0136 joined #nim
01:25:45*neurocyte0136 quit (Changing host)
01:25:45*neurocyte0136 joined #nim
01:27:13*greyrat joined #nim
01:27:40*neurocyte013 quit (Ping timeout: 252 seconds)
01:27:40*neurocyte0136 is now known as neurocyte013
01:28:01*lucerne joined #nim
01:30:51*Pyautogui quit (Ping timeout: 265 seconds)
02:43:03FromDiscord<gnu+linux user> the compiler dosent warn me of using a bool = true
02:43:59FromDiscord<Elegantbeef> Wh would it?
02:46:39FromDiscord<gnu+linux user> it seems to work now 🥴
02:51:43*kayabaNerve joined #nim
02:54:28FromDiscord<Rika> ??
03:15:53nrds<Prestige99> Hm beef so the system seems to complain about the seq[KeyFrame[prec()]] situation, can't use proc() {.closure.} for some reason. Didn't think that distinction would matter. Thoughts?
03:18:13FromDiscord<Elegantbeef> what "system"
03:18:23nrds<Prestige99> Well I guess the macro just doesn't handle it, nvm
03:18:26FromDiscord<Elegantbeef> My lazyily made macro or the actual logic
03:18:46FromDiscord<Elegantbeef> Yea you probably need to some smarter logic for the proc string representation
03:18:49FromDiscord<Elegantbeef> Or use an alias
03:18:58FromDiscord<Elegantbeef> Since it doesnt recurse
03:24:03nrds<Prestige99> 'sons' is not accessible using discriminant 'kind' of type 'TNode' [FieldDefect] 🤔 well that's a new one
03:24:45FromDiscord<Elegantbeef> You borked the compiler nice 😛
03:25:25*justsomeguy joined #nim
03:27:21nrds<Prestige99> Doing this craziness with procs, I'm not surprised lol
03:28:21nrds<Prestige99> https://play.nim-lang.org/#ix=3zBF this is what broke it. The `lerpProc` I have to provide is redundant for procs, I just want them invoked at certain points in time...
03:28:41nrds<Prestige99> Maybe I could just make a special case for them instead of trying to include it with KeyFrames
03:29:51nrds<Prestige99> atm proc(startValue, endValue: T, completionRatio: float): T is required as the last param
03:32:48*justsomeguy left #nim (WeeChat 3.2)
03:47:33*cyraxjoe quit (Remote host closed the connection)
03:48:45*cyraxjoe joined #nim
04:06:01*supakeen quit (Quit: WeeChat 3.3)
04:06:32*supakeen joined #nim
04:20:12*rockcavera quit (Remote host closed the connection)
04:41:10nrds<Prestige99> If you're around @Elegantbeef I got around the compiler issue, but now I'm having an issue where seq[KeyFrame[newAnimationTrack.T]] and seq[KeyFrame[animation.ClosureProc]] aren't compatible. ClosureProc is just a type alias for proc() {.closure.} that I used with your makeEnum macro. Maybe this is a weird bug with generics?
04:41:40nrds<Prestige99> newAnimationTrack.T is of type TrackKind, which makeEnum generated
04:47:13nrds<Prestige99> If you want to look: https://play.nim-lang.org/#ix=3zBQ for the error, https://git.einheit.tech/EinheitTechnologies/shade/src/commit/d84cb8918d6f99e78d9c93ff8f9f4a10a32fcd8d/src/shadepkg/game/animation.nim for the code
04:49:08FromDiscord<Elegantbeef> Where is it called though?
04:50:20nrds<Prestige99> https://git.einheit.tech/EinheitTechnologies/shade/src/commit/d84cb8918d6f99e78d9c93ff8f9f4a10a32fcd8d/tests/shade/animation_test.nim#L75 was working on tests for it
04:56:28FromDiscord<Elegantbeef> I mean you're passing a proc for the field, this doesnt make much sensee
04:56:42FromDiscord<Elegantbeef> It should be a `var someProc: proc()`
04:56:53nrds<Prestige99> I agree, just trying to find a way to use procs with this system
04:57:02nrds<Prestige99> or else I'll just have to handle procs separately
04:58:08nrds<Prestige99> yeah that makes more sense
04:58:49nrds<Prestige99> oh, well that got past that issue but I ran into the same compiler problem 🤦
04:59:59nrds<Prestige99> Maybe this is a bust
05:49:41FromDiscord<Gumber> watching everyone create these like sdl2 / glfw game engine projects is a trip
05:49:50FromDiscord<Gumber> because this was me like five / six years ago
05:50:03FromDiscord<Gumber> I guess I was using BGFX instead of OpenGL but still
05:50:14FromDiscord<Gumber> it was like aglet, and a few others and now I'm seeing more and more
05:50:27*beshr joined #nim
05:50:37FromDiscord<Gumber> I think the only project which has stayed relevant for an extended period of duration for Nim game dev is Nico
05:51:43FromDiscord<Gumber> so bravo @impbox [ftsf]
05:51:43FromDiscord<impbox [ftsf]> i think the issue is people making game engines instead of games
05:51:53FromDiscord<Gumber> well yeah
05:51:54FromDiscord<impbox [ftsf]> nico only exists and is maintained because it's used to make games
05:51:59FromDiscord<Gumber> it took me like five years to relize that was my issue
05:52:03FromDiscord<Gumber> (edit) "relize" => "realize"
05:52:09FromDiscord<Gumber> but I mean to be fair the five years wasn't without purpose
05:52:11FromDiscord<Elegantbeef> Who the hell would use Nico to make games it's so limited
05:52:34FromDiscord<Gumber> like now I can construct a 3d game engine with solid engineering principles and things like plugin architectures and fiber based job systems and a vulkan renderer etc
05:52:38FromDiscord<Elegantbeef> the above joke brought to you by visible sarcasm
05:52:38FromDiscord<Gumber> unless I had tried and failed like eight times
05:52:42FromDiscord<Gumber> and then done a bunch of R&D work
05:52:45FromDiscord<Gumber> I never would have gotten to that point
05:53:05FromDiscord<Gumber> and I can use that knowledge to build a game instead of a game engine - because at the end of the day my goal isn't to make something that others can use
05:53:13FromDiscord<Gumber> it's to make something I can use to make games and make money on steam
05:53:28FromDiscord<Gumber> and I'm NEVER going to fall back into the mode of building libs / stuff for others
05:53:37FromDiscord<Gumber> like sure you can have my source code (except for my gameplay code / assets)
05:53:46FromDiscord<Gumber> but I'm not going to help you build it or extend it or maintain it
05:54:11FromDiscord<Gumber> sorry - but there's not enough time in life for that and to achieve my goals
05:54:51FromDiscord<Gumber> but yeah - Nico is rad and if I was good at 2d art I'd probably have just kept working on FRAG / zengine and called it a day
05:55:10FromDiscord<Gumber> or if I was really good at coming up with concepts for games / game jams like you
05:55:28FromDiscord<Gumber> instead I have like one big idea for a multiplayer networked RTS game and I'm going to build it, everyone else be damned
05:55:48FromDiscord<Gumber> mostly because I like strategy games and Araq has been clamoring for a Nim RTS since I joined the community
05:56:46FromDiscord<Gumber> In reply to @impbox "i think the issue": but I agree - this is the issue
05:57:09FromDiscord<Gumber> if I could find like one or two other Nim devs who were passionate enough to join me on a networked 3d game project with an advanced renderer - we'd already have a killer game engine
05:57:33FromDiscord<Gumber> it's just like, for me as a person, trying to write all that code (which is going to be heavily reliant on bindings to other libraries since I'm doing 3d, skeletal animation, physics, networking, etc...)
05:57:49FromDiscord<Gumber> is already enough of a task and teaching someone else to compile it or whatever is even more work
05:58:23FromDiscord<Gumber> so until more people want to build a complex advanced game engine and come to the table with something besides a want
05:58:28*Vladar joined #nim
05:58:45FromDiscord<Gumber> Nim's going to have these little like 2d engines that add a bit of functionality on top of SDL / GLFW / whatever
05:59:02FromDiscord<Gumber> and then you'll have some other 3d projects that are geared /tailored to a specific project
05:59:21FromDiscord<Gumber> but aren't really built with the intention of community adoption
05:59:32FromDiscord<Gumber> at least that's how I've seen things lately (like over the past two or so years)
05:59:43nrds<Prestige99> coming up with game ideas has always been the hard part on my end
05:59:54FromDiscord<Gumber> see the thing is
06:00:05FromDiscord<Gumber> if you have a environment enough you're comfortable in
06:00:07nrds<Prestige99> I like nico but I dislike the whole color palette part of it, I just want to draw graphics
06:00:11FromDiscord<Gumber> like I imagine @impbox [ftsf] is with Nico
06:00:18FromDiscord<Gumber> since they built it
06:00:32FromDiscord<Gumber> it's much easier to iterate and ideate and develop a game from ideation to finish
06:00:39FromDiscord<Gumber> because you know everything about your tech stack from end to end
06:00:45FromDiscord<Gumber> you know the art worklflow, the ins and outs etc
06:00:49FromDiscord<Gumber> this is the power in building your own tech
06:01:03FromDiscord<Gumber> but any time you use someone else's engine or tech you're going to run into exactly what you just described
06:01:10FromDiscord<Gumber> you want it to work in a certain way that the original author didn't intend
06:01:44FromDiscord<Gumber> not to mention you'll probably never be as efficient as @impbox [ftsf] at leveraging the tech, because they wrote it and know its strengths and weaknesses
06:02:07FromDiscord<Gumber> soooo - don't try to approach the task with the mentality of I need to write a game engine or I need to have the perfect idea for a game
06:02:12FromDiscord<Gumber> the objective is to limit scope creep
06:02:28FromDiscord<Gumber> pick a genre - pick a style of game you like and start building the technology you need to make that happen
06:02:41FromDiscord<Gumber> like for me, with a 3d networked RTS I knew I needed binding to steamworks
06:03:22FromDiscord<Gumber> because I'm going to leverage steamworks for matchmaking, p2p communicaton, leaderboards, achievements, etc
06:03:35FromDiscord<Gumber> I knew I needed vulkan bindings plus something to make working with vulkan not such a pain - so vk-bootstrap
06:03:51FromDiscord<Gumber> I'm also not a graphics programmer by profession - so I don't know how to implement an abstraction like a frame or render graph, so that' sanother need
06:03:55FromDiscord<Elegantbeef> Given that you're making a 2D tooling prestige just remake retro arcadee games
06:04:13FromDiscord<Gumber> I want a performant engine - so I need some sort of work stealing / fliber based / whatever job system to parallelize work across CPU cores
06:04:28FromDiscord<Gumber> like these are requirements based on the type of game I want to make - so if I figure out how to do these things I can make that game happen
06:04:39FromDiscord<Gumber> if your goal is to make 2d games you don't need a godot or a engine or whatever
06:04:46FromDiscord<Gumber> like you can do it with SDL and probably < 10k LOC
06:05:06FromDiscord<Gumber> but everyone wants to make their own 2d engines, that at the end of the day do the exact same thing just in a slightly different
06:05:07FromDiscord<Gumber> way
06:05:11nrds<Prestige99> @Elegantbeef that's what I've mostly done in the past, like with https://astroships.einheit.tech/
06:05:12FromDiscord<impbox [ftsf]> step 1, build a fun 2D single player RTS with rectangles/circles with basic bug AI, once it's fun proceed to step 2, step 2. get it working networked, step 3. make it shiny and look how you want
06:05:31FromDiscord<Gumber> nico is an exception - I mean it's an attempt at PICO not just some random 2d game engine that can draw tilemaps and handle animated sprites, etc...
06:05:34FromDiscord<Gumber> I disagree
06:05:45FromDiscord<Gumber> 2d rts != 3d rts
06:05:50FromDiscord<Gumber> gameplay concepts don't translate
06:06:05FromDiscord<Elegantbeef> Quick someone make a AoE joke
06:06:05FromDiscord<Gumber> not to mention - you're completely limited by the art style you just described
06:06:20FromDiscord<Gumber> RTS's with squares and vanilla mechanics aren't fun or interesting or even worth maki ng
06:06:23FromDiscord<Gumber> (edit) "maki ng" => "making"
06:06:35FromDiscord<Gumber> and I already know how to do all of that so why do I make that my starting point? seems silly to me
06:06:43FromDiscord<impbox [ftsf]> limit scope
06:06:47FromDiscord<impbox [ftsf]> get it done
06:06:48FromDiscord<Gumber> my goal isn't to make some 2d rts no one is going to play
06:06:52FromDiscord<Gumber> it's to make a 3d rts I can sell on steam
06:07:06FromDiscord<impbox [ftsf]> that's step 3. make it shiny, add 3d graphics
06:07:08FromDiscord<Gumber> if I didn't know what I was doing I might agree with you
06:07:09FromDiscord<Gumber> no
06:07:17FromDiscord<Gumber> you don't just go from 2d to 3d like that
06:07:24FromDiscord<Gumber> and if you think you do - you're wrong
06:07:28FromDiscord<impbox [ftsf]> for the most part RTS gameplay is 2D+height
06:07:32FromDiscord<Gumber> 3d is way more involved and requires upfront planning
06:07:36FromDiscord<Gumber> so does network play
06:07:37FromDiscord<impbox [ftsf]> aye, a prototype
06:07:46FromDiscord<Gumber> I can prototype in 3d
06:07:48FromDiscord<Gumber> I want 3d anyway
06:07:54FromDiscord<Gumber> why should I implement everything in 2d first?
06:07:57FromDiscord<impbox [ftsf]> ok, get it done
06:07:59FromDiscord<Gumber> it makes zero sense it' sjust extra work for me
06:08:01FromDiscord<Gumber> I am haha
06:08:06FromDiscord<impbox [ftsf]> because it's faster to get done
06:08:18FromDiscord<Gumber> faster to get a 2d vanilla rts done that I'mg oing to throw away
06:08:27FromDiscord<Gumber> not going to help me with a 3d map editor
06:08:36FromDiscord<Gumber> or figuring out how to render terrain using tessellation
06:08:46FromDiscord<impbox [ftsf]> ehh, anyway #offtopic
06:08:48FromDiscord<Gumber> yeah
06:09:06FromDiscord<Gumber> but https://github.com/zacharycarter/FRAG/tree/master/src/fragpkg it's happening albeit slowly
06:09:14FromDiscord<Gumber> and it's spread throughout like 18 repositories named FRAG something
06:09:19FromDiscord<Gumber> but it's happening
06:09:43FromDiscord<Gumber> this is the work on the vulkan renderer and atm the render graph impl is being wrapped
06:10:01FromDiscord<Gumber> but after that's done I can do stuff like - https://github.com/martty/vuk/tree/master/examples
06:10:08FromDiscord<Gumber> with vulkan and Nim
06:10:29FromDiscord<Elegantbeef> I've looked into it and there is no proc named `makeMyShit` so i really dont think you know what you're doing
06:10:34FromDiscord<Gumber> so I'm almost there - and I've already written renderers / terrain editors, etc.. using OpenGL
06:10:44FromDiscord<Gumber> xD
06:10:48FromDiscord<Gumber> write it for me beef!
06:11:19FromDiscord<Elegantbeef> `proc makeMyShit = {.error: "Todo: implement logic".}`
06:11:20FromDiscord<Gumber> also
06:11:29FromDiscord<Gumber> until the ripe age of 32 I didn't have any clue I had ADHD
06:11:44FromDiscord<Gumber> I'm 36 now and just started really treating it within the past six or so months
06:12:09FromDiscord<Gumber> so - taking a project from start to finish for me is extremely difficult - you should have seen my life prior to me getting on my meds
06:12:12FromDiscord<Gumber> or med I should say
06:12:27nrds<Prestige99> how did you realize you have it?
06:12:30FromDiscord<Gumber> now it's not nearly as bad and I can focus, and plan and strategize and function like a normal adult
06:12:46FromDiscord<Gumber> I struggled with substance abuse and mental health misdiagnoseses for two plus decades
06:13:05FromDiscord<Gumber> eventually a therapist I had seen before was like - describe your day to day life for me and posited that maybe I had some kind of attention disorder
06:13:25FromDiscord<Gumber> went to a shrink and got diagnosed and put on adderall - it helped but after like 20 years of taking meds and them not working and being told the problem is you
06:13:55FromDiscord<Gumber> it was pretty easy to stop taking them because A) I was always told I was an addict and another prescription narcotic didn't sound to appealing to me (not that I was addicted to pills - I abused alcohol and weed and stuff like that to deal with life)
06:14:08FromDiscord<Gumber> this is way off topic btw
06:15:48FromDiscord<Gumber> sent a long message, see http://ix.io/3zC1
06:16:55nrds<Prestige99> Yeah if you want to continue there I'd like to hear. Never really understood what it is
06:17:08FromDiscord<Gumber> sure
06:44:21*PMunch joined #nim
07:29:35FromDiscord<cabboose> Hahaha we literally just had a similar wild discussion in another channel about adhd
07:29:38FromDiscord<cabboose> Must be the season
07:29:58FromDiscord<cabboose> We came to the conclusion that beef is wackd
07:30:02FromDiscord<cabboose> Not with adhd
07:30:05FromDiscord<cabboose> Just in general
07:30:10FromDiscord<Elegantbeef> Well that's a given
07:30:33FromDiscord<Krypton> I saw that nim package in arch linux is vuln to something ?
07:30:39FromDiscord<Krypton> Like is that true ?
07:32:48FromDiscord<Rika> Vulnerable to what
07:44:31FromDiscord<cabboose> criticism?
07:57:23*Gustavo6046 quit (Quit: ZNC 1.8.2 - https://znc.in)
07:57:35*Gustavo6046 joined #nim
07:58:38*max22- joined #nim
08:00:35*Vladar quit (Quit: Leaving)
08:01:32PMunch@Rika, I think I've finally found an improvement to a dither
08:01:46FromDiscord<Rika> Sample?
08:01:52FromDiscord<Krypton> In reply to @Rika "Vulnerable to what": Unauthorized access to some directories
08:02:07FromDiscord<Rika> In reply to @Krypton "Unauthorized access to some": Isn’t that any binary? Explain
08:02:16FromDiscord<Rika> Or send a link explaining
08:02:24FromDiscord<Rika> Whichever is easier
08:02:56FromDiscord<Krypton> Ok
08:03:30PMunch@Rika, just a sec
08:03:45FromDiscord<Krypton> https://media.discordapp.net/attachments/371759389889003532/890146333862797322/Screenshot_20210922-133341_Chrome.jpg
08:03:57FromDiscord<Rika> In reply to @PMunch "<@259277943275126785>, just a sec": Do you plan on releasing it on the same terms as the original a dither?
08:04:05FromDiscord<Krypton> https://security.archlinux.org/package/nim
08:04:38FromDiscord<Rika> Thanks
08:04:56FromDiscord<Krypton> here its saying that nim has a vulnerability which allows a normal user to access unauthorized directories ?
08:05:17FromDiscord<Rika> This is only inherent to the zip package it seems
08:05:18FromDiscord<Krypton> Is it true ?
08:05:41supakeenSure, it's true.
08:05:56PMunch@Rika, haven't fine tuned the magic numbers. But this is one that looks pretty good: https://uploads.peterme.net/cube_dithered_m1-237_m2-082.png
08:05:56supakeenIf you handle zip files from users they can extract arbitrary paths.
08:06:08FromDiscord<Rika> That looks nice indeed
08:06:41FromDiscord<Krypton> So the compiler is vulnerable to some arbitrary code ?
08:06:44supakeenThe 'normal' way to solve this is to strip all leading slashes and remove all ..-components.
08:06:46FromDiscord<Rika> Actually the half grey pattern might be indesirable
08:06:49FromDiscord<Rika> Undesirable
08:06:56supakeenNo, the compiler is not vulnerable, compiling code is already executing arbitrary code.
08:07:14FromDiscord<Rika> In reply to @Krypton "So the compiler is": That’s what compilers do…
08:07:16PMunch@Rika, really? That's what I was trying to add :P
08:07:24supakeenThis is specifically if you use the `zip` module in your program with zip archives containing certain paths.
08:07:28FromDiscord<Rika> In reply to @PMunch "<@259277943275126785>, really? That's what": Depends on the user I guess
08:07:31supakeenOther languages do tend to sanitize those paths.
08:07:36FromDiscord<Rika> Though it is nice IMO
08:07:58supakeenBut *note* Python is vulnerable to this as well: https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.extractall etc.
08:07:58FromDiscord<Krypton> Hmm , so the compilers shouldnt be run with sudo i guess , i mean , no one does that
08:08:10PMunchBasically I tried to ensure that a half grey image would be a perfect checkerboard
08:08:12supakeenYou're still misunderstanding this has nothing to do with compiling.
08:08:29FromDiscord<Krypton> Ok
08:09:02FromDiscord<Krypton> Nvm , i dont think i am gonna use zip modules anyways
08:09:09PMunchAnd this has the effect of minimising the black right next to black which showed up as hard patterns
08:10:12FromDiscord<Rika> Damn I’m not home so I can’t compare with the original
08:10:19FromDiscord<Rika> Do you mind sending the original a dither add
08:10:21FromDiscord<Rika> Sample
08:10:24FromDiscord<Rika> Thanks
08:12:00PMunchhttps://uploads.peterme.net/cube_dithered_m1-237_m2-119.png
08:13:04FromDiscord<Rika> Okay I think the checkerboard pattern makes it look like it loses detail but of course it’s not objectifiable
08:14:17PMunchThere really isn't any detail there in the source image though
08:14:59FromDiscord<Rika> I mean more like it gives a feeling of 50% with some black spots on it instead of a gradient
08:15:49PMunchHmm, I see what you mean
08:16:49PMunchUnfortunately I don't have my device here, so I can't see which actually looks better on the real hardware
08:23:22PMunchHmm, the more I compare the two the more I agree with you..
08:24:05PMunchStill have to compare on the real device though
08:24:50PMunchBut it's very noticeable when it's slightly more than half grey that there are black pixels in the otherwise perfect pattern..
08:32:01FromDiscord<Rika> Yup
08:36:13FromDiscord<dom96> In reply to @Krypton "here its saying that": This is weird. Why is this a vulnerability on Nim?
08:36:40FromDiscord<dom96> It’s a vulnerability in a package that Nim doesn’t even ship with anymore as far as I can see
08:36:58FromDiscord<dom96> Can we remove this CVE from the Nim package?
08:37:15*flynn quit (Quit: Ping timeout (120 seconds))
08:37:15*nrds quit (Remote host closed the connection)
08:38:19*flynn1 joined #nim
08:39:19*nrds joined #nim
08:44:10FromDiscord<impbox [ftsf]> from reading it, it doesn't allow privilege escalation, when a user extracts a file to a directory they expect all the files to be extracted under that location, but specially crafted zip files can escape that directory (assuming they have permission to write to the target path)
08:44:40supakeenIt's a common vulnerability that I think people now call 'zipslip'. Usually any zip library has both ways of extracting (making paths 'safe', or not).
08:46:15supakeenAt least Debian has it right: https://ubuntu.com/security/CVE-2020-23171
08:51:34supakeenI've just commented in the ticket I guess.
09:08:43supakeenI've asked someone on the arch security thingy to review that thing at least so let's see :)
09:13:00PMunch@Rika, discovered I had made an oopsie in my code. Fixed it and went hunting for a better magic number combo: https://uploads.peterme.net/cube_dithered_m1-237_m2-095.png
09:13:24FromDiscord<Rika> Still has the same issue as I’ve said though
09:13:36PMunchYeah, but that's inherit to the method I'm using
09:13:41FromDiscord<Rika> Yeah
09:13:56FromDiscord<Rika> Can’t you make this faster using a shader or something
09:14:04PMunchOh for sure
09:15:04PMunchFastest (and what I plan on actually doing) would be to generate the whole "mask" for the entire screen I'm using, then it's just a matter of some lookup and quick maths
09:15:11PMunchWhich should be super quick on a GPU
09:15:14PMunchEven on a CPU
09:21:29FromDiscord<Rika> Eh easiest is shader
09:22:02*xet7 quit (Remote host closed the connection)
09:22:58*xet7 joined #nim
09:53:33*xet7 quit (Remote host closed the connection)
09:54:35*xet7 joined #nim
09:55:18FromDiscord<fae> hmm wonder whats going on here https://play.nim-lang.org/#ix=3zD5
10:00:01FromDiscord<fae> It's like it only creates one generic function for the `Base` type
10:01:55*FromDiscord quit (Remote host closed the connection)
10:02:08*FromDiscord joined #nim
10:09:46FromDiscord<Rika> It’s probably the same issue as the c++ code gen thing
10:11:21FromDiscord<fae> I thought maybe using distinct would solve it but no
10:33:05FromDiscord<Goel> sent a code paste, see https://play.nim-lang.org/#ix=3zDm
10:34:38FromDiscord<dom96> Thanks supakeen!
10:44:18FromDiscord<Rika> In reply to @Goel "I don't understand why": How did you import whatever module provides the vector type
10:49:30FromDiscord<cabboose> can someone explain to me what magic calls are?
10:49:35FromDiscord<cabboose> pragmas I mean
10:49:50FromDiscord<cabboose> or where I can find their source code
10:51:36FromDiscord<haxscramper> Magic procs are implemented in the compiler, there is no "source code" to look at really. `ast.TMagic` is an enum with all magic types, `genMagic` and `genMagicExpr` are different codegen implementations of various procs
10:51:52FromDiscord<cabboose> excellent
10:51:55FromDiscord<cabboose> found it
10:51:57FromDiscord<cabboose> cool
10:52:29FromDiscord<haxscramper> also `semtypes.processMagicType`
11:09:07*max22- quit (Ping timeout: 268 seconds)
11:13:53*pro joined #nim
11:23:31PMunch@Rika, I think I might just go with blue-noise dithering..
11:26:51proIs there a limit or a pool of free ports to use in linux?
11:26:55NimEventerNew thread by Noob: Undeclared NtAllocateVirtualMemory SysCalls , see https://forum.nim-lang.org/t/8447
11:26:58*Vladar joined #nim
11:35:32FromDiscord<Rika> In reply to @PMunch "<@259277943275126785>, I think I": It would still look noisy like XOR
11:35:35FromDiscord<Rika> I believe
11:35:46FromDiscord<Rika> And it’s a bit harder to implement I think
11:37:16PMunchhttps://uploads.peterme.net/cube_dithered_bn.png
11:37:22PMunchLooks pretty clean
11:40:18PMunchCompared to a dither add: https://uploads.peterme.net/cube_dithered_ad.png and a dither xor: https://uploads.peterme.net/cube_dithered_ax.png
11:41:43FromDiscord<Rika> Honestly prefer add over void and cluster
11:43:11PMunchAnd for completeness sake some error diffusion ones: Floyd_Steinberg: https://uploads.peterme.net/cube_dithered_fs.png, Jarvis, Judice, and Ninke: https://uploads.peterme.net/cube_dithered_jn.png, and Atkinson: https://uploads.peterme.net/cube_dithered_at.png
11:45:59FromDiscord<Rika> ED dithers aren’t nice
11:46:00FromDiscord<Rika> Lol
11:46:18PMunchAnd my checkerboard version of a dither: https://uploads.peterme.net/cube_dithered_bn.png
11:46:26PMunchOops: https://uploads.peterme.net/cube_dithered_ch.png
11:47:05PMunchI mean it's only because they can't be easily implemented on a GPU and creates horrible artifacts when animated
11:47:27PMunchBut they look nicer for a static image, so they're nice to have to strive towards
11:48:01FromDiscord<Rika> No personally it doesn’t even look good on a static image
11:48:39PMunchReally?
11:48:50PMunchI much prefer Floyd-Steinberg to a dither
11:48:57PMunchLook how crisp that cube is
11:49:50FromDiscord<Rika> It butchers light colour backgrounds in the process
11:50:05FromDiscord<Rika> Edges are fucked too
11:55:40PMunchWhat do you mean it butchers them?
11:56:01PMunchAnd edges look so much better with them, that's why I like them
11:57:01proapparently https://en.wikipedia.org/wiki/Ephemeral_port is a thing :)
11:59:44*pch_ joined #nim
12:00:54*pch quit (Ping timeout: 260 seconds)
12:06:02*supakeen quit (Quit: WeeChat 3.3)
12:06:31*supakeen joined #nim
12:09:26FromDiscord<Rika> In reply to @PMunch "And edges look so": image edges not object edges
12:09:29FromDiscord<Rika> look at the top of the image
12:10:04FromDiscord<Rika> i just honestly dont like the light bg of ED dithers over ordered
12:29:15*Guest9898 joined #nim
12:29:57*rockcavera joined #nim
12:29:58*rockcavera quit (Changing host)
12:29:58*rockcavera joined #nim
12:32:25*Guest9898 quit (Client Quit)
12:42:33*pro quit (Read error: Connection reset by peer)
13:07:13NimEventerNew thread by Rb3: Wrapperless interop with C/C++, see https://forum.nim-lang.org/t/8448
13:07:53*cyraxjoe quit (Ping timeout: 264 seconds)
13:34:04*max22- joined #nim
13:39:16NimEventerNew thread by Jorjun_arch: Typescript as compilation target, see https://forum.nim-lang.org/t/8449
13:39:45FromDiscord<Rika> oh man
13:57:05*kayabaNerve quit (Ping timeout: 264 seconds)
13:58:08PMunchDoes this look like a decent example of how my automatic C wrapping library works? http://ix.io/3zE8/nim
14:15:07PMunchOkay, I have to run. But I wanted to get this out there: https://github.com/PMunch/futhark
14:15:11nrds<R2D299> itHub: 7"Automatic wrapping of C headers in Nim"
14:15:32*PMunch quit (Quit: Leaving)
14:35:31*arkurious joined #nim
14:53:29FromDiscord<hotdog> In reply to @PMunch "Okay, I have to": Looks cool! Excited to try it out
14:58:42FromDiscord<dom96> Nice!
14:59:51FromDiscord<dom96> Was waiting for somebody to create this
15:01:58FromDiscord<Krypton> should i learn nim or rust ?
15:02:12FromDiscord<IsaacPaul> Both?
15:02:23FromDiscord<Krypton> i dont have time for that much
15:02:41FromDiscord<Krypton> Lets just say i have to go somewhere after that
15:03:24FromDiscord<Krypton> i like nim , but i am constantly struggling with indentation thing
15:03:58FromDiscord<Krypton> it doesnt let me use tabs and if i use spaces , i am having even more problems
15:04:26FromDiscord<Kermithos> which code editor are you using?
15:04:35FromDiscord<Krypton> In reply to @Kermithos "which code editor are": Vim or Vs code
15:04:52FromDiscord<Kermithos> did u install the vscode plugin?
15:05:09FromDiscord<Kermithos> it uses 2 spaces when I press tab
15:05:12FromDiscord<Krypton> For nim ? No , i tried it in vim
15:05:27*max22- quit (Quit: Leaving)
15:06:20FromDiscord<enthus1ast> my editor does this for me, never had issues↵(@Krypton)
15:06:29FromDiscord<enthus1ast> be it vscode or vim
15:06:40FromDiscord<Krypton> Huh
15:06:56FromDiscord<enthus1ast> convert tabs to 2 spaces
15:08:10FromDiscord<enthus1ast> set tabstop=2 shiftwidth=2 expandtab
15:08:22FromDiscord<Krypton> hmm
15:11:52*max22- joined #nim
15:29:56FromDiscord<Saurav Niroula> use vs code and convert indentation to space
16:17:25Amun-Raor :%s/\t/ /g
16:17:27*nrds quit (Remote host closed the connection)
16:17:42*nrds joined #nim
16:35:01*PMunch joined #nim
16:35:52PMunch@dom96, I've wanted something like that ever since I first tried to use a C library in Nim :P
16:35:59PMunchSo it's good to finally have it
16:59:14*max22- quit (Remote host closed the connection)
17:06:48*max22- joined #nim
17:11:15*PMunch quit (Quit: leaving)
17:20:25NimEventerNew thread by Alexeypetrushin: Integration with C for statistics and data processing?, see https://forum.nim-lang.org/t/8450
17:38:58*ozzz quit (Read error: Connection reset by peer)
17:41:40*ozzz joined #nim
17:54:15*ozzz quit (Read error: Connection reset by peer)
17:58:13*ozzz joined #nim
17:59:40*ozzz quit (Read error: Connection reset by peer)
18:04:04*ozzz joined #nim
18:29:25FromDiscord<juan_carlos> That futha lib is cool.
18:40:43FromDiscord<fae> Yes excited to try it out with some C libs
18:44:20FromDiscord<Recruit_main707> can you avoid the result variable being predeclared in the c code?
18:46:27FromDiscord<juan_carlos> Theres a pragma I think, `.noinit` ?, `.noreturn` ?
18:47:34FromDiscord<Recruit_main707> `noInit`seems to work, thanks
18:57:17*nmz1 joined #nim
19:24:34FromDiscord<geekrelief> does nim have a token stringification operator inside templates?
19:25:42FromDiscord<haxscramper> 'astToStr'
19:28:43FromDiscord<geekrelief> sent a code paste, see https://play.nim-lang.org/#ix=3zGD
19:29:17FromDiscord<geekrelief> sent a code paste, see https://play.nim-lang.org/#ix=3zGE
19:30:37FromDiscord<geekrelief> oh if I specify a return type of string on `stringify` it works
19:32:11*Pyautogui joined #nim
19:32:56*Gustavo6046_ joined #nim
19:33:09*Gustavo6046 quit (Remote host closed the connection)
19:35:40*Gustavo6046_ is now known as Gustavo6046
19:44:09*Pyautogui quit (Ping timeout: 265 seconds)
20:17:23*neurocyte013 quit (Quit: The Lounge - https://thelounge.chat)
20:17:36*Pyautogui joined #nim
20:41:33*Vladar quit (Remote host closed the connection)
21:13:01*PMunch joined #nim
21:14:08*Pyautogui quit (Quit: Connection closed)
22:01:21*max22- quit (Quit: Leaving)
22:21:13*arkanoid joined #nim
22:21:33arkanoidHello!
22:30:35nrds<Prestige99> Hey arkanoid
22:36:40*stkrdknmibalz joined #nim
22:48:26FromDiscord<dain> i havent had any trouble with nim in vim
22:48:58FromDiscord<dain> i just use vim-polyglot, ez
22:59:26PMunchI fleshed out the README of Futhark a little bit: https://github.com/pmunch/futhark
22:59:30nrds<R2D299> itHub: 7"Automatic wrapping of C headers in Nim"
22:59:41PMunchI also use Nim in Vim, and have done for years
23:03:21NimEventerNew thread by PMunch: Futhark: Automatic C imports in Nim using libclang, see https://forum.nim-lang.org/t/8451
23:04:20NimEventerNew post on r/nim by PMunch: Futhark: Automatic wrapping of C headers in Nim, see https://reddit.com/r/nim/comments/pti32g/futhark_automatic_wrapping_of_c_headers_in_nim/
23:09:09*PMunch quit (Quit: leaving)
23:13:05FromDiscord<gogolxdong (liuxiaodong)> when will furthark automic translate c++