<< 13-02-2020 >>

00:00:17FromDiscord<clyybber> yeah
00:00:27FromDiscord<clyybber> disruptek: This is getting ridiculus: https://www.diffchecker.com/GsWkt8au
00:00:31FromDiscord<clyybber> right side fails
00:00:33FromDiscord<clyybber> left side workds
00:00:35FromDiscord<clyybber> wtf
00:03:43*Hideki_ joined #nim
00:07:51*dadada_ quit (Ping timeout: 268 seconds)
00:08:19*Hideki_ quit (Ping timeout: 260 seconds)
00:09:07*dadada_ joined #nim
00:13:14*abm quit (Quit: Leaving)
00:17:05*disrupteq joined #nim
00:22:50*dadada_ quit (Ping timeout: 240 seconds)
00:24:10*dadada_ joined #nim
00:25:51*zielmicha__ quit (Read error: Connection reset by peer)
00:25:59*zielmicha__ joined #nim
00:28:03*opal quit (Ping timeout: 240 seconds)
00:29:15*opal joined #nim
00:31:54FromDiscord<clyybber> ah damnit
00:32:02FromDiscord<clyybber> a stupid fucking precedence error
00:32:03FromDiscord<clyybber> I knew it
00:35:06dom96ahh, how fun. Emscripten doesn't seem to like the @ in the .c files that Nim now generates
00:35:35disrupteqclyybber: i thought it was working?
00:38:17*dadada_ quit (Ping timeout: 272 seconds)
00:38:43FromDiscord<clyybber> now it works
00:38:52FromDiscord<clyybber> disruptek: It was working when I manually patched the C
00:38:56FromDiscord<clyybber> now it works everywhere
00:39:01disrupteqyay
00:39:10*dadada joined #nim
00:39:33*dadada is now known as Guest82873
00:39:38FromDiscord<clyybber> I accidentally translated (uint64_t)some * other to uint64_t(some * other)
00:39:52FromDiscord<clyybber> which should be uint64_t(some) * other
00:39:59disrupteqah yep.
00:40:46FromDiscord<clyybber> now I'm gonna try d2s
00:40:51FromDiscord<clyybber> did you already do it?
00:41:18disrupteqi dunno. probably.
00:41:35FromDiscord<clyybber> does it work?
00:41:51disrupteqi haven't tested it since krux's fix.
00:42:25FromDiscord<clyybber> krux' fix is live
00:42:31disrupteqbut there are only a couple tests broken by it. i think it's likely fixed.
00:43:00disrupteqi'm watching a car accident victim right now. cannot be bothered.
00:43:22FromDiscord<clyybber> oh shit what happened?
00:43:33disrupteqkinda cute in a puppy-with-a-crushed-head way.
00:43:57FromDiscord<clyybber> aww no
00:44:16FromDiscord<clyybber> disruptek: Pet him from me will ya?
00:46:18disrupteqit's a journalist on telly.
00:46:44disrupteqi'll wave at her for you.
00:49:31disrupteqactually, i think it wasn't a car.
00:53:23*Guest82873 quit (Ping timeout: 265 seconds)
00:54:04*dadada_ joined #nim
00:58:51FromDiscord<clyybber> oh
01:08:17*dadada_ quit (Ping timeout: 268 seconds)
01:09:07*dadada_ joined #nim
01:10:31FromDiscord<Hippo> Does the stdlib still work if you turn off the nim gc?
01:10:48*Zectbumo quit (Remote host closed the connection)
01:11:28FromDiscord<Rika> Some, not all
01:12:40dom96It's 1am, but I'm so close to getting my game to compile with emscripten
01:14:58FromDiscord<Hippo> So I guess I need the soft realtime gc to make sure everything is working? Is that faster than go?
01:15:55FromDiscord<Rika> From old benchmarks it is
01:16:02FromDiscord<Rika> But it's best if you test it yourself
01:16:11FromDiscord<Rika> My experience says yes
01:16:49FromDiscord<Rika> And also ar(a)q is developing a move based gc or smth
01:16:54FromDiscord<Rika> Which should be even quicker
01:17:05FromDiscord<Rika> I think.
01:17:15*actuallybatman left #nim (#nim)
01:18:23FromDiscord<Hippo> gotcha
01:19:04FromDiscord<Hippo> would do you think of using nim for game dev specifically mobile
01:19:35FromDiscord<clyybber> @Hippo You can use --gc:arc
01:19:41FromDiscord<Hippo> my plan was to compile to c and then use some c toolchain to generate mobile binaries
01:19:42FromDiscord<clyybber> Its no GC
01:19:49FromDiscord<clyybber> its more like RAII
01:19:59FromDiscord<clyybber> plus pure refcounting
01:20:01FromDiscord<Hippo> ooh cool
01:20:12FromDiscord<clyybber> its what we are currently working on a lot
01:20:26FromDiscord<clyybber> so when you intend to use it you should use #devel
01:20:27FromDiscord<Rika> It's the one I mentioned
01:20:36FromDiscord<Rika> Just vaguely
01:21:09FromDiscord<Hippo> so what about game dev, is nim suited for this?
01:21:45FromGitter<Varriount> Undefined behavior?
01:22:26*dadada_ quit (Ping timeout: 240 seconds)
01:24:06*dadada_ joined #nim
01:24:09FromDiscord<Elegant Beef> Nim doesnt include interfaces, which i tend to use a lot for gamedev, but it seems like it's good for gamedev to me
01:24:12FromDiscord<Elegant Beef> just need an engine ๐Ÿ˜„
01:24:31TangerThere's bindinggs for the godot engine: https://github.com/pragmagic/godot-nim
01:24:38FromDiscord<Elegant Beef> I mean a good engine
01:24:43TangerHaha XD
01:26:04FromDiscord<Hippo> yea i dont mind not having a game engine just hoping there are more success stories. I saw one blog post that shipped a game to ios/android
01:27:45FromDiscord<Hippo> also nim can probably interop with c/c++ im guessing just dont know if there is a performance hit
01:27:48FromDiscord<Elegant Beef> I've been sitting on making a nim engine
01:28:13FromDiscord<Elegant Beef> Using bgfx for graphics, sdl for window making, and then an ECS backend system with a relatively minimalistic UI engine ๐Ÿ˜„
01:28:28FromDiscord<Elegant Beef> Using bgfx for graphics, sdl for window making, and then an ECS backend system with a relatively minimalistic UI editor ๐Ÿ˜„
01:28:38FromDiscord<Hippo> I found a nice c lib called sokol recently that does most of that
01:28:53FromDiscord<Hippo> its pretty lit
01:29:05FromDiscord<Hippo> has a bunch of target backends
01:29:39FromDiscord<Elegant Beef> i mean bgfx is probably good enough
01:29:49FromDiscord<Elegant Beef> It's more a matter of me getting around to making this
01:32:23FromDiscord<clyybber> @Hippo Yeah, its good
01:32:23FromDiscord<Elegant Beef> Someone already has bindings for it
01:32:35FromDiscord<clyybber> There is no performance hit for c/c++ interop
01:32:36FromDiscord<Elegant Beef> cllybber arent you working on a nim engine?
01:32:44FromDiscord<clyybber> @Elegant Beef godot isn't bad
01:32:47FromDiscord<clyybber> @Elegant Beef Yeah
01:32:53FromDiscord<Elegant Beef> look at gles then say that again ๐Ÿ˜›
01:32:59FromDiscord<clyybber> well
01:33:04FromDiscord<clyybber> its getting a vulkan renderer
01:33:12FromDiscord<Elegant Beef> still gles based shader language
01:33:22FromDiscord<clyybber> but yeah, I don't like some of their decisions
01:33:26FromDiscord<Elegant Beef> Im an hlsl/CG man because of unity ๐Ÿ˜„
01:33:29FromDiscord<clyybber> or directions
01:33:49FromDiscord<clyybber> @Elegant Beef I'm an do what you want, if you can compiler it to SPIR-V :p
01:33:54FromDiscord<clyybber> guy
01:34:01FromDiscord<Elegant Beef> ah a man of wisdom aswell i see
01:34:07FromDiscord<Elegant Beef> VK or broke in 220
01:34:08FromDiscord<Elegant Beef> VK or broke in 2020
01:34:14FromDiscord<clyybber> but in theory I prefer hlsl over glsl too
01:34:40FromDiscord<clyybber> in practice I want to use nim tho
01:34:51FromDiscord<clyybber> which is possible btw
01:35:12FromDiscord<Elegant Beef> For shaders?
01:35:17FromDiscord<clyybber> Yeah
01:35:18FromDiscord<clyybber> https://github.com/yglukhov/nimsl
01:35:22FromDiscord<Elegant Beef> I mean just convert it to GLSL or HLSL
01:35:26FromDiscord<Elegant Beef> it's not difficult i guess
01:35:45FromDiscord<clyybber> Yeah
01:35:49FromDiscord<clyybber> thats what the above does
01:35:52FromDiscord<clyybber> https://github.com/krux02/opengl-sandbox
01:36:00FromDiscord<clyybber> is for everything around opengl
01:37:08FromDiscord<Elegant Beef> There are bgfx bindings but they seem semi old
01:37:51*dadada_ quit (Ping timeout: 265 seconds)
01:38:19FromDiscord<clyybber> @Elegant Beef Use these: https://github.com/zacharycarter/bgfx.nim
01:38:42FromDiscord<Elegant Beef> Hey i said i was contemplating
01:38:52FromDiscord<Elegant Beef> *Let's make it together* ๐Ÿ˜„
01:39:02FromDiscord<clyybber> An engine?
01:39:06*dadada joined #nim
01:39:07FromDiscord<Elegant Beef> yea
01:39:19FromDiscord<clyybber> sure
01:39:25FromDiscord<clyybber> I'm using vulkan tho
01:39:30*dadada is now known as Guest75381
01:39:52FromDiscord<Elegant Beef> I was mostly kidding
01:40:04FromDiscord<clyybber> he
01:40:31FromDiscord<clyybber> @Elegant Beef zachary is working on his own game/engine: https://github.com/zacharycarter/zeal
01:40:51FromDiscord<clyybber> I think hes not pushed his recent changes tho
01:41:07FromDiscord<clyybber> hes around sometimes
01:42:55disruptekoh, i was wondering if it was published.
01:43:40FromDiscord<clyybber> disruptek: Yeah he seemed to have some pretty cool progress
01:44:08disruptekyeah, it's awesome to see it evolving.
01:44:34disrupteki would love to get into game programming.
01:46:19disruptekso i don't see krux's patch in the commits.
01:46:21FromDiscord<Elegant Beef> I've primarly done game programming so i barely know how to do anything outside it
01:47:37FromDiscord<clyybber> disruptek: I meant live as in PRed
01:49:43disruptekyeah, i get #nim delivered straight into my brain. krux and i spoke of it.
01:49:44*ptdel joined #nim
01:50:32disrupteki'm thinking about a tiny app that works kinda like my irc window, actually.
01:51:09disruptekthe bot emotes notifications to wayland, i summon irc with a key and cast it away with another.
01:51:47disruptekthis other app would watch kitty windows and then i could summon them with a code-grep.
01:52:02*Guest75381 quit (Ping timeout: 240 seconds)
01:52:07disrupteklike skim or ripgrep or fzf or whatever.
01:53:02disrupteki think either i watch vim or i watch kitty; shouldn't be a problem to use either as input. or even both.
01:54:10*dadada_ joined #nim
01:55:59disruptekmaybe i just want that for all windows. fzf'ing their memory would be neat, too.
01:57:08FromDiscord<clyybber> wait
01:57:14FromDiscord<clyybber> you do not have vim inside kitty?
01:57:21FromDiscord<clyybber> you use gvim????
01:57:45disrupteknope.
01:59:58*silvernode joined #nim
02:00:13FromDiscord<clyybber> aight
02:00:22disruptekscrollback is easy to get, so i'll start with that. but i think i want vim buffer data too.
02:00:52FromDiscord<clyybber> kitty seems very cool to me
02:01:15FromDiscord<clyybber> but the combination of python and C just screams for nitty
02:01:19silvernodewhen specifying a type and trying to assign a variable of type array or seq I get a context error
02:01:21disruptekhonestly, i've been waiting a long time for software that doesn't piss me right the fuck off.
02:01:54FromDiscord<clyybber> silvernode: Hmm, can you make a snippet to repro?
02:01:58disruptekkitty has been among the worst of the software i use. but, that said, it's pretty great compared to software i've used in the past.
02:02:04FromDiscord<clyybber> oh
02:02:10FromDiscord<clyybber> I never used it
02:02:14FromDiscord<clyybber> but it *seems* cool
02:02:22FromDiscord<clyybber> alacritty is fine for me rn tho
02:02:29FromDiscord<clyybber> but kitty seems a bit cooler
02:02:45FromDiscord<clyybber> except for the fact that its written in python + c
02:03:03disrupteki think alacritty will win, and should win, but a year ago it was kitty's game.
02:03:23FromDiscord<clyybber> alacritty is pretty dead
02:03:43FromDiscord<clyybber> it has no real active development
02:03:44disruptekreally? i thought there was a recent release.
02:03:51FromDiscord<clyybber> yeah
02:04:00FromDiscord<clyybber> but its mostly bugfixes
02:04:10disruptekwhat's bad about that?
02:04:14FromDiscord<clyybber> nothing
02:04:19silvernodeworking on a gist
02:04:21FromDiscord<clyybber> I mean its in maintenance mode
02:04:40disruptekmaybe a 1.0 release is expected.
02:04:43FromDiscord<clyybber> but some work on the pinned issues would be nice
02:04:54FromDiscord<clyybber> I should do it sometimes
02:04:58disruptekman, they only have 355 tickets.
02:05:56disruptekthis project has 20,000 stars.
02:06:02disruptek!repo alacritty
02:06:04disbothttps://github.com/alacritty/alacritty -- 9alacritty: 11A cross-platform, GPU-accelerated terminal emulator 15 20545โญ 973๐Ÿด 7& 29 more...
02:06:11disruptekand quite a bit of cutlery.
02:07:35*dadada_ quit (Ping timeout: 272 seconds)
02:07:57madpropswould nim having something built-in to "substring" a seq or string, like (0, 100) would work in something with 8 items, would be too high level and thus not included
02:08:23FromDiscord<clyybber> Huh?
02:08:27disrupteklol
02:08:30FromDiscord<clyybber> You can do [0..100]
02:08:30FromDiscord<Kingherring> please defend nim from this "influencer" https://www.youtube.com/watch?v=DCfDLWfPqiA
02:08:40FromDiscord<clyybber> oh god
02:08:46FromDiscord<clyybber> influencer is a virus
02:09:04FromDiscord<clyybber> this whole influencer thing should just die
02:09:05*dadada_ joined #nim
02:09:52FromDiscord<clyybber> not to mention the article on medium is complete bullshit
02:09:59FromDiscord<clyybber> so sad
02:10:00silvernodehttps://gist.github.com/silvernode/003571ac561211212fecd35208762f72
02:10:08madpropsclyyber: https://play.nim-lang.org/#ix=2bAZ
02:10:42FromDiscord<clyybber> madprops: Well of course it does??
02:10:46FromDiscord<clyybber> Its out of bounds
02:10:49silvernodeI am really new to types and seqs
02:11:07madpropsyeah, im wondering if there's something that would just use the lower index number if the second arugment is too big
02:11:21madpropslike how js uses substring
02:12:05madpropsalso this video is a python tutorial
02:12:41FromDiscord<clyybber> madprops: Ah
02:12:46FromDiscord<clyybber> You can make your own
02:13:00FromDiscord<clyybber> you mean wrap around right?
02:13:09madpropsis something like this not standard because it's too slow?
02:13:17silvernodeinvalid type: 'T' in this context: 'Ship' for var
02:13:24silvernodethat's what I get in that gist
02:13:51FromDiscord<clyybber> silvernode: Your cargo has to be seq[SomeType]
02:14:08silvernodeah ok that makes a lot of sense
02:14:17silvernodeI am just missing the type there
02:14:22FromDiscord<Rika> People be like โ€œeh?? Nim? What the fuck is that?โ€ until 2 years from now where either Nim flourishes or dies out
02:15:05FromDiscord<Rika> Honestly think we just need more people to know of Nim
02:15:10disruptekthis guy is an idiot.
02:15:13FromDiscord<clyybber> no
02:15:21FromDiscord<clyybber> Nim doesn't flourish or die
02:15:27FromDiscord<clyybber> thats not how this works
02:16:29FromDiscord<clyybber> how would it "die"?
02:17:03disruptekthere are too many new programmers being minted every day.
02:17:09FromDiscord<clyybber> yeah
02:17:12FromDiscord<Rika> Well, if somehow everyone just loses interest, but of course thatโ€™s practically impossible
02:17:27FromDiscord<Rika> Itโ€™s not an impossibility though is what Iโ€™m saying
02:17:35FromDiscord<clyybber> tbh, I fear some people
02:17:35madpropsnim gets mentioned ocasionally on 4chan
02:17:42FromDiscord<Rika> I donโ€™t like saying something that concrete about the future
02:17:54FromDiscord<clyybber> madprops: ha, prolly cuz of solitude
02:19:01FromDiscord<clyybber> @Rika Yeah, but in the same way C or C++ dieing is a "possibility"
02:19:15FromDiscord<clyybber> if humanity dies
02:19:18FromDiscord<Rika> Thatโ€™s what I did say yes
02:19:47FromDiscord<Kingherring> click that dislike button ๐Ÿ˜„
02:19:53FromDiscord<Rika> I donโ€™t know, I have an odd thought process
02:20:18FromDiscord<clyybber> heh
02:20:26madpropslook at D, it has been barely existing for years
02:20:28FromDiscord<clyybber> good night peeps
02:20:41FromDiscord<clyybber> madprops: It exists pretty persistent tho
02:20:44disruptekthis guy has 150,000 subscribers and this video only has 4000 views.
02:20:47*chemist69_ quit (Ping timeout: 240 seconds)
02:20:48FromDiscord<clyybber> even gcc
02:21:03FromDiscord<Rika> Still, I think the dude in the video forgot that basically all programming languages started out small too
02:21:24FromDiscord<clyybber> eh, these people. They don't create anything
02:21:26FromDiscord<Rika> Not basically all, literally all, sorry
02:22:31FromDiscord<clyybber> they are busy influencing
02:22:43FromDiscord<Kingherring> make pro nim comments
02:22:47FromDiscord<Kingherring> nim gang uprising
02:22:48*dadada_ quit (Ping timeout: 265 seconds)
02:23:00*chemist69 joined #nim
02:24:06*dadada_ joined #nim
02:25:22FromDiscord<Rika> Ugh the comment section is also annoying to read in that video
02:25:44disruptekis this really what us old guys look like?
02:31:31blueberrypiemost nim references on 4chan is from one very persistent shill (yeah I know who it is). not a good metric
02:38:16*dadada_ quit (Ping timeout: 265 seconds)
02:39:10*dadada joined #nim
02:39:33*dadada is now known as Guest51853
02:43:28silvernodeWhat would I use if I wanted to print out the contents of a seq from index 0 to the end? I just want to format the cargo on the ship so it prints out nice in an echo statement
02:44:25leorizefor i in seq_goes_here: <do your formatting here>
02:44:40FromGitter<gogolxdong> nlvm `Error: internal error: compiler proc not found: nlvmRaise`
02:48:24disruptekbut seriously. we need some more software that could only have been built in nim.
02:48:48*theelous3 quit (Ping timeout: 268 seconds)
02:49:18leorizeanyone wanna make function multi versioning in Nim?
02:49:43leorizebasically it's that the function can dispatch on runtime to a version optimized for the current processor
02:50:17leorize(ie. you wrote sse code, but you only want that to be used when the code is running on an sse-capable processor)
02:50:22*theelous3 joined #nim
02:50:58disruptekugh.
02:51:16disruptekthat's a neat feature but irrelevant to my oss world.
02:52:21silvernodeleorize: I tried a for loop but I don't want my formatting to be in that scope.
02:52:27leorizethe biggest use case would be to let us easily write optimized code in our stdlib for example
02:52:43leorizesilvernode: well I'm not sure what you're trying to do then
02:53:07leorizethe olde index < seq.len while loop still exists for the more complicated cases
02:53:15silvernodeleorize: basically have the echo lines outside of the scope of the for loop and still be able to access the interation
02:53:15*Guest51853 quit (Ping timeout: 265 seconds)
02:54:03*dadada_ joined #nim
02:54:03silvernodeor just not use a for loop at all
02:54:28silvernodeI can print out just index 1 which works fine but I want to print out the whole list without a loop
02:54:41leorizethat's impossible
02:54:52silvernodejust wanted to make sure it is impossible
02:55:04disruptekwhy is it impossible?
02:55:05silvernodefigured as much
02:55:29leorizedisruptek: how can you print a seq of arbitary size without looping through the elements?
02:55:36silvernodeI thought there was a function that can print from the beginning to the end of the index
02:56:07leorize!eval echo @["like", "this?"]
02:56:10NimBot@["like", "this?"]
02:56:51silvernodeI just don't want the symbols to be printed out with the contents of the seq
02:57:34leorize!eval for i in @["like", "this?"]: stdout.write i, " "
02:57:37NimBotlike this?
02:57:59silvernodeyeah
02:58:06disruptekhow many ships do you know with arbitrary cargo size?
02:59:11silvernodeecho(fmt"{player.name} has the following items in cargo: {ship1.cargo}) which will print all the symbols in the cargo which I just want the names of the items in cargo printed.
02:59:29silvernodedisruptek: so far just one ship is created
02:59:40leorizesilvernode: make your own `$`?
02:59:56leorizeor whatever it is that's used for strformat
03:00:21silvernodeNot sure I understand exactly
03:00:36leorizeor just: ship1.cargo.join(", ")
03:00:41leorizeassuming all strings
03:00:53silvernodeyeah all strings in the cargo
03:00:55silvernodeat least for now
03:01:05leorize!eval import strutils; echo @["item1", "item2"].join(", ")
03:01:09NimBotitem1, item2
03:01:38silvernodeI am eventually going to try figuring out how to have a proper inventory of items where I can have a stack of fuel or something.
03:03:06silvernodeI figure a small text game will help me learn since I can't hold my attention span just reading the book and learn from that
03:05:37shashlick@leorize - https://github.com/nim-lang/Nim/issues/9419#issuecomment-585527016
03:05:39disbotโžฅ httpclient -d:ssl and db_postgres incompatible and cause SIGSEGV! (MacOSX) ; snippet at 12https://play.nim-lang.org/#ix=2bwr
03:06:40leorizeshashlick: do you have libssl.so in /usr/lib?
03:06:52shashlickyes libssl.dylib
03:07:10shashlickget this though - Undefined symbols for architecture x86_64
03:07:22shashlickwondering if those dylib are 32bit or something
03:07:37leorizemaybe, do you have those in /usr/lib64?
03:07:59*dadada_ quit (Ping timeout: 260 seconds)
03:08:47shashlickthere's no such dir on the mac
03:09:01*dadada_ joined #nim
03:09:14*theelous3 quit (Ping timeout: 240 seconds)
03:09:23leorizethen I'm not so sure, maybe try searching online?
03:09:28leorizeI've never worked with a mac
03:09:46leorizemy knowledge is pretty theoretical there
03:10:04shashlickya people struggle with openssl on it
03:10:07shashlickcmake cannot find it
03:10:23shashlickanyway, i have a fix for choosenim so
03:22:26*dadada_ quit (Ping timeout: 240 seconds)
03:23:38FromGitter<gogolxdong> nlvm `Error: internal error: compiler proc not found: nlvmRaise`
03:24:13*dadada_ joined #nim
03:25:08leorizegogolxdong: you'd need to ping nlvm author for this, I believe they are on gitter
03:32:04leorizeso I spent 2 days reading ryu paper + a lot of wikipedia pages
03:32:29leorizeit results in only 13 lines of code
03:32:48leorizeand I still haven't finish implementing the basic converter in that paper
03:33:16leorizeI don't know what to expect when I actually implements ryu
03:34:59*muffindrake quit (Ping timeout: 272 seconds)
03:37:03*muffindrake joined #nim
03:37:51*dadada_ quit (Ping timeout: 260 seconds)
03:39:15*dadada joined #nim
03:39:38*dadada is now known as Guest83626
03:40:02disruptekleorize: i have a pretty good idea of what to expect.
03:40:45leorizeyou finally cracked the c-ryu? :P
03:42:22disruptekno, i got to the point where it failed and so did clyybber.
03:42:39disruptekyou have a pretty good shot at failure.
03:43:00disruptek13 lines sounds good so far, though.
03:43:34leorize!repo alaviss/nim-ryu
03:43:35disbothttps://github.com/alaviss/nim-ryu -- 9nim-ryu: 11An implementation of the ryลซ float-to-string conversion algorithm. This version is written from scratch based on the paper. 15 0โญ 0๐Ÿด
03:44:01leorizeit's basically empty atm
03:44:22leorizebut at least you can see my progress of deciphering that paper :P
03:45:46leorizeI'm also learning how float works as it goes too
03:52:42*Guest83626 quit (Ping timeout: 265 seconds)
03:54:10*dadada_ joined #nim
03:54:14*Zectbumo joined #nim
04:07:41*dadada_ quit (Ping timeout: 265 seconds)
04:09:10*dadada_ joined #nim
04:22:17*chemist69 quit (Ping timeout: 246 seconds)
04:23:07*dadada_ quit (Ping timeout: 272 seconds)
04:23:18*chemist69 joined #nim
04:24:10*dadada_ joined #nim
04:26:34disruptekleorize: i think we should support sign more naturally.
04:28:12*Zectbumo quit (Remote host closed the connection)
04:28:23leorizedisruptek: not sure how you'd do that though
04:30:31disruptekfor example, why are -inf and inf peers of -0 and 0?
04:30:52shashlickdisruptek: https://github.com/nim-lang/nimble/issues/760
04:30:53disbotโžฅ Nimble ignores nim.cfg?
04:31:59*sagax quit (Ping timeout: 272 seconds)
04:38:37*dadada_ quit (Ping timeout: 265 seconds)
04:39:09*dadada joined #nim
04:39:32*dadada is now known as Guest38190
04:45:34leorizedisruptek: I still don't know what you mean :P
04:46:35*hax-scramper quit (Ping timeout: 268 seconds)
04:47:08*hax-scramper joined #nim
04:48:01*nsf joined #nim
04:48:47*dddddd quit (Ping timeout: 260 seconds)
04:49:58disrupteki'd rather have a set of {inf, negative} than negInf.
04:52:32leorizeah, I thought about that
04:53:31*Guest38190 quit (Ping timeout: 272 seconds)
04:53:38leorizebut then there's {inf, nan}
04:53:41leorizenot a fan
04:53:51leorizeor I can just use isNegative and remove all Neg variants
04:54:07*dadada_ joined #nim
04:55:06disruptekwhy would that be something you'd want to use?
04:55:33disruptekx.isNegative can be a template for `neg in x.flags`.
04:56:48disruptekthe point isn't to compose a float as {inf, nan}; that can be denied if it's important. the point is to actually use the values naturally.
04:57:55leorizeor I can just overload `< 0` :P
04:58:02leorizedo I even have to actually :P
04:59:56disruptekthere's obviously value in not throwing away the type, so i'd say yes.
05:00:28disrupteklooks good so far, even if it's > 13 lines. ๐Ÿ˜‰
05:01:56disruptekshashlick: i dunno anything about that nimble issue.
05:02:42*ptdel quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
05:07:38*dadada_ quit (Ping timeout: 240 seconds)
05:09:08*dadada_ joined #nim
05:15:09*sagax joined #nim
05:22:51*dadada_ quit (Ping timeout: 260 seconds)
05:24:10*dadada_ joined #nim
05:25:25*fanta1 joined #nim
05:35:38shashlickdisruptek: it was a conversation between you and dom96
05:35:55shashlickRegardless, I could nimble install nimph with zero issues
05:37:06*Lord_Nightmare quit (Ping timeout: 265 seconds)
05:37:25*Lord_Nightmare joined #nim
05:38:04*dadada_ quit (Ping timeout: 265 seconds)
05:39:06*dadada joined #nim
05:39:30*dadada is now known as Guest75065
05:40:04*krux02 joined #nim
05:53:11*Guest75065 quit (Ping timeout: 268 seconds)
05:54:05*dadada_ joined #nim
05:58:10FromDiscord<Elegant Beef> You can override any operator in nim right?
06:00:15krux02you can declare arbitrary oparator names
06:00:31krux02something like +-+ is possible
06:00:41krux02or ^-^
06:00:45FromDiscord<Elegant Beef> oh, that's awesome
06:01:10krux02just call your proc `+-+` and you are ready to go
06:02:26krux02I go back to bed
06:02:32*krux02 quit (Remote host closed the connection)
06:02:49FromDiscord<Elegant Beef> buh bye
06:03:25FromDiscord<Elegant Beef> Is anyone using nim in a professional setting? Since it's relatively new im interested in seeing it's current applications professionally
06:03:43FromDiscord<Elegant Beef> Is anyone using nim in a professional setting? Since it's relatively newly released im interested in seeing it's current applications professionally
06:04:29shashlickStatus is the default answer
06:04:37*marmotini_ joined #nim
06:04:42FromDiscord<Elegant Beef> huh?
06:05:19shashlickhttps://status.im/
06:07:37*dadada_ quit (Ping timeout: 272 seconds)
06:09:10*dadada_ joined #nim
06:10:52*narimiran joined #nim
06:22:32*dadada_ quit (Ping timeout: 265 seconds)
06:24:08*dadada_ joined #nim
06:37:31*dadada_ quit (Ping timeout: 260 seconds)
06:39:08*dadada joined #nim
06:39:31*dadada is now known as Guest67897
06:53:23*Guest67897 quit (Ping timeout: 260 seconds)
06:54:03*dadada_ joined #nim
06:59:42*Zectbumo joined #nim
07:02:45*Hideki_ joined #nim
07:08:19*dadada_ quit (Ping timeout: 260 seconds)
07:09:08*dadada_ joined #nim
07:23:13*dadada_ quit (Ping timeout: 268 seconds)
07:24:15*dadada_ joined #nim
07:37:56*dadada_ quit (Ping timeout: 265 seconds)
07:39:05*dadada joined #nim
07:39:28*dadada is now known as Guest57163
07:45:11*Vladar joined #nim
07:47:56*solitudesf joined #nim
07:52:55*Guest57163 quit (Ping timeout: 265 seconds)
07:54:11*dadada joined #nim
07:54:35*dadada is now known as Guest14603
08:00:00*gmpreussner quit (Quit: kthxbye)
08:00:39*marmotini_ quit (Read error: Connection reset by peer)
08:01:14*marmotini_ joined #nim
08:04:31*Hideki_ quit (Ping timeout: 265 seconds)
08:04:56*gmpreussner joined #nim
08:06:03*marmotini_ quit (Ping timeout: 272 seconds)
08:07:14*Guest14603 quit (Ping timeout: 240 seconds)
08:09:11*dadada_ joined #nim
08:12:24*ng0 joined #nim
08:29:34*jjido joined #nim
08:41:23*fanta1 quit (Quit: fanta1)
08:46:41*solitudesf quit (Remote host closed the connection)
08:53:05*solitudesf joined #nim
08:54:02*solitudesf quit (Remote host closed the connection)
08:54:25*solitudesf joined #nim
09:01:16*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzzโ€ฆ)
09:10:15*dadada_ quit (Read error: Connection reset by peer)
09:10:33*marmotini_ joined #nim
09:10:39*floppydh joined #nim
09:14:06*dadada joined #nim
09:14:30*dadada is now known as Guest99582
09:36:38*NimBot joined #nim
09:41:55*fanta1 joined #nim
09:43:34*ftsf joined #nim
09:43:34*ftsf quit (Remote host closed the connection)
09:44:35*ftsf joined #nim
09:53:24*marmotini_ quit (Remote host closed the connection)
09:53:50*marmotini_ joined #nim
09:58:37*marmotini_ quit (Ping timeout: 268 seconds)
10:01:11FromGitter<Varriount> Araq: "naming is one of the hardest things in programming"
10:02:04*krux02 joined #nim
10:04:47Araqonly if you care about quality. You can also simply use 'kill/man/cp' instead and turn it into a religious cult, it's been proven to work.
10:05:47livcdanyone managed to compile nimpcre on windows?
10:06:11*abm joined #nim
10:09:43*fanta1 quit (Quit: fanta1)
10:11:07*abm quit (Quit: Leaving)
10:11:31*abm joined #nim
10:27:39*marmotini_ joined #nim
10:37:44*lain joined #nim
10:43:31*couven92 joined #nim
10:45:32*awe00 joined #nim
10:56:22FromDiscord<clyybber> disruptek: Hey, I got to the point where it works
10:57:24*marmotini_ quit (Remote host closed the connection)
10:57:32*marmotini_ joined #nim
10:57:48FromDiscord<clyybber> @Elegant Beef There is also a company from mainland china using it
10:58:11*marmotini_ quit (Read error: Connection reset by peer)
10:58:12FromDiscord<clyybber> I think they make something like a raspberry pi
10:58:19*marmotini_ joined #nim
10:58:59FromDiscord<clyybber> @timotheecour In you PoEval PR use cmd?
10:59:15FromDiscord<clyybber> Depending on sh on windows is just stupid
11:02:16*jjido joined #nim
11:23:18*Guest99582 is now known as dadada
11:23:39dadadais nim's documentation available in the form of man pages?
11:24:30*Zectbumo quit (Read error: Connection reset by peer)
11:32:23FromDiscord<clyybber> I dont think so
11:44:42*a_b_m joined #nim
11:48:27*abm quit (Ping timeout: 240 seconds)
11:56:25*LER0ever joined #nim
12:01:09*Hideki_ joined #nim
12:01:58livcdhttps://ybin.me/p/80cc4728a773b61e#ud8jwjn25NxbkwECcFo0nNoPxP+f5M3vyJmQAcmpp9M=
12:05:09FromDiscord<clyybber> livcd: looks like space in path bug
12:06:05*Hideki_ quit (Ping timeout: 272 seconds)
12:06:21livcddont know where the bin/sh is coming from...i am on windows
12:06:58FromDiscord<clyybber> Wth
12:07:37FromDiscord<clyybber> does make try to execute bin/sh ?
12:07:42FromDiscord<clyybber> or is it a nim bug
12:08:21livcdmore like the Makefile for nimpcre and some env settings
12:09:29*luis_ joined #nim
12:12:12*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzzโ€ฆ)
12:14:29*jjido joined #nim
12:20:58*marmotini_ quit (Read error: Connection reset by peer)
12:21:18*marmotini_ joined #nim
12:21:56*luis_ quit (Quit: luis_)
12:22:19*luis_ joined #nim
12:26:27*luis_ quit (Client Quit)
12:26:54*luis_ joined #nim
12:30:29*rockcavera joined #nim
12:30:30*marmotini_ quit (Remote host closed the connection)
12:30:58*marmotini_ joined #nim
12:32:10*marmotini_ quit (Remote host closed the connection)
12:32:17*marmotini_ joined #nim
12:32:57*a_b_m is now known as abm
12:33:05ZevvDid something recently change regarding detection of unused declarations?
12:33:24ZevvI have a .XDeclaredButNotUsed. that used to work but now I still get warnings
12:38:55*nsf quit (Quit: WeeChat 2.7)
12:44:47dadadawhat was the reason for creating unsigned operators like +% and /%
12:45:58dadadaand against using something like unsigned(a) + unsigned(b) or unsigned(a + b) or unsigned(a) / unsigned(b)
12:48:10*pbb quit (Remote host closed the connection)
12:49:24*pbb joined #nim
12:52:26stefantalpalaruWhy is this invalid in a config.nims? `switch("warning[CaseTransition]", "off")`
12:52:42FromDiscord<Rika> For when you have `lenientops` imported I'm guessing (dadada)
12:52:48*marmotini_ quit (Read error: Connection reset by peer)
12:52:59stefantalpalaruconfig.nims(1, 2) Error: invalid command line option: '--warning[CaseTransition]'
12:52:59*marmotini_ joined #nim
12:53:11*marmotini_ quit (Remote host closed the connection)
12:53:37*marmotini_ joined #nim
12:55:03*silvernode quit (Ping timeout: 260 seconds)
12:55:24*marmotini_ quit (Remote host closed the connection)
12:55:30*marmotini_ joined #nim
12:55:35*silvernode joined #nim
12:56:37FromGitter<alehander92> hmm
12:56:51*marmotini_ quit (Remote host closed the connection)
12:56:55FromGitter<alehander92> does it make sense to make `$` func-s
12:57:43FromGitter<alehander92> hm, not func-s but functions with `{.raises: [].}`
12:58:01FromGitter<alehander92> because like now you would expect an error from each &"" and $
12:58:08FromGitter<alehander92> which is just not really useful
12:59:02FromGitter<alehander92> and imho `$` should be written in a way that it doesnt raise (except i guess in "defect" cases like no memory left etc)
12:59:19FromDiscord<clyybber> dadada: Legacy
12:59:20dadadaalehander92: I agree
12:59:20Zevvthat makes sense
13:00:17Zevvbut that should enforce *any* implementation of $ to adhere to that I guess, since now I cna still write one that does throw
13:00:36FromGitter<alehander92> yep, but on the other hand thats probably not a big deal, or is it
13:00:48Zevv'$' is nothing special from the languages perspective
13:00:57FromGitter<alehander92> like, if `raises` happens after overloads are resolved
13:00:58*marmotin_ joined #nim
13:01:10lqdev[m]how can a ref object change its address? is it even possible?
13:01:12FromGitter<alehander92> it would only fail the check for such custom overloaded `$`-s
13:01:38Zevvlqdev[m]: why do you ask?
13:01:55FromGitter<alehander92> so if that happens like i would i imagine, it should require mostly annotation to default `$`-s
13:02:03FromGitter<alehander92> without compiler hardcoding then
13:02:07Zevvalehandr92: right
13:02:17FromDiscord<clyybber> lqdev[m]: If you point it to another object
13:02:32Zevvclyybber: that's cheating :)
13:02:44lqdev[m]I'm figuring out a veeeery strange quirk with ref objects and sequences. for some reason, when I allocate an object in one proc, it's copied into a new object for some reason and does not preserve its old properties
13:02:45FromDiscord<clyybber> other than that there is no way tho
13:03:06lqdev[m]I might have to upload the code into a new repo
13:03:11FromDiscord<clyybber> lqdev[m]: Yeah
13:03:17lqdev[m]because it's hard to explain
13:03:21*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzzโ€ฆ)
13:03:44Zevvyou know the drill. Minimize your problem to a small sharable example
13:03:54Zevvand while minmimizng, realize what you did wrong
13:03:59Zevvso you don't need to share after all
13:04:10lqdev[m]in this case, it's not so simple
13:04:27Zevv*there* is your problem :)
13:05:05lqdev[m]so I tried but this is how far I got https://play.nim-lang.org/#ix=2bD5
13:05:07livcdarrrgh i cant compile nimpcre
13:05:10lqdev[m]and it does not reproduce the issue
13:05:15*marmotin_ quit (Ping timeout: 240 seconds)
13:07:13*marmotini_ joined #nim
13:08:11lqdev[m]all right, so I have these Views: https://github.com/liquid600pgm/nadio/blob/master/src/gui.nim#L47 and later in the file you can see I'm assigning some keybinds to them
13:08:33*hax-scramper quit (Read error: Connection reset by peer)
13:08:37lqdev[m]however, later in the code when I actually need to reference these keybinds, the address of a given View changes and it does not have the assigned keybinds https://github.com/liquid600pgm/nadio/blob/master/src/gui/view.nim#L36
13:08:51*hax-scramper joined #nim
13:08:57lqdev[m]and I can't pinpoint to where the issue lies
13:10:09*marmotini_ quit (Read error: Connection reset by peer)
13:10:28*marmotini_ joined #nim
13:10:30lqdev[m]the address is fine in the main module, but it's changed in method onEvent
13:11:08lqdev[m]I know that the event handler does not run on a separate thread or anything
13:11:22lqdev[m]unless GLFW is playing tricks on me
13:11:52stefantalpalaruI found a workaround, after reading commits pointing to https://github.com/nim-lang/Nim/issues/8739: `switch("warning", "CaseTransition:off")`
13:11:54disbotโžฅ [cmdline] [minor] `--hint.foo:on` as alias for `--hint[foo]:on`: avoids edge cases with `[` that needs to be escaped on cmd line + other places ; snippet at 12https://play.nim-lang.org/#ix=2bD6
13:15:49*marmotin_ joined #nim
13:15:55*marmotini_ quit (Read error: Connection reset by peer)
13:16:55*luis_ quit (Quit: luis_)
13:17:01dadadahttps://nim-lang.org/docs/manual.html#types-array-and-sequence-types ... why is @[ needed for assigning to y, shouldn't the compiler be able to figure out that y was declared as a sequence and hence deal with the details implicitly?
13:18:11lqdev[m]dadada: no, because `[]` is an array, and `@` turns a thing into a sequence. that's how types work.
13:19:48*Hideki_ joined #nim
13:21:59lqdev[m]from my understanding, an operation like this https://github.com/liquid600pgm/rdgui/blob/master/src/rdgui/windows.nim#L38 should not deep copy the ref object, right?
13:23:55dadadalqdev[m]: I know what types are, but there's also implicit type conversion, it's a design decision
13:24:27*Hideki_ quit (Ping timeout: 260 seconds)
13:25:12lqdev[m]dadada: Nim prefers explicit type conversion where two types are incompatible with each other
13:25:16lqdev[m]array and seq are not the same
13:26:37dadadalqdev[m]: I know they're not the same ... Int16 and Int64 are also not the same
13:26:55FromDiscord<clyybber> dadada: Yeah, you could make yourself a converter
13:27:17FromDiscord<clyybber> And then there would be no need for `@`
13:28:01dadadaclyybber: that's good
13:29:39*hax-scramper quit (Ping timeout: 240 seconds)
13:30:50*hax-scramper joined #nim
13:31:56*marmotin_ quit (Remote host closed the connection)
13:32:20lqdev[m]I'm such an idiot
13:32:23*marmotini_ joined #nim
13:32:28lqdev[m]I just found the problem
13:32:50lqdev[m]the events were getting received by the statusBar instead of the songView
13:32:57FromDiscord<clyybber> lol
13:33:19lqdev[m]and I didn't override onEvent for bars
13:33:19lqdev[m]because Bars inherit from Views
13:34:00*luis_ joined #nim
13:36:22*dddddd joined #nim
13:37:03Zevvand while minmimizng, realize what you did wrong
13:37:03*marmotini_ quit (Ping timeout: 265 seconds)
13:37:04Zevvso you don't need to share after all
13:37:11Zevvstory of my life
13:37:38Zevvcongrats though, on finding the culprit! :)
13:40:04dadadahttps://nim-lang.org/docs/manual.html#types-varargs
13:40:52dadadafor s in items(a): # wouldn't for s in a: be nicer?
13:41:57FromDiscord<clyybber> Yeah
13:41:59FromDiscord<clyybber> And it is done
13:42:02*couven92 quit (Quit: Client Disconnecting)
13:42:13FromDiscord<clyybber> items is inserted automatically when you do `for s in a:`
13:44:38dadadagreat
13:44:52livcdshashlick: can anyone kind try to install nimpcre on windows ?: D
13:45:46livcdoops did not want to highlight him
13:49:23*marmotini_ joined #nim
13:49:52livcdworks fine on linux :F as expected
13:51:31*luis__ joined #nim
13:54:44livcdok so the /bin/sh problem was caused by Git in the path
13:55:07*luis_ quit (Ping timeout: 260 seconds)
13:57:30*Hideki_ joined #nim
13:57:57*abm quit (Quit: Leaving)
13:58:16*abm joined #nim
13:59:47*theelous3 joined #nim
14:01:13*luis__ quit (Quit: luis__)
14:05:02FromDiscord<clyybber> hmm, but is the issue stemming from nim?
14:05:03shashlickHey livcd
14:05:06FromDiscord<clyybber> if so please report it
14:05:09*luis__ joined #nim
14:05:09shashlickIs it not working?
14:06:13livcdclybber: i dont think so (well dont know yet)
14:06:22livcdshashlick: i cant install nimpcre on Windows
14:06:49livcdsec
14:07:10*Hideki_ quit (Remote host closed the connection)
14:08:48*marmotini_ quit (Read error: Connection reset by peer)
14:09:04*marmotini_ joined #nim
14:10:54livcdhttps://paste.ubuntu.com/p/dqgy2WVxmY/
14:11:31livcdi have the pcretest.exe in C:/Users/mscasny/nimcache/nimterop/nimpcre and also in the path
14:13:52shashlickAre you cross compiling?
14:16:31livcdnope
14:16:34livcdi am just on windows
14:17:37*marmotini_ quit (Remote host closed the connection)
14:18:03*marmotini_ joined #nim
14:18:28shashlickCI is working fine
14:18:30shashlickhttps://travis-ci.org/genotrance/nimpcre/builds/649004790
14:18:44shashlickDo you have git in path?
14:18:52shashlickIt should have a working bash
14:19:03livcdthat was causing me some other issues
14:19:06*ftsf quit (Ping timeout: 265 seconds)
14:19:33livcdhttps://ybin.me/p/80cc4728a773b61e#ud8jwjn25NxbkwECcFo0nNoPxP+f5M3vyJmQAcmpp9M=
14:19:41livcdso i removed it
14:20:20shashlickYes that's a cmake issue
14:20:28shashlickCannot have spaces in the path
14:20:35*marmotini_ quit (Remote host closed the connection)
14:20:42*marmotini_ joined #nim
14:20:51shashlickWhich is why I reinstall git in another location
14:21:27shashlickJust have bash in another location without spaces in the full path
14:21:33livcdah ok roger that
14:21:55*luis__ quit (Quit: luis__)
14:22:23*luis__ joined #nim
14:23:40shashlickhttps://gist.github.com/genotrance/fb53504a4fba88bc5201d3783df5c522
14:23:52shashlickSee travis.sh
14:24:09shashlickI'll probably need to document this somewhere in nimpcre
14:26:21disrupteknah, keep it as an easter egg.
14:26:27*luis__ quit (Client Quit)
14:26:42disruptekit'll be fun to figure it out again every few months.
14:26:53*luis__ joined #nim
14:31:18*luis__ quit (Ping timeout: 246 seconds)
14:35:06livcd/usr/bin/bash: ./libtool: No such file or directory what the heck
14:48:02FromGitter<xflywind> Hi, Whether exists a *cryptographic* random generator in Nim Std like Python? โŽ โŽ ```$ python -c 'import os; print(os.urandom(16))' โŽ b'_5#y2L"F4Q8z\n\xec]/'``` [https://gitter.im/nim-lang/Nim?at=5e4561a2c900d747ab01be7c]
14:48:35*hax-scramper quit (Ping timeout: 265 seconds)
14:48:55*hax-scramper joined #nim
14:54:55FromDiscord<clyybber> xflywind: Sure https://nimble.directory/search?query=random and https://nimble.directory/search?query=crypto
14:54:55*qwertfisch quit (Read error: Connection reset by peer)
14:55:33FromDiscord<clyybber> Also checkout https://github.com/cheatfate/nimcrypto
14:55:45FromDiscord<clyybber> It is used at status for their ethereum client
14:56:00*zickzackv joined #nim
14:56:35*Kaivo quit (Quit: WeeChat 2.7)
14:56:53FromGitter<xflywind> @Clyybber Thanks.I will look at them later.
14:56:54*qwertfisch joined #nim
14:56:55*Kaivo joined #nim
14:57:13FromDiscord<clyybber> np
14:58:21*awe00 quit (Ping timeout: 272 seconds)
14:59:27*nsf joined #nim
15:01:41FromDiscord<Rika> @clyybber but technically they asked for something in the stdlib
15:01:51FromDiscord<clyybber> oh
15:02:03FromDiscord<clyybber> well, the answer is no then
15:02:20*zickzackv quit (Quit: Using Circe, the loveliest of all IRC clients)
15:03:27*zickzackv joined #nim
15:05:42*dadada quit (Ping timeout: 260 seconds)
15:10:54shashlicklivcd: still doesn't work?
15:12:10*awe00 joined #nim
15:15:51*Vladar quit (Quit: Leaving)
15:16:18disruptekno is a lovely answer.
15:26:28disruptektoday we make something ar4q doesn't want.
15:31:26*LER0ever quit (Quit: My MacBook has gone to sleep. ZZZzzzโ€ฆ)
15:32:13FromGitter<Varriount> clubber: I used nimcrypto in my AWS signing code. It's nice
15:33:17FromDiscord<mratsim> clubber xD
15:52:42*zickzackv quit (Remote host closed the connection)
15:53:46*zickzackv joined #nim
15:57:20disruptek~motd
15:57:21disbotmotd: 11Who wants to try JSON parsing modes via set[JMode] for a couple years? -- disruptek
15:57:52disruptek~motd is Opinions on the utility of a meowhash port? https://mollyrocket.com/meowhash
15:57:52disbotmotd: 11Opinions on the utility of a meowhash port? https://mollyrocket.com/meowhash
15:59:32FromDiscord<clyybber> Varriount: Ah, cool
15:59:55FromDiscord<clyybber> I'll club you tho if you call me that again :p
16:00:11FromDiscord<clyybber> disruptek: I say do it!
16:01:15*silvernode quit (Ping timeout: 240 seconds)
16:01:47*silvernode joined #nim
16:01:57disrupteki started to decided it would be too platform-centric. now i'm not so sure.
16:02:43disrupteks/to /to, but /
16:07:15*luis__ joined #nim
16:07:54disruptekie. i think it's only worth it if we can use it for tables.
16:08:09disrupteknot sure it won't be a liability for js.
16:10:58FromGitter<Varriount> clyybber: I blame autocorrect and the fact that you have 2 y's in your nickname
16:11:10*marmotini_ quit (Remote host closed the connection)
16:11:31*awe00 quit (Ping timeout: 260 seconds)
16:11:38*marmotini_ joined #nim
16:12:08*marmotini_ quit (Remote host closed the connection)
16:12:15*marmotini_ joined #nim
16:19:52*marmotini_ quit (Remote host closed the connection)
16:20:20*marmotini_ joined #nim
16:24:16*dadada joined #nim
16:24:24ZevvWhy do I still get a "declared but not used" warning here? https://play.nim-lang.org/#ix=2bDF
16:24:38*dadada is now known as Guest8273
16:24:50*floppydh quit (Quit: WeeChat 2.7)
16:24:51*marmotini_ quit (Ping timeout: 240 seconds)
16:29:46*awe00 joined #nim
16:36:44*luis__ quit (Quit: luis__)
16:37:10*luis__ joined #nim
16:41:23*silvernode quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
16:42:42Araqbecause you should use .used
16:42:57*luis__ quit (Quit: luis__)
16:43:56Zevvwell, they are *not* used, technically
16:44:05disrupteka random finally: block parses okay among other statements input to a macro, but a random else: does not.
16:44:10disruptekis this a feature?
16:44:17*paxis quit (Ping timeout: 260 seconds)
16:44:36Zevvyeah
16:45:09disruptekelse is part of if but finally is not part of try?
16:45:35disruptekfinally, or except not. there is no try?
16:46:28ZevvI say it's a bug, it should not parse indeed
16:47:00Zevvgrammar says nooo
16:47:40*luis__ joined #nim
16:53:37*luis__ quit (Ping timeout: 272 seconds)
16:58:42FromDiscord<clyybber> disruptek: HHHAHAHAHAHHAAA
16:58:46FromDiscord<clyybber> d2s finished
16:58:48FromDiscord<clyybber> all tests pass
16:58:51FromDiscord<clyybber> first try
16:59:06FromDiscord<clyybber> Varriount: Fair enough ๐Ÿ˜„
16:59:59*marmotini_ joined #nim
17:01:21disruptekafaict, there's no way to add for/else or while/else without modifying the compiler. ๐Ÿ˜ข
17:01:35disrupteki mean, to add them "properly."
17:01:44*marmotini_ quit (Remote host closed the connection)
17:01:46disruptekyou win this time, araqlogic.
17:01:50*marmotini_ joined #nim
17:02:13disruptekclyybber: you spent too much time on that.
17:02:23disruptekmerge krux's pr please.
17:03:10FromDiscord<clyybber> disruptek: eh, it was pretty easy
17:03:24FromDiscord<clyybber> after I fixed the two dumb precedence errors
17:03:48FromDiscord<clyybber> disruptek: Tell Araq, hes the merger.
17:04:01disruptek> I ... cannot ... /dies/
17:04:18FromDiscord<clyybber> lol
17:05:29disruptekwho cares about a const in a test?
17:05:47FromDiscord<clyybber> thats the blocker?
17:06:01FromDiscord<clyybber> I could fix it real quick
17:06:06disrupteki dunno. i suffered a parse error on line 1 of ar4q's comment.
17:06:28FromDiscord<clyybber> semantic error here
17:06:53FromDiscord<clyybber> Araq show us the *meaning*
17:07:42FromDiscord<clyybber> (he's a busy god)
17:07:59FromGitter<Varriount> I*could* merge it in
17:08:26disruptekno one was ever fired for fixing arithmetic errors.
17:08:31FromGitter<Varriount> But compiler code is usually under the this
17:08:32disruptekoh wait
17:08:48FromGitter<Varriount> under the aegis of Araq
17:09:01disruptekmaybe araq died while reading the commit.
17:09:43disruptek"the grail is in the tower of ... aaahrhrhrgggguhrggg"
17:13:48*marmotini_ quit (Remote host closed the connection)
17:14:16*marmotini_ joined #nim
17:19:35*marmotini_ quit (Ping timeout: 272 seconds)
17:22:56*luis__ joined #nim
17:28:40*Trustable joined #nim
17:38:13FromDiscord<treeform> lqdev, are you still having issue with Cairo? Your error almost sounds like you have another cairo.nim somewhere on your path?
17:38:22*Kaivo quit (Quit: WeeChat 2.7)
17:39:35FromDiscord<treeform> Oh looks like you figured it out, some with with old version of cairo. Anyways if you have issues feel free to ping.
17:39:41*awe00 quit (Ping timeout: 265 seconds)
17:44:34*nsf quit (Quit: WeeChat 2.7)
17:46:23shashlick@treeform can you please review the updates in https://github.com/nim-lang/Nim/issues/9419
17:46:25disbotโžฅ httpclient -d:ssl and db_postgres incompatible and cause SIGSEGV! (MacOSX) ; snippet at 12https://play.nim-lang.org/#ix=2bwr
17:50:51AraqI died because there is yet another bug in int128
17:57:02*marmotini_ joined #nim
17:57:11Zevvyou type well for a dead man
17:58:28Zevvclyybber: where your ryu code at?
18:06:23disruptekwhat's the other bug?
18:07:32disruptekand is there a good reason not to merge this fix?
18:09:52FromDiscord<treeform> shashlick, yeah I saw the updates. I don't have much to add.
18:10:46FromDiscord<treeform> I added a thing `-d:sslVersion=x.x.x` I though I closed the issue as well...
18:11:10FromDiscord<treeform> openSSL just sucks
18:11:32FromGitter<Varriount> Araq: Bikeshedding over naming aside, I really like your proposal for the chaining/outplace macros
18:12:17*abm quit (Quit: Leaving)
18:12:20FromGitter<Varriount> As in, I can't remember when I was this interested in a new feature/addition
18:25:03Araqwoa
18:25:14livcdshashlick: need to find the libtool
18:26:19shashlickdo you have cmake
18:26:29shashlickif not you will end up having to install all autoconf tools on windows
18:26:32shashlicknimble install cmake
18:28:58FromDiscord<treeform> shashlick: I have added my thoughts: https://github.com/nim-lang/Nim/issues/9419#issuecomment-585902219
18:29:00disbotโžฅ httpclient -d:ssl and db_postgres incompatible and cause SIGSEGV! (MacOSX) ; snippet at 12https://play.nim-lang.org/#ix=2bwr
18:30:52shashlickthanks treeform
18:41:05disruptekis cpp --gc:arc expected to worth without regard to exceptions?
18:44:27disrupteks/worth/work/
18:44:41ZevvI believe it is
18:44:50Zevvyou have problems I assume?
18:45:29disruptekyeah, gittyup ci failing on cpp.
18:45:49ZevvAr4q has been doing work on that lately
18:46:12disrupteki know; i saw a couple prs in the pipeline and it's a little confusing on what to expect.
18:53:52*Trustable quit (Remote host closed the connection)
18:54:13*paxis joined #nim
19:02:57FromDiscord<clyybber> Zevv: Its up
19:03:09FromDiscord<clyybber> https://github.com/Clyybber/nimryu
19:03:32FromDiscord<clyybber> I gotta commit the nim translation of the tests
19:03:40ZevvYeah I thought you and disruptek were working in the same repo
19:03:45Zevvso i was looking at the wrong one
19:04:06ZevvI was just looking through your code
19:04:32FromDiscord<clyybber> I only translated stuff necessary for d2s and f2
19:04:33FromDiscord<clyybber> s
19:04:39FromDiscord<clyybber> the other stuff is still C
19:04:52FromDiscord<clyybber> also, its very raw
19:04:59FromDiscord<clyybber> as in not nimified yet at all
19:05:27FromDiscord<clyybber> but at least it works :p
19:05:47ZevvIt seems to be almost twice as fast as printf, is that right?
19:05:56Zevvon linux/glibc
19:05:58FromDiscord<clyybber> think so yeah
19:06:04FromDiscord<clyybber> almost 4 times I think
19:06:10Zevvsweet
19:06:22FromDiscord<clyybber> not sure how my port fares in that regard tho
19:06:31FromDiscord<clyybber> probably a bit slower, since I use a strip
19:06:41FromDiscord<clyybber> but without it it should be just as fast
19:07:06livcdshashlick: still having an issue with libtool
19:07:39shashlickUse cmake
19:07:44shashlickDid you see that message?
19:10:07livcdhmm nope
19:12:16shashlicknimble install cmake
19:12:27livcdok let me try
19:13:44disruptekclyybber: if you want a fun ast bug just ask.
19:14:29livcdshashlick: the cmake did run but when i want to compile a program that imports nimpcre it is trying to run make
19:15:21FromDiscord<clyybber> disruptek: Yes please
19:15:24FromDiscord<clyybber> gimme
19:19:29disruptekare you sure?
19:19:35disruptekyou might not like it once you get it.
19:20:17Araqdisruptek: it doesn't work (nim cpp --gc:arc exceptions)
19:20:37AraqI might merge my improvements though and deal with the failing test later
19:21:10shashlicklivcd: it will build pcre the first time
19:21:42disruptekAraq: be that as it may, i don't have any exceptions in my codebase and i still get a codegen failure in ci.
19:22:15livcdshashlick: i cant proceed
19:22:29livcdbtw i get it...i've got the libtool but it's a sh script
19:23:03livcdthe makefile calls it like this /usr/bin/bash: ./libtool: No such file or directory which is wrong
19:23:17*Guest8273 is now known as dadada
19:24:40FromGitter<Nickiel12> Hi, is there a way to read and write mp3 file metadata (album, artist, etc) I have been looking for 30 mins through the os module and google, and can't find anything
19:25:02*luis__ quit (Quit: luis__)
19:25:03shashlickUnless you install msys and the whole shebang, no idea on that
19:25:09disruptekclyybber: https://github.com/disruptek/criterion.nim/issues/1
19:25:10disbotโžฅ it does not bench fib5 from tfib example
19:25:14shashlickPlus I've not ever tested that
19:25:28*luis__ joined #nim
19:25:30FromDiscord<Elegant Beef> @clyybber you mispelled west taiwan ๐Ÿ˜›
19:25:41FromDiscord<clyybber> lol
19:25:41disrupteka pragma with no arguments is completely missing from the macro input. give it an arg like `pragmaMacro: []` and it works.
19:27:05livcdshashlick: wait i am symlinking in nimpcre libtool
19:27:24FromDiscord<clyybber> disruptek: You mean it doesn't pop up in customPragmas?
19:27:37FromDiscord<clyybber> or do you mean it doesn't get called?
19:27:48disruptekthe procdef ast is completely absent from the ast passed to the macro.
19:28:06disruptekelided. gone. vanished. mia.
19:28:16disruptekawol; you feel me?
19:28:21FromGitter<Nickiel12> shashlick, were you talking to me when you mentioned mysys?
19:28:51disrupteki think maybe it's replaced with Empty. ๐Ÿ˜
19:29:33*luis__ quit (Client Quit)
19:29:48shashlickSorry Nickiel12, was talking to livcd
19:29:57*luis__ joined #nim
19:29:58FromGitter<Nickiel12> ok, it confused me
19:30:25shashlicklivcd: why is it still using libtool if you have cmake
19:30:42livcdno idea..you detect that automatically?
19:32:13livcdI try with -f
19:32:17shashlickYes, delete the nimpcre cache and try again ya
19:32:55livcdthat seems to work ..at least for picking the cmake
19:34:46disruptekclyybber: fun, right?
19:36:19livcdexcuse my colorful language
19:36:25livcdbut f...ing finally
19:37:08FromDiscord<clyybber> disruptek: Umm
19:37:10FromDiscord<clyybber> lol?
19:37:38FromDiscord<clyybber> livcd: -f...ing -finally
19:38:24FromDiscord<clyybber> Zevv: Lol, I fucked up the license
19:38:31FromDiscord<clyybber> replaced the `//` with `#`
19:38:33FromDiscord<clyybber> haha
19:38:48livcdclybber: i was not able to make the nimpcre compile on windows :F
19:39:03livcdshashlick: thanks a lot!
19:39:05FromDiscord<clyybber> : ?
19:39:14FromDiscord<clyybber> livcd: That is sad
19:39:19FromDiscord<clyybber> But it ships with nim?
19:39:30FromDiscord<clyybber> I though
19:39:31FromDiscord<clyybber> t
19:39:33livcdno
19:40:37shashlickso it worked for you finally?
19:40:45shashlickI'm adding some text to the nimpcre site
19:42:04livcdyes it worked with cmake
19:42:24livcdand when i used -f it picked up cmake finally
19:45:38FromDiscord<clyybber> so it worked?
19:45:47FromDiscord<clyybber> I thought you werent able to compile it?
19:46:06FromDiscord<clyybber> or did you build it in a unix environment?
19:50:30*jjido joined #nim
19:52:44livcdI was not able to compile it first with just make
19:52:53livcdthen it finally worked with cmake
19:53:39*zickzackv quit (Ping timeout: 260 seconds)
19:54:50FromDiscord<clyybber> ah
19:54:59FromDiscord<clyybber> Zevv: Tests are up now
19:55:23Araqscope based destruction is a beast :-(
19:57:35Araqat least I made your 'handleNested' much simpler
19:58:52dadadaare there hooks to inject custom C code into the generated C?
19:59:04disrupteksure.
19:59:04Yardanicoemit pragma?
19:59:26Yardanicoalso you can do some really strange magic with importcpp (that's for C++ though)
19:59:41dadadaokay
19:59:48Yardanicohttps://nim-lang.org/docs/manual.html#implementation-specific-pragmas-emit-pragma
20:00:07dadadawell I just learned about https://github.com/google/tcmalloc
20:00:18dadadawhich is google's highly optimized malloc/new implementation
20:00:26*awe00 joined #nim
20:00:47dadadaand then I wondered how you would integrate this with a Nim application, hence my question
20:01:12dadadaI've no need for tcmalloc (yet) though :D
20:01:15FromDiscord<clyybber> Araq: Nice!
20:01:21shashlicklivcd thanks for persisting, will update the site
20:01:25FromDiscord<clyybber> Araq: Do you have it on a public branch?
20:01:45FromDiscord<clyybber> dadada: Very easy
20:01:53FromDiscord<clyybber> compile with --os:any
20:02:50FromDiscord<clyybber> dadada: https://nim-lang.github.io/Nim/nimc#nim-for-embedded-systems
20:03:01FromDiscord<clyybber> dadada: Btw, you ought to make something in nim
20:03:16FromDiscord<clyybber> : )
20:03:28dadadaclyybber: I most definitely will
20:03:41FromDiscord<clyybber> nice!
20:03:48dadadaI've multiple project ideas, but first I need to learn as much as possible
20:03:56*awe00 quit (Excess Flood)
20:04:32dadadaalso I'm waiting for C++ library integration to get a little more comfortable
20:04:58dadadaI want to port a Qt application over to nim
20:05:24Yardanicowell AFAIK Qt does some really weird stuff when compiling itself, etc, so pure Qt bindings would probably be quite hard to do
20:05:40Yardanicolike they have their use a meta compiler and stuff like that
20:05:42dadadaYardanico: while you're right a number of languages have overcome this hurdle
20:05:55dadadaYardanico:
20:06:00dadadahttps://wiki.qt.io/Language_Bindings
20:06:59livcdshashlick: <3 thanks for making it
20:07:00*awe00 joined #nim
20:07:01dadadaamong them Rust, Go, Java, Python and D
20:07:06Yardanicowell yeah, although if you look at rust link, that org also has a "ritual" repo in it, so they had to create a whole lib to wrap Qt :P
20:07:33Yardanicoalso is QML not enough for you? :(
20:07:40dadadamost definitely NOT
20:08:30dadada
20:08:39Yardanicowhat are these empty messages? :D
20:08:43livcdI am right now looking on github for applications written in Go+QT
20:09:06disruptekwut
20:09:32*awe00 quit (Excess Flood)
20:10:36livcdhttps://raw.githubusercontent.com/rashwell/neochessqt/master/screenshots/EarlyProtoType.png
20:11:50*awe00 joined #nim
20:12:03FromDiscord<Rika> i thought you were showcasing a nim app
20:12:06*awe00 quit (Client Quit)
20:12:26dadadaYardanico: the regular non-QML Qt is what I'm used to using, and last time I checked in on QML there was all sorts of functionality missing that I needed, and I want to port a Qt application, not a QML application
20:21:56livcdRika: sorry :X
20:34:53shashlickdadada: as much as I agree, qt will be a full time job
20:45:34FromDiscord<demotomohiro> Qt is large library and includes qstring or qvector.
20:46:02FromDiscord<demotomohiro> It looks like Qt is trying to replace standard C++ library.
20:46:09dom96All GUIs suck in one way or another. Better focus on implementing something like Electron IMO
20:46:44FromDiscord<clyybber> dom96: hahaha what?
20:47:29FromDiscord<clyybber> electron sucks the most
20:47:35Yardanicoyes i'd have to agree on electron
20:47:39dom96Seriously. If you want a native GUI then just use the native toolkits
20:47:47dom96Qt/Gtk both suck
20:48:15dadadademotomohiro: when Qt started the C++ standard library had a lot to be desired, they made programming in C++ a lot easier, recently sdtc++ got somewhat better, and you can use both the standard c++ types and the Qt types with their libraries
20:48:34dadadas/had a lot/had a lot left
20:48:39Yardanicowhat about nim types? :P
20:48:57lqdev[m]how does `slurp` work? does it create a .h file with an array containing a file's bytes, insert the file into an executable's .data section, or what?
20:49:09FromDiscord<clyybber> no
20:49:19FromDiscord<clyybber> it simply makes a constant
20:49:31FromDiscord<clyybber> it will be a literaly in the generated C code
20:49:40FromDiscord<clyybber> so basically yeah. But not in a seperate .h file
20:49:55lqdev[m]so it's not really viable for large files, right?
20:50:26lqdev[m]because gcc shits your memory when it deals with really big arrays
20:50:41dadadadom96: Qt didn't suck in my experience, many big companies using Qt disagree with you
20:50:50FromDiscord<clyybber> lqdev[m]: I think its fine
20:50:58FromDiscord<clyybber> I slurp images
20:51:06FromDiscord<clyybber> And shaders
20:51:10FromDiscord<clyybber> like binary
20:51:10FromDiscord<clyybber> SPIR-V
20:51:46dadadaI wouldn't be against having something like electron for nim either, having options is good
20:51:53lqdev[m]yeah, but they don't weigh 500 MB ;P
20:52:03Yardanicothere's https://github.com/jangko/nimCEF :P
20:52:17Yardanicoalso fidget wip
20:52:18lqdev[m]my friend recently tried to embed a 500 MB file using this method into an executable, and it literally filled his memory within seconds
20:52:47*narimiran quit (Quit: leaving)
20:53:45shashlicklqdev - you trying something like nimdeps?
20:53:48shashlick!repo nimdeps
20:53:49disbothttps://github.com/genotrance/nimdeps -- 9nimdeps: 11Nim library to bundle dependency files into executable 15 14โญ 2๐Ÿด
20:55:38lqdev[m]nimdeps isn't bad, but it still has to unpack these files somewhere and load them into memory. that effectively loads the dependencies twice, once for the actual executable, and then another time when they're unpacked into a temp dir
20:56:32shashlickagreed, only thing is nimdeps only extracts once, after that it doesn't have to every time
20:56:43shashlickbut it's still not a sensible way to distribute files
20:56:52FromDiscord<clyybber> dadada: Theres https://github.com/treeform/fidget which is better than electron
20:57:25FromDiscord<clyybber> and is not a frickin embedded web browser
20:57:43dom96dadada, sure, but the point is in relation to Nim
20:57:50dom96Wrapping Qt for Nim would be a PITA
20:58:08dom96you're much better spending that effort implementing a nice Electron-like library
20:58:30lqdev[m]I'm also working on https://github.com/liquid600pgm/rdgui, but it's nowhere near complete and it's better suited for games
20:58:55lqdev[m]i.e. it doesn't have auto-layout tools (yet)
20:59:18lqdev[m]I might need to implement them because I'm working on an app right now
20:59:49FromDiscord<clyybber> lqdev[m]: I wanted to build a daw with keyboard focussed interface too
20:59:57FromDiscord<clyybber> Nice that you do it tho
21:00:17FromDiscord<clyybber> because I've recently gone very attracted to touchscreens
21:00:19*krux02 is now known as krux02_
21:01:42dadadadom96: we need a automagical way to port regular C++ libraries first, and then build on that for Qt later
21:01:52krux02_alehander92: generally `$` should not raise
21:01:53dadadas/port/bind to
21:02:02krux02_sorry out of context post again
21:02:22lqdev[m]@clyybber not sure how I'm going to implement the node-based instruments I'm going for, but yeah I'll figure it out somehow
21:02:33krux02_sometimes when I enter the chat I am totally in a weird position and post somthing that was relevant half a day ago
21:02:39*superbia joined #nim
21:02:57*krux02 joined #nim
21:03:34Yardanicowell yeah, that's a bad thing about real-time chats :P
21:04:25FromDiscord<Elegant Beef> think it's the bad thing about 3 different chat clients communicating together, no universal way to say "look here for context"
21:05:10dom96krux02: sounds like your IRC client is bad at presenting info :)
21:06:17superbiaI'm trying to make a "typeracer" game, and I'm wondering how does one generally detect what are the heights and widths of each letter in font, because I'd like to dynamically highlight every character you pressed correctly (and wrongly)
21:06:58Yardanicomaybe https://github.com/treeform/typography can help?
21:08:07superbiaYardanico: https://raw.githubusercontent.com/treeform/typography/master/tests/layoutNoText.png exactly this am I looking to explain !
21:09:00Yardanicowell you can check the docs - https://treeform.github.io/typography/index.html every Glyph has quite a few parameters
21:09:09Yardanicoalthough you'd have to use a .svg font (or convert an existing font to .svg)
21:09:46lqdev[m]typography supports ttf tho
21:09:48Yardanicooh
21:09:53lqdev[m]superbia: you'd probably want getGlyphSize here
21:10:10dom96Check out https://github.com/treeform/typography/pull/9. Some discussion about this exact thing :)
21:10:11disbotโžฅ Implements ability to specify a color for getGlyphImage.
21:10:14superbiaNow I know the terminology
21:10:26superbiaso I got my anwsers, I can google out the details !
21:10:30superbiathanks y'all !!!!!
21:11:21lqdev[m]if you're using a library that supports tinting textures with a color, it should be relatively easy to implement even without knowing the glyph's bounds
21:11:50lqdev[m]eg. in rapid you'd just set `ctx.color = rgb(255, 255, 0)` before drawing a rectangle but I don't know what you're using
21:13:14lqdev[m]man, it would be so cool to let the user alter text rendering character by character in rapid.
21:13:24lqdev[m]guess I know what I'm gonna implement next.
21:15:34superbiawell.. i guess i didn't really know how fonts work
21:17:53disruptekif i want to render some text on a surface in wayland... what's an easy way to do that? something an idiot with one hand could code?
21:18:09disruptekno, think a 7 year old with one hand.
21:18:22lqdev[m]superbia: every font family specifies a set of fonts. every font specifies a set of glyphs. a single glyph is a character like `a`, `.`, or `ฯ€`
21:19:01superbiayup, I wanted to get it's bounding box
21:19:03lqdev[m]disruptek: open a transparent window and render the text there? don't really know what do you wanna do
21:19:11disruptekyeah, that works.
21:19:40disruptekwhat do i use?
21:21:40FromDiscord<clyybber> lqdev[m]: You mean something like modular synthesis?
21:21:59lqdev[m]disruptek: ik shameless self plug, but rapid supports windows with alpha
21:22:08FromDiscord<clyybber> lqdev[m]: Do you know VCVRack?
21:22:14*ptdel joined #nim
21:22:22disruptekokay, i'll try it; thanks.
21:22:28lqdev[m]@clyybber: kind of, basically a hybrid between Reason's rack and Blender/DaVinci Resolve's node editor
21:22:53lqdev[m](referring to my idea here, I don't know VCVRack)
21:23:01FromDiscord<clyybber> lqdev[m]: Ha, I started implementing something like that too
21:23:15*superbia left #nim ("WeeChat 2.4")
21:23:33FromDiscord<clyybber> lqdev[m]: Something like this: https://warmplace.ru/soft/sunvox/#vid
21:24:16lqdev[m]yeah, something akin to that
21:24:18dom96Love it when libraries `quit` my app https://github.com/CORDEA/oauth/pull/18
21:24:19disbotโžฅ Fixes this package quitting my program when SSL not available.
21:26:17FromDiscord<clyybber> lqdev[m]: You gotta try VCVRack. Its really amazing
21:26:38disruptekyeah, it's pretty cool.
21:26:41lqdev[m]@clyybber I'm looking at VCVRack right now, looks really interesting. I wonder how do they generate these simulated analog waveforms
21:26:42FromDiscord<clyybber> Reason for making my own is that I would love to press a key or something and then look "into the module"
21:26:54FromDiscord<clyybber> like circuit bending
21:27:24kungtottedom96: I think you're being overly picky here. I think it's a cool feature, libraries should also be liberally sprinkled with echo statements with terminal escape sequences in them, because why not?
21:27:37FromDiscord<clyybber> lqdev[m]: Whats also kinda cool about VCVRack is that many of these modules get made as hardware when they are successfull
21:27:45lqdev[m]dang it, it needs JACK :(
21:27:50FromDiscord<clyybber> Nope
21:27:53FromDiscord<clyybber> It doesn't
21:27:55lqdev[m]I only have PulseAudio
21:28:05FromDiscord<clyybber> It works with pulseaudio
21:28:06FromDiscord<clyybber> or alsa
21:28:09FromDiscord<clyybber> or anything
21:28:19FromDiscord<clyybber> I think it uses RTaudio behind the scenes or something like that
21:28:29lqdev[m]how does it not, it gives me a "jack server is not running" error
21:28:38FromDiscord<clyybber> lqdev[m]: Huh
21:28:51dom96kungtotte, makes me wonder whether I can trust this dependency at all :(
21:28:59FromDiscord<clyybber> lqdev[m]: Thats not an error tho
21:29:02FromDiscord<clyybber> it just tells you that
21:29:05FromDiscord<clyybber> but it should run fine
21:29:10FromDiscord<clyybber> does it not?
21:29:31lqdev[m]aw god the stuttering
21:29:39lqdev[m]just found the alsa thing on the rack
21:29:49FromDiscord<clyybber> lqdev[m]: argh
21:29:52FromDiscord<clyybber> I had that stuttering too
21:29:56FromDiscord<clyybber> after switching to void
21:29:59FromDiscord<Elegant Beef> Do like all the linux users in the nim chat ๐Ÿ˜„
21:30:00FromDiscord<clyybber> somehow not on arch
21:30:02*luis__ quit (Quit: luis__)
21:30:04FromDiscord<clyybber> and I fixed it somehow
21:30:28FromDiscord<clyybber> lqdev[m]: Try setting your sample rate
21:30:31FromDiscord<clyybber> in Engine
21:30:47FromDiscord<clyybber> Or maybe the framerate is set really low
21:30:49FromDiscord<clyybber> in View
21:32:24lqdev[m]@clyybber no, my sample rate is 48kHz and the buffer size seems to affect the stuttering frequency
21:32:28FromDiscord<clyybber> lqdev[m]: I discovered it through this dude: https://www.youtube.com/channel/UCuWKHSHTHMV_nVSeNH4gYAg/videos
21:32:33FromDiscord<clyybber> lqdev[m]: Ah yeah
21:32:52FromDiscord<clyybber> Make it bigger
21:32:52FromGitter<timotheecour> hi @Clyybber Iโ€™m here (i PMโ€™d you)
21:32:57FromDiscord<clyybber> is probably what you want
21:33:04FromDiscord<clyybber> timotheecour: Hi!
21:33:16FromDiscord<clyybber> I didn't check gitter so I didn't read your PM
21:33:17dom96https://i.imgur.com/Zg9QmeN.png
21:33:30dom96It lives, sorta :)
21:35:12lqdev[m]@clyybber it only makes the stuttering less frequent
21:35:28lqdev[m]it constantly reports underruns in the terminal
21:35:35FromDiscord<clyybber> lqdev[m]: Weird.
21:35:47FromDiscord<clyybber> What audio driver do you have selected?
21:35:49dom965.1MB WASM file :D
21:35:59lqdev[m]ALSA
21:36:04FromDiscord<clyybber> Hmm
21:36:50dom96lqdev[m], clyybber: is this discussion more appropriate for #nim-offtopic? :)
21:37:28FromDiscord<clyybber> the offtopic bridge died one-side only : (
21:37:49*nisstyre quit (Remote host closed the connection)
21:38:20lqdev[m]@Yardanico you're the discordโ†”irc bridge maintainer, right? could you look into this?
21:38:43*nisstyre joined #nim
21:39:56FromGitter<Clyybber> I think he did, but it was tricky
21:42:17FromDiscord<Elegant Beef> Quick insult everyone!
21:42:30FromDiscord<clyybber> ?
21:42:45FromDiscord<Elegant Beef> `the offtopic bridge died one-side only : (`
21:42:48FromDiscord<clyybber> lqdev[m]: Not sure if you are on offtopic but when you press F3 it shows the CPU usage per module
21:42:58FromDiscord<clyybber> @Elegant Beef fuck everyone
21:43:01FromDiscord<clyybber> there you go
21:43:04FromDiscord<clyybber> :p
21:43:30lqdev[m]@clyybber the CPU usage is p low except on the output module
21:43:33FromDiscord<Elegant Beef> I'd like to report an admin
21:44:05FromDiscord<clyybber> @Elegant Beef Please file a report and send it to an admin.
21:44:33FromDiscord<Elegant Beef> @clyybber, @clyybber said and i quote "Fuck everyone"
21:44:43FromDiscord<clyybber> What a dumbass..
21:44:49FromDiscord<clyybber> I think this deserves a ban
21:45:22FromDiscord<[banned]> this is so sad
21:45:48FromDiscord<exelotl> /ban clyybber
21:45:57FromDiscord<[banned]> ๐Ÿ˜ฆ
21:46:03FromDiscord<exelotl> wow it worked
21:47:24FromGitter<iffy> How soon after calling AsyncSocket.close() is the socket closed? I'm running into "Address already in use" errors when trying to listen on a port I just closed. I'm using `socket.setSockOpt(OptReuseAddr, true)`
21:49:15dom96iffy: that's up to the OS, but if you've set OptReuseAddr then it should be immediate IIRC
21:49:29dom96maybe you have a socket that didn't have that set still alive
21:49:31FromGitter<iffy> that's what I would have guessed
21:49:49FromGitter<iffy> I only make sockets with OptReuseAddr (in this code)
21:50:30FromGitter<iffy> I'll do more testing to see if I can repro in a simpler setup -- thank you for validating my assumptions
21:50:32FromDiscord<clyybber> lqdev[m]: Try if it still happens when nothing else is running
21:51:04FromDiscord<clyybber> unfortunately I really can't remember how I fixed it ๐Ÿ˜ฆ
22:00:21*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzzโ€ฆ)
22:00:33FromGitter<Varriount> Hm, anyone know how expensive calling a (non-closure) function via global is, compared to a regular function call?
22:01:26disruptekvia global?
22:01:26lqdev[m]@clyybber I set the buffer size to 64, and then something clicked into place and it magically started working
22:01:47lqdev[m]quite cool to play around with, but not quite the thing I want
22:02:10lqdev[m]maybe it's because I'm not into audio, or something
22:03:25FromGitter<Varriount> disruptek: Yeah
22:03:34disruptekwhat does that mean?
22:03:55FromGitter<Varriount> A global variable?
22:04:24disruptekoh, you mean passing a global to a function?
22:04:41lqdev[m]disruptek: calling a function stored in a variable
22:04:55FromDiscord<clyybber> lqdev[m]: You want more modular right?
22:05:01FromDiscord<clyybber> At least thats what I want
22:05:02disruptekderef'ing a pointer is not an expensing operation.
22:05:06disruptekexpensive, either.
22:05:06FromGitter<Varriount> No,
22:05:08FromGitter<Varriount> https://play.nim-lang.org/#ix=2bF2
22:05:27disruptekwhy would that be slow?
22:05:28lqdev[m]@clyybber: you'll see what I want once I get nadio to a usable state :)
22:05:44FromDiscord<clyybber> lqdev[m]: I'll check it out then : )
22:05:56FromDiscord<clyybber> Maybe by the time I also got something half working ..
22:06:01FromDiscord<clyybber> unlikely
22:06:42disruptek!repo disruptek/criterion
22:06:43disbotno results ๐Ÿ˜ข
22:06:49disruptek๐Ÿ˜
22:07:15FromDiscord<clyybber> heh
22:07:22FromDiscord<clyybber> because its a fork prolly
22:07:31disruptekof course.
22:08:21disruptekah, that reminds me. i need to switch to tr33form's jwt.
22:08:27disrupteksorry, yuri.
22:10:33dadadatoo bad the partiql code under the apache license
22:10:53dom96disruptek: how come?
22:11:02FromDiscord<clyybber> disruptek: What you do, kills us both
22:11:09disrupteknope.
22:11:23dadadaI've considered porting the kotlin code to nim, but then it won't be possible to fit with the liberally licensed MIT code of the nim world
22:11:28disruptekbecause yuri's now pulling in bearssl and i don't really want that weight in gcplat.
22:11:36*luis__ joined #nim
22:12:05disruptekthe source alone is 73mb and the repo is 185mb.
22:12:17disruptekbearssl is like 200mb, i'm told.
22:12:24deependis there a way to use the math exponent operator ^ with a negative integer exponent?
22:12:38disruptekgreat question.
22:12:48deependit works fine if i cast ints to float and use math.pow
22:12:51deependjust tedious
22:12:56disruptekwe need ^- ๐Ÿ˜
22:13:07disruptekyou should pr it.
22:13:28deependok let me take a look at the math source
22:13:54lqdev[m]damn, ever since I tried doing something in Rust I find myself using Options more
22:13:56disruptekawesome, let us know if any questions.
22:14:14disruptekoptions are great and results are better. i'm about to rename my results lib.
22:14:25*jjido joined #nim
22:14:26*paxis quit (Remote host closed the connection)
22:14:34dom96disruptek, true, it does build a lot of .c files from bearssl
22:14:43disruptekbadaskes is the same as the status results but it relaxes some requirements.
22:15:11FromDiscord<clyybber> disruptek: What do you define as the difference between results and options?
22:15:17FromDiscord<clyybber> that results store an error code?
22:15:43disruptekresults is two values and options is one.
22:16:04FromDiscord<clyybber> where one value is the error?
22:16:13FromDiscord<clyybber> or "result" code
22:16:15disruptektwo types, i should say.
22:16:34disruptekyou get one type on success, another on failure.
22:16:35FromDiscord<clyybber> techincally
22:16:40FromDiscord<clyybber> ahhh
22:16:50lqdev[m]too bad Nim's stdlib doesn't have results
22:16:52FromDiscord<clyybber> you mean like at runtime?
22:16:54disruptekbut it's a union, of course. so, only one at a time.
22:17:12FromDiscord<clyybber> so how do you know what it is?
22:17:15FromDiscord<clyybber> case object?
22:17:26disrupteki guess you could technically cheat if you wanted to be crazy.
22:17:36disruptekthat's the kinda shit that i love you can do in nim.
22:17:47disruptekyes, case object.
22:18:31FromDiscord<clyybber> nice
22:18:47disrupteksee gittyup for how i use them.
22:19:09*solitudesf quit (Ping timeout: 272 seconds)
22:19:49deependhowcome Natural isn't covered in the language manual?
22:20:28lqdev[m]deepend: because Natural is an stdlib type
22:20:46lqdev[m]we shouldn't pollute the language manual with things from the standard library
22:20:55*marmotini_ quit (Remote host closed the connection)
22:20:59deependhmmmm
22:21:12lqdev[m]and range types are covered here: https://nim-lang.org/docs/manual.html#types-subrange-types
22:21:27*marmotini_ joined #nim
22:22:35deependso you don't consider system to be part of the language?
22:22:51disruptek~motd is Join a non-Nim project with the goal of exposing that community to Nim. Do it now!
22:22:52disbotmotd: 11Join a non-Nim project with the goal of exposing that community to Nim. Do it now!
22:26:15*marmotini_ quit (Ping timeout: 260 seconds)
22:27:58*Jesin quit (Quit: Leaving)
22:28:07*crem quit (Ping timeout: 240 seconds)
22:30:23*crem joined #nim
22:31:04lqdev[m]deepend: maybe I phrased that wrong, I meant core language
22:31:16lqdev[m]ie. syntax, semantics
22:31:43*Jesin joined #nim
22:32:13deependit's just a bit confusing
22:32:26disruptekyou know what i'm realizing?
22:32:28deependand makes grepping for answers more difficult as a noob
22:32:52disruptekwe need to birth these projects and cut the fucking cord.
22:33:11disruptekyou get the thing to 1.0, or whatever that is, and you just walk away.
22:33:24disruptekif others pick it up, it lives. else, it's only weighing you down.
22:33:43disruptekno point in supporting tons of software that only one person uses.
22:34:53disrupteki really think that would improve the rate of innovation.
22:35:14disruptekwhat we want is rapid prototyping and shedding of bad patterns.
22:35:57disruptekwe should be iterating like crazy on this stuff.
22:40:18FromDiscord<Elegant Beef> @clyybber got any vulkan tutorials? ๐Ÿ˜„
22:40:38FromDiscord<clyybber> @Elegant Beef made by me?
22:40:39FromDiscord<clyybber> nah
22:40:45FromDiscord<Elegant Beef> nah i just mean in general
22:40:58FromDiscord<clyybber> SashaWillems
22:41:00FromDiscord<Elegant Beef> im looking at one right now that is 100% written english with 0 code
22:41:10FromDiscord<clyybber> lol
22:41:10*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzzโ€ฆ)
22:41:26FromDiscord<clyybber> theres also vulkan-tutorial.com
22:41:31FromDiscord<clyybber> I think its called that
22:41:36FromDiscord<Elegant Beef> That's the one i was talking about
22:41:41FromDiscord<clyybber> ah, it has code
22:41:50FromDiscord<clyybber> its at the bottom
22:42:25FromDiscord<clyybber> what is kinda hard to grok with vulkan is how the components really related
22:42:29FromDiscord<clyybber> *relate
22:42:42FromDiscord<clyybber> so I suggest googling vulkan API diagram
22:42:44FromDiscord<clyybber> or something like that
22:42:46FromDiscord<Elegant Beef> oh it's on another page ๐Ÿ˜„
22:42:58FromDiscord<clyybber> and hanging it on your wall while looking at tutorials
22:43:41FromDiscord<Elegant Beef> Well i mean i know a majority of the shader stuff already
22:43:55FromDiscord<Elegant Beef> Well probably all of the principle of shaders
22:46:39*krux02 quit (Remote host closed the connection)
22:47:22*krux02_ quit (Remote host closed the connection)
22:47:33FromDiscord<Elegant Beef> The big issue is nim to C++ calls i think
22:47:37FromDiscord<clyybber> yeah, I'm not really talking about shaders
22:47:40FromDiscord<Elegant Beef> i know
22:47:43FromDiscord<clyybber> @Elegant Beef Not at all
22:47:47FromDiscord<clyybber> vulkan has a C api
22:47:51FromDiscord<clyybber> and I made a wrapper
22:47:58FromDiscord<Elegant Beef> same shit for me ๐Ÿ˜„
22:48:02FromDiscord<clyybber> https://github.com/Clyybber/vulkanim
22:48:10FromDiscord<clyybber> no need to touch C
22:48:27FromDiscord<Elegant Beef> i meant the names dont align always
22:48:31FromDiscord<Elegant Beef> Or types dont make sense
22:48:38FromDiscord<Elegant Beef> Atleast when i was using opengl
22:48:38FromDiscord<clyybber> Yeah, its just delete underscore
22:49:00FromDiscord<Elegant Beef> OGL has some weird shit
22:49:07FromDiscord<Elegant Beef> like colour3B using signed bytes
22:49:10FromDiscord<Elegant Beef> like tf ๐Ÿ˜„
22:49:13FromDiscord<clyybber> yeah
22:49:33FromDiscord<clyybber> good thing it dies
22:49:47FromDiscord<Elegant Beef> indeed
22:49:49disruptekyay, krux02 fixed me.
22:50:00FromDiscord<Elegant Beef> Oh no distuptek jrs.?
22:50:01FromDiscord<Elegant Beef> Nice
22:50:05FromDiscord<Elegant Beef> ๐Ÿ˜›
22:50:24FromDiscord<Elegant Beef> @clyybber how dare you not make that a nimble package
22:50:27FromDiscord<Elegant Beef> 0/10
22:50:34FromDiscord<clyybber> ah
22:50:39disruptekhah, i still beat you.
22:50:42FromDiscord<clyybber> prolly cauze I don't use nimble heh
22:50:53FromDiscord<clyybber> disruptek: Nope
22:50:57FromDiscord<Elegant Beef> what you just wget everything?
22:51:05FromDiscord<clyybber> git submodules
22:51:09FromDiscord<clyybber> the past is the future
22:51:09FromDiscord<Elegant Beef> ah
22:51:20disruptekeverything old will be new again.
22:51:21FromDiscord<Elegant Beef> idk man packages are cleaner
22:51:39FromDiscord<clyybber> I think exactly the other way around
22:51:40FromDiscord<clyybber> lol
22:51:40disruptekelegant: you use nimph?
22:51:49FromDiscord<clyybber> but yeah I should probably publish it on nimble
22:51:52FromDiscord<Elegant Beef> Nope i dont
22:51:59FromDiscord<Elegant Beef> i dont even know what nimph is
22:52:08FromDiscord<clyybber> disrupteks pkg manager for nim
22:52:19disruptekhmm, it's like the radio ads aren't working.
22:52:27disruptekmight need to go back to paper mailers.
22:52:33FromDiscord<Elegant Beef> what's a radio?
22:52:33FromDiscord<clyybber> disbot enable ad broadcast
22:52:39FromDiscord<clyybber> what are frogs?
22:52:40FromDiscord<Elegant Beef> Is that something you old people used?
22:52:49FromDiscord<clyybber> HEY!
22:52:58FromDiscord<clyybber> no no no you cannot joke about that
22:52:59disruptekit was popularized by the phonograph.
22:53:29FromDiscord<clyybber> its still amazing what you discover with RTLSDR
22:54:37FromDiscord<Elegant Beef> Yea im too small brain to setup vulkan
22:54:52FromDiscord<Elegant Beef> Reading is tedious
22:55:02FromDiscord<Elegant Beef> I prefer ramming my head against the wall until something sticks
22:55:12disruptekto the wall?
22:55:32FromDiscord<Elegant Beef> Or to my now mishapened head
22:56:19FromDiscord<clyybber> bgfx calls for you I guess
22:56:36FromDiscord<Elegant Beef> Probably
22:56:41FromDiscord<clyybber> or rapid
22:56:56FromDiscord<clyybber> which is a game engine
22:56:58FromDiscord<clyybber> by lqdev
22:58:15FromDiscord<Elegant Beef> Eh rapid only has ogl
22:58:34lqdev[m]I don't plan on supporting anything else
22:58:40lqdev[m]for the time being
22:58:43FromDiscord<Elegant Beef> Lies i see webgl!
22:58:51lqdev[m]ah, webgl
22:59:22lqdev[m]that might come at some point. I'd need to create a robust high-level OpenGL wrapper first, though
22:59:54FromDiscord<Elegant Beef> The big issue with me not using vk or ogl directory is im not going to learn graphics programming, but im very uninterested in reading these walls of text, so im not going to learn graphics programming ๐Ÿ˜„
23:00:26FromDiscord<Elegant Beef> directly*
23:01:41disruptekwhat?
23:02:35FromDiscord<Elegant Beef> That's about as nonsensical as it was written
23:02:57disruptekin that case, it's clear as mud.
23:03:25FromDiscord<exelotl> I've been using three.js at work and it's nice, would be cool if Nim had something like that
23:04:01FromDiscord<Elegant Beef> couldnt you use nim to talk to the threejs library?>
23:04:02FromDiscord<Elegant Beef> couldnt you use nim to talk to the threejs library?
23:04:49FromDiscord<exelotl> oh yeah but you'd have to write a full set of bindings and keep them up to date
23:05:07FromDiscord<Elegant Beef> Easier then making a threejs duplicate ๐Ÿ˜„
23:05:32FromDiscord<exelotl> maybe there could be something like c2nim but for typescript definitions
23:05:43FromDiscord<exelotl> that would make JS bindings a breeze
23:06:35*sammich quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
23:07:12FromDiscord<exelotl> but also I was thinking something for the desktop primarily
23:08:09*sammich joined #nim
23:20:37*ng0 quit (Quit: leaving)
23:25:07FromDiscord<clyybber> disruptek: Did you port generic_128?
23:25:29disruptekno, and i'm not sure i even finished it, honestly.
23:25:48disruptekdealing with a nigel thing.
23:26:32*NimBot joined #nim
23:33:42FromDiscord<clyybber> disruptek: agressive approval lol
23:34:25FromDiscord<clyybber> lemme join you just for funzies
23:34:50disruptekwut
23:35:00FromDiscord<clyybber> the int128 pr
23:35:56disruptekyeah, well, i'm not sure what we're waiting for.
23:54:34*luis__ quit (Quit: luis__)
23:55:01*luis__ joined #nim
23:59:33*luis__ quit (Client Quit)