00:01:34 | FromDiscord | <impbox [ftsf]> oohh, WCHARs not chars |
00:01:57 | FromDiscord | <Elegantbeef> Ah yes Whiney Chars |
00:04:40 | FromDiscord | <impbox [ftsf]> ooh i created broken code |
00:04:57 | FromDiscord | <impbox [ftsf]> sent a code paste, see https://play.nim-lang.org/#ix=3EKa |
00:05:01 | FromDiscord | <impbox [ftsf]> ` var name: string = $(cast[wstring](caps.szPname[0].addr))` |
00:16:33 | FromDiscord | <Yardanico> wait what are you trying to do |
00:16:51 | FromDiscord | <leorize> that's a codegen bug for sure |
00:16:54 | FromDiscord | <Yardanico> convert a utf-16 string to utf-8? |
00:17:01 | FromDiscord | <leorize> can you open an issue for it? |
00:17:09 | FromDiscord | <impbox [ftsf]> i'm trying to turn an array[WCHAR] -> string |
00:17:27 | FromDiscord | <impbox [ftsf]> @leorize sure |
00:48:26 | FromDiscord | <federico3> any way to convert an integer to pairs of hex bytes with toHex? |
00:53:12 | FromDiscord | <RattleyCooper> In reply to @federico3 "any way to convert": Like take a slice of bits? |
00:53:41 | FromDiscord | <RattleyCooper> or just get multiple hex values? |
00:55:22 | FromDiscord | <RattleyCooper> What is your input and what is your expected output? |
00:56:32 | FromDiscord | <Daniel M. Jaén> Any packets for HTTP requests? |
00:57:23 | FromDiscord | <Elegantbeef> You mean packages? |
00:57:23 | FromDiscord | <Yardanico> In reply to @Daniel M. Jaén "Any packets for HTTP": httpclient in stdlib |
00:57:54 | FromDiscord | <Daniel M. Jaén> In reply to @Elegantbeef "You mean packages?": Yes |
00:57:57 | FromDiscord | <Daniel M. Jaén> In reply to @Yardanico "httpclient in stdlib": ok |
01:02:26 | FromDiscord | <Elegantbeef> [Zoom](https://matrix.to/#/@Zoom:matrix.org)\: got any more ideas for iterators? |
01:07:29 | FromDiscord | <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:54 | FromDiscord | <Elegantbeef> https://github.com/beef331/kashae 😛 |
01:08:39 | FromDiscord | <evoalg> oh! |
01:14:15 | FromDiscord | <evoalg> "when you want to clear the cache based off some conditional like if the sun is in your eyes" <-- lol |
01:21:54 | FromDiscord | <Elegantbeef> Well there we go slicerator is now the proper name and it now has `forMitems` 😀 |
01:24:24 | FromDiscord | <Elegantbeef> I do wonder if i did that day |
01:25:29 | FromDiscord | <evoalg> Nice! |
01:25:40 | FromDiscord | <Elegantbeef> Hmm i did it but only have the first solution stored |
01:26:21 | FromDiscord | <evoalg> oh day15 - oh ok! |
01:26:44 | FromDiscord | <evoalg> part2 is exactly that same but more loops |
01:27:21 | FromDiscord | <evoalg> loop to 30000000 instead of 2020 😉 |
01:30:24 | FromDiscord | <Elegantbeef> Ah yea my first pass was fine enough performance wise |
01:31:12 | FromDiscord | <Elegantbeef> Explains why I didnt have the second solution |
01:31:56 | FromDiscord | <evoalg> hehe I wouldn't imagine anything less from you ... you just don't do quick & dirty 😉 |
01:32:04 | FromDiscord | <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:09 | FromDiscord | <Elegantbeef> I mean it's pretty messy |
01:34:32 | FromDiscord | <evoalg> ahhh so kashae wouldn't help because you're using a table which is like a lookup cache anyway? |
01:35:03 | FromDiscord | <Elegantbeef> Yea i designed it in such a way that i already used a cache |
01:35:21 | FromDiscord | <Elegantbeef> Did kashae make your solution cleaner? |
01:35:55 | FromDiscord | <evoalg> I'm still playing with it ... I'm slow 😉 ... I'll let you know |
01:44:13 | FromDiscord | <Elegantbeef> What the readme didnt explain it?! But all that well written comedy |
01:44:55 | FromDiscord | <evoalg> Yep it was very good ... I'm just slow hehe 🙂 |
02:33:17 | FromDiscord | <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:32 | FromDiscord | <Elegantbeef> Yea i dont think you can use it here, i was assuming you had a recursive call causing the slow down |
02:36:02 | FromDiscord | <Elegantbeef> I suggest kashae before seeing the problem again |
02:36:47 | FromDiscord | <Elegantbeef> suggested\ |
02:36:53 | FromDiscord | <evoalg> I'm very glad you suggested kashae ... and I have done recursion in some of my other AOC solutions! |
02:37:56 | FromDiscord | <evoalg> I guess I lead you down the wrong path when I mentioned memoization - sorry! |
02:38:07 | FromDiscord | <Elegantbeef> Lol it's fine 😀 |
02:38:31 | FromDiscord | <evoalg> ... but now I know where to get me some good memoization |
02:39:47 | FromDiscord | <Elegantbeef> I dont know if it's good... |
02:40:29 | FromDiscord | <evoalg> from my perspective, it's magic |
02:41:41 | FromDiscord | <Elegantbeef> Yea macros give a lot of convoluted power |
02:42:07 | * | arkurious quit (Quit: Leaving) |
02:42:10 | FromDiscord | <evoalg> How are the dogs? |
02:42:53 | FromDiscord | <Elegantbeef> The one that got it's ear bit is normal, the other one is very skiddish/cautious |
02:43:15 | FromDiscord | <Elegantbeef> I think the one with the bit ear actually likes his cone a bit since it lets him nudge people more 😀 |
02:43:28 | FromDiscord | <evoalg> lol |
02:44:21 | FromDiscord | <evoalg> I bet they're glad to be at home with you |
02:47:43 | FromDiscord | <Elegantbeef> Not exactly since I didnt take the one for a walk, he got really nudgey since he really wanted to go |
02:49:43 | FromDiscord | <Rika> Good morning |
02:50:33 | FromDiscord | <evoalg> morning Rika |
02:50:38 | FromDiscord | <Elegantbeef> Yellow rika |
02:50:55 | FromDiscord | <Rika> Oh god it’s you |
02:52:02 | FromDiscord | <Rika> Damn man why does everyone make 15 billion libraries |
02:52:18 | FromDiscord | <Elegantbeef> Who does? |
02:53:11 | FromDiscord | <Rika> You |
02:53:32 | FromDiscord | <Elegantbeef> I spose i have a few |
02:56:57 | FromDiscord | <Elegantbeef> But lets be honest no one uses any of them |
02:57:26 | FromDiscord | <Elegantbeef> Though i guess i know i have atleast 1 user of slicerator |
02:57:34 | FromDiscord | <Rika> Damn bro if no one uses yours who the fuck uses mine |
02:58:39 | FromDiscord | <Elegantbeef> Well no one ever makes issues on mine so i can only think no one uses them |
02:58:54 | FromDiscord | <Elegantbeef> I suppose the alternative is i make such flawless librarie |
03:03:15 | FromDiscord | <Rika> No way |
03:29:38 | FromDiscord | <dangbinghoo> sent a long message, see http://ix.io/3EKN |
03:30:42 | FromDiscord | <dangbinghoo> choosenim 0.8.2 won't work on Termux(android/arm64) |
03:30:46 | FromDiscord | <dangbinghoo> ~ $ choosenim --debug devel↵ Debug: Reporting to analytics...↵SIGSEGV: Illegal storage access. (Attempt to read from nil?) |
03:30:55 | FromDiscord | <Yardanico> can you compile it in debug mode and see what's the error? |
03:31:06 | FromDiscord | <Yardanico> you can install nim in termux itself with `pkg install nim` |
03:31:28 | FromDiscord | <dangbinghoo> I installed nim, nimble from Termux pkg |
03:32:38 | FromDiscord | <dangbinghoo> and then nimble install choosenim |
03:32:47 | FromDiscord | <Yardanico> what for? |
03:33:07 | FromDiscord | <Yardanico> i mean, if you want to get the devel nim and choosenim doesn't work, you can compile it manually |
03:33:11 | FromDiscord | <dangbinghoo> nimble sucessfully installed choosenim, but then running choosenim to update nim failed |
03:33:43 | FromDiscord | <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:30 | FromDiscord | <dangbinghoo> we I build choosenim using nimble when installing? I means pass debug flag to nimble? |
03:34:45 | FromDiscord | <dangbinghoo> (edit) "we" => "can" |
03:35:28 | FromDiscord | <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:15 | FromDiscord | <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:22 | FromDiscord | <dangbinghoo> ok |
03:54:13 | FromDiscord | <dangbinghoo> sent a long message, see http://ix.io/3EKO |
03:54:45 | FromDiscord | <dangbinghoo> sent a long message, see http://ix.io/3EKP |
03:54:47 | FromDiscord | <Yardanico> pls don't paste next time like that :) |
03:55:10 | FromDiscord | <Yardanico> but basically, the issue seems like it can't verify the certificate, does your ISP replace SSL certificates or something? |
03:55:18 | FromDiscord | <dangbinghoo> 😀 ok, sorry |
03:56:05 | FromDiscord | <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:08 | FromDiscord | <Yardanico> ah, right, you can try one more thing |
03:56:14 | FromDiscord | <dangbinghoo> im using proxy in china |
03:56:26 | FromDiscord | <Yardanico> try to see if you have `ca-certificates` package installed |
03:57:40 | FromDiscord | <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:00 | FromDiscord | <dangbinghoo> Reading state information... Done↵ca-certificates is already the newest version (1:2021-10-26-0).↵0 upgraded, 0 newly installed, |
03:58:19 | FromDiscord | <Yardanico> then the only way is to compile choosenim with the flag I've shown above |
03:58:42 | FromDiscord | <dangbinghoo> ok , i will try |
04:04:21 | FromDiscord | <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:49 | FromDiscord | <Rika> No need for the {} afaik |
04:04:54 | FromDiscord | <Yardanico> yeah, as @Rika said |
04:05:01 | FromDiscord | <Yardanico> {} is the syntax for sets, you don't need them here |
04:05:03 | FromDiscord | <Rika> !eval echo 3 in 2..5 |
04:05:06 | NimBot | true |
04:05:22 | FromDiscord | <evoalg> oh! thank you! |
04:06:01 | * | supakeen quit (Quit: WeeChat 3.3) |
04:06:25 | FromDiscord | <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:30 | FromDiscord | <Rika> Technically more efficient as well |
04:06:31 | * | supakeen joined #nim |
04:06:35 | FromDiscord | <Yardanico> that too |
04:11:05 | FromDiscord | <Elegantbeef> `..` is a fun operator depending on context 😀 |
04:11:13 | FromDiscord | <evoalg> it creates the seq / array that takes up memory right? It doesn't do it by iterator? |
04:11:41 | FromDiscord | <Elegantbeef> What do you mean? |
04:11:49 | FromDiscord | <Yardanico> @evoalg sets are not seqs/arrays |
04:11:55 | FromDiscord | <Yardanico> they are value types, so it's not really that bad |
04:12:29 | FromDiscord | <Yardanico> and if you mean `..`, it's treated differently if it's inside a set |
04:12:35 | FromDiscord | <evoalg> the `..` I mean, it creates something that then contains calls? |
04:13:20 | FromDiscord | <Elegantbeef> The compiler handles it and knows what it means |
04:13:49 | FromDiscord | <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:49 | FromDiscord | <evoalg> so if I do `if 3000 in 1..300000000` then does it create an openarray and then loops to check? |
04:13:55 | FromDiscord | <Yardanico> no |
04:14:06 | FromDiscord | <Elegantbeef> `..` makes a slice which is a `a` and `b` value |
04:14:27 | FromDiscord | <Yardanico> this is without sets, so `..` just creates an HSlice and `in` checks if `3000` is >= 1 and <= 300000000 |
04:14:32 | FromDiscord | <Yardanico> just don't worry about it :) |
04:14:33 | FromDiscord | <Elegantbeef> `3000 in 1..30000000` is shorthand for `3000 >= 1 and 3000 <= 30000000` |
04:14:40 | FromDiscord | <evoalg> oh nice! |
04:14:48 | FromDiscord | <dangbinghoo> In reply to @Yardanico "yeah, if a proxy": thank you, this works! |
04:14:59 | FromDiscord | <evoalg> thank you all for your help! |
04:15:23 | FromDiscord | <Elegantbeef> In most cases `..` creates a slice which just an object with `a` and `b` fields |
04:15:38 | FromDiscord | <Elegantbeef> There are some cases that's not true |
04:16:06 | FromDiscord | <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:33 | FromDiscord | <Elegantbeef> But that's a shorthand for `range[2..5]` |
04:16:53 | FromDiscord | <evoalg> ohhhh |
04:16:58 | FromDiscord | <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:04 | FromDiscord | <Elegantbeef> https://nim-lang.org/docs/manual.html#types-subrange-types if you ever really want to fall asleep |
04:17:11 | FromDiscord | <Yardanico> XD |
04:17:19 | FromDiscord | <evoalg> hehe |
04:17:47 | FromDiscord | <Elegantbeef> I personally really love subrange types but system lacking a `contains` procedure for them makes me sad |
04:18:33 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=3EKT |
04:18:54 | FromDiscord | <evoalg> sets are different you say, so does `1..3000000` fill out the set with values? |
04:19:18 | FromDiscord | <Elegantbeef> Yes but Nim's bitsets are liimited to 65k values |
04:19:22 | FromDiscord | <Yardanico> exactly, so it won't compile |
04:19:31 | FromDiscord | <evoalg> ahhhhh ok |
04:19:38 | FromDiscord | <Yardanico> https://nim-lang.org/docs/manual.html#types-set-type |
04:19:42 | FromDiscord | <Elegantbeef> So `yourSet.high - yourSet.low <= uint16.high` |
04:19:59 | FromDiscord | <evoalg> ok thanks ... I'll do some reading |
04:20:23 | FromDiscord | <Elegantbeef> If i keep mentioning stuff you'll have to read more 😀 |
04:20:58 | FromDiscord | <Elegantbeef> Inside a set constructor`2..5` is just shorthand for `{2, 3, 4, 5}` |
04:21:29 | FromDiscord | <Elegantbeef> Nim's sets are very nice and i wish more languages adopted wirth style sets |
04:23:17 | FromDiscord | <Elegantbeef> Dont you dare tell me to manually bitwise or values together! |
04:24:09 | FromDiscord | <Yardanico> btw @evoalg, sadly discord reactions don't propagate to matrix :) |
04:24:29 | FromDiscord | <Yardanico> so beef won't see your reactions on his messages |
04:24:45 | FromDiscord | <Elegantbeef> It's ok i know evo thinks they're top quality |
04:25:41 | FromDiscord | <evoalg> oh all this time my love hearts were going unnoticed |
04:35:07 | * | kayabaNerve_ joined #nim |
04:37:17 | FromDiscord | <Rika> Bitsets are nice |
04:37:46 | FromDiscord | <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:07 | FromDiscord | <dangbinghoo> hi choosenim is just for install/switching x86 arch. ? |
05:45:04 | FromDiscord | <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:04 | FromDiscord | <Elegantbeef> That's what it does |
05:46:04 | FromDiscord | <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:24 | FromDiscord | <Elegantbeef> Unless you select a specific commit it'll get a nightly for devel, or the given version |
05:46:49 | FromDiscord | <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:48 | FromDiscord | <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:04 | FromDiscord | <dangbinghoo> In reply to @leorize "<@737477820288204881>\: nightlies has arm": thx |
07:37:05 | NimEventer | New 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:09 | FromDiscord | <dangbinghoo> using `choosenim devel --latest` can build the latest nim for termux |
09:05:08 | FromDiscord | <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:58 | FromDiscord | <Rika> Use neither; figure out which free function (from the same library) to use |
09:06:51 | FromDiscord | <brentp> it's a `void `, not a struct with a destroy-like function |
09:09:14 | PMunch | You should use free |
09:09:28 | PMunch | Dealloc is intended for use with one of Nims alloc procedures |
09:09:50 | FromDiscord | <brentp> In reply to @PMunch "You should use free": cheers |
09:10:14 | PMunch | The 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:18 | FromDiscord | <Rika> You do not know what allocator the C function used is why I said not to use either |
09:18:37 | FromDiscord | <Rika> If this is a library, usually there is an accompanying free function |
09:19:00 | FromDiscord | <Rika> If this is a C standard library function then okay free will work |
09:47:16 | FromDiscord | <tandy> how do i update nimble? |
09:47:31 | FromDiscord | <tandy> choosenim update devel didnt seem to do it |
09:48:58 | FromDiscord | <Rika> 0.14 is not stable |
09:49:09 | FromDiscord | <tandy> hmm |
09:49:19 | FromDiscord | <tandy> i want semver deps \:) |
09:58:29 | FromDiscord | <Rika> Nimble install nimble |
09:59:18 | FromDiscord | <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:28 | FromDiscord | <tandy> hmm il wait i forgot about that mess lol |
10:02:22 | FromDiscord | <Rika> Maybe look into the other package managers Nim has |
10:13:46 | FromDiscord | <Solitude> or just dont update nimble |
10:26:34 | FromDiscord | <Rika> Yeah honestly I don’t think I’ll ever update nimble unless it doesn’t break anything in my packages folder |
10:26:40 | FromDiscord | <Rika> Or it migrates smoothly |
10:31:22 | * | Vladar joined #nim |
11:01:12 | FromDiscord | <Zoom> sent a long message, see http://ix.io/3ELX |
11:03:23 | PMunch | Yay.. I'm getting GC-crashes in my multi-threaded, async, dynamic library embedded code.. |
11:04:02 | * | Vladar quit (Quit: Leaving) |
11:16:56 | supakeen | surprised pikachu |
11:17:27 | PMunch | It normally works pretty well :P |
11:17:31 | PMunch | Surprisingly enough |
11:32:13 | FromDiscord | <evoalg> In reply to @Zoom "Not exactly. The main": Thank you! |
12:03:39 | NimEventer | New 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:46 | FromDiscord | <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:45 | FromDiscord | <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:40 | FromDiscord | <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:37 | PMunch | @brentp, may I interest you in Futhark? |
12:45:56 | PMunch | Automatic wrapping of C code to avoid exactly that kind of situation |
12:47:17 | FromDiscord | <brentp> https://futhark-lang.org/docs.html looks pretty cool. |
12:49:40 | PMunch | Not that Futhark.. |
12:49:45 | NimEventer | New thread by V3ss0n: Readability problems, see https://forum.nim-lang.org/t/8615 |
12:49:54 | PMunch | This Futhark: https://github.com/PMunch/futhark |
12:51:35 | FromDiscord | <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:06 | PMunch | I 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:07 | PMunch | at :) |
13:27:05 | FromDiscord | <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:16 | FromDiscord | <logo> In reply to @brentp "https://futhark-lang.org/docs.html looks pretty coo": That is kinda cool tho |
13:48:52 | PMunch | @brentp, ah bitfields is one of the few things it doesn't yet support |
13:49:03 | PMunch | Should be easy enough to add though |
13:49:45 | PMunch | And it's built in such a way that you can override specific types without manual interference |
13:56:05 | * | dtomato joined #nim |
13:56:08 | FromDiscord | <brentp> @PMunch , I'll keep an eye on it. |
13:58:43 | FromDiscord | <hmmm> yo bois how do I prepend stuff to a seq? |
13:59:35 | FromDiscord | <hmmm> from @[1,2,3] to @[0,1,2,3] |
13:59:55 | FromDiscord | <hmmm> I mean not manually but with a some comfy one world thingy from library |
14:00:18 | FromDiscord | <hmmm> word |
14:02:15 | FromDiscord | <Rika> `0 & @[1,2,3]`? |
14:02:22 | FromDiscord | <Rika> no its not fast |
14:02:24 | FromDiscord | <Rika> no its not efficient |
14:02:47 | FromDiscord | <Rika> do you want it out of place or inplace? the one i sent is out of place (returns new value) |
14:02:59 | FromDiscord | <Rika> inplace is "modifies original variable" |
14:03:07 | FromDiscord | <hmmm> apparently there is a comfy thingy.insert(0,0) |
14:03:13 | FromDiscord | <Rika> naturally inplace does less memory allocation but it will still be slow |
14:03:17 | FromDiscord | <Rika> yes that is inplace |
14:03:21 | FromDiscord | <Rika> still slow tho |
14:03:43 | FromDiscord | <hmmm> hmm slow is fine |
14:03:53 | FromDiscord | <Rika> ok /hm+/ |
14:04:03 | FromDiscord | <hmmm> 😃 |
14:06:16 | FromDiscord | <hmmm> what would be the fast way just for cultural enrichment? 🤔 |
14:06:30 | * | arkurious joined #nim |
14:06:59 | PMunch | There really isn't a fast way to do it |
14:07:18 | PMunch | It needs to reallocate the entire seq and copy the memory one element over |
14:07:22 | FromDiscord | <Rika> no |
14:07:26 | FromDiscord | <Rika> the fast way is to not do it |
14:07:42 | PMunch | Or maybe not reallocate if it has leftover capacity in the seq, but still copy everything one element over |
14:07:45 | FromDiscord | <Rika> or use a type that has O(1) prepend |
14:07:53 | FromDiscord | <Rika> sorry |
14:07:57 | FromDiscord | <Rika> constant-time prepend |
14:08:07 | PMunch | Or, if you're just prepending, turn the seq around |
14:08:07 | FromDiscord | <Rika> like idk a linked list perhaps? |
14:08:12 | FromDiscord | <Rika> of course theres an issue there |
14:08:18 | FromDiscord | <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:29 | FromDiscord | <hmmm> i see, i didn't think about turning it around, don't know if it would work in my case tho |
14:10:50 | PMunch | Why wouldn't it work? |
14:11:39 | FromDiscord | <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:04 | FromDiscord | <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:08 | FromDiscord | <Rika> reversed |
14:12:11 | FromDiscord | <Rika> (edit) "reversed" => "`reversed`" |
14:12:18 | FromDiscord | <Rika> or `reverse` (inplace |
14:15:16 | PMunch | @hmmm, no simple way of doing it. You need to do it yourself |
14:17:27 | PMunch | I guess you could make a distinct type though |
14:17:36 | FromDiscord | <konsumlamm> or just use a deque (from `std/deques`) |
14:17:49 | FromDiscord | <konsumlamm> if you need append on both sides |
14:23:54 | FromDiscord | <Rika> oh yeah thats true |
14:24:01 | FromDiscord | <Rika> i forgot that existed |
14:25:08 | FromDiscord | <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:31 | PMunch | Well of course |
14:30:10 | PMunch | I 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:10 | FromDiscord | <hmmm> oh |
14:32:21 | FromDiscord | <hmmm> ooooh |
14:32:43 | PMunch | That would make appending expensive and prepending cheap |
14:32:47 | FromDiscord | <hmmm> yea but it wouldnt work I still need to append on the other side |
14:33:07 | PMunch | Ah right, then you're probably better off with a deque or a linked list |
14:33:21 | FromDiscord | <hmmm> I need to append (a lot) and prepend very rarely |
14:33:37 | PMunch | Define "a lot" |
14:33:56 | PMunch | If you sequences are fairly short you probably don't have to worry about the penalty of the insert anyways |
14:33:58 | FromDiscord | <hmmm> for loops |
14:34:48 | * | pro quit (Quit: WeeChat 3.3) |
14:35:03 | FromDiscord | <hmmm> yeye I've already used insert, it was just curiosity |
14:35:23 | FromDiscord | <hmmm> the flipping the entire program around was very instructive lok |
14:35:26 | FromDiscord | <hmmm> lol |
14:36:05 | FromDiscord | <Rika> just move to australia and program there |
14:36:09 | FromDiscord | <Rika> easy now your program is flipped |
14:36:14 | FromDiscord | <hmmm> I might move to japan |
14:36:38 | FromDiscord | <hmmm> a) very kind people b) good food c) modern cities that are clean |
14:36:53 | FromDiscord | <Rika> oh youre serious |
14:36:56 | PMunch | Haha :P |
14:37:01 | FromDiscord | <Rika> i was thinking why you mentioned that |
14:37:05 | FromDiscord | <hmmm> the problem is the language, your runes are worse than c++ |
14:37:41 | FromDiscord | <Rika> いやいや、わかりやすいよ |
14:37:45 | FromDiscord | <hmmm> jesus |
14:37:52 | PMunch | You could always move to Norway, doesn't really have any of the benefits you listed, but it's a pretty nice place |
14:38:08 | FromDiscord | <Rika> im joking real japanese people dont scold me my japanese not good me N4 |
14:39:06 | PMunch | Well, 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:29 | FromDiscord | <Rika> i live in rural japan |
14:39:31 | FromDiscord | <Rika> its pretty uh |
14:39:33 | FromDiscord | <Rika> empty |
14:39:35 | FromDiscord | <Rika> here |
14:39:44 | FromDiscord | <hmmm> dude you forgot it's cold as hell there |
14:39:47 | FromDiscord | <Rika> people are not very social in japan as well |
14:40:09 | FromDiscord | <Rika> its not as cold here but you need to be aware that it gets hot when its summer |
14:40:27 | FromDiscord | <Rika> if you're not used to tropics heat then you might not survive |
14:40:50 | FromDiscord | <hmmm> nono when I said cold I was talking norway |
14:41:01 | FromDiscord | <Rika> i know |
14:41:05 | FromDiscord | <Rika> read what i said here |
14:41:09 | FromDiscord | <Rika> again |
14:41:09 | FromDiscord | <hmmm> japan climate is perfect and you have sakura on top and it makes it purrfect |
14:41:11 | FromDiscord | <Rika> why did i say here |
14:41:27 | FromDiscord | <Rika> `its not as cold here` -> not as cold here compared to norway |
14:41:49 | FromDiscord | <hmmm> dude did you just flip around your own sentence? |
14:41:50 | FromDiscord | <Rika> In reply to @hmmm "japan climate is perfect": really? you sure? you're fine with 35~+ C summers? |
14:41:57 | FromDiscord | <hmmm> you used reverse or reversed? :3 |
14:42:40 | PMunch | It's not that cold here |
14:42:49 | FromDiscord | <Rika> says the native |
14:42:59 | PMunch | I mean today it's even positive degrees out |
14:43:12 | FromDiscord | <hmmm> oh and aside from language japan is also expensive like hell, that's another thing to consider for my retirement plans |
14:43:19 | FromDiscord | <Rika> well |
14:43:20 | FromDiscord | <Rika> uh |
14:43:21 | FromDiscord | <Rika> yeah |
14:43:30 | PMunch | Well.. Can't really compete there.. |
14:43:39 | PMunch | Norway is one of the most expensive places to live |
14:43:45 | FromDiscord | <Rika> lol |
14:43:46 | FromDiscord | <hmmm> really? |
14:43:49 | PMunch | Mhm |
14:44:22 | FromDiscord | <hmmm> maybe because you are like the arabs of europe, sell a lot of gas and everyone is rich |
14:44:30 | PMunch | Some things more than others of course |
14:44:52 | PMunch | Alcohol is super expensive. But in comparison to our salaries electronics is pretty cheap |
14:52:04 | PMunch | Is 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:14 | FromDiscord | <dom96> nope |
14:52:18 | PMunch | More out of curiosity than anything |
14:52:21 | PMunch | Aha |
14:55:49 | * | federico3_ left #nim (https://quassel-irc.org - Chat comfortably. Anywhere.) |
14:58:09 | FromDiscord | <retkid> didn't know Rika was japanese |
14:58:12 | FromDiscord | <retkid> anyway |
14:58:27 | FromDiscord | <retkid> just me or htmlparser and xmlnodes pretty lightweight? |
14:58:34 | FromDiscord | <retkid> I want to search by classes and containers |
15:05:40 | FromDiscord | <Rika> i am not |
15:06:54 | FromDiscord | <Recruit_main707> you were from Filipinas werent you? |
15:08:45 | FromDiscord | <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:44 | FromDiscord | <hmmm> munchie should I roll my sublimetext with the old nimline or use it combined with your nimlsp? |
15:57:33 | FromDiscord | <hmmm> do not try to sell me vscode I'm not buying 🧐 |
16:39:50 | FromDiscord | <Rika> Vscode |
16:39:54 | FromDiscord | <Rika> Do it or suffer |
17:14:16 | FromDiscord | <treeform> Does any one know how to select {} vs [] using polymorphism? https://gist.github.com/treeform/1f652bbaa55623c2c23bcc12f7d94655 |
17:14:50 | FromDiscord | <treeform> how do I grab the curly array? |
17:18:03 | FromDiscord | <treeform> hmm https://nim-lang.org/docs/manual.html#statements-and-expressions-table-constructor |
17:19:27 | FromDiscord | <konsumlamm> yeah, it's just sugar for arrays of tuples, they're not separate types |
17:19:52 | FromDiscord | <konsumlamm> ig you could make a macro that parses the input |
17:24:43 | FromDiscord | <treeform> can I do that with generics? |
17:25:14 | FromDiscord | <treeform> sent a code paste, see https://play.nim-lang.org/#ix=3ENJ |
17:28:24 | FromDiscord | <konsumlamm> how would you separate `[(1, 2), (3, 4)]` and `{1: 2, 3: 4}`? they're exactly the same, except for syntax |
17:28:26 | FromDiscord | <treeform> sent a code paste, see https://play.nim-lang.org/#ix=3ENK |
17:28:33 | FromDiscord | <treeform> (edit) "https://play.nim-lang.org/#ix=3ENK" => "https://play.nim-lang.org/#ix=3ENL" |
17:28:43 | FromDiscord | <treeform> I don't need to separate that |
17:28:46 | FromDiscord | <treeform> only when keys are strings |
17:29:04 | FromDiscord | <treeform> this is fine to be the same: [("1", 2), ("3", 4)] and {"1": 2, "3": 4} |
17:30:04 | FromDiscord | <geekrelief> In reply to @treeform "can I do that": https://play.nim-lang.org/#ix=3ENM |
17:30:06 | FromDiscord | <konsumlamm> well, i'd report an issue for the compiler crash first of all |
17:30:07 | FromDiscord | <geekrelief> does that work for you? |
17:31:24 | FromDiscord | <treeform> yes it does! Thank you. |
17:31:32 | FromDiscord | <konsumlamm> something like `T: not tuple` (or something more specific) should also work |
17:33:45 | FromDiscord | <treeform> @geekrelief I ended up going with: https://play.nim-lang.org/#ix=3ENO |
17:33:52 | FromDiscord | <treeform> for some reason the type t makes it work 🙂 |
17:33:58 | FromDiscord | <geekrelief> yup |
17:34:10 | FromDiscord | <geekrelief> I couldn't get it to work without definying type t |
17:34:16 | FromDiscord | <geekrelief> (edit) "definying" => "defining" |
17:34:48 | FromDiscord | <geekrelief> I've run into something like this before with specifying complex types in a param list |
17:35:48 | FromDiscord | <konsumlamm> yeah, it's called a compiler bug |
17:40:30 | FromDiscord | <dom96> Anybody have any fun plans for this weekend? 🙂 |
17:40:52 | FromDiscord | <Rika> fun as in |
17:41:33 | FromDiscord | <treeform> In reply to @dom96 "Anybody have any fun": I am flying to San Francisco |
17:42:01 | FromDiscord | <dom96> In reply to @Rika "fun as in": dunno, whatever you consider fun I guess |
17:42:23 | FromDiscord | <dom96> In reply to @treeform "I am flying to": nice, company conference? |
17:42:27 | FromDiscord | <dom96> (edit) "conference?" => "conference/meetup?" |
17:42:37 | FromDiscord | <treeform> both work and pleasure |
17:42:39 | FromDiscord | <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:47 | FromDiscord | <treeform> but weekend is all mine |
17:42:54 | FromDiscord | <Rika> looking into music production in my case |
17:42:59 | FromDiscord | <Rika> gotta boot into windows for that though |
17:43:07 | FromDiscord | <Rika> got some vsts that i cant run on linux |
17:43:42 | FromDiscord | <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:21 | FromDiscord | <dom96> In reply to @Rika "looking into music production": got a soundcloud you wanna share? 😄 |
17:44:24 | FromDiscord | <Recruit_main707> ~~there are some not very law friendly websites to see it~~ |
17:44:29 | FromDiscord | <Rika> no, i havent started perse |
17:44:33 | FromDiscord | <Rika> still daw-swapping |
17:44:54 | FromDiscord | <Rika> looking for something that works for me, kinda like a programming language or text editor choice spiel |
17:45:00 | FromDiscord | <exelotl> Renoise is <3 |
17:45:06 | FromDiscord | <Rika> yeah i was looking into that |
17:45:25 | FromDiscord | <Rika> my two narrowed down choices is renoise or digital performer |
17:45:52 | FromDiscord | <Rika> then i need to look into the infinite depths of music theory |
17:46:08 | FromDiscord | <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:46 | FromDiscord | <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:01 | FromDiscord | <Recruit_main707> ahhh right, it was a dsl |
17:47:03 | FromDiscord | <Recruit_main707> iirc |
17:47:08 | FromDiscord | <Rika> whatsit |
17:47:45 | FromDiscord | <Recruit_main707> i have the idea that it ends in -ino or something like that but im not sure |
17:47:57 | FromDiscord | <Recruit_main707> could be completely wrong |
17:48:29 | FromDiscord | <Recruit_main707> Omni |
17:49:13 | FromDiscord | <Recruit_main707> i had my brain in big endian mode when trying to remember |
17:49:52 | FromDiscord | <Rika> inmo |
17:50:02 | FromDiscord | <dom96> this is what I'm thinking of: https://www.youtube.com/watch?v=cBqBfPRWla8&list=PLxLdEZg8DRwRXNrY7yyGU0-g_GRSyRGKo&index=12 |
17:50:07 | FromDiscord | <Recruit_main707> ah |
17:50:17 | FromDiscord | <Rika> eh i dont want to be limited to simple wave samples |
17:50:19 | FromDiscord | <Recruit_main707> that makes more sense yeah |
17:50:31 | FromDiscord | <Rika> will probably get the demo for renoise then, see if i like it and then buy it |
17:50:38 | FromDiscord | <Rika> man 75 dollars is such a steal of a price ngl |
17:50:52 | FromDiscord | <Rika> considering that thats cheaper than some plugins |
18:08:08 | FromDiscord | <geekrelief> In reply to @treeform "In theory this should": Are you going to create an issue for the compiler crash / tupledecl issue? |
18:14:39 | FromDiscord | <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:39 | FromDiscord | <enthus1ast> i think you cant with exeProcess |
18:20:50 | FromDiscord | <enthus1ast> can't execProcess |
18:21:20 | FromDiscord | <hmmm> should I use something else like startProcess? |
18:21:31 | FromDiscord | <enthus1ast> is this cli program one of yours? |
18:21:53 | FromDiscord | <hmmm> nope it's qpdf |
18:26:39 | FromDiscord | <enthus1ast> @hmmm\: try the "poDaemon" option |
18:26:56 | FromDiscord | <enthus1ast> this sets the "CREATE\_NO\_WINDOW" flag |
18:27:07 | FromDiscord | <enthus1ast> but i don't know if this works for cmd window |
18:27:18 | FromDiscord | <enthus1ast> https://github.com/nim-lang/Nim/blob/1090b0c4af472b7064193c2795c43a00ae21030b/lib/pure/osproc.nim#L724 |
18:28:28 | FromDiscord | <hmmm> hmm |
18:28:32 | FromDiscord | <hmmm> interesting |
18:28:35 | FromDiscord | <hmmm> I'll try |
18:35:04 | FromDiscord | <hmmm> anyway I'm getting confused, what's the difference between execCmdEX, execCmd, startProcess and execProcess |
18:35:17 | FromDiscord | <hmmm> there is too many 🧐 |
18:39:40 | FromDiscord | <enthus1ast> yes |
18:39:46 | FromDiscord | <enthus1ast> i also have to look them up |
18:40:04 | FromDiscord | <enthus1ast> every time i want to use them |
18:45:11 | FromDiscord | <enthus1ast> but was poDaemon working? |
18:55:51 | FromDiscord | <hmmm> can't try right now, I need to fix the program somewhere else first lol |
19:11:32 | FromDiscord | <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:56 | FromDiscord | <retkid> so spawn is calling all my functions to return generics, T |
19:36:04 | FromDiscord | <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:08 | FromDiscord | <5271> is there a way ot make a program that doesn't open any windows and just runs in background in nim? |
19:37:21 | FromDiscord | <5271> (edit) "ot" => "to" |
19:37:35 | FromDiscord | <retkid> https://media.discordapp.net/attachments/371759389889003532/908802727658795038/unknown.png |
19:37:37 | FromDiscord | <retkid> v |
19:37:39 | FromDiscord | <retkid> https://media.discordapp.net/attachments/371759389889003532/908802741172850718/unknown.png |
19:37:43 | FromDiscord | <retkid> i cant post images/ |
19:45:58 | FromDiscord | <retkid> guess there is no answer |
19:45:59 | FromDiscord | <retkid> ¯\_(ツ)_/¯ |
19:46:13 | FromDiscord | <Elegantbeef> I mean the issue isnt clear |
19:46:23 | FromDiscord | <Elegantbeef> You're hovering the second error not the first |
19:46:43 | FromDiscord | <retkid> well, they are both the same problem |
19:46:59 | FromDiscord | <Elegantbeef> Sure so give context so we can see the whole procedure |
19:47:25 | FromDiscord | <Elegantbeef> You've covered have the screen with the error and we have 0 context |
19:49:47 | FromDiscord | <retkid> sent a code paste, see https://play.nim-lang.org/#ix=3EOe |
19:49:59 | FromDiscord | <retkid> (edit) |
19:50:23 | FromDiscord | <retkid> (edit) "https://play.nim-lang.org/#ix=3EOe" => "https://play.nim-lang.org/#ix=3EOf" |
19:50:57 | FromDiscord | <retkid> my first guess would be to cast test to tuple(string, string) |
19:51:09 | FromDiscord | <retkid> but how do i do that |
19:52:10 | FromDiscord | <Elegantbeef> `Error: cannot create a flowVar of type: (string, string)` |
19:52:31 | FromDiscord | <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:39 | FromDiscord | <retkid> sent a code paste, see https://play.nim-lang.org/#ix= |
19:54:45 | FromDiscord | <retkid> (edit) |
19:55:03 | FromDiscord | <retkid> that is nowhere in the doc |
19:55:26 | FromDiscord | <retkid> wrong doc i guess nvm |
19:57:58 | FromDiscord | <retkid> sent a code paste, see https://play.nim-lang.org/#ix=3EOg |
19:58:28 | FromDiscord | <retkid> (edit) "https://play.nim-lang.org/#ix=3EOg" => "https://play.nim-lang.org/#ix=3EOh" |
20:00:05 | FromDiscord | <hmmm> out= execProcess("qpdf","", argz, options = {poStdErrToStdOut,poDaemon}) |
20:00:14 | FromDiscord | <hmmm> it was perfeccccccccccct |
20:00:35 | FromDiscord | <hmmm> enthy you are the nimmer of the day :nim1: |
20:04:35 | FromDiscord | <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:09 | FromDiscord | <Elegantbeef> So retkid strings cannot be used since they're GC'd types i assume |
20:10:27 | FromDiscord | <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:35 | FromDiscord | <Elegantbeef> It works with arc though i suspect it loses memory |
20:11:06 | FromDiscord | <Elegantbeef> Cause with orc it crashes due to trying to dereference already dereferenced memory |
20:11:17 | FromDiscord | <Elegantbeef> `staticRead("yourFile.qpdf")` |
20:11:35 | FromDiscord | <hmmm> hmmm but it's an entire program |
20:11:38 | FromDiscord | <hmmm> it's like 10 files |
20:11:41 | FromDiscord | <hmmm> will it work? |
20:12:20 | FromDiscord | <Elegantbeef> You could use Zippy, it can compress at compile time |
20:12:38 | FromDiscord | <Elegantbeef> Well compress and archive |
20:12:52 | FromDiscord | <hmmm> oh |
20:12:59 | FromDiscord | <Elegantbeef> Otherwise you could indeed load all 10 files into a collection using static read |
20:13:02 | FromDiscord | <hmmm> mmm |
20:14:35 | FromDiscord | <hmmm> if I eat the files with static read do I still keep calling qpdf with execproc? |
20:15:42 | FromDiscord | <Elegantbeef> No clue |
20:16:04 | FromDiscord | <Elegantbeef> You can put it in a memfile then execute it |
20:16:14 | FromDiscord | <Elegantbeef> Or atleast should be able to |
20:16:29 | FromDiscord | <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:31 | FromDiscord | <Elegantbeef> I mean that's what normally happenes with 32bit vs 64bit 😀 |
20:17:37 | FromDiscord | <hmmm> lol yea |
20:21:47 | FromDiscord | <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:29 | FromDiscord | <hmmm> lol I just accidentally created an exe monstrosity that is unkillable, and doesn't even show in taskmanager list |
21:06:40 | FromDiscord | <hmmm> I guess I'll need to reboot |
21:07:47 | FromDiscord | <Elegantbeef> Nice you made malware! |
21:07:51 | FromDiscord | <hmmm> lol |
21:08:00 | FromDiscord | <hmmm> I guess I should sell my creation |
21:08:27 | FromDiscord | <hmmm> too bad it doesn't do anything except living forever on your screen 😅 |
21:08:50 | FromDiscord | <hmmm> brb reboot |
21:40:09 | FromDiscord | <retkid> whatever happened to channels ? |
21:40:29 | FromDiscord | <retkid> In reply to @hmmm "lol I just accidentally": care to tell me how you've done it |
21:40:34 | FromDiscord | <retkid> (edit) "it" => "it, jkjk unless" |
21:40:48 | FromDiscord | <retkid> anyway |
21:40:52 | FromDiscord | <Elegantbeef> Channels stil exist |
21:41:22 | FromDiscord | <retkid> https://nim-lang.org/docs/channels.html |
21:42:22 | FromDiscord | <retkid> no page for it anymore |
21:43:36 | FromDiscord | <Elegantbeef> https://nim-lang.org/docs/channels_builtin.html |
21:43:38 | FromDiscord | <willyboar> maybe this https://nim-lang.org/docs/channels_builtin.html |
21:43:46 | FromDiscord | <Elegantbeef> Too slow little willy |
21:43:58 | FromDiscord | <Elegantbeef> I mean too slow willy 😀 |
21:44:36 | FromDiscord | <willyboar> I use index for my searches @retkid https://nim-lang.org/docs/theindex.html |
21:55:19 | * | PSEP1 quit (Quit: Leaving) |
21:56:49 | FromDiscord | <retkid> GC is |
21:56:51 | FromDiscord | <retkid> annoying lol |
21:59:55 | FromDiscord | <retkid> https://tenor.com/view/head-spongebob-gif-20612177 |
21:59:58 | FromDiscord | <retkid> SIGSEGV: Illegal storage access. (Attempt to read from nil?) |
22:14:41 | FromDiscord | <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:17 | FromDiscord | <Elegantbeef> Oh hey zoom |
22:15:34 | FromDiscord | <Elegantbeef> Didja have any more ideas for iterators? 😀 |
22:16:31 | FromDiscord | <Zoom> Other than sprinke `lent`s and `.inline.`s, nope. |
22:17:03 | FromDiscord | <Zoom> Haven't had a chance to use them for anything yet. |
22:17:17 | FromDiscord | <Elegantbeef> I mean iterators are already inlined 😀 |
22:18:06 | FromDiscord | <Zoom> They are marked with this in std nonetheless 🤷 |
22:19:22 | FromDiscord | <Elegantbeef> Hmm does the stdlib have a iterator -\> closure |
22:57:59 | FromDiscord | <dom96> don't think so, but sounds like an easy macro |
22:59:39 | FromDiscord | <retkid> is the anyway to get more context with Illegal storage access. |
23:00:54 | FromDiscord | <retkid> because im not quite sure why its not cooperating |
23:01:13 | FromDiscord | <retkid> i mean, i always have my theories |
23:04:49 | FromDiscord | <dom96> stack trace? |
23:05:50 | FromDiscord | <retkid> straces usually doesn't help here |
23:05:53 | FromDiscord | <retkid> i can try tho |
23:13:06 | FromDiscord | <konsumlamm> ~~printf~~ echo debugging |
23:15:54 | FromDiscord | <dom96> depends if it's just a null access or a corruption |
23:16:08 | FromDiscord | <retkid> its a corruption |
23:16:12 | FromDiscord | <retkid> print isn't gonna do anything |
23:16:16 | FromDiscord | <retkid> you cant track it |
23:16:16 | FromDiscord | <dom96> then you should try valgrind |
23:20:28 | FromDiscord | <retkid> https://media.discordapp.net/attachments/371759389889003532/908858817536753704/unknown.png |
23:20:31 | FromDiscord | <retkid> cries |
23:21:44 | FromDiscord | <dom96> running in release mode ain't gonna help |
23:22:46 | FromDiscord | <retkid> the errors i get without it are usually completely irrelevant |
23:23:18 | FromDiscord | <retkid> time to maybe investigate channels because locks aren't saving me from gcc here |
23:51:33 | FromDiscord | <codic> I just switched to Debian Sid, so I now have Nim 1.6.0 |
23:51:47 | FromDiscord | <codic> I'm suddenly getting these new warnings compiling my project, how do I fix them? |
23:51:55 | FromDiscord | <codic> sent a code paste, see https://play.nim-lang.org/#ix=3EPg |
23:56:17 | FromDiscord | <codic> I mean, addr numdesk isn't a non-const location, so what? |