<< 12-11-2021 >>

00:01:34FromDiscord<impbox [ftsf]> oohh, WCHARs not chars
00:01:57FromDiscord<Elegantbeef> Ah yes Whiney Chars
00:04:40FromDiscord<impbox [ftsf]> ooh i created broken code
00:04:57FromDiscord<impbox [ftsf]> sent a code paste, see https://play.nim-lang.org/#ix=3EKa
00:05:01FromDiscord<impbox [ftsf]> ` var name: string = $(cast[wstring](caps.szPname[0].addr))`
00:16:33FromDiscord<Yardanico> wait what are you trying to do
00:16:51FromDiscord<leorize> that's a codegen bug for sure
00:16:54FromDiscord<Yardanico> convert a utf-16 string to utf-8?
00:17:01FromDiscord<leorize> can you open an issue for it?
00:17:09FromDiscord<impbox [ftsf]> i'm trying to turn an array[WCHAR] -> string
00:17:27FromDiscord<impbox [ftsf]> @leorize sure
00:48:26FromDiscord<federico3> any way to convert an integer to pairs of hex bytes with toHex?
00:53:12FromDiscord<RattleyCooper> In reply to @federico3 "any way to convert": Like take a slice of bits?
00:53:41FromDiscord<RattleyCooper> or just get multiple hex values?
00:55:22FromDiscord<RattleyCooper> What is your input and what is your expected output?
00:56:32FromDiscord<Daniel M. Jaén> Any packets for HTTP requests?
00:57:23FromDiscord<Elegantbeef> You mean packages?
00:57:23FromDiscord<Yardanico> In reply to @Daniel M. Jaén "Any packets for HTTP": httpclient in stdlib
00:57:54FromDiscord<Daniel M. Jaén> In reply to @Elegantbeef "You mean packages?": Yes
00:57:57FromDiscord<Daniel M. Jaén> In reply to @Yardanico "httpclient in stdlib": ok
01:02:26FromDiscord<Elegantbeef> [Zoom](https://matrix.to/#/@Zoom:matrix.org)\: got any more ideas for iterators?
01:07:29FromDiscord<evoalg> Elegantbeef ... day15 of the 2020 AOC is a good one in that part1 is easy, but in part2 it was running exactly the same thing but to many more loops, and it ran & ran and wouldn't finish.↵(I left it running overnight and it still didn't finish).↵I looked up reddit for help and turns out the correct technique for part2 is to make the part1 code more efficient! ... eg by using a cache (memoization).↵I did a cache with tables and it f
01:07:54FromDiscord<Elegantbeef> https://github.com/beef331/kashae 😛
01:08:39FromDiscord<evoalg> oh!
01:14:15FromDiscord<evoalg> "when you want to clear the cache based off some conditional like if the sun is in your eyes" <-- lol
01:21:54FromDiscord<Elegantbeef> Well there we go slicerator is now the proper name and it now has `forMitems` 😀
01:24:24FromDiscord<Elegantbeef> I do wonder if i did that day
01:25:29FromDiscord<evoalg> Nice!
01:25:40FromDiscord<Elegantbeef> Hmm i did it but only have the first solution stored
01:26:21FromDiscord<evoalg> oh day15 - oh ok!
01:26:44FromDiscord<evoalg> part2 is exactly that same but more loops
01:27:21FromDiscord<evoalg> loop to 30000000 instead of 2020 😉
01:30:24FromDiscord<Elegantbeef> Ah yea my first pass was fine enough performance wise
01:31:12FromDiscord<Elegantbeef> Explains why I didnt have the second solution
01:31:56FromDiscord<evoalg> hehe I wouldn't imagine anything less from you ... you just don't do quick & dirty 😉
01:32:04FromDiscord<Elegantbeef> Though i designed it oddly given i didnt know the next step, and generally they're compounded https://play.nim-lang.org/#ix=3EKm
01:32:09FromDiscord<Elegantbeef> I mean it's pretty messy
01:34:32FromDiscord<evoalg> ahhh so kashae wouldn't help because you're using a table which is like a lookup cache anyway?
01:35:03FromDiscord<Elegantbeef> Yea i designed it in such a way that i already used a cache
01:35:21FromDiscord<Elegantbeef> Did kashae make your solution cleaner?
01:35:55FromDiscord<evoalg> I'm still playing with it ... I'm slow 😉 ... I'll let you know
01:44:13FromDiscord<Elegantbeef> What the readme didnt explain it?! But all that well written comedy
01:44:55FromDiscord<evoalg> Yep it was very good ... I'm just slow hehe 🙂
02:33:17FromDiscord<evoalg> In reply to @Elegantbeef "Did kashae make your": I tried it on a previous version but it didn't seem to do anything and I don't know what I'm doing. This my manual cache (non-kashae) version (that takes less than 4 secs to run): https://play.nim-lang.org/#ix=3EKv ... but I dunno where to start to make it use kashae (other than me actually using a proc someone for a change). Still, I'm actually proud of my code (even though I can't fold i
02:35:32FromDiscord<Elegantbeef> Yea i dont think you can use it here, i was assuming you had a recursive call causing the slow down
02:36:02FromDiscord<Elegantbeef> I suggest kashae before seeing the problem again
02:36:47FromDiscord<Elegantbeef> suggested\
02:36:53FromDiscord<evoalg> I'm very glad you suggested kashae ... and I have done recursion in some of my other AOC solutions!
02:37:56FromDiscord<evoalg> I guess I lead you down the wrong path when I mentioned memoization - sorry!
02:38:07FromDiscord<Elegantbeef> Lol it's fine 😀
02:38:31FromDiscord<evoalg> ... but now I know where to get me some good memoization
02:39:47FromDiscord<Elegantbeef> I dont know if it's good...
02:40:29FromDiscord<evoalg> from my perspective, it's magic
02:41:41FromDiscord<Elegantbeef> Yea macros give a lot of convoluted power
02:42:07*arkurious quit (Quit: Leaving)
02:42:10FromDiscord<evoalg> How are the dogs?
02:42:53FromDiscord<Elegantbeef> The one that got it's ear bit is normal, the other one is very skiddish/cautious
02:43:15FromDiscord<Elegantbeef> I think the one with the bit ear actually likes his cone a bit since it lets him nudge people more 😀
02:43:28FromDiscord<evoalg> lol
02:44:21FromDiscord<evoalg> I bet they're glad to be at home with you
02:47:43FromDiscord<Elegantbeef> Not exactly since I didnt take the one for a walk, he got really nudgey since he really wanted to go
02:49:43FromDiscord<Rika> Good morning
02:50:33FromDiscord<evoalg> morning Rika
02:50:38FromDiscord<Elegantbeef> Yellow rika
02:50:55FromDiscord<Rika> Oh god it’s you
02:52:02FromDiscord<Rika> Damn man why does everyone make 15 billion libraries
02:52:18FromDiscord<Elegantbeef> Who does?
02:53:11FromDiscord<Rika> You
02:53:32FromDiscord<Elegantbeef> I spose i have a few
02:56:57FromDiscord<Elegantbeef> But lets be honest no one uses any of them
02:57:26FromDiscord<Elegantbeef> Though i guess i know i have atleast 1 user of slicerator
02:57:34FromDiscord<Rika> Damn bro if no one uses yours who the fuck uses mine
02:58:39FromDiscord<Elegantbeef> Well no one ever makes issues on mine so i can only think no one uses them
02:58:54FromDiscord<Elegantbeef> I suppose the alternative is i make such flawless librarie
03:03:15FromDiscord<Rika> No way
03:29:38FromDiscord<dangbinghoo> sent a long message, see http://ix.io/3EKN
03:30:42FromDiscord<dangbinghoo> choosenim 0.8.2 won't work on Termux(android/arm64)
03:30:46FromDiscord<dangbinghoo> ~ $ choosenim --debug devel↵ Debug: Reporting to analytics...↵SIGSEGV: Illegal storage access. (Attempt to read from nil?)
03:30:55FromDiscord<Yardanico> can you compile it in debug mode and see what's the error?
03:31:06FromDiscord<Yardanico> you can install nim in termux itself with `pkg install nim`
03:31:28FromDiscord<dangbinghoo> I installed nim, nimble from Termux pkg
03:32:38FromDiscord<dangbinghoo> and then nimble install choosenim
03:32:47FromDiscord<Yardanico> what for?
03:33:07FromDiscord<Yardanico> i mean, if you want to get the devel nim and choosenim doesn't work, you can compile it manually
03:33:11FromDiscord<dangbinghoo> nimble sucessfully installed choosenim, but then running choosenim to update nim failed
03:33:43FromDiscord<Yardanico> well, also since you have nim installed from the pkg choosenim won't be able to update it, it'll install another copy
03:34:30FromDiscord<dangbinghoo> we I build choosenim using nimble when installing? I means pass debug flag to nimble?
03:34:45FromDiscord<dangbinghoo> (edit) "we" => "can"
03:35:28FromDiscord<dangbinghoo> (edit) "can I build choosenim using nimble when installing? I means pass debug flag to nimble? ... " added "and then nimble will build the debug version of choosenim"
03:36:15FromDiscord<Yardanico> I don't think you can do that with `nimble install`, you need to clone the choosenim repo and build in debug mode yourself
03:36:22FromDiscord<dangbinghoo> ok
03:54:13FromDiscord<dangbinghoo> sent a long message, see http://ix.io/3EKO
03:54:45FromDiscord<dangbinghoo> sent a long message, see http://ix.io/3EKP
03:54:47FromDiscord<Yardanico> pls don't paste next time like that :)
03:55:10FromDiscord<Yardanico> but basically, the issue seems like it can't verify the certificate, does your ISP replace SSL certificates or something?
03:55:18FromDiscord<dangbinghoo> 😀 ok, sorry
03:56:05FromDiscord<Yardanico> as it says, it tries to access `https://api.github.com/repos/nim-lang/nightlies/releases` but that fails because it can't verify the correctness of the SSL certificate
03:56:08FromDiscord<Yardanico> ah, right, you can try one more thing
03:56:14FromDiscord<dangbinghoo> im using proxy in china
03:56:26FromDiscord<Yardanico> try to see if you have `ca-certificates` package installed
03:57:40FromDiscord<Yardanico> In reply to @dangbinghoo "im using proxy in": yeah, if a proxy changes SSL certificates the only way to fix this issue is to compile choosenim with `-d:nimDisableCertificateValidation`, but just be aware that this is potentially unsafe and anyone can MITM you
03:58:00FromDiscord<dangbinghoo> Reading state information... Done↵ca-certificates is already the newest version (1:2021-10-26-0).↵0 upgraded, 0 newly installed,
03:58:19FromDiscord<Yardanico> then the only way is to compile choosenim with the flag I've shown above
03:58:42FromDiscord<dangbinghoo> ok , i will try
04:04:21FromDiscord<evoalg> if I have two ints say 2 and 5, and I want to see if 3 is in the range 2..5 then I can do `if 3 in {2..5}` <-- that's the way should do it, right?
04:04:49FromDiscord<Rika> No need for the {} afaik
04:04:54FromDiscord<Yardanico> yeah, as @Rika said
04:05:01FromDiscord<Yardanico> {} is the syntax for sets, you don't need them here
04:05:03FromDiscord<Rika> !eval echo 3 in 2..5
04:05:06NimBottrue
04:05:22FromDiscord<evoalg> oh! thank you!
04:06:01*supakeen quit (Quit: WeeChat 3.3)
04:06:25FromDiscord<Yardanico> basically `..` https://nim-lang.org/docs/system.html#..%2CsinkT%2CsinkU creates a HSlice, and then `contains` is called https://nim-lang.org/docs/system.html#contains%2CHSlice%5BU%2CV%5D%2CW
04:06:30FromDiscord<Rika> Technically more efficient as well
04:06:31*supakeen joined #nim
04:06:35FromDiscord<Yardanico> that too
04:11:05FromDiscord<Elegantbeef> `..` is a fun operator depending on context 😀
04:11:13FromDiscord<evoalg> it creates the seq / array that takes up memory right? It doesn't do it by iterator?
04:11:41FromDiscord<Elegantbeef> What do you mean?
04:11:49FromDiscord<Yardanico> @evoalg sets are not seqs/arrays
04:11:55FromDiscord<Yardanico> they are value types, so it's not really that bad
04:12:29FromDiscord<Yardanico> and if you mean `..`, it's treated differently if it's inside a set
04:12:35FromDiscord<evoalg> the `..` I mean, it creates something that then contains calls?
04:13:20FromDiscord<Elegantbeef> The compiler handles it and knows what it means
04:13:49FromDiscord<Yardanico> yeah, @evoalg `..` in sets is treated by the compiler and it can only have constant values anyway, so it's doesn't do any "calls" at runtime
04:13:49FromDiscord<evoalg> so if I do `if 3000 in 1..300000000` then does it create an openarray and then loops to check?
04:13:55FromDiscord<Yardanico> no
04:14:06FromDiscord<Elegantbeef> `..` makes a slice which is a `a` and `b` value
04:14:27FromDiscord<Yardanico> this is without sets, so `..` just creates an HSlice and `in` checks if `3000` is >= 1 and <= 300000000
04:14:32FromDiscord<Yardanico> just don't worry about it :)
04:14:33FromDiscord<Elegantbeef> `3000 in 1..30000000` is shorthand for `3000 >= 1 and 3000 <= 30000000`
04:14:40FromDiscord<evoalg> oh nice!
04:14:48FromDiscord<dangbinghoo> In reply to @Yardanico "yeah, if a proxy": thank you, this works!
04:14:59FromDiscord<evoalg> thank you all for your help!
04:15:23FromDiscord<Elegantbeef> In most cases `..` creates a slice which just an object with `a` and `b` fields
04:15:38FromDiscord<Elegantbeef> There are some cases that's not true
04:16:06FromDiscord<Elegantbeef> `var a: 2..5` for instance is just an integer that can only have `2, 3, 4, 5` as values else it errors
04:16:33FromDiscord<Elegantbeef> But that's a shorthand for `range[2..5]`
04:16:53FromDiscord<evoalg> ohhhh
04:16:58FromDiscord<Yardanico> yeah, it's in https://github.com/nim-lang/Nim/wiki/Lesser-known-Nim-features (feel free to add more stuff here btw)
04:17:04FromDiscord<Elegantbeef> https://nim-lang.org/docs/manual.html#types-subrange-types if you ever really want to fall asleep
04:17:11FromDiscord<Yardanico> XD
04:17:19FromDiscord<evoalg> hehe
04:17:47FromDiscord<Elegantbeef> I personally really love subrange types but system lacking a `contains` procedure for them makes me sad
04:18:33FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=3EKT
04:18:54FromDiscord<evoalg> sets are different you say, so does `1..3000000` fill out the set with values?
04:19:18FromDiscord<Elegantbeef> Yes but Nim's bitsets are liimited to 65k values
04:19:22FromDiscord<Yardanico> exactly, so it won't compile
04:19:31FromDiscord<evoalg> ahhhhh ok
04:19:38FromDiscord<Yardanico> https://nim-lang.org/docs/manual.html#types-set-type
04:19:42FromDiscord<Elegantbeef> So `yourSet.high - yourSet.low <= uint16.high`
04:19:59FromDiscord<evoalg> ok thanks ... I'll do some reading
04:20:23FromDiscord<Elegantbeef> If i keep mentioning stuff you'll have to read more 😀
04:20:58FromDiscord<Elegantbeef> Inside a set constructor`2..5` is just shorthand for `{2, 3, 4, 5}`
04:21:29FromDiscord<Elegantbeef> Nim's sets are very nice and i wish more languages adopted wirth style sets
04:23:17FromDiscord<Elegantbeef> Dont you dare tell me to manually bitwise or values together!
04:24:09FromDiscord<Yardanico> btw @evoalg, sadly discord reactions don't propagate to matrix :)
04:24:29FromDiscord<Yardanico> so beef won't see your reactions on his messages
04:24:45FromDiscord<Elegantbeef> It's ok i know evo thinks they're top quality
04:25:41FromDiscord<evoalg> oh all this time my love hearts were going unnoticed
04:35:07*kayabaNerve_ joined #nim
04:37:17FromDiscord<Rika> Bitsets are nice
04:37:46FromDiscord<Rika> Especially with enums
04:43:51*kayabaNerve quit (*.net *.split)
04:43:51*rb quit (*.net *.split)
04:48:24*rb joined #nim
05:21:23*rockcavera quit (Remote host closed the connection)
05:43:07FromDiscord<dangbinghoo> hi choosenim is just for install/switching x86 arch. ?
05:45:04FromDiscord<dangbinghoo> I compiled a arm64 choosenim in termux for aarch64, and it's successfully installing nim 1.6 or current devel 1.7.1, only it's just grab tarball and extracted to home path.
05:46:04FromDiscord<Elegantbeef> That's what it does
05:46:04FromDiscord<dangbinghoo> and using `file` to check the nim executable shows `/data/data/com.termux/files/home/.choosenim/toolchains/nim-1.6.0/bin/nim: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, with debug_info, not stripped`
05:46:24FromDiscord<Elegantbeef> Unless you select a specific commit it'll get a nightly for devel, or the given version
05:46:49FromDiscord<dangbinghoo> ahh, I think it would grab the source and build one for current target
05:51:59*kayabaNerve_ quit (Ping timeout: 264 seconds)
06:04:26*kayabaNerve joined #nim
06:36:36*GreaseMonkey quit (Remote host closed the connection)
06:46:48FromDiscord<leorize> @dangbinghoo\: nightlies has arm binaries\: https://github.com/nim-lang/nightlies/releases/tag/latest-devel
06:47:29*Jjp137 quit (Quit: Leaving)
06:47:37*Jjp137 joined #nim
07:21:04FromDiscord<dangbinghoo> In reply to @leorize "<@737477820288204881>\: nightlies has arm": thx
07:37:05NimEventerNew thread by Elcritch: Treat memory allocation as effect?, see https://forum.nim-lang.org/t/8613
08:06:11*PMunch joined #nim
08:10:36*pro joined #nim
08:22:09FromDiscord<dangbinghoo> using `choosenim devel --latest` can build the latest nim for termux
09:05:08FromDiscord<brentp> I send a `pointer` to a c function that allocates memory. can I use `dealloc` to free that or must I use `free` ?
09:05:58FromDiscord<Rika> Use neither; figure out which free function (from the same library) to use
09:06:51FromDiscord<brentp> it's a `void `, not a struct with a destroy-like function
09:09:14PMunchYou should use free
09:09:28PMunchDealloc is intended for use with one of Nims alloc procedures
09:09:50FromDiscord<brentp> In reply to @PMunch "You should use free": cheers
09:10:14PMunchThe difference is that the default Nim GC allocates a pool of memory I believe, and the allocs end up in that pool afaik, so freeing them needs a bit of special logic.
09:18:18FromDiscord<Rika> You do not know what allocator the C function used is why I said not to use either
09:18:37FromDiscord<Rika> If this is a library, usually there is an accompanying free function
09:19:00FromDiscord<Rika> If this is a C standard library function then okay free will work
09:47:16FromDiscord<tandy> how do i update nimble?
09:47:31FromDiscord<tandy> choosenim update devel didnt seem to do it
09:48:58FromDiscord<Rika> 0.14 is not stable
09:49:09FromDiscord<tandy> hmm
09:49:19FromDiscord<tandy> i want semver deps \:)
09:58:29FromDiscord<Rika> Nimble install nimble
09:59:18FromDiscord<Rika> You will have to clear your cache and package folder, and also all “develop”ed packages will not be registered properly afaik
10:01:28FromDiscord<tandy> hmm il wait i forgot about that mess lol
10:02:22FromDiscord<Rika> Maybe look into the other package managers Nim has
10:13:46FromDiscord<Solitude> or just dont update nimble
10:26:34FromDiscord<Rika> Yeah honestly I don’t think I’ll ever update nimble unless it doesn’t break anything in my packages folder
10:26:40FromDiscord<Rika> Or it migrates smoothly
10:31:22*Vladar joined #nim
11:01:12FromDiscord<Zoom> sent a long message, see http://ix.io/3ELX
11:03:23PMunchYay.. I'm getting GC-crashes in my multi-threaded, async, dynamic library embedded code..
11:04:02*Vladar quit (Quit: Leaving)
11:16:56supakeensurprised pikachu
11:17:27PMunchIt normally works pretty well :P
11:17:31PMunchSurprisingly enough
11:32:13FromDiscord<evoalg> In reply to @Zoom "Not exactly. The main": Thank you!
12:03:39NimEventerNew thread by Lpirl: How to hide FFI details from implementations of a (C FFI) interface?, see https://forum.nim-lang.org/t/8614
12:06:02*supakeen quit (Quit: WeeChat 3.3)
12:06:32*supakeen joined #nim
12:07:46FromDiscord<brentp> with default GC and `-d:useGcAssert`, I get: `[GCASSERT] markS: foreign heap root detected B!Traceback (most recent call last)` (and lot's of problems with variables that are related to this).↵but when changing to --gc:orc, the problems go away and there's no error from GCASSERT. Does that check still work with --gc:orc?
12:10:35*nixfreaknim[m] quit (Quit: Bridge terminating on SIGTERM)
12:10:43*happycorsair[m] quit (Quit: Bridge terminating on SIGTERM)
12:15:45FromDiscord<dom96> not sure but you can check by grepping for that define in Nim source code
12:28:38*happycorsair[m] joined #nim
12:39:40FromDiscord<brentp> In reply to @dom96 "not sure but you": well, it seems it was onto something. i was wrapping a C struct and my nim definition was not quite right so size was wrong.
12:39:41*nixfreaknim[m] joined #nim
12:45:37PMunch@brentp, may I interest you in Futhark?
12:45:56PMunchAutomatic wrapping of C code to avoid exactly that kind of situation
12:47:17FromDiscord<brentp> https://futhark-lang.org/docs.html looks pretty cool.
12:49:40PMunchNot that Futhark..
12:49:45NimEventerNew thread by V3ss0n: Readability problems, see https://forum.nim-lang.org/t/8615
12:49:54PMunchThis Futhark: https://github.com/PMunch/futhark
12:51:35FromDiscord<brentp> ah, that's better. indeed, I'll use that next time.
12:52:14*nixfreaknim[m] quit (Quit: Client limit exceeded: 20000)
12:52:41*nixfreaknim[m] joined #nim
13:03:06PMunchI recently switched to it for a work project, from a manual wrapping I made quite a while ago. Looking at the diff between the two wrappings it's a wonder that my hand-wrapped implementation didn't crash left, right, and centre.. It had apparently degraded as the versions of the underlying library moved on, and I only noticed when it crashed. Created Futhark to avoid that happening again, and it's worked flawlessly for pretty much every project I've thrown it
13:03:07PMunchat :)
13:27:05FromDiscord<brentp> In reply to @PMunch "I recently switched to": and does it handle C structs with bitfields?
13:30:50*sagax quit (Quit: Konversation terminated!)
13:38:16FromDiscord<logo> In reply to @brentp "https://futhark-lang.org/docs.html looks pretty coo": That is kinda cool tho
13:48:52PMunch@brentp, ah bitfields is one of the few things it doesn't yet support
13:49:03PMunchShould be easy enough to add though
13:49:45PMunchAnd it's built in such a way that you can override specific types without manual interference
13:56:05*dtomato joined #nim
13:56:08FromDiscord<brentp> @PMunch , I'll keep an eye on it.
13:58:43FromDiscord<hmmm> yo bois how do I prepend stuff to a seq?
13:59:35FromDiscord<hmmm> from @[1,2,3] to @[0,1,2,3]
13:59:55FromDiscord<hmmm> I mean not manually but with a some comfy one world thingy from library
14:00:18FromDiscord<hmmm> word
14:02:15FromDiscord<Rika> `0 & @[1,2,3]`?
14:02:22FromDiscord<Rika> no its not fast
14:02:24FromDiscord<Rika> no its not efficient
14:02:47FromDiscord<Rika> do you want it out of place or inplace? the one i sent is out of place (returns new value)
14:02:59FromDiscord<Rika> inplace is "modifies original variable"
14:03:07FromDiscord<hmmm> apparently there is a comfy thingy.insert(0,0)
14:03:13FromDiscord<Rika> naturally inplace does less memory allocation but it will still be slow
14:03:17FromDiscord<Rika> yes that is inplace
14:03:21FromDiscord<Rika> still slow tho
14:03:43FromDiscord<hmmm> hmm slow is fine
14:03:53FromDiscord<Rika> ok /hm+/
14:04:03FromDiscord<hmmm> 😃
14:06:16FromDiscord<hmmm> what would be the fast way just for cultural enrichment? 🤔
14:06:30*arkurious joined #nim
14:06:59PMunchThere really isn't a fast way to do it
14:07:18PMunchIt needs to reallocate the entire seq and copy the memory one element over
14:07:22FromDiscord<Rika> no
14:07:26FromDiscord<Rika> the fast way is to not do it
14:07:42PMunchOr maybe not reallocate if it has leftover capacity in the seq, but still copy everything one element over
14:07:45FromDiscord<Rika> or use a type that has O(1) prepend
14:07:53FromDiscord<Rika> sorry
14:07:57FromDiscord<Rika> constant-time prepend
14:08:07PMunchOr, if you're just prepending, turn the seq around
14:08:07FromDiscord<Rika> like idk a linked list perhaps?
14:08:12FromDiscord<Rika> of course theres an issue there
14:08:18FromDiscord<Rika> (edit) "an issue" => "a few other issues"
14:09:06*rockcavera joined #nim
14:09:07*rockcavera quit (Changing host)
14:09:07*rockcavera joined #nim
14:10:29FromDiscord<hmmm> i see, i didn't think about turning it around, don't know if it would work in my case tho
14:10:50PMunchWhy wouldn't it work?
14:11:39FromDiscord<hmmm> Hmm I'm still wrapping my small head around it, whats the command to flip it around so I can try it in the wild
14:12:04FromDiscord<Rika> you could theoretically make a datatype "doublesided seq" that acts like a regular seq but puts the first element in the middle of the buffer instead of the start (this way you can expand both ways) but there are many downsides to doing this
14:12:08FromDiscord<Rika> reversed
14:12:11FromDiscord<Rika> (edit) "reversed" => "`reversed`"
14:12:18FromDiscord<Rika> or `reverse` (inplace
14:15:16PMunch@hmmm, no simple way of doing it. You need to do it yourself
14:17:27PMunchI guess you could make a distinct type though
14:17:36FromDiscord<konsumlamm> or just use a deque (from `std/deques`)
14:17:49FromDiscord<konsumlamm> if you need append on both sides
14:23:54FromDiscord<Rika> oh yeah thats true
14:24:01FromDiscord<Rika> i forgot that existed
14:25:08FromDiscord<hmmm> I mean logically speaking if I flip it around and append and reflip back is not the same amount of work or greater than copying each element over?
14:29:31PMunchWell of course
14:30:10PMunchI mean rewriting your entire program logic so that you always iterate over the sequence back to front and then you can add new elements to the back instead of prepending
14:32:10FromDiscord<hmmm> oh
14:32:21FromDiscord<hmmm> ooooh
14:32:43PMunchThat would make appending expensive and prepending cheap
14:32:47FromDiscord<hmmm> yea but it wouldnt work I still need to append on the other side
14:33:07PMunchAh right, then you're probably better off with a deque or a linked list
14:33:21FromDiscord<hmmm> I need to append (a lot) and prepend very rarely
14:33:37PMunchDefine "a lot"
14:33:56PMunchIf you sequences are fairly short you probably don't have to worry about the penalty of the insert anyways
14:33:58FromDiscord<hmmm> for loops
14:34:48*pro quit (Quit: WeeChat 3.3)
14:35:03FromDiscord<hmmm> yeye I've already used insert, it was just curiosity
14:35:23FromDiscord<hmmm> the flipping the entire program around was very instructive lok
14:35:26FromDiscord<hmmm> lol
14:36:05FromDiscord<Rika> just move to australia and program there
14:36:09FromDiscord<Rika> easy now your program is flipped
14:36:14FromDiscord<hmmm> I might move to japan
14:36:38FromDiscord<hmmm> a) very kind people b) good food c) modern cities that are clean
14:36:53FromDiscord<Rika> oh youre serious
14:36:56PMunchHaha :P
14:37:01FromDiscord<Rika> i was thinking why you mentioned that
14:37:05FromDiscord<hmmm> the problem is the language, your runes are worse than c++
14:37:41FromDiscord<Rika> いやいや、わかりやすいよ
14:37:45FromDiscord<hmmm> jesus
14:37:52PMunchYou could always move to Norway, doesn't really have any of the benefits you listed, but it's a pretty nice place
14:38:08FromDiscord<Rika> im joking real japanese people dont scold me my japanese not good me N4
14:39:06PMunchWell, depends on how you look at it. Most people are nice, but not very social. Our native food is pretty much all just about survival, so we mostly eat other peoples food, and are pretty good at it. Our cities aren't modern and clean though, but they're also not jam-packed with people *shrugs*
14:39:29FromDiscord<Rika> i live in rural japan
14:39:31FromDiscord<Rika> its pretty uh
14:39:33FromDiscord<Rika> empty
14:39:35FromDiscord<Rika> here
14:39:44FromDiscord<hmmm> dude you forgot it's cold as hell there
14:39:47FromDiscord<Rika> people are not very social in japan as well
14:40:09FromDiscord<Rika> its not as cold here but you need to be aware that it gets hot when its summer
14:40:27FromDiscord<Rika> if you're not used to tropics heat then you might not survive
14:40:50FromDiscord<hmmm> nono when I said cold I was talking norway
14:41:01FromDiscord<Rika> i know
14:41:05FromDiscord<Rika> read what i said here
14:41:09FromDiscord<Rika> again
14:41:09FromDiscord<hmmm> japan climate is perfect and you have sakura on top and it makes it purrfect
14:41:11FromDiscord<Rika> why did i say here
14:41:27FromDiscord<Rika> `its not as cold here` -> not as cold here compared to norway
14:41:49FromDiscord<hmmm> dude did you just flip around your own sentence?
14:41:50FromDiscord<Rika> In reply to @hmmm "japan climate is perfect": really? you sure? you're fine with 35~+ C summers?
14:41:57FromDiscord<hmmm> you used reverse or reversed? :3
14:42:40PMunchIt's not that cold here
14:42:49FromDiscord<Rika> says the native
14:42:59PMunchI mean today it's even positive degrees out
14:43:12FromDiscord<hmmm> oh and aside from language japan is also expensive like hell, that's another thing to consider for my retirement plans
14:43:19FromDiscord<Rika> well
14:43:20FromDiscord<Rika> uh
14:43:21FromDiscord<Rika> yeah
14:43:30PMunchWell.. Can't really compete there..
14:43:39PMunchNorway is one of the most expensive places to live
14:43:45FromDiscord<Rika> lol
14:43:46FromDiscord<hmmm> really?
14:43:49PMunchMhm
14:44:22FromDiscord<hmmm> maybe because you are like the arabs of europe, sell a lot of gas and everyone is rich
14:44:30PMunchSome things more than others of course
14:44:52PMunchAlcohol is super expensive. But in comparison to our salaries electronics is pretty cheap
14:52:04PMunchIs there a way to make a dirty proc? Ie. a procedure that acts like a template in that it can access outside symbols, but which just gets rewritten into a procedure call instead of duplicating the code?
14:52:14FromDiscord<dom96> nope
14:52:18PMunchMore out of curiosity than anything
14:52:21PMunchAha
14:55:49*federico3_ left #nim (https://quassel-irc.org - Chat comfortably. Anywhere.)
14:58:09FromDiscord<retkid> didn't know Rika was japanese
14:58:12FromDiscord<retkid> anyway
14:58:27FromDiscord<retkid> just me or htmlparser and xmlnodes pretty lightweight?
14:58:34FromDiscord<retkid> I want to search by classes and containers
15:05:40FromDiscord<Rika> i am not
15:06:54FromDiscord<Recruit_main707> you were from Filipinas werent you?
15:08:45FromDiscord<Rika> yes
15:10:32*xet7 quit (Remote host closed the connection)
15:11:41*xet7 joined #nim
15:14:14*PMunch quit (Quit: leaving)
15:44:54*tiorock joined #nim
15:44:55*tiorock quit (Changing host)
15:44:55*tiorock joined #nim
15:44:55*rockcavera is now known as Guest9828
15:44:55*Guest9828 quit (Killed (calcium.libera.chat (Nickname regained by services)))
15:44:55*tiorock is now known as rockcavera
15:56:44FromDiscord<hmmm> munchie should I roll my sublimetext with the old nimline or use it combined with your nimlsp?
15:57:33FromDiscord<hmmm> do not try to sell me vscode I'm not buying 🧐
16:39:50FromDiscord<Rika> Vscode
16:39:54FromDiscord<Rika> Do it or suffer
17:14:16FromDiscord<treeform> Does any one know how to select {} vs [] using polymorphism? https://gist.github.com/treeform/1f652bbaa55623c2c23bcc12f7d94655
17:14:50FromDiscord<treeform> how do I grab the curly array?
17:18:03FromDiscord<treeform> hmm https://nim-lang.org/docs/manual.html#statements-and-expressions-table-constructor
17:19:27FromDiscord<konsumlamm> yeah, it's just sugar for arrays of tuples, they're not separate types
17:19:52FromDiscord<konsumlamm> ig you could make a macro that parses the input
17:24:43FromDiscord<treeform> can I do that with generics?
17:25:14FromDiscord<treeform> sent a code paste, see https://play.nim-lang.org/#ix=3ENJ
17:28:24FromDiscord<konsumlamm> how would you separate `[(1, 2), (3, 4)]` and `{1: 2, 3: 4}`? they're exactly the same, except for syntax
17:28:26FromDiscord<treeform> sent a code paste, see https://play.nim-lang.org/#ix=3ENK
17:28:33FromDiscord<treeform> (edit) "https://play.nim-lang.org/#ix=3ENK" => "https://play.nim-lang.org/#ix=3ENL"
17:28:43FromDiscord<treeform> I don't need to separate that
17:28:46FromDiscord<treeform> only when keys are strings
17:29:04FromDiscord<treeform> this is fine to be the same: [("1", 2), ("3", 4)] and {"1": 2, "3": 4}
17:30:04FromDiscord<geekrelief> In reply to @treeform "can I do that": https://play.nim-lang.org/#ix=3ENM
17:30:06FromDiscord<konsumlamm> well, i'd report an issue for the compiler crash first of all
17:30:07FromDiscord<geekrelief> does that work for you?
17:31:24FromDiscord<treeform> yes it does! Thank you.
17:31:32FromDiscord<konsumlamm> something like `T: not tuple` (or something more specific) should also work
17:33:45FromDiscord<treeform> @geekrelief I ended up going with: https://play.nim-lang.org/#ix=3ENO
17:33:52FromDiscord<treeform> for some reason the type t makes it work 🙂
17:33:58FromDiscord<geekrelief> yup
17:34:10FromDiscord<geekrelief> I couldn't get it to work without definying type t
17:34:16FromDiscord<geekrelief> (edit) "definying" => "defining"
17:34:48FromDiscord<geekrelief> I've run into something like this before with specifying complex types in a param list
17:35:48FromDiscord<konsumlamm> yeah, it's called a compiler bug
17:40:30FromDiscord<dom96> Anybody have any fun plans for this weekend? 🙂
17:40:52FromDiscord<Rika> fun as in
17:41:33FromDiscord<treeform> In reply to @dom96 "Anybody have any fun": I am flying to San Francisco
17:42:01FromDiscord<dom96> In reply to @Rika "fun as in": dunno, whatever you consider fun I guess
17:42:23FromDiscord<dom96> In reply to @treeform "I am flying to": nice, company conference?
17:42:27FromDiscord<dom96> (edit) "conference?" => "conference/meetup?"
17:42:37FromDiscord<treeform> both work and pleasure
17:42:39FromDiscord<Recruit_main707> In reply to @dom96 "Anybody have any fun": i finished my exams so my plans are, whatch f1, code if i feel like, nothingness
17:42:47FromDiscord<treeform> but weekend is all mine
17:42:54FromDiscord<Rika> looking into music production in my case
17:42:59FromDiscord<Rika> gotta boot into windows for that though
17:43:07FromDiscord<Rika> got some vsts that i cant run on linux
17:43:42FromDiscord<dom96> In reply to @Recruit_main707 "i finished my exams": Nice, hope they went well! F1 sounds fun, I keep wanting to watch it but don't want to pay Sky for the privilege
17:44:21FromDiscord<dom96> In reply to @Rika "looking into music production": got a soundcloud you wanna share? 😄
17:44:24FromDiscord<Recruit_main707> ~~there are some not very law friendly websites to see it~~
17:44:29FromDiscord<Rika> no, i havent started perse
17:44:33FromDiscord<Rika> still daw-swapping
17:44:54FromDiscord<Rika> looking for something that works for me, kinda like a programming language or text editor choice spiel
17:45:00FromDiscord<exelotl> Renoise is <3
17:45:06FromDiscord<Rika> yeah i was looking into that
17:45:25FromDiscord<Rika> my two narrowed down choices is renoise or digital performer
17:45:52FromDiscord<Rika> then i need to look into the infinite depths of music theory
17:46:08FromDiscord<dom96> In reply to @Recruit_main707 "~~there are some not": I've been trying to ~~find~~steer clear of some torrents but all my searches haven't turned up any
17:46:46FromDiscord<dom96> In reply to @Rika "looking for something that": wasn't there a pretty cool Nim-based tool for this, I recall something from NimConf
17:47:01FromDiscord<Recruit_main707> ahhh right, it was a dsl
17:47:03FromDiscord<Recruit_main707> iirc
17:47:08FromDiscord<Rika> whatsit
17:47:45FromDiscord<Recruit_main707> i have the idea that it ends in -ino or something like that but im not sure
17:47:57FromDiscord<Recruit_main707> could be completely wrong
17:48:29FromDiscord<Recruit_main707> Omni
17:49:13FromDiscord<Recruit_main707> i had my brain in big endian mode when trying to remember
17:49:52FromDiscord<Rika> inmo
17:50:02FromDiscord<dom96> this is what I'm thinking of: https://www.youtube.com/watch?v=cBqBfPRWla8&list=PLxLdEZg8DRwRXNrY7yyGU0-g_GRSyRGKo&index=12
17:50:07FromDiscord<Recruit_main707> ah
17:50:17FromDiscord<Rika> eh i dont want to be limited to simple wave samples
17:50:19FromDiscord<Recruit_main707> that makes more sense yeah
17:50:31FromDiscord<Rika> will probably get the demo for renoise then, see if i like it and then buy it
17:50:38FromDiscord<Rika> man 75 dollars is such a steal of a price ngl
17:50:52FromDiscord<Rika> considering that thats cheaper than some plugins
18:08:08FromDiscord<geekrelief> In reply to @treeform "In theory this should": Are you going to create an issue for the compiler crash / tupledecl issue?
18:14:39FromDiscord<hmmm> yo boyz at the end of my newest genius creation I call a cli app with osproc execprocess, since I call it massively it will spawn the fugly terminal multiple times per second. I'm getting seizures here, how do I tell execproc not to spawn fugly windows from hell but to do it quietly and silently?
18:20:39FromDiscord<enthus1ast> i think you cant with exeProcess
18:20:50FromDiscord<enthus1ast> can't execProcess
18:21:20FromDiscord<hmmm> should I use something else like startProcess?
18:21:31FromDiscord<enthus1ast> is this cli program one of yours?
18:21:53FromDiscord<hmmm> nope it's qpdf
18:26:39FromDiscord<enthus1ast> @hmmm\: try the "poDaemon" option
18:26:56FromDiscord<enthus1ast> this sets the "CREATE\_NO\_WINDOW" flag
18:27:07FromDiscord<enthus1ast> but i don't know if this works for cmd window
18:27:18FromDiscord<enthus1ast> https://github.com/nim-lang/Nim/blob/1090b0c4af472b7064193c2795c43a00ae21030b/lib/pure/osproc.nim#L724
18:28:28FromDiscord<hmmm> hmm
18:28:32FromDiscord<hmmm> interesting
18:28:35FromDiscord<hmmm> I'll try
18:35:04FromDiscord<hmmm> anyway I'm getting confused, what's the difference between execCmdEX, execCmd, startProcess and execProcess
18:35:17FromDiscord<hmmm> there is too many 🧐
18:39:40FromDiscord<enthus1ast> yes
18:39:46FromDiscord<enthus1ast> i also have to look them up
18:40:04FromDiscord<enthus1ast> every time i want to use them
18:45:11FromDiscord<enthus1ast> but was poDaemon working?
18:55:51FromDiscord<hmmm> can't try right now, I need to fix the program somewhere else first lol
19:11:32FromDiscord<treeform> In reply to @geekrelief "Are you going to": flying now, maybe later
19:22:32*neurocyte0132889 joined #nim
19:22:32*neurocyte0132889 quit (Changing host)
19:22:32*neurocyte0132889 joined #nim
19:31:32*vicecea quit (Remote host closed the connection)
19:32:03*vicecea joined #nim
19:35:02*greaser|q joined #nim
19:35:56FromDiscord<retkid> so spawn is calling all my functions to return generics, T
19:36:04FromDiscord<retkid> how do i cast them to a type?
19:36:05*greaser|q quit (Changing host)
19:36:05*greaser|q joined #nim
19:37:08FromDiscord<5271> is there a way ot make a program that doesn't open any windows and just runs in background in nim?
19:37:21FromDiscord<5271> (edit) "ot" => "to"
19:37:35FromDiscord<retkid> https://media.discordapp.net/attachments/371759389889003532/908802727658795038/unknown.png
19:37:37FromDiscord<retkid> v
19:37:39FromDiscord<retkid> https://media.discordapp.net/attachments/371759389889003532/908802741172850718/unknown.png
19:37:43FromDiscord<retkid> i cant post images/
19:45:58FromDiscord<retkid> guess there is no answer
19:45:59FromDiscord<retkid> ¯\_(ツ)_/¯
19:46:13FromDiscord<Elegantbeef> I mean the issue isnt clear
19:46:23FromDiscord<Elegantbeef> You're hovering the second error not the first
19:46:43FromDiscord<retkid> well, they are both the same problem
19:46:59FromDiscord<Elegantbeef> Sure so give context so we can see the whole procedure
19:47:25FromDiscord<Elegantbeef> You've covered have the screen with the error and we have 0 context
19:49:47FromDiscord<retkid> sent a code paste, see https://play.nim-lang.org/#ix=3EOe
19:49:59FromDiscord<retkid> (edit)
19:50:23FromDiscord<retkid> (edit) "https://play.nim-lang.org/#ix=3EOe" => "https://play.nim-lang.org/#ix=3EOf"
19:50:57FromDiscord<retkid> my first guess would be to cast test to tuple(string, string)
19:51:09FromDiscord<retkid> but how do i do that
19:52:10FromDiscord<Elegantbeef> `Error: cannot create a flowVar of type: (string, string)`
19:52:31FromDiscord<Elegantbeef> Seems you're supposed to do `^test` to block for the value then unpack it
19:53:24*blackbeard420_ quit (Quit: ZNC 1.8.2 - https://znc.in)
19:53:36*blackbeard420 joined #nim
19:54:39FromDiscord<retkid> sent a code paste, see https://play.nim-lang.org/#ix=
19:54:45FromDiscord<retkid> (edit)
19:55:03FromDiscord<retkid> that is nowhere in the doc
19:55:26FromDiscord<retkid> wrong doc i guess nvm
19:57:58FromDiscord<retkid> sent a code paste, see https://play.nim-lang.org/#ix=3EOg
19:58:28FromDiscord<retkid> (edit) "https://play.nim-lang.org/#ix=3EOg" => "https://play.nim-lang.org/#ix=3EOh"
20:00:05FromDiscord<hmmm> out= execProcess("qpdf","", argz, options = {poStdErrToStdOut,poDaemon})
20:00:14FromDiscord<hmmm> it was perfeccccccccccct
20:00:35FromDiscord<hmmm> enthy you are the nimmer of the day :nim1:
20:04:35FromDiscord<hmmm> I must say wnim is the most pleasurable windows GUI I've tried till now, too bad it's missing a grid / spreadsheetlike control
20:07:09FromDiscord<Elegantbeef> So retkid strings cannot be used since they're GC'd types i assume
20:10:27FromDiscord<hmmm> now my next question would be, it is possible for my exe to eat qpdf so I have everything inside a single exe file?
20:10:35FromDiscord<Elegantbeef> It works with arc though i suspect it loses memory
20:11:06FromDiscord<Elegantbeef> Cause with orc it crashes due to trying to dereference already dereferenced memory
20:11:17FromDiscord<Elegantbeef> `staticRead("yourFile.qpdf")`
20:11:35FromDiscord<hmmm> hmmm but it's an entire program
20:11:38FromDiscord<hmmm> it's like 10 files
20:11:41FromDiscord<hmmm> will it work?
20:12:20FromDiscord<Elegantbeef> You could use Zippy, it can compress at compile time
20:12:38FromDiscord<Elegantbeef> Well compress and archive
20:12:52FromDiscord<hmmm> oh
20:12:59FromDiscord<Elegantbeef> Otherwise you could indeed load all 10 files into a collection using static read
20:13:02FromDiscord<hmmm> mmm
20:14:35FromDiscord<hmmm> if I eat the files with static read do I still keep calling qpdf with execproc?
20:15:42FromDiscord<Elegantbeef> No clue
20:16:04FromDiscord<Elegantbeef> You can put it in a memfile then execute it
20:16:14FromDiscord<Elegantbeef> Or atleast should be able to
20:16:29FromDiscord<hmmm> yea there is also the bit thingy, if I eat the 64 bit version of qpdf it won't probably work for 32bit machines I guess
20:17:31FromDiscord<Elegantbeef> I mean that's what normally happenes with 32bit vs 64bit 😀
20:17:37FromDiscord<hmmm> lol yea
20:21:47FromDiscord<tandy> [bung87 (Bung)](https://matrix.to/#/@bung87-59f2c890d73408ce4f7befee:gitter.im)\: you around?
20:44:57*neurocyte0132889 quit (Quit: The Lounge - https://thelounge.chat)
20:48:31*neurocyte0132889 joined #nim
20:48:31*neurocyte0132889 quit (Changing host)
20:48:31*neurocyte0132889 joined #nim
20:53:28*neurocyte0132889 quit (Ping timeout: 268 seconds)
20:54:09*neurocyte0132889 joined #nim
20:54:09*neurocyte0132889 quit (Changing host)
20:54:09*neurocyte0132889 joined #nim
21:06:29FromDiscord<hmmm> lol I just accidentally created an exe monstrosity that is unkillable, and doesn't even show in taskmanager list
21:06:40FromDiscord<hmmm> I guess I'll need to reboot
21:07:47FromDiscord<Elegantbeef> Nice you made malware!
21:07:51FromDiscord<hmmm> lol
21:08:00FromDiscord<hmmm> I guess I should sell my creation
21:08:27FromDiscord<hmmm> too bad it doesn't do anything except living forever on your screen 😅
21:08:50FromDiscord<hmmm> brb reboot
21:40:09FromDiscord<retkid> whatever happened to channels ?
21:40:29FromDiscord<retkid> In reply to @hmmm "lol I just accidentally": care to tell me how you've done it
21:40:34FromDiscord<retkid> (edit) "it" => "it, jkjk unless"
21:40:48FromDiscord<retkid> anyway
21:40:52FromDiscord<Elegantbeef> Channels stil exist
21:41:22FromDiscord<retkid> https://nim-lang.org/docs/channels.html
21:42:22FromDiscord<retkid> no page for it anymore
21:43:36FromDiscord<Elegantbeef> https://nim-lang.org/docs/channels_builtin.html
21:43:38FromDiscord<willyboar> maybe this https://nim-lang.org/docs/channels_builtin.html
21:43:46FromDiscord<Elegantbeef> Too slow little willy
21:43:58FromDiscord<Elegantbeef> I mean too slow willy 😀
21:44:36FromDiscord<willyboar> I use index for my searches @retkid https://nim-lang.org/docs/theindex.html
21:55:19*PSEP1 quit (Quit: Leaving)
21:56:49FromDiscord<retkid> GC is
21:56:51FromDiscord<retkid> annoying lol
21:59:55FromDiscord<retkid> https://tenor.com/view/head-spongebob-gif-20612177
21:59:58FromDiscord<retkid> SIGSEGV: Illegal storage access. (Attempt to read from nil?)
22:14:41FromDiscord<Zoom> Maybe keep prepended elements in their own structure, possible just in a seq, reversed. You can then define a struct to abstract the two parts↵(@hmmm)
22:15:17FromDiscord<Elegantbeef> Oh hey zoom
22:15:34FromDiscord<Elegantbeef> Didja have any more ideas for iterators? 😀
22:16:31FromDiscord<Zoom> Other than sprinke `lent`s and `.inline.`s, nope.
22:17:03FromDiscord<Zoom> Haven't had a chance to use them for anything yet.
22:17:17FromDiscord<Elegantbeef> I mean iterators are already inlined 😀
22:18:06FromDiscord<Zoom> They are marked with this in std nonetheless 🤷
22:19:22FromDiscord<Elegantbeef> Hmm does the stdlib have a iterator -\> closure
22:57:59FromDiscord<dom96> don't think so, but sounds like an easy macro
22:59:39FromDiscord<retkid> is the anyway to get more context with Illegal storage access.
23:00:54FromDiscord<retkid> because im not quite sure why its not cooperating
23:01:13FromDiscord<retkid> i mean, i always have my theories
23:04:49FromDiscord<dom96> stack trace?
23:05:50FromDiscord<retkid> straces usually doesn't help here
23:05:53FromDiscord<retkid> i can try tho
23:13:06FromDiscord<konsumlamm> ~~printf~~ echo debugging
23:15:54FromDiscord<dom96> depends if it's just a null access or a corruption
23:16:08FromDiscord<retkid> its a corruption
23:16:12FromDiscord<retkid> print isn't gonna do anything
23:16:16FromDiscord<retkid> you cant track it
23:16:16FromDiscord<dom96> then you should try valgrind
23:20:28FromDiscord<retkid> https://media.discordapp.net/attachments/371759389889003532/908858817536753704/unknown.png
23:20:31FromDiscord<retkid> cries
23:21:44FromDiscord<dom96> running in release mode ain't gonna help
23:22:46FromDiscord<retkid> the errors i get without it are usually completely irrelevant
23:23:18FromDiscord<retkid> time to maybe investigate channels because locks aren't saving me from gcc here
23:51:33FromDiscord<codic> I just switched to Debian Sid, so I now have Nim 1.6.0
23:51:47FromDiscord<codic> I'm suddenly getting these new warnings compiling my project, how do I fix them?
23:51:55FromDiscord<codic> sent a code paste, see https://play.nim-lang.org/#ix=3EPg
23:56:17FromDiscord<codic> I mean, addr numdesk isn't a non-const location, so what?