00:00:14 | * | luis_ quit (Quit: luis_) |
00:14:44 | FromGitter | <ynfle> Ok Thanks I'll take a look |
00:15:44 | FromGitter | <ynfle> The issue was the if I would add a `debugEcho` statement in a `func` for a NimNode without calling `.repr` it would tell me that there would be side effects |
00:16:14 | FromGitter | <ynfle> Is there a to use mutliple values inside a "`" in a quote do? |
00:16:50 | FromGitter | <ynfle> Meaning I want to add a bunch of idents to a proc definition, but there can be varying number of input params, |
00:39:00 | * | mbomba joined #nim |
00:48:15 | * | mbomba quit (Quit: WeeChat 2.9) |
01:11:28 | * | Tanger joined #nim |
01:31:37 | FromGitter | <ynfle> How do I check the instatiated type of a generic |
01:31:53 | FromGitter | <ynfle> ? |
01:34:10 | FromDiscord | <ElegantBeef> `when T is int`? |
01:34:37 | disruptek | i think this is a macro. |
01:34:52 | disruptek | there are like 6 different ways that vary depending... |
01:35:07 | disruptek | getType, getTypeImpl, getTypeInst, etc. |
01:36:46 | * | krux02 quit (Remote host closed the connection) |
01:38:44 | FromGitter | <ynfle> It's a macro, but I want to get the type of input argument that is ageneric |
01:59:44 | * | zielmicha__ quit (Read error: Connection reset by peer) |
02:00:12 | * | l1x quit (Ping timeout: 260 seconds) |
02:00:17 | * | nikki93 quit (Read error: Connection reset by peer) |
02:00:24 | * | rayman22201 quit (Ping timeout: 240 seconds) |
02:00:46 | * | zielmicha__ joined #nim |
02:01:01 | * | nikki93 joined #nim |
02:01:01 | * | l1x joined #nim |
02:02:44 | * | rayman22201 joined #nim |
02:09:31 | * | nuxdie quit (Quit: Connection closed for inactivity) |
02:17:27 | * | apahl quit (Ping timeout: 260 seconds) |
02:19:08 | * | apahl joined #nim |
02:36:58 | * | Axiomatic quit (Remote host closed the connection) |
03:02:15 | * | zedeus quit (Ping timeout: 265 seconds) |
03:14:52 | FromGitter | <gogolxdong> toast of nimterop is very helpful! |
03:17:09 | FromGitter | <gogolxdong> It could expand a c file recursive in place. |
03:18:24 | * | muffindrake quit (Ping timeout: 240 seconds) |
03:19:20 | * | vicfred joined #nim |
03:19:36 | FromGitter | <gogolxdong> the CLI equivelent nimterop code doesn't work though. |
03:20:54 | * | muffindrake joined #nim |
03:21:06 | * | Tlangir joined #nim |
03:21:24 | FromGitter | <gogolxdong> `toast -r -I/mnt/c/SDL2-2.0.12/x86_64-w64-mingw32/include/SDL2 -I/mnt/c/FFmpeg -I/mnt/c/FFmpeg -c -o ffplay2.c ffplay.c` vs ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5f9a3534d5a5a635f289aab4] |
03:23:36 | * | Tanger quit (Ping timeout: 260 seconds) |
03:23:46 | FromDiscord | <g5becks> So I signed up on the nim-forum a few days ago |
03:23:56 | FromDiscord | <g5becks> Wanted to post something today |
03:24:12 | FromDiscord | <g5becks> but the email activation link is expired |
03:24:27 | FromDiscord | <g5becks> theres now option to resend confirmation |
03:24:37 | FromDiscord | <g5becks> So i cant post this question there |
03:25:17 | FromDiscord | <g5becks> anyhow |
03:25:42 | FromDiscord | <g5becks> does anyone know if it's allowed to use a generic proc in a tuple type? |
03:26:13 | FromDiscord | <g5becks> I'm trying to port some typescript code |
03:26:29 | FromDiscord | <g5becks> sent a code paste, see https://play.nim-lang.org/#ix=2Cmc |
03:26:44 | FromDiscord | <g5becks> sent a code paste, see https://play.nim-lang.org/#ix=2Cmd |
03:27:06 | FromDiscord | <g5becks> getting an error though |
03:27:15 | FromDiscord | <g5becks> sent a code paste, see https://play.nim-lang.org/#ix=2Cme |
03:29:35 | FromDiscord | <Rika> same as top, you're missing the [T] after CacheBackend |
03:30:27 | FromDiscord | <g5becks> That wouldnt be the same |
03:30:35 | FromDiscord | <g5becks> That would make the tuple generic |
03:30:44 | FromDiscord | <Rika> that is required for any fields to be generic |
03:30:45 | FromDiscord | <g5becks> instead of just the function |
03:31:07 | FromDiscord | <Rika> tuples are not interfaces |
03:31:19 | FromDiscord | <g5becks> What's the equivalent then. |
03:31:34 | FromDiscord | <g5becks> I used a tuple because it's structurally typed |
03:31:41 | FromDiscord | <g5becks> like a typescript interface |
03:32:18 | FromDiscord | <Rika> well tuples must be generic for anything in them to be generic as well afaik |
03:32:47 | FromDiscord | <Rika> let me test smt |
03:32:49 | FromDiscord | <Rika> h |
03:34:36 | * | mbomba joined #nim |
03:34:47 | FromDiscord | <Rika> sorry yea it needs to be explicitly generic |
03:35:05 | FromDiscord | <Rika> and nim doesnt have runtime interfaces (though it is planned) |
03:35:30 | FromDiscord | <g5becks> Man, that's a bummer. |
03:35:53 | FromDiscord | <g5becks> using tuples for interfaces is fine by me |
03:36:00 | FromDiscord | <Rika> what's wrong with the generic thing? |
03:36:12 | FromDiscord | <g5becks> Because |
03:36:46 | FromDiscord | <Rika> code cant be translated perfectly 1:1 to another language unless the lang you're translating to was designed to translate 1:1 |
03:37:37 | FromDiscord | <g5becks> There arent many languages that force generics to be specified at the type level |
03:37:39 | FromDiscord | <g5becks> but |
03:38:00 | FromDiscord | <g5becks> I get the fact that its not really an interface Im dealing with |
03:38:08 | FromDiscord | <g5becks> its a tuple |
03:38:14 | FromDiscord | <g5becks> so It makes sense |
03:38:14 | FromDiscord | <Rika> yeah i assume this wont be like this if it were an actual interface |
03:38:32 | FromDiscord | <Rika> do you need it to be a runtime construct, the interface? |
03:38:38 | FromDiscord | <g5becks> Well |
03:38:44 | FromDiscord | <Rika> we have compile time "interfaces" |
03:38:48 | FromDiscord | <g5becks> I want to avoid creating multiple instances |
03:39:13 | FromDiscord | <g5becks> CacheBackend[string], CacheBackend[int], etc |
03:39:23 | FromDiscord | <g5becks> just create one |
03:39:28 | FromDiscord | <Rika> i see |
03:39:29 | FromDiscord | <g5becks> and then do |
03:39:40 | FromDiscord | <g5becks> get[string], get[int] |
03:39:57 | FromDiscord | <g5becks> I will instead have to reverse it now |
03:40:06 | FromDiscord | <Rika> i dont think that needs to be runtime no? maybe look into `concept`s? |
03:40:19 | FromDiscord | <g5becks> Ill have to look into concept |
03:40:51 | FromDiscord | <g5becks> havent dug that far into nim so far |
03:42:14 | * | silvernode[m] is now known as Jitty[m] |
03:50:16 | FromDiscord | <g5becks> @Rika |
03:50:42 | FromDiscord | <g5becks> I actually dont think generics procs are allowed in tuples at all |
03:50:58 | FromDiscord | <g5becks> sent a code paste, see https://play.nim-lang.org/#ix=2Cmh |
03:51:03 | FromDiscord | <g5becks> still getting an error |
03:51:58 | FromDiscord | <Rika> eh? really? |
03:51:59 | FromDiscord | <Rika> OH |
03:52:05 | FromDiscord | <Rika> i'm stupid, sorry |
03:52:08 | * | zedeus joined #nim |
03:52:20 | FromDiscord | <Rika> okay so unfortunately it isnt allowed since generics arent concrete |
03:52:28 | FromDiscord | <Rika> at least not to my knowledge |
03:52:50 | FromDiscord | <Rika> wait |
03:52:55 | FromDiscord | <Rika> i dont actually know why... |
03:52:56 | FromDiscord | <Rika> hmm |
03:53:34 | FromDiscord | <Rika> maybe someone more knowledgeable here can answer why this isnt possible (but i assume its due to how it would be stored in memory and how size cant be calculated properly or so) |
03:56:53 | * | Axiomatic joined #nim |
03:57:38 | FromDiscord | <g5becks> Its cool |
03:57:46 | leorize | g5becks: https://play.nim-lang.org/#ix=2Cmi |
03:57:51 | leorize | is that what you're trying to do? |
03:58:31 | leorize | I haven't followed the conversation closely so I might missed a thing or two |
03:58:34 | FromDiscord | <nikki> a custom pragma can't have some (maybe compile time) side effect right? like if `type Foo {.somePragma.} = ... ` where to register `Foo` in some list of types to look up later when deserializing or sth |
03:58:41 | FromDiscord | <g5becks> no |
03:58:53 | FromDiscord | <g5becks> But its a step in the direction |
03:59:21 | FromDiscord | <g5becks> I am trying to avoid having the generic type from being defined at the type level |
03:59:29 | FromDiscord | <g5becks> but rather at the function level |
04:00:26 | FromDiscord | <g5becks> apparently |
04:00:39 | FromDiscord | <g5becks> if you arent providing an implementation |
04:01:02 | FromDiscord | <g5becks> nim wants a concrete type |
04:01:19 | leorize | hmm can you (re)send an example of how you'd want it to be in Nim? |
04:01:38 | leorize | like a vague idea of how things should be matched? |
04:01:42 | leorize | it doesn't have to compile |
04:01:46 | FromDiscord | <g5becks> Im more familiar with typescript and C# |
04:01:50 | FromDiscord | <g5becks> but |
04:01:57 | FromGitter | <gogolxdong> ```var f = open("undefined", fmAppend) ⏎ for i in s: ⏎ echo i ⏎ write(f,i) ⏎ f.close``` ⏎ ⏎ truncates file content, is this expected? [https://gitter.im/nim-lang/Nim?at=5f9a3eb48d286f207677492e] |
04:02:19 | FromDiscord | <g5becks> sent a code paste, see https://play.nim-lang.org/#ix=2Cmm |
04:02:24 | FromDiscord | <g5becks> thats the typescript code |
04:02:39 | FromDiscord | <g5becks> so I can just provide a generic get fuction |
04:03:25 | leorize | that's doable with concepts, but those are a bit rusty atm... |
04:04:16 | FromDiscord | <g5becks> No problem |
04:04:37 | FromDiscord | <g5becks> Probably wont be hard to find a workaround |
04:05:27 | FromDiscord | <g5becks> But this is a good example of why some sort of interface abastraction might be a good Idea |
04:05:37 | FromDiscord | <g5becks> Thanks for the help |
04:06:02 | * | supakeen quit (Quit: WeeChat 2.9) |
04:06:42 | * | supakeen joined #nim |
04:51:14 | * | mbomba quit (Quit: WeeChat 2.9) |
05:15:54 | * | Tlangir quit (Quit: Leaving) |
05:25:59 | * | waleee-cl quit (Quit: Connection closed for inactivity) |
05:35:41 | * | Axiomatic quit (Remote host closed the connection) |
05:36:12 | * | Axiomatic joined #nim |
05:57:45 | * | narimiran joined #nim |
06:32:11 | * | solitudesf joined #nim |
06:35:25 | * | Q-Master quit (Ping timeout: 260 seconds) |
07:09:57 | * | letto joined #nim |
07:35:20 | * | krux02 joined #nim |
07:36:16 | * | narimiran quit (Ping timeout: 268 seconds) |
07:37:27 | * | narimiran joined #nim |
07:53:05 | * | abm joined #nim |
07:55:59 | * | vicfred_ joined #nim |
07:59:05 | * | vicfred quit (Ping timeout: 268 seconds) |
08:01:32 | * | NimBot joined #nim |
08:03:05 | ForumUpdaterBot | New thread by Michy: Subrange check during initialisation, see https://forum.nim-lang.org/t/7005 |
08:49:54 | * | hnOsmium0001 quit (Quit: Connection closed for inactivity) |
08:59:01 | * | mmohammadi9812 quit (Ping timeout: 264 seconds) |
09:01:06 | * | mmohammadi9812 joined #nim |
09:03:39 | planetis[m] | narimiran: Hi, can you add hacktoberfest tag to fusion repo? |
09:04:05 | narimiran | planetis[m]: done! |
09:04:24 | planetis[m] | that was fast! thanks |
09:07:25 | * | PMunch joined #nim |
09:08:12 | planetis[m] | guys, is there a reason alginedAlloc procs wheren't exported, documented, etc, can I make a PR? |
09:11:18 | FromGitter | <jrfondren> gogolxdong: it doesn't truncate file content for me. what platform is this on? |
09:20:47 | * | fredrikhr quit (Read error: Connection reset by peer) |
09:21:01 | * | fredrikhr joined #nim |
10:00:22 | Araq | first type mismatch at position: 2 |
10:00:22 | Araq | required type for loadJsonNode: proc (configPath: string): JsonNode{.closure.} |
10:00:22 | Araq | but expression 'parseFile' is of type: proc (filename: string, rawIntegers: bool, rawFloats: bool): JsonNode{.gcsafe, locks: <unknown>.} |
10:00:38 | Araq | I remember a Nim where this was impossible thanks to the .procvar pragma |
10:00:54 | Araq | so good that we got rid of it and now I cannot add new default parameters to existing procs |
10:00:59 | Araq | :-( |
10:01:30 | Araq | but nooooo, .procvar wasn't known from other langs so it can't be good stuff |
10:01:41 | Araq | and we removed it |
10:02:52 | FromDiscord | <Rika> rfc to readd it why not |
10:06:11 | FromDiscord | <Varriount> Araq: What about using trampolines? |
10:08:01 | Araq | trampolines are good, how are we gonna get them? |
10:08:52 | FromDiscord | <lqdev> Araq: what did procvar do? |
10:09:25 | Araq | enable a proc to be passed around as first class proc, promising its interface wouldn't grow additional args |
10:09:47 | Araq | without it, you cannot take its address and have to write a lambda |
10:09:53 | Araq | instead. |
10:11:59 | Araq | I liked its design, it was a good protection against the FP people who want to treat CPU instructions (system.`+`) as functions because Haskell. |
10:19:50 | * | mmohammadi9812 quit (Ping timeout: 264 seconds) |
10:20:27 | * | mmohammadi9812 joined #nim |
10:21:12 | PMunch | Araq, didn't want to flood my issue with unrelated stuff. What is this std thing? You said it's the "namespace of our stdlib modules" but most of the standard library is not in std |
10:22:04 | Araq | most of it predates the std introduction |
10:22:24 | Araq | but your module doesn't so it should be in std/, it's really not a big thing, is it? |
10:22:42 | PMunch | No I was just curious why some thing were in std and some weren't |
10:22:49 | Araq | legacy |
10:22:54 | PMunch | Right |
10:23:19 | PMunch | Are there any plans to move all of stdlib into std? |
10:23:27 | Araq | btw you can do 'import std / strutils' |
10:23:32 | PMunch | Or do we just have to live with this fairly arbitrary split forever? |
10:23:32 | Araq | it works thanks to magic |
10:23:41 | PMunch | Oh, that was my next question :P |
10:23:56 | PMunch | So we should all be doing that? |
10:24:06 | Araq | ideally yeah |
10:24:25 | PMunch | Why did we decide to do that by the way? |
10:24:48 | PMunch | Makes it feel like foreign packages are more "native" than the standard library as they don't have a prefix |
10:25:16 | Araq | well foreign packages have $PackageName / module |
10:25:35 | FromDiscord | <Yardanico> there's also pkg prefix iirc |
10:25:49 | FromDiscord | <Yardanico> import pkg / nimblepackage |
10:25:54 | Araq | yeah |
10:25:56 | PMunch | Well most packages just do `import packagename` |
10:26:12 | Araq | true |
10:26:52 | Araq | I made my peace with the situation by claiming 'strutils' is keyword-like |
10:27:03 | Araq | and new things are not keywords |
10:27:28 | Araq | but that's "living with the split forever" |
10:27:39 | FromDiscord | <justbrowsing> sent a long message, see http://ix.io/2Cnj |
10:27:44 | FromDiscord | <Yardanico> You don't |
10:28:07 | FromDiscord | <Yardanico> well, one way you can do it is reassign a const to a let at runtime |
10:28:13 | FromDiscord | <Yardanico> But why do you need the addr? |
10:28:21 | Araq | justbrowing: didn't we change this in 1.4? |
10:28:28 | Araq | I remember changing this |
10:29:25 | FromDiscord | <justbrowsing> Using 1.4 - no luck. |
10:30:10 | Araq | you need the 'let' then, sorry |
10:30:34 | FromDiscord | <justbrowsing> @Yardanico For embedded programming a little of RAM. Need to store data in ROM (flash) |
10:30:55 | FromDiscord | <Yardanico> well then it wouldn't really work |
10:31:03 | FromDiscord | <Yardanico> With let you'll put it in RAM |
10:31:10 | Araq | 'let's are put into ROM sections too |
10:31:15 | Araq | depending on the type |
10:32:19 | FromDiscord | <justbrowsing> @!757977596066660455> ↵let tgaFile = staticRead("../data/test.tga")↵----↵Error: 'staticRead' can only be used in compile-time context |
10:33:00 | FromDiscord | <justbrowsing> let is not working with staticRead. I suppose |
10:33:07 | * | mmohammadi9812 quit (Ping timeout: 246 seconds) |
10:33:16 | Araq | const x = staticRead("..."); let y = x |
10:33:28 | * | mmohammadi9812 joined #nim |
10:33:32 | FromDiscord | <lqdev> wouldn't that be `tgaFile[0].unsafeAddr`? |
10:34:01 | PMunch | Doesn't work either |
10:34:12 | PMunch | Essentially what const does is replace tagFile with the literal |
10:34:35 | PMunch | So that would look like `"whatever the content of test.tga is"[0].unsafeAddr` |
10:35:00 | PMunch | And every time you use that const you might end up with a copy of all that data |
10:35:44 | PMunch | justbrowsing, what platform are you using? I've had luck using PROGMEM on Arduino for what it appears that you're trying to do |
10:37:20 | FromDiscord | <justbrowsing> @!669496590964097024>, what platform are you using? I've had luck using PROGMEM on Arduino for what it appears that you're trying to do↵@PMunch cpu: STM32, HAL, gcc++ |
10:38:57 | PMunch | Ah, so you just need Nim to generate a C `const` |
10:39:04 | PMunch | (These are different from Nim const) |
10:43:30 | PMunch | By doing `let tgaFile = static: staticRead("../data/test.tga")` it generates a STRING_LITERAL definition which comes from nimbase.h and is defined as `static const` so that should work |
10:43:38 | PMunch | @justbrowsing ^ |
10:45:46 | FromDiscord | <justbrowsing> sent a long message, see http://ix.io/2Cno |
10:57:09 | * | oculux joined #nim |
10:57:44 | * | oculuxe quit (Ping timeout: 258 seconds) |
11:01:33 | ForumUpdaterBot | New thread by Drkameleon: Termios missing when building on Windows?, see https://forum.nim-lang.org/t/7006 |
11:03:36 | FromDiscord | <justbrowsing> > By doing `let tgaFile = static: staticRead("../data/test.tga")` it generates a STRING_LITERAL definition which comes from nimbase.h and is defined as `static const` so that should work↵@PMunch[IRC]: Thats works and seems nicer that: const x = staticRead("..."); let y = x. But adds NimStringV2 (24 bytes per on use of this construction) in RAM in global context. |
11:04:58 | FromDiscord | <justbrowsing> Thank you @Araq and @PMunch for help! |
11:05:53 | PMunch | No problem |
11:06:03 | PMunch | I guess you could also make a cstring out of it if you like |
11:07:32 | PMunch | Which generates this C code: N_LIB_PRIVATE NIM_CONST NCSTRING test__bCD9cI4PCUgxtd0CnyJNtfQ = "<data>" |
11:08:25 | PMunch | Or create an array or UncheckedArray out of it, depends on what the tga data is and how you're using it |
11:17:44 | FromDiscord | <justbrowsing> @PMunch let tgaFile = static:cstring staticRead("../data/test.tga"). Perfect solution. No side effects. Thank you! |
11:18:32 | PMunch | Helps to have done this before ;) |
11:21:51 | FromDiscord | <justbrowsing> sent a long message, see http://ix.io/2Cnz |
11:22:05 | Araq | we should really claim this to be a bug tho and fix it |
11:23:20 | FromDiscord | <justbrowsing> @Araq NIM_CONST or the whole situation with addr to const? |
11:25:52 | FromDiscord | <justbrowsing> @PMunch As I guess in NIM_CONST is empty in cpp compiller, so no cpp const generated. Back to step 1. |
11:27:09 | PMunch | Hmm, I guess you might have to use codegendecl then |
11:29:03 | Araq | addr to const |
11:29:09 | Araq | C |
11:29:19 | Araq | ++'s const system so too broken for us |
11:29:26 | Araq | *is too |
11:32:07 | PMunch | @justbrowsing, you can do `let test {.codeGenDecl: "const $# $#".} = static: staticRead("/tmp/cconsttest.nim").cstring` which will generate `const NCSTRING test__bCD9cI4PCUgxtd0CnyJNtfQ = "<data>"` |
11:32:18 | PMunch | With the cpp target |
11:32:37 | Araq | we could have a .rom pragma, you know... |
11:33:09 | Araq | and when the compiler cannot ROM it, it's an error |
11:33:25 | Araq | mratsim proposed something similar |
11:33:38 | Araq | but instead he only got .noalias in 1.4 |
11:35:02 | * | vicfred_ quit (Quit: Leaving) |
11:35:58 | PMunch | Hmm, I think we talked about this with PROGMEM on Arduino as well |
11:36:18 | Araq | yeah |
11:36:24 | FromDiscord | <justbrowsing> @Araq Yes, like PROGMEM in arduino. As I understand problem is in implementation. What to emit to c and cpp to get proper result |
11:36:46 | PMunch | It's kinda platform dependent |
11:37:00 | Araq | the problem is that we're hacking around instead of telling Nim what we need |
11:41:32 | FromDiscord | <justbrowsing> @PMunch Thank you again. It works! |
11:42:22 | PMunch | Araq, oh don't get me wrong, I'd really like to have a .rom pragma :) |
11:42:47 | Araq | or maybe a .section("ROM") |
11:42:47 | PMunch | I was just saying it might be hard to implement for all platforms, but perhaps an error for unknown platforms is good enough |
11:42:56 | PMunch | @justbrowsing, great :) |
11:44:17 | FromDiscord | <acek7> Welp im one nervous guy |
11:44:31 | FromDiscord | <acek7> got a meeting with a big design agency tomorrow |
11:47:00 | FromGitter | <jrfondren> is a ProveInit warning from stdlib worth reporting? it's initTable with an openArray[char] key |
11:48:19 | FromDiscord | <justbrowsing> @Araq Since const is used in different ways and one of the expected ways (in embedded devices) is to put data in ROM, the rom pragma looks like the best option. To implement in the cpp backend, the keyword 'const' is enough as I understand it. |
11:49:11 | FromDiscord | <justbrowsing> PROGMEM (in arduino) converted to const keyword is not it? |
11:58:49 | PMunch | @acek7, good luck! |
11:59:32 | FromDiscord | <justbrowsing> @Araq Do we expect more .section options in the future .section("RAM"), .section("DEBUG") ? If yes, then .section("ROM") is way to go, otherwise .rom is faster to type on keyboard. Also, is it possible to hint to the linker to put the variable in a specific section? It depends on the compiler I suspect. |
12:01:05 | PMunch | @justbrowsing, no PROGMEM sets __ATTR_PROGMEM__ which is handled by the AVR compiler: http://megaburken.net/~patrik/avr/x1007.html |
12:06:01 | * | supakeen quit (Quit: WeeChat 2.9) |
12:06:34 | * | supakeen joined #nim |
12:06:49 | FromDiscord | <justbrowsing> @PMunch You're right, I remembered differently. So the .rom implementation must be platform-dependent. This is not good. |
12:09:21 | FromDiscord | <Carpal> yo |
12:09:31 | FromDiscord | <acek7> im stressing about some questions i should ask. Its the product lead from the agency giving some of his time to me to give me advice on doing design and production work |
12:09:31 | FromDiscord | <Carpal> i discovered nim some days ago |
12:09:38 | FromDiscord | <acek7> as a business |
12:09:45 | FromDiscord | <Carpal> and i think it has good potential |
12:10:20 | FromDiscord | <Carpal> but there are some things i would author fixes |
12:11:53 | FromDiscord | <justbrowsing> We can always say that arduino is outdated and ARM (stm32) is a new bright future.↵Const keyword enough for anybody (640Kb ought to be enough for anybody (Bill Gates))↵LOL |
12:14:26 | FromDiscord | <Rika> @Carpal which are |
12:14:32 | * | luis_ joined #nim |
12:15:12 | luis_ | Hi all, do you guys rememeber who shared a nim 1sec email module online? I remember it on github, but I can't find it anymore |
12:15:42 | FromDiscord | <Rika> star the repos you're interested in! |
12:15:44 | FromDiscord | <Rika> 😛 |
12:15:48 | luis_ | I did! |
12:15:59 | luis_ | the person must have removed it from git |
12:17:38 | luis_ | I think I am mistaken, it was bash: https://github.com/KevCui/1secmail |
12:20:46 | FromDiscord | <shashlick> @gogolxdong nimterop is generally used on h files - what was your error though |
12:23:11 | * | TomDotTom joined #nim |
12:29:07 | FromDiscord | <Carpal> is luis written in nim? |
12:29:29 | luis_ | nope |
12:29:47 | FromDiscord | <Carpal> lol |
12:29:49 | luis_ | 😅️ |
12:37:55 | PMunch | Luis? |
12:38:01 | Zevv | the ar4q is strong on this one: "Well Java has had effectively zero influence on Nim's design and OO textbook examples like yours lost their convincing nature two decades ago." |
12:38:22 | PMunch | TBH they kinda did though.. |
12:38:52 | PMunch | Whenever I end up doing OO for some reason I can't help to think to myself "why am I jumping through all these hoops again?" |
12:39:09 | Zevv | sure |
13:00:34 | * | luis_ quit (Quit: luis_) |
13:01:02 | * | luis_ joined #nim |
13:06:11 | FromDiscord | <Carpal> ahhaha what a fuxk is hapening |
13:07:31 | * | haxscramper joined #nim |
13:07:32 | * | Axiomatic quit (Quit: Leaving) |
13:07:52 | FromDiscord | <Carpal> is there the nim author in this comunity? |
13:08:30 | PMunch | Yes |
13:09:14 | haxscramper | The only convincing reason to do OOP-styling things is when you need to do some kinds of extensions for existing types behavior. Although this one is a bit annoying to do right now since you need to just add interface-like behavior (like in `std/streams`). I still haven't figured out how to deal with things like C++ libraries that heavily rely on inheritance / method overriding etc. |
13:09:14 | haxscramper | |
13:09:14 | haxscramper | I thought about just hardcoding **one** derived class that overrides **everything**, and in these overrides calls are just passed to implementation procs. Like `class NimWrap : Parent { override method() { nimImpl() } };` |
13:10:04 | haxscramper | And then you just set correct implementation for type in nim, without overriding things. Or you can derive from it if you want - (for additional fields etc). |
13:11:54 | haxscramper | Though I don't know how to correctly initialize supertype in nim, without writing boilerplate code all over (like I tried in #15692 , but hit codegen error)> |
13:11:57 | disbot | https://github.com/nim-lang/Nim/issues/15692 -- 3Codegen error for base type pointer access; missing pointer dereference ; snippet at 12https://play.nim-lang.org/#ix=2CnZ |
13:13:18 | * | Axiomatic joined #nim |
13:18:39 | FromGitter | <iffy> I'm trying to debug a memory issue, and I just noticed that with --gc:arc, `thing.repr` no longer displays the memory address of thing. Is that expected? |
13:19:34 | * | stefantalpalaru quit (Read error: Connection reset by peer) |
13:21:38 | * | narimiran quit (Ping timeout: 264 seconds) |
13:25:07 | PMunch | @iffy, sounds a bit weird, but might be expected |
13:31:26 | FromGitter | <jrfondren> I noticed that and assumed that maybe the addresses weren't as reliable information, but the difference seems to be that arc uses stdlib_repr_v2.nim |
13:32:20 | FromGitter | <jrfondren> or lib/system/repr_v2.nim in the repo |
13:32:53 | PMunch | Probably because of the lack of RTTI in ARc |
13:33:06 | FromDiscord | <Clyybber> thats not the cause for the addresses not being printed |
13:33:15 | FromDiscord | <Clyybber> its just that it wasn't implemented |
13:33:25 | FromDiscord | <Clyybber> probably because it wasn't deemed that useful |
13:35:41 | FromGitter | <jrfondren> my use case was to save and compare repr strings to confirm that a move had happened vs. a copy. arc stripped out the part that would be different in the repr so confused some of that |
13:38:08 | PMunch | Hmm, can I convert 0x80_00_00_00 (aka -1) to int32 somehow? |
13:38:16 | PMunch | As -1 of course |
13:39:14 | mipri | that's not -1 |
13:39:19 | mipri | -1 is 0xFFFF_FFFF |
13:39:22 | Yardanico | yeah |
13:39:24 | PMunch | Oh wait, yeah my bad |
13:39:29 | PMunch | But anyways |
13:39:30 | Yardanico | @PMunch you can |
13:39:36 | Yardanico | !eval echo cast[int32](0x80_00_00_00u32) |
13:39:39 | NimBot | -2147483648 |
13:39:40 | Yardanico | :DD |
13:39:44 | PMunch | Hmm, I guess |
13:39:52 | Yardanico | !eval echo cast[int32](0xFF_FF_FF_FFu32) |
13:39:55 | NimBot | -1 |
13:40:16 | Yardanico | !status |
13:40:18 | FromDiscord | Uptime - 1 week, 1 day, 18 hours, and 3 minutes |
13:43:32 | FromDiscord | <Carpal> !eval echo "Hello World" |
13:43:35 | NimBot | Hello World |
13:44:00 | FromDiscord | <Carpal> i think nimbot should better with the nim logo as image profile |
13:44:38 | Yardanico | well, it's on IRC so then I'll have to explicitly add that in the bridge code :) |
13:52:01 | FromDiscord | <dom96> Do it 😄 |
13:52:50 | * | rockcavera quit (Remote host closed the connection) |
13:53:26 | PMunch | Better yet, let us set our own images with !image <link> :P |
13:56:02 | FromDiscord | <shashlick> @dom96 - do you want prereleases of choosenim to have odd version numbers or previous stable release + date or next stable release + date |
14:00:34 | * | luis_ quit (Quit: luis_) |
14:01:04 | * | luis_ joined #nim |
14:01:52 | FromDiscord | <dom96> odd |
14:03:26 | FromDiscord | <tinygiant> sent a code paste, see https://play.nim-lang.org/#ix=2Coq |
14:03:34 | * | lritter joined #nim |
14:03:41 | FromDiscord | <tinygiant> (edit) |
14:03:57 | FromDiscord | <tinygiant> (edit) "https://play.nim-lang.org/#ix=2Coq" => "https://play.nim-lang.org/#ix=2Cor" |
14:04:30 | FromDiscord | <dom96> hmm, you can try `opt: var string = (var x = ""; x)` |
14:05:00 | FromDiscord | <dom96> inb4thatcrashesthecompiler 😛 |
14:07:13 | FromGitter | <iffy> `new MyObj` allocates on the thread's heap, right? What's the equivalent way to allocate on the shared heap? Some incantation with allocShared0? |
14:07:53 | FromDiscord | <tinygiant> @dom96 That worked. Thanks! |
14:07:58 | FromGitter | <iffy> (and is this the same with default GC and orc/arc?) |
14:09:13 | PMunch | Hmm, is @jangko around anymore? |
14:09:55 | FromDiscord | <dom96> iffy: cast[ptr MyObj](allocShared(sizeof(MyObj)) |
14:10:05 | FromDiscord | <dom96> we really need safe APIs for this :/ |
14:10:21 | FromDiscord | <lqdev> there are safe APIs for this in fusion |
14:10:33 | FromGitter | <iffy> What is fusion? |
14:10:53 | FromGitter | <iffy> I would love a safe `newShared MyObj` |
14:10:57 | PMunch | https://github.com/nim-lang/fusion |
14:11:02 | FromDiscord | <lqdev> https://github.com/nim-lang/fusion/blob/master/src/fusion/smartptrs.nim |
14:11:26 | FromDiscord | <lqdev> don't think it's in stable yet |
14:12:22 | FromDiscord | <Rika> why not https://nim-lang.org/docs/system.html#createSharedU%2Ctypedesc ? |
14:12:28 | FromDiscord | <Rika> rather |
14:12:33 | FromDiscord | <Rika> i mean instead of the cast alloc dom put |
14:12:55 | FromDiscord | <Rika> also not createSharedU, just createShared, sorry |
14:14:09 | FromDiscord | <dom96> smartptrs still sounds dangerous to me |
14:14:25 | FromDiscord | <dom96> What's stopping us from having a `SharedRef[T]`? |
14:14:52 | FromGitter | <iffy> oh hey, createShared does look like it will work like dom's cast |
14:15:41 | FromDiscord | <Rika> > smartptrs still sounds dangerous to me↵why so |
14:16:29 | FromDiscord | <dom96> Both the naming "ptr" and the fact that there are 3 variants |
14:19:11 | FromDiscord | <Clyybber> rikas link is what you want |
14:23:11 | FromGitter | <iffy> I'm really failing at this: https://play.nim-lang.org/#ix=2CoA How do I make a shared object? |
14:23:59 | FromDiscord | <Rika> result should be ptr myobj |
14:24:25 | FromGitter | <iffy> Even though I dereference it? |
14:24:33 | FromDiscord | <Rika> wait hm |
14:24:37 | FromDiscord | <Rika> one moment |
14:24:48 | FromDiscord | <Rika> i need to remember, its been a while since i programmed |
14:26:14 | FromDiscord | <Rika> wait |
14:26:15 | FromDiscord | <Rika> wtf |
14:26:17 | FromDiscord | <Rika> okay |
14:26:21 | FromDiscord | <Rika> your object should not be ref |
14:26:22 | FromDiscord | <Rika> 😛 |
14:27:21 | FromDiscord | <Rika> https://play.nim-lang.org/#ix=2CoC |
14:27:39 | PMunch | Hmm, trying to play with CEF (Chromium Embedded Framework), but the Nim wrapper just keeps crashing on me.. |
14:28:10 | FromGitter | <iffy> Rika: oh, I see. It seems that the `of RootObj` is also a problem. Any idea what that is? |
14:28:24 | FromDiscord | <Rika> only usually used with ref |
14:31:04 | PMunch | Oh wait, this needs a full directory structure.. |
14:32:40 | FromGitter | <iffy> Rika (or anyone), follow-up question: https://play.nim-lang.org/#ix=2CoF is that Thing I made on line 13 also going to end up in the shared heap? Or does this code introduce problems? |
14:33:54 | FromDiscord | <Rika> tables are internally seqs which are thread local pointers (i do not know if this is true, but i know theyre at least pointers ofc) |
14:33:59 | FromDiscord | <Rika> i have no idea, i feel like it will work |
14:34:27 | FromDiscord | <Rika> anyway i dont know why you're returning the dereferenced object |
14:34:44 | FromDiscord | <Rika> it doesnt make sense to me, since you need the pointer to access it in a shared way |
14:34:50 | FromGitter | <iffy> Me either :) |
14:34:57 | FromGitter | <iffy> oh! |
14:35:59 | FromGitter | <iffy> So I should share `ptr MyObj` between threads not a `MyObj` (assuming I really, truly do want to share memory between threads and not use channels) |
14:35:59 | * | JustASlacker joined #nim |
14:36:12 | PMunch | Nope, still crashes.. |
14:40:54 | FromDiscord | <Rika> iffy yeah afaik? i dont remember, as ive said its been a few weeks since i last programmed seriously |
14:47:37 | PMunch | Prestige, did you ever try notifishower? |
14:47:47 | Prestige | PMunch: not yet :( |
14:48:19 | Prestige | Been working on a game mostly |
14:48:54 | PMunch | Game? |
14:49:15 | Prestige | Remaking astroships in Nim (I've shown it to you right?) |
14:49:24 | PMunch | Hmm, don't think so |
14:50:57 | FromDiscord | <Rika> notifi🚿 |
14:52:07 | * | krux02 quit (Remote host closed the connection) |
14:55:24 | * | Kaivo quit (Ping timeout: 240 seconds) |
14:56:30 | PMunch | Haha :P |
14:57:57 | * | Kaivo joined #nim |
14:58:22 | Prestige | PMunch: https://github.com/avahe-kellenberger/astroships the original game link is in the README |
15:01:08 | * | hnOsmium0001 joined #nim |
15:02:27 | PMunch | Huh, pretty neat little game |
15:03:24 | Prestige | Thanks. I plan to make it an online battle area with powerups. Recreating the current state with nico |
15:04:51 | disruptek | no, you're not doing that. |
15:05:00 | * | luis_ quit (Ping timeout: 256 seconds) |
15:05:47 | Prestige | well not currently, but after work :P |
15:30:01 | * | sentreen quit (Quit: sentreen) |
15:31:05 | * | sentreen joined #nim |
15:32:35 | * | waleee-cl joined #nim |
15:32:52 | * | astronavt joined #nim |
15:34:25 | FromDiscord | <enthus1ast> is disruptek your boss Prestige? 😄 |
15:39:36 | Prestige | He's my nephew |
15:44:16 | * | stefantalpalaru joined #nim |
15:48:55 | FromDiscord | <Zachary Carter> Porting a game from Nim to Typescript for performance reasons doesn't make much sense I don't think. |
15:49:08 | FromDiscord | <Zachary Carter> the native client bit does |
15:49:18 | FromDiscord | <Clyybber> the other way around :) |
15:49:23 | FromDiscord | <Zachary Carter> err yeah |
15:49:27 | FromDiscord | <Zachary Carter> sorry Typescript to Nim |
15:49:33 | FromDiscord | <Zachary Carter> but either way - it still doesn't make sense 😛 |
15:58:16 | FromDiscord | <Idefau> https://play.nim-lang.org/#ix=2Cpc is this supposed to not compile |
16:04:42 | Prestige | @Zachary Carter we weren't using webgl or anything, also framerate is capped in the browser |
16:05:17 | FromDiscord | <Clyybber> @Idefau should compile |
16:07:01 | * | stefantalpalaru quit (Changing host) |
16:07:01 | * | stefantalpalaru joined #nim |
16:08:35 | * | JustASlacker quit (Remote host closed the connection) |
16:11:00 | FromDiscord | <Zachary Carter> Prestige: yeah but Nim isn't going to be more performant than TypeScript |
16:11:30 | FromDiscord | <Zachary Carter> that was what I was nitpicking |
16:12:33 | FromDiscord | <Clyybber> Nim -> js won't be, but now I am nitpicking |
16:12:38 | FromDiscord | <Zachary Carter> well that's what I meant |
16:12:44 | FromDiscord | <Clyybber> I know :P |
16:12:46 | FromDiscord | <Zachary Carter> 😄 |
16:12:53 | FromDiscord | <tinygiant> In a conditional statement with multiple `or` conditions, such as `if <simpleCondition> or <reallyComplexCondition>`, will nim stop at `<simpleCondition>` if it's true and not evaluate the other conditions at all? |
16:12:55 | Prestige | Yeah I don't expect that to be |
16:13:32 | leorize | yes, nim's `or` short-circuits |
16:18:43 | FromDiscord | <tinygiant> Thanks! |
16:31:57 | * | narimiran joined #nim |
16:40:24 | * | sirn quit (Ping timeout: 240 seconds) |
16:41:00 | * | sirn joined #nim |
16:41:41 | * | tane joined #nim |
16:55:09 | * | jholland__ quit (Read error: Connection reset by peer) |
16:55:17 | * | jholland__ joined #nim |
17:04:25 | ForumUpdaterBot | New thread by Sixte: What is Kernel32?, see https://forum.nim-lang.org/t/7009 |
17:04:42 | FromDiscord | <shashlick> @dom96 - please switch to travis-ci.com for choosenim if you can - jobs take forever now |
17:05:37 | FromDiscord | <shashlick> you'd need to go here - https://www.travis-ci.com/account/repositories |
17:09:46 | * | apahl quit (Ping timeout: 268 seconds) |
17:10:24 | * | apahl joined #nim |
17:17:38 | FromDiscord | <dom96> This seems really silly |
17:17:53 | FromDiscord | <dom96> Why is that a factor in the speed? |
17:17:59 | FromDiscord | <dom96> Why doesn't travis auto-switch the jobs? |
17:23:23 | FromDiscord | <shashlick> It was open source vs commercial or something |
17:23:41 | FromDiscord | <shashlick> I didn't know about it till a week ago and they announced the migration 2 years ago |
17:24:13 | FromDiscord | <shashlick> They are closing down the org instance so jobs sit around waiting for hours |
17:24:27 | FromDiscord | <shashlick> I moved all my ci earlier this week |
17:25:20 | FromDiscord | <shashlick> Probably not doing it automatically so that any dead projects can be purged that way |
17:26:56 | * | astronavt quit (Quit: Leaving) |
17:28:41 | FromDiscord | <dom96> dead projects wouldn't get any new commits though 🙂 |
17:28:58 | dv^_^ | is there any guide on arc/orc performance? my program is 100x slower with --gc:orc and 50x with --gc:arc |
17:30:08 | FromDiscord | <dom96> ugh, why is so shit |
17:30:35 | FromDiscord | <dom96> I don't want to give it access to all my repos |
17:30:47 | FromDiscord | <dom96> and yet it refuses to work if I select "Only select repos" |
17:34:17 | Prestige | Travis sucks |
17:34:30 | FromDiscord | <Rika> thats a tricky situation dv |
17:34:33 | * | rockcavera joined #nim |
17:34:57 | FromDiscord | <dom96> dv^_^: sounds like you should report this on github |
17:35:37 | FromDiscord | <haxscramper> Is `x11` wrapper installed by default with nim? |
17:36:38 | * | narimiran quit (Ping timeout: 264 seconds) |
17:37:57 | FromDiscord | <lqdev> nope |
17:38:01 | FromDiscord | <lqdev> you need to install it via nimble |
17:40:59 | FromGitter | <iffy> shashlick, dom96: do you want to use GitHub Actions instead of Travis? |
17:41:13 | FromGitter | <iffy> They already have access to all your repos :P |
17:43:22 | FromDiscord | <shashlick> need to move there eventually |
17:43:32 | * | mbomba joined #nim |
17:43:42 | Prestige | Wouldn't it be an easy change? |
17:43:44 | FromDiscord | <shashlick> but i'd rather spend the few minutes a day on real nim work |
17:43:59 | FromDiscord | <shashlick> there are travis specific things |
17:44:21 | FromDiscord | <shashlick> working on CIs is a tedious, boring and thankless headache |
17:44:37 | FromDiscord | <shashlick> cannot think of any other cool adjectives |
17:49:42 | FromGitter | <iffy> agreed |
17:49:57 | FromGitter | <iffy> point me at a repo and maybe a PR for GitHub Actions will show up? |
17:50:16 | FromDiscord | <shashlick> that will be fantastic |
17:50:27 | FromDiscord | <shashlick> start with nimble perhaps |
17:50:54 | FromDiscord | <shashlick> and check out @leorize's work - https://github.com/alaviss/setup-nim |
17:55:12 | FromGitter | <iffy> oooo, that looks nice. I have my own nim-installing action that uses choosenim, but it fails on macOS until the next version of choosenim comes out. I like that the one you linked uses the pre-built binaries. I'll prefer that one over mine in the PR |
17:56:22 | FromDiscord | <dom96> Speaking of CI, anyone wanna create a CI/CD startup with me? It's been on my todo list for a while 😄 |
17:56:25 | Prestige | I need to switch to that! |
17:56:43 | Prestige | dom: like a new travis/circleCI? |
17:56:44 | FromDiscord | <dom96> All the existing services suck as far as I'm concerned |
17:56:56 | federico3 | dom96: hah |
17:57:03 | federico3 | I'm hopeful for sourcehut |
17:57:08 | Prestige | I've seen issues with travis, I like circleCI though |
17:57:55 | federico3 | I'd rather have less startups and more FLOSS |
17:58:10 | Prestige | I agree |
17:58:40 | FromDiscord | <dom96> I've done enough FLOSS and it's not paying my bills |
17:58:51 | FromDiscord | <dom96> Time to play the capitalism game |
17:58:54 | * | sealmove joined #nim |
17:59:01 | Prestige | I made my own pipeline on my server with gitea - it's privitive, but I like it |
17:59:20 | sealmove | guys remind me, is there a proc for emptying a seq? or should I use setlen(0)? |
17:59:40 | federico3 | I'd like a proper deployment pipeline tool. |
18:00:20 | Prestige | I'd be interested, but I'm curious what your gripes are @dom96 |
18:00:24 | FromDiscord | <lqdev> sealmove: x.setLen(0) is the way |
18:00:32 | sealmove | thx |
18:00:54 | FromDiscord | <g5becks> Hey, does anyone have a quit sec to help me out with this code? |
18:01:03 | FromDiscord | <shashlick> @dom96 - count me in |
18:01:05 | FromDiscord | <g5becks> sent a code paste, see https://play.nim-lang.org/#ix=2CpP |
18:01:25 | FromDiscord | <g5becks> sent a code paste, see https://play.nim-lang.org/#ix=2CpQ |
18:01:50 | FromDiscord | <g5becks> sent a code paste, see https://play.nim-lang.org/#ix=2CpR |
18:02:12 | Prestige | can you put this all in one? |
18:02:14 | FromDiscord | <dom96> ooh, two willing participants cool. I'll keep you both in mind. |
18:02:39 | FromDiscord | <dom96> Who knows when I'll start of course, my project ideas list is miles long 🙂 |
18:02:40 | FromDiscord | <g5becks> In the manual it says that strings are implicitlly converted to cstring |
18:02:42 | sealmove | g5becks: yeah string is different from cstring, you need to convert your literal that you pass |
18:03:12 | sealmove | well, sometimes the compiler needs a little bit help, maybe it's confused because of generics |
18:03:35 | FromDiscord | <dom96> Prestige: I haven't fully formulated my main gripes, but I think it boils down to all of these CI/CD systems trying to be both CI and CD systems 🙂 |
18:03:49 | Prestige | @dom96 but are any of those projects going to pay your bills? :P |
18:03:53 | FromDiscord | <dom96> Focusing on just one, CI, and doing it well is what I would like to do |
18:04:01 | FromDiscord | <dom96> Prestige: yep, if they succeed 😄 |
18:04:07 | Prestige | oh good haha |
18:04:16 | Prestige | Yeah, just doing CI sounds nice |
18:06:26 | FromDiscord | <dom96> I mean, Stardust was one such project |
18:06:41 | FromGitter | <iffy> shashlick: nightlies aren't available for Nim 0.20.2, but I'm guessing nimble still wants to be tested against that? |
18:06:46 | FromDiscord | <dom96> Haven't advertised it properly yet, but chances of it becoming the next agar are slim 🙂 |
18:07:01 | FromDiscord | <dom96> but hey, chances are nil if you don't try |
18:08:13 | Prestige | true! I think it could use some juice, tho |
18:08:16 | Prestige | :wqa |
18:08:26 | Prestige | woops |
18:08:36 | FromDiscord | <dom96> juice? lol |
18:09:08 | Prestige | game juice. I'll link a vid that talks about it, just making gameplay feel nicer |
18:09:45 | Prestige | https://www.youtube.com/watch?v=Fy0aCDmgnxg |
18:09:53 | FromDiscord | <Rika> GAMER JUICE |
18:09:58 | FromDiscord | <dom96> I'm already working on another project in parallel too, something where I know there is a niche market. Of course, it's also a fun learning experience because it's my first time programming ESP8266 🙂 |
18:11:44 | * | mbomba quit (Ping timeout: 240 seconds) |
18:12:44 | Prestige | there's another longer video about the same concept that I like, with a platformer shooter as the example (different speaker) if you care for it, dom |
18:13:51 | * | natrys joined #nim |
18:16:06 | FromDiscord | <g5becks> @sealmove |
18:16:10 | FromDiscord | <g5becks> Thanks |
18:16:22 | FromDiscord | <dom96> Prestige: that is a cool video |
18:16:55 | FromDiscord | <g5becks> So how do I discriminate between a cstring and a node in that case? |
18:16:59 | Prestige | Here's the other, can skip to the good parts (it's long) https://www.youtube.com/watch?v=AJdEqssNZ-U |
18:17:02 | FromDiscord | <dom96> problem is that these effect aren't exactly that easy to implement 🙂 |
18:17:15 | FromDiscord | <dom96> (edit) "effect" => "effects" |
18:17:30 | FromDiscord | <dom96> _creates an issue to implement /something/ though :)_ |
18:17:37 | Prestige | Yeah, depends on the engine and the effect :P screenshake is an easy one though |
18:18:36 | Prestige | I added it to astroships by creating perlin noise, an sampling it to offset the camera every frame. Can use a shrinking scalar till it's centered |
18:19:43 | FromDiscord | <dom96> hm, I'll play around with that |
18:20:06 | FromDiscord | <dom96> but I do need to implement all this stuff manually |
18:20:13 | FromDiscord | <dom96> only got a html5 canvas |
18:21:42 | federico3 | I miss the CD tool I had in amazon |
18:21:44 | Prestige | That's what I did - if you mean just screenshake it shouldn't be too hard. I could send you my typescript source if you don't care to look up the implementation :P |
18:22:23 | FromDiscord | <dom96> I'm also not sure how well screen shake would work with Stardust |
18:22:39 | FromDiscord | <dom96> since the camera is centered on the player |
18:22:42 | federico3 | dom96: BTW is multiplayer broken in stardust? |
18:22:46 | FromDiscord | <dom96> could be disorientating |
18:23:16 | Prestige | dom96: well you'd just offset that position by some vector that's changed by the shake |
18:23:16 | FromDiscord | <dom96> federico3: just tried it, works well |
18:23:20 | FromDiscord | <nikki> @dom96 are you rendering with the usual canvas api or webgl? |
18:23:55 | FromDiscord | <dom96> nikki: canvas api |
18:24:22 | federico3 | "Could not find server" on chrome |
18:25:02 | FromDiscord | <dom96> federico3: huh, see anything in the console? |
18:26:02 | federico3 | yup, CORS errors :) Shall we move to a different channel? |
18:27:11 | FromDiscord | <dom96> sure, #nim-offtopic? |
18:27:23 | federico3 | -gamedev ? |
18:27:24 | FromGitter | <iffy> shashlick: It's a start: https://github.com/nim-lang/nimble/pull/868 |
18:27:25 | disbot | ➥ Enable GitHub actions |
18:28:08 | FromDiscord | <dom96> federico3: don't mind, as long as it's relayed to discord |
18:59:17 | FromDiscord | <treeform> Any one else getting this on the doc pages? |
18:59:19 | FromDiscord | <treeform> https://media.discordapp.net/attachments/371759389889003532/771448093988225044/unknown.png |
18:59:22 | FromDiscord | <treeform> https://nim-lang.org/docs/httpclient.html |
18:59:29 | FromDiscord | <dom96> yep |
18:59:32 | FromDiscord | <dom96> they're broken |
18:59:50 | FromDiscord | <treeform> ok, do I need to file a bug? |
19:00:00 | FromDiscord | <Rika> no afaik its already filed |
19:00:03 | FromDiscord | <treeform> ok great |
19:00:12 | FromDiscord | <treeform> sorry for the interruption |
19:02:47 | disruptek | it's okay; i was just about to brush my teeth. |
19:05:44 | * | Kaivo quit (Ping timeout: 240 seconds) |
19:08:20 | * | Kaivo joined #nim |
19:09:17 | FromDiscord | <Idefau> let me help you |
19:09:41 | disruptek | alright; you hold the brush and i'll move the teeth. |
19:09:55 | FromDiscord | <Idefau> alright |
19:10:07 | FromDiscord | <Idefau> hows this |
19:10:13 | disruptek | c'mon, steadier. |
19:10:22 | disruptek | i'm not a fucking gymnast. |
19:11:09 | FromDiscord | <Idefau> working out wouldn't be bad either |
19:11:31 | disruptek | we can do that after. |
19:12:05 | sealmove | hey @Zevv |
19:12:27 | sealmove | the example for ternary operator was wrong, but I figured out the correct way, it's interesting |
19:12:28 | FromDiscord | <juan_carlos> That syntax sugars for cast pointers gonna make Bugs go brrrrrr |
19:12:59 | sealmove | https://play.nim-lang.org/#ix=2Cqf |
19:13:38 | sealmove | @Zevv note where the precedence operator is. it should be applied to first expr instead of second |
19:14:08 | sealmove | sorry https://play.nim-lang.org/#ix=2Cqg * |
19:15:03 | * | bung joined #nim |
19:16:04 | * | haxscramper quit (Remote host closed the connection) |
19:16:51 | sealmove | i know it makes sense of course, but I thought it's interesting because i haven't seen trailing expressions (after applying the precedence operator) in a pratt parser before. |
19:20:36 | * | NimBot joined #nim |
19:23:06 | FromDiscord | <treeform> Hmm when I use `client.getContent` I get 400 bad request... but if I use curl it works. |
19:23:13 | FromDiscord | <treeform> how can I debug this? |
19:23:47 | FromDiscord | <treeform> this is what I am trying to run: https://play.nim-lang.org/#ix=2Cqj |
19:24:55 | FromDiscord | <treeform> other sites work except www.figma.com for some reason... |
19:24:58 | FromDiscord | <treeform> very strange! |
19:25:29 | disruptek | bad headers. |
19:26:18 | FromDiscord | <treeform> i have set User-Agent and Content-Type nothing seems to help |
19:26:52 | disruptek | it's probably much simpler; our client impl isn't very obedient. |
19:28:35 | FromDiscord | <treeform> oh `["Accept"] = "/"` gave me 401 |
19:28:38 | FromDiscord | <treeform> progress |
19:29:15 | FromDiscord | <treeform> nope I was wrong Accept does nothing |
19:29:50 | disruptek | just compare your headers to curl's. |
19:30:18 | FromDiscord | <treeform> I did |
19:30:22 | FromDiscord | <treeform> no difference |
19:30:27 | disruptek | content-length is correct? |
19:30:32 | disruptek | no duplicate headers? |
19:30:39 | disruptek | matching accept? |
19:32:10 | FromDiscord | <treeform> yes |
19:32:21 | FromDiscord | <treeform> curl does not send `content-length` because its a get there is no body |
19:32:25 | FromDiscord | <treeform> so I don't send it |
19:33:12 | FromDiscord | <treeform> curl uses `GET / HTTP/2` |
19:33:17 | FromDiscord | <treeform> could nim be using http1? |
19:34:27 | bung | probaly not there, it should accept http1 |
19:34:39 | disruptek | it does, yes. |
19:35:21 | * | stefantalpalaru quit (Remote host closed the connection) |
19:35:44 | * | vesper11 quit (Ping timeout: 240 seconds) |
19:35:46 | * | stefantalpalaru joined #nim |
19:37:21 | FromDiscord | <treeform> yes nim says HTTP/1.1 |
19:39:54 | FromDiscord | <treeform> I can force curl to use 1.1 with --http1.1 and it continues to work |
19:40:31 | bung | http protocol unrelated I think, no website want loss http1.1 users |
19:41:03 | FromDiscord | <treeform> oh nim sends more headers then curl |
19:41:12 | FromDiscord | <treeform> maybe they are messing this up |
19:41:30 | FromDiscord | <treeform> it sends `Connection: Keep-Alive` and `content-length: 0` |
19:41:40 | FromDiscord | <treeform> which I don't ask for |
19:42:12 | FromDiscord | <dom96> nim sends content-length: 0 on a GET with no body? |
19:42:42 | bung | why it has such headers |
19:44:32 | FromDiscord | <treeform> @dom96 yes |
19:44:39 | FromDiscord | <treeform> that was the issue! |
19:44:40 | FromDiscord | <treeform> removing it makes it work |
19:45:03 | FromDiscord | <treeform> hacked into httpclient.nim |
19:45:04 | FromDiscord | <treeform> https://media.discordapp.net/attachments/371759389889003532/771459607305912320/unknown.png |
19:45:42 | bung | in what case client should send content-length? I thought it return from server side. |
19:47:53 | FromDiscord | <treeform> when you have a body |
19:48:01 | FromDiscord | <treeform> usually in a post/put etc... verbs |
19:48:10 | FromDiscord | <treeform> `if httpMethod != "get" and key != "content-length":` |
19:48:15 | FromDiscord | <treeform> seems to make it work right |
19:50:22 | FromDiscord | <treeform> its added in `proc requestAux()` no matter what verb it is. |
19:51:01 | * | superbia joined #nim |
19:51:02 | * | mbomba joined #nim |
19:51:11 | bung | that looks like a bug |
19:52:16 | * | rockcavera quit (Remote host closed the connection) |
19:52:19 | disruptek | well, like i said.. our client is not very obedient. |
19:52:21 | FromDiscord | <shashlick> @iffy - 0.20.2 is not needed, don't worry about it - it was just free to support |
19:52:26 | disruptek | be careful about changing it. |
19:55:08 | FromDiscord | <treeform> sent a code paste, see https://play.nim-lang.org/#ix=2Cqt |
19:55:11 | FromDiscord | <treeform> so its kind of allowed, but kind of should not be sent |
19:55:22 | FromDiscord | <treeform> I guess this site/server does not like it. |
19:56:01 | FromDiscord | <Digitalcraftsman> sent a long message, see http://ix.io/2Cqu |
19:57:56 | Prestige | Is there a "standard" way to write proc docs? |
19:57:57 | PMunch | Might be streaming some development on notificatcher in a little while |
19:58:13 | Prestige | PMunch: I'll be free in 1 hour to watch! |
19:58:17 | PMunch | And I'll drop in on Mumble so other people can chirp in |
19:58:24 | disruptek | oh shoot! |
19:58:32 | PMunch | Huh? |
19:59:01 | disruptek | it's `oh shit` with a southern drawl. |
19:59:14 | PMunch | Haha, not the part I was wondering about :P |
19:59:22 | PMunch | Why "oh shoot/shit"? |
19:59:53 | disruptek | it's an exclamation of excitement. |
20:00:24 | * | disruptek growls at the snow and shakes his fist at the clouds. |
20:00:36 | PMunch | You and me both <_< |
20:00:40 | PMunch | Got much snow already? |
20:00:51 | FromDiscord | <lqdev> Prestige: standard? |
20:01:52 | Prestige | like a way that is traditionally done |
20:02:11 | FromDiscord | <lqdev> ## |
20:02:32 | FromDiscord | <lqdev> aka doc comments |
20:02:43 | FromDiscord | <lqdev> just explain what the procedure does |
20:02:44 | Prestige | lol yeah but I mean the format |
20:02:47 | dv^_^ | dom96: i added 'ref' to some big tables and now it's close to the old performance. Is it still worth reporting? |
20:03:53 | Prestige | I've been writing it like my TS docs: https://i.imgur.com/66h4vcp.png |
20:08:42 | PMunch | Just joined the Mumble channel :) |
20:08:49 | * | rockcavera joined #nim |
20:10:42 | PMunch | You can also join the #pmunche IRC channel on the Twitch network to chat |
20:12:47 | Prestige | there's a twitch irc network? :o |
20:13:05 | FromDiscord | <Clyybber> planetis: Hey, are you dead-set on the name? |
20:13:25 | FromDiscord | <Clyybber> almostEqual vs isClose |
20:14:07 | PMunch | Stream is live: https://www.twitch.tv/pmunche |
20:14:21 | PMunch | Prestige, yes, all Twitch channels are actually an IRC channel |
20:14:31 | PMunch | Or rather all Twitch chats |
20:14:52 | ForumUpdaterBot | New thread by JPLRouge: Posix mqueue Thank for Nim , see https://forum.nim-lang.org/t/7010 |
20:17:01 | * | clyybber joined #nim |
20:19:26 | * | stefantalpalaru quit (Changing host) |
20:19:27 | * | stefantalpalaru joined #nim |
20:20:48 | * | natrys quit (Quit: natrys) |
20:25:24 | disruptek | PMunch: chucklehead |
20:26:26 | FromDiscord | <shashlick> @leorize - you around? |
20:26:51 | Prestige | im having a hell of a time connecting to this irc network |
20:26:58 | leorize | @shashlick o/ |
20:27:11 | FromDiscord | <shashlick> hey am working on an issue and could use your feedback |
20:27:32 | leorize | sure |
20:27:58 | FromDiscord | <shashlick> https://github.com/disruptek/golden/issues/21#issuecomment-715320963 |
20:27:59 | disbot | ➥ Can't install with nimble: nimterop versions ; snippet at 12https://play.nim-lang.org/#ix=2Bz8 |
20:28:33 | FromDiscord | <shashlick> if you use nimterop cImport with dynlib, it provides nim with the absolute path to the library |
20:28:47 | FromDiscord | <shashlick> so you cannot move the dll after that |
20:29:06 | FromDiscord | <shashlick> and with nimble, binaries are compiled in temp and then moved to ~/.nimble so they don't work |
20:29:17 | FromDiscord | <shashlick> i've been working on a fix - basically passing in relative paths |
20:29:42 | FromDiscord | <shashlick> since nim uses dlopen() to open the binaries on startup, relative paths seem to work |
20:29:52 | FromDiscord | <shashlick> but if dlls are in the same dir, they don't |
20:30:09 | leorize | try making it `"./library.so"`? |
20:30:09 | FromDiscord | <shashlick> so i'm passing `-Wl,-rpath='$ORIGIN'` |
20:30:16 | FromDiscord | <shashlick> curious on your thoughts |
20:30:33 | FromDiscord | <shashlick> i tried that and it didn't work when i ran the binary from a different cwd |
20:30:45 | FromDiscord | <shashlick> so ./x doesn't work but ../abc/y works |
20:30:50 | FromDiscord | <shashlick> makes no sense or my testing is off |
20:31:07 | leorize | you should statically link by default tbh |
20:31:30 | FromDiscord | <shashlick> that already works great |
20:31:31 | Prestige | PMunch: how are you connecting? I've finally connected to the twitch irc network but it kicked me off for invalid auth? |
20:31:38 | FromDiscord | <shashlick> this is only for dynlib case |
20:31:51 | PMunch | Prestige, not sure TBH |
20:31:55 | PMunch | So long since I did it |
20:32:09 | PMunch | SASL probably with your Twitch login or something |
20:32:11 | superbia | you need freenode IRC -> twitch IRC bridge |
20:34:37 | disruptek | you need to get an oauth token and use that for authentication. |
20:35:38 | FromDiscord | <alehander42> woww ❤️ |
20:36:35 | superbia | whath's the point of connecting to twitch if he reads freenode |
20:36:46 | Prestige | PMunch: oh that makes sense, I didn't think I needed to be associated with my twitch acc |
20:37:36 | leorize | @shashlick if you want it to just works with nimble install then I don't see any better way than copying |
20:37:43 | leorize | but for long term then rpath might work |
20:37:47 | PMunch | Probably to avoid spamming |
20:37:47 | leorize | it's quite a trouble though |
20:37:52 | FromDiscord | <alehander42> btw pmunch you can stream in discord |
20:37:56 | FromDiscord | <alehander42> and then ppl would be able |
20:37:57 | FromDiscord | <alehander42> to just tak |
20:38:03 | FromDiscord | <alehander42> (edit) "tak" => "talk" |
20:38:09 | Prestige | that's also a good idea ^ |
20:38:11 | FromDiscord | <alehander42> like, just sharing a screen in a room |
20:38:19 | FromDiscord | <alehander42> it seems simpler to me |
20:38:25 | FromDiscord | <alehander42> but mumble + twitch might be also great |
20:38:41 | * | mathsaey joined #nim |
20:38:45 | * | mathsaey quit (Client Quit) |
20:38:48 | leorize | @shashlick rpath=$ORIGIN isn't too bad if you must, but never `dlopen()` with a relative path |
20:38:58 | FromDiscord | <alehander42> no problem, i use it because for some reason my obs acceleration doesnt work and discord sharing does |
20:39:02 | FromDiscord | <alehander42> cool |
20:39:06 | FromDiscord | <alehander42> i just got off work |
20:39:13 | FromDiscord | <alehander42> so i am pretty excited sorry |
20:39:31 | PMunch | No one else is on mumble though :( |
20:39:40 | Prestige | do discord :P |
20:39:53 | * | mathsaey joined #nim |
20:40:08 | Prestige | I'll be on in 20 |
20:40:25 | PMunch | Discussed the pros and cons, think I'm sticking to Twitch and Mumble |
20:40:35 | Prestige | damn |
20:41:35 | disruptek | prefer mumble's open platform. |
20:41:43 | * | mathsaey quit (Client Quit) |
20:42:23 | Prestige | I just dislike the ux/ui a lot |
20:42:39 | Prestige | and we till have to vid share on another platform |
20:42:54 | superbia | you dislike ux/ui of twitch? |
20:42:54 | Prestige | still* |
20:43:02 | FromDiscord | <alehander42> makes sense |
20:43:04 | Prestige | no, mumble |
20:43:09 | FromDiscord | <alehander42> it's just simpler to me and my twitch is slow |
20:43:13 | FromDiscord | <alehander42> with software encoding |
20:43:28 | FromDiscord | <alehander42> i might stream later |
20:43:47 | superbia | so why exactly are you now streaming? is it what you do in corona pandemic? |
20:45:24 | PMunch | superbia, just some Nim coding |
20:45:33 | PMunch | And showing off some of my latest projects |
20:45:39 | superbia | borring window manager |
20:45:43 | superbia | show some good stuff |
20:46:05 | FromDiscord | <alehander42> window managers sound good |
20:46:21 | FromDiscord | <alehander42> very classical |
20:46:42 | Prestige | maybe I should try making the WM more exciting |
20:46:50 | Prestige | jump scare windows for halloween |
20:50:27 | FromDiscord | <alehander42> say no to halloween PMunch! |
20:50:33 | FromDiscord | <alehander42> make it a map |
20:50:35 | FromDiscord | <alehander42> of europe |
20:50:43 | FromDiscord | <alehander42> can you imagine clicking on finland |
20:50:56 | FromDiscord | <alehander42> and then scrolling to the sea |
20:51:00 | FromDiscord | <alehander42> i just like maps |
20:51:18 | superbia | definitely disable hexchat notifications for highlights for next stream |
20:51:30 | FromDiscord | <alehander42> awesome ! |
20:51:45 | FromDiscord | <Clyybber> lol, why no to halloween? |
20:51:48 | FromDiscord | <alehander42> you should hire a moderator |
20:51:59 | * | mathsaey joined #nim |
20:52:11 | superbia | you get distracted 33% of time you work, with notifications, you won't code 10 lines in one hour |
20:53:42 | Prestige | For building this into nimdow for things like config errors, would this be able to use the user's notificatcher settings but also allow me to provide defaults (from nimdow)? |
20:54:03 | Prestige | PMunch: ^ if that sentence made sense. Lol |
20:55:24 | Prestige | Hm neat, thanks |
20:55:38 | Prestige | is it snowing on camera, what am I seeing |
20:58:55 | Prestige | I need to get Nimdow to a state where you are a fulltime user :( |
20:59:30 | Prestige | oooh nice |
21:00:14 | bung | https://play.nim-lang.org/#ix=2CqI which one is better ? |
21:01:06 | disruptek | balls. |
21:01:18 | superbia | lack of |
21:02:05 | superbia | so what exactly is the purpose of mumble |
21:02:08 | * | mathsaey quit (Quit: mathsaey) |
21:02:17 | Prestige | voice chat |
21:02:20 | FromDiscord | <Clyybber> talk |
21:02:33 | Zevv | irc for lazy people |
21:03:01 | superbia | how can you talk to peter if peter has no earphones |
21:03:14 | superbia | would be very unpleasant to hear yourself echo |
21:03:15 | Prestige | whisper in his ear |
21:03:15 | Zevv | VERY LOUD |
21:03:24 | Prestige | loudly whisper |
21:03:58 | * | mathsaey joined #nim |
21:04:09 | * | mathsaey quit (Client Quit) |
21:04:11 | disruptek | mumble offers the best quality voice chat for the bandwidth. unfortunately for me, that's not saying much. |
21:04:16 | superbia | PMunch: FileformaR |
21:10:39 | * | superbia quit (Quit: WeeChat 2.9) |
21:10:43 | FromDiscord | <alehander42> haha my wife said you look like a character from a tale |
21:10:55 | FromDiscord | <alehander42> i'd say amundsen |
21:11:12 | FromDiscord | <alehander42> you're just exotic |
21:11:28 | FromDiscord | <alehander42> huh such a fake norwegian |
21:11:29 | Prestige | perfect |
21:11:45 | FromDiscord | <alehander42> eh the moustache is great |
21:12:24 | FromDiscord | <alehander42> it doesn't matter , all faces are cool |
21:12:46 | Prestige | 12 days? |
21:14:14 | * | vesper11 joined #nim |
21:15:20 | FromDiscord | <shashlick> @leorize - why not dlopen with relative path? |
21:15:46 | FromDiscord | <shashlick> sorry had another thing going on so had to disappear |
21:16:18 | FromDiscord | <shashlick> i could do `-rpath='$ORIGIN/../other/path'` and then dynlib just filename |
21:16:41 | FromDiscord | <shashlick> cause user can opt to put libs elsewhere with `libdir` param to `getHeader` |
21:18:37 | leorize | @shashlick it's a security issue, you've seen how it interacts |
21:18:47 | leorize | the relative dir includes the current working directory |
21:18:48 | * | mbomba quit (Quit: WeeChat 2.9) |
21:19:24 | disruptek | leorize: point is, we currently use relative paths. |
21:19:40 | leorize | guess its time to get rid of them? |
21:19:43 | disruptek | yes. |
21:20:19 | leorize | I'd say static linking is better but then you might want to write proprietary stuff and static linking won't be something you're fond of then. |
21:20:40 | disruptek | personally, i'd love it if it worked. |
21:22:46 | Prestige | we need better syntax highlighting PMunch |
21:23:13 | Prestige | treesitter would be good I think |
21:25:45 | * | mathsaey joined #nim |
21:27:57 | Prestige | Yeah treesitter parses based on a grammar you provide, it's fast and is starting to be used for accurate syntax highlighting |
21:28:22 | * | mathsaey quit (Remote host closed the connection) |
21:28:30 | FromDiscord | <treeform> Does any one know if there is a macro to deserialize a case-object that I can learn from? |
21:28:41 | FromDiscord | <shashlick> okay i'll test some more and use -rpath even for libs in other dirs |
21:28:44 | Prestige | PMunch: ping |
21:28:56 | disruptek | treeform: you can use frosty. |
21:28:56 | FromDiscord | <shashlick> does rpath take precedence over system libs |
21:29:00 | disruptek | !repo frosty |
21:29:00 | disbot | https://github.com/disruptek/frosty -- 9frosty: 11Serialize native Nim objects to strings, streams, or sockets ⛄ 15 16⭐ 0🍴 |
21:30:58 | * | mathsaey joined #nim |
21:31:44 | FromDiscord | <ElegantBeef> Also disruptek if interested i did implement the binary stream for nimscript <-> nim |
21:32:06 | disruptek | is it a literal stream api? |
21:32:22 | FromDiscord | <ElegantBeef> Basically |
21:32:34 | FromDiscord | <ElegantBeef> https://github.com/beef331/nimscripter/blob/master/src/marshalns.nim |
21:32:40 | disruptek | it should maybe go into fusion. |
21:32:48 | FromDiscord | <ElegantBeef> Well it requires the compiler |
21:32:52 | disruptek | i think leorize is a good gatekeeper there. |
21:33:02 | disruptek | fusion is obviously tied to the compiler. |
21:33:12 | disruptek | for better or worse. to me, this is exactly what it's for. |
21:33:28 | disruptek | i say that rarely, when it comes to fusion. |
21:33:28 | FromDiscord | <ElegantBeef> Ok how about this, i am uncertain how it'd work inside the compiler |
21:33:39 | disruptek | what do you think nimscript is? |
21:34:06 | FromDiscord | <ElegantBeef> I know that, but i dont know exactly how the compiler works |
21:34:17 | disruptek | no one does; don't let araq tell you otherwise. |
21:34:32 | disruptek | can i use frosty with your shit or not? |
21:34:37 | disruptek | and if not, why not? |
21:34:37 | FromDiscord | <ElegantBeef> Nope |
21:34:44 | FromDiscord | <ElegantBeef> Well i guess yes |
21:34:56 | disruptek | but i have to pass a string? |
21:35:15 | FromDiscord | <ElegantBeef> All data is stored as a string |
21:35:19 | * | vesper joined #nim |
21:35:19 | * | mathsaey quit (Remote host closed the connection) |
21:35:30 | FromDiscord | <ElegantBeef> The save/get are all stubs for nimscript |
21:35:36 | disruptek | well, if you can give me a stream api then we have less overhead. |
21:36:04 | disruptek | you can rely on frosty being in the compiler, too. |
21:36:05 | * | vesper11 quit (Ping timeout: 240 seconds) |
21:37:58 | FromDiscord | <shashlick> @disruptek: this nimterop fix will take some time to get right |
21:38:54 | disruptek | it's fine, dude, i trust you. |
21:39:36 | disruptek | are you going to patch the compiler, too? |
21:40:51 | * | clyybber quit (Quit: WeeChat 2.9) |
21:43:38 | disruptek | shashlick: and, is it me, or have you already solved this problem like three times now? |
21:46:57 | FromDiscord | <alehander42> oh so my mumble is on |
21:47:04 | FromDiscord | <alehander42> i didn't have idea if works |
21:47:31 | * | sagax joined #nim |
21:49:51 | FromDiscord | <alehander42> so weird when ppl are ontopic |
21:52:41 | * | mathsaey joined #nim |
21:53:01 | * | mathsaey quit (Remote host closed the connection) |
21:53:24 | * | mathsaey joined #nim |
21:55:40 | FromDiscord | <shashlick> Nah it's just come up twice |
21:55:45 | FromDiscord | <shashlick> Don't need to patch the compiler |
21:56:01 | FromDiscord | <shashlick> It just uses dlopen so rpath is a lot cleaner |
21:56:06 | * | mathsaey quit (Remote host closed the connection) |
21:56:18 | * | mathsaey joined #nim |
21:56:28 | disruptek | so this doesn't solve the same issue with sdl, etc. |
21:56:37 | FromDiscord | <shashlick> I've just sat on it, now that I'm in between stuff, it's worthwhile to work on |
21:56:39 | * | mathsaey quit (Remote host closed the connection) |
21:56:50 | FromDiscord | <shashlick> What's that issue with sdl |
21:56:57 | disruptek | same thing. 🤣 |
21:57:51 | disruptek | due to dlopen semantics. |
21:57:59 | disruptek | as perpetrated by nim, that is. |
21:59:05 | * | mathsaey joined #nim |
21:59:34 | FromDiscord | <shashlick> Link? |
21:59:51 | disruptek | just something i've debugged in here a couple times. |
21:59:53 | * | mathsaey quit (Client Quit) |
22:00:30 | FromDiscord | <shashlick> Ok - still need to test this across the fleet so not looking forward to that |
22:00:52 | FromDiscord | <shashlick> Osx and win will surely misbehave |
22:00:56 | disruptek | i bet. |
22:01:28 | * | mathsaey joined #nim |
22:02:40 | leorize | osx should work fine |
22:03:22 | * | mathsaey quit (Client Quit) |
22:03:32 | * | MyMind joined #nim |
22:06:34 | * | Sembei quit (Ping timeout: 260 seconds) |
22:08:42 | disruptek | leorize: so, you don't think the compiler should qualify all paths by default? |
22:09:04 | leorize | wdym? |
22:09:11 | disruptek | for dlopens. |
22:09:24 | leorize | yea |
22:11:02 | * | lritter quit (Quit: Leaving) |
22:18:21 | disruptek | beef: i don't understand this at all. |
22:19:07 | disruptek | test.nim is the recent test? |
22:21:27 | FromDiscord | <ElegantBeef> What dont you understand? |
22:23:24 | FromDiscord | <ElegantBeef> test.nim has my two currently written tests, the first tests nim -> nimscript -> nim |
22:23:36 | FromDiscord | <ElegantBeef> The second tests a seq of objects being sent from nimscript to nim |
22:26:00 | ForumUpdaterBot | New post on r/nim by CrazyEyezKillah: Building an Prologue binary for Alpine in Docker, see https://www.reddit.com/r/nim/comments/jkk9bd/building_an_prologue_binary_for_alpine_in_docker/ |
22:26:22 | * | solitudesf quit (Ping timeout: 256 seconds) |
22:30:41 | * | mbomba joined #nim |
22:52:22 | PMunch | @alehander92, one reason why I don't want to go Discord, now I can overlay in the stream what people are saying and have it all contained in one video if I want to upload it elsewhere |
22:55:03 | Prestige | can't you do that with obs and stream your obs window? |
22:55:06 | * | tane quit (Quit: Leaving) |
22:55:27 | PMunch | Stream my OBS window on Discord? |
22:55:56 | Prestige | Yeah |
22:56:26 | FromDiscord | <ElegantBeef> Pmunch you havent heard the good news, i no longer use json 😄 |
22:56:40 | PMunch | At all? |
22:56:47 | PMunch | Or for something in particular? :P |
22:56:54 | FromDiscord | <ElegantBeef> Nimscripter |
22:56:57 | PMunch | I feel I'm forgetting some conversion we had |
22:56:58 | PMunch | Oooh |
22:57:08 | PMunch | That's great! What do you do now? |
22:57:22 | FromDiscord | <ElegantBeef> Dudes' got the memory of a fucking goldfish 😛 |
22:57:37 | FromDiscord | <ElegantBeef> I use a binarystream which is serialized on the nim side |
22:58:15 | PMunch | Haha, I do :P |
22:58:25 | PMunch | Hmm, how does that work? |
22:59:28 | FromDiscord | <ElegantBeef> Recursive proc calls that iterate over objects going to the most primitive type then sending that to be serialized |
22:59:59 | FromDiscord | <ElegantBeef> When using a json this demo here wasnt capable of running https://streamable.com/6b73or |
23:00:49 | FromDiscord | <ElegantBeef> 100 ships each with their own `invoke` nimscript call |
23:02:00 | FromDiscord | <ElegantBeef> It can be more efficient if i just make a call per each ship type, sending an sequence of ships and returning said sequence |
23:02:03 | * | astronavt joined #nim |
23:03:10 | PMunch | That's cool though |
23:03:33 | PMunch | The guy behind Enu mentioned in a YouTube comment that he also uses NimScript and thanked me for my help :) |
23:03:51 | PMunch | Super happy that it's catching on and actually being used :) |
23:04:10 | FromDiscord | <ElegantBeef> Yea i know he does, kinda sad he isnt active here, as i did want to talk to him in realtime 😄 |
23:05:02 | * | mathsaey joined #nim |
23:05:11 | PMunch | Does he use your wrapper thing, or did he create his own? |
23:05:12 | FromDiscord | <ElegantBeef> Comically he's also Canadian |
23:05:17 | FromDiscord | <ElegantBeef> He uses his own |
23:05:39 | PMunch | You Canadians and your scripting :P |
23:05:39 | FromDiscord | <ElegantBeef> I was interested in how he did it, but i dont feel like digging in his code |
23:06:10 | * | stefantalpalaru quit (Remote host closed the connection) |
23:06:19 | * | stefantalpalaru joined #nim |
23:06:27 | * | sentreen quit (Quit: sentreen) |
23:08:33 | * | stefantalpalaru quit (Changing host) |
23:08:33 | * | stefantalpalaru joined #nim |
23:14:34 | PMunch | Just looked at the video, you should've told me to move the camera feed up -_- |
23:18:07 | PMunch | But I'm loving the sound with my new microphone :) |
23:18:37 | PMunch | Oh well, time for bed |
23:18:38 | * | PMunch quit (Quit: leaving) |
23:27:22 | FromDiscord | <ElegantBeef> Buh bye |
23:40:35 | * | grahamalama joined #nim |
23:40:58 | * | grahamalama quit (Remote host closed the connection) |
23:45:28 | FromGitter | <jrfondren> https://play.nim-lang.org/#ix=2Cri <- a single call is turning into two calls somehow |
23:48:39 | FromDiscord | <ElegantBeef> What's the full proc call? |
23:49:10 | FromGitter | <jrfondren> what do you mean by that? |
23:49:51 | FromGitter | <jrfondren> it's data.read(payload) |
23:51:08 | FromDiscord | <ElegantBeef> I mean the proc that calls the proc with the case statement |
23:51:30 | FromDiscord | <ElegantBeef> Ah nvm |
23:51:39 | FromDiscord | <ElegantBeef> I see the delimiters now that i actually look 😄 |
23:52:22 | FromGitter | <jrfondren> https://play.nim-lang.org/#ix=2Crj it's a codegen error |
23:54:01 | * | astronavt quit (Quit: Leaving) |
23:54:03 | FromGitter | <jrfondren> reducing this is going to be a PITA, I'll just tag the commit and come back after some of the other viewtype codegen errors go away |
23:54:22 | FromGitter | <jrfondren> but a single call turning into two calls is my cue to stop using this stuff |