| 00:02:40 | * | Goodbye_Vincent quit (Remote host closed the connection) |
| 00:03:22 | * | Goodbye_Vincent joined #nim |
| 00:40:12 | * | Goodbye_Vincent quit (Remote host closed the connection) |
| 00:40:57 | * | Goodbye_Vincent joined #nim |
| 01:03:08 | * | tiorock joined #nim |
| 01:03:08 | * | tiorock quit (Changing host) |
| 01:03:08 | * | tiorock joined #nim |
| 01:03:08 | * | rockcavera is now known as Guest2352 |
| 01:03:08 | * | tiorock is now known as rockcavera |
| 01:05:45 | * | Guest2352 quit (Ping timeout: 240 seconds) |
| 01:17:43 | * | Goodbye_Vincent quit (Remote host closed the connection) |
| 01:18:34 | * | Goodbye_Vincent joined #nim |
| 01:38:01 | FromDiscord | <Yardanico> i don't remember, sorry |
| 01:38:12 | FromDiscord | <Yardanico> btw, regarding https://github.com/FedericoCeratto (https://github.com/nim-lang/Nim/pull/21566) - seems like actually an interesting idea |
| 01:38:33 | FromDiscord | <Yardanico> https://github.com/pythonspeed/cachegrind-benchmarking https://pythonspeed.com/articles/consistent-benchmarking-in-ci/ |
| 01:38:38 | FromDiscord | <Yardanico> sqlite is apparently using valgrind for its benchmarks since forever https://sqlite.org/cpu.html#performance_measurement |
| 01:38:50 | * | derpydoo joined #nim |
| 01:44:08 | FromDiscord | <Elegantbeef> Would be nice to get a flamegraph aswell, but yea it's good |
| 01:44:37 | FromDiscord | <Yardanico> I just didn't realise you could use cachegrind for this - consistent benchmarks across different environments |
| 01:44:43 | FromDiscord | <Yardanico> since valgrind emulates a x86 core it makes sense |
| 01:44:45 | FromDiscord | <Yardanico> (edit) |
| 01:45:04 | FromDiscord | <ringabout> In reply to @Yardanico "https://github.com/pythonspeed/cachegrind-benchmark": Nice article, I will share it to the group. |
| 01:45:13 | FromDiscord | <Yardanico> federico already read those I think |
| 01:45:17 | FromDiscord | <Yardanico> since his code is based on that repo |
| 01:45:28 | FromDiscord | <Yardanico> minimize looks cool, but idk about the license (yeah it doesn't matter a lot for a tool like this but still) |
| 01:45:37 | FromDiscord | <Yardanico> and it should be in the nim org anyway if it's gonna be part of the CI |
| 01:46:21 | FromDiscord | <Yardanico> and then add more benchmarks, more options - e.g. it only tests with -d:danger right now, while -d:release is what most people will use for real programs |
| 01:46:41 | FromDiscord | <Yardanico> and then add more rules so it doesn't get triggered on non-code (compiler or stdlib) change |
| 01:47:03 | FromDiscord | <Yardanico> but as a start I guess it's not so bad |
| 01:47:19 | FromDiscord | <Yardanico> but .csv will quickly become hard to maintain, sqlite is a good alternative |
| 01:47:37 | FromDiscord | <ringabout> Yeah, it will be after it is merged. |
| 01:47:49 | FromDiscord | <Yardanico> ah yeah i see |
| 01:48:30 | * | xet7 quit (Ping timeout: 255 seconds) |
| 01:48:55 | FromDiscord | <Yardanico> time to (a)buse minimize to see how those microbenchmarks benefit from PGO with refc vs orc, because I want to confirm that orc is indeed much better for pgo |
| 01:55:13 | * | Goodbye_Vincent quit (Remote host closed the connection) |
| 01:55:59 | * | Goodbye_Vincent joined #nim |
| 01:58:08 | FromDiscord | <Yardanico> also @ringabout seems like KCacheGrind uses a different formula than the one in the article (it's also mentioned in the article) |
| 01:58:52 | FromDiscord | <Yardanico> <https://github.com/KDE/kcachegrind/blob/master/libcore/globalconfig.cpp#L70> |
| 02:32:50 | * | Goodbye_Vincent quit (Remote host closed the connection) |
| 02:33:34 | * | Goodbye_Vincent joined #nim |
| 02:43:23 | * | derpydoo quit (Ping timeout: 264 seconds) |
| 03:08:07 | FromDiscord | <ringabout> In reply to @Yardanico "also <@658563905425244160> seems like": I see |
| 03:08:21 | FromDiscord | <Yardanico> i left the comment in the PR |
| 03:10:20 | * | Goodbye_Vincent quit (Remote host closed the connection) |
| 03:11:05 | * | Goodbye_Vincent joined #nim |
| 03:47:56 | * | Goodbye_Vincent quit (Remote host closed the connection) |
| 03:49:09 | * | Goodbye_Vincent joined #nim |
| 04:25:31 | * | Goodbye_Vincent quit (Remote host closed the connection) |
| 04:26:16 | * | Goodbye_Vincent joined #nim |
| 04:26:36 | * | Goodbye_Vincent quit (Client Quit) |
| 04:39:21 | * | Goodbye_Vincent joined #nim |
| 04:58:03 | * | rockcavera quit (Remote host closed the connection) |
| 05:03:02 | * | Goodbye_Vincent quit (Remote host closed the connection) |
| 05:03:47 | * | Goodbye_Vincent joined #nim |
| 05:09:48 | * | Goodbye_Vincent quit (Quit: ) |
| 06:04:11 | * | fallback_ quit (Ping timeout: 250 seconds) |
| 06:39:48 | madprops | ok back again on github actions |
| 06:39:56 | madprops | im not sure now if it's what im thinking |
| 06:40:11 | madprops | i just want to offer binaries that users can download from my repo |
| 06:40:20 | madprops | that get compiled automatically on new releases |
| 06:40:43 | madprops | so the user doesn't need to compile it themselves |
| 06:45:44 | madprops | gonna study some yml files |
| 06:47:10 | * | kenran joined #nim |
| 06:49:09 | FromDiscord | <huantian> obligatory plug for my program's github action↵<https://github.com/huantianad/levelsync/blob/master/.github/workflows/main.yml> |
| 06:53:01 | madprops | run: nimble build -d:release |
| 06:53:09 | madprops | that's what i was trying to find out |
| 06:53:37 | madprops | i saw "nimble build" elsewhere |
| 06:53:44 | madprops | i guess it uses whatever i configure in the repo |
| 06:53:56 | madprops | to get an optimized binary |
| 06:54:49 | madprops | also lots of different stuff there |
| 06:54:52 | madprops | like build and release |
| 06:57:18 | FromDiscord | <faldor20> How would I check the value of enums in a "when" block? |
| 07:18:49 | * | Goodbye_Vincent joined #nim |
| 07:24:14 | madprops | thanks huantian |
| 07:24:19 | madprops | yml was useful |
| 07:27:00 | * | Notxor joined #nim |
| 07:32:14 | FromDiscord | <Elegantbeef> take in a `static YourEnum`↵(@faldor20) |
| 07:33:28 | FromDiscord | <huantian> In reply to @madprops "yml was useful": \❤️ |
| 07:45:25 | FromDiscord | <ieltan> Hello, i think the nim playground is offiline right now. just an headsup 🙂 |
| 07:46:09 | * | fredrikhr joined #nim |
| 07:46:23 | FromDiscord | <Elegantbeef> Shout in nordic languages and the message might reach pmunch |
| 07:47:42 | * | azimut joined #nim |
| 08:54:38 | * | azimut quit (Ping timeout: 255 seconds) |
| 09:04:51 | * | pharonix71 quit (*.net *.split) |
| 09:47:56 | FromDiscord | <ricky> In reply to @Elegantbeef "Shout in nordic languages": nordic? i dont have a fucked up keyboard to write such a lang |
| 09:48:02 | FromDiscord | <ricky> helvete |
| 10:01:52 | * | jmdaemon quit (Ping timeout: 252 seconds) |
| 11:27:12 | FromDiscord | <ieltan> sent a code paste, see https://play.nim-lang.org/#ix=4ueP |
| 11:29:16 | FromDiscord | <ieltan> usecase: have a case statement that match agaisnt a bool, if true then we dont capitalize the first element, if not we do so we'll have something like `presult[0 .. ^1].applyIt(it.capitalizeAscii)` |
| 11:30:34 | FromDiscord | <ieltan> sent a code paste, see https://play.nim-lang.org/#ix=4ueS |
| 11:30:36 | FromDiscord | <ieltan> to... to.. what ? |
| 11:31:07 | FromDiscord | <ieltan> I'm a mid coder but this smells like a compiler issue ? |
| 11:31:40 | Amun-Ra | is static int a new addition or was it always an equivalent of static[int]? |
| 11:31:56 | FromDiscord | <ieltan> or is there something that i have overlooked ? Why can't iterate over `presult` and mutate its elements with a slice ? |
| 11:32:11 | FromDiscord | <ieltan> i can do it just fine without slicing but then again it's not as elegant imo |
| 11:33:29 | FromDiscord | <Ras> sent a code paste, see https://play.nim-lang.org/#ix=4ueT |
| 11:33:30 | FromDiscord | <ieltan> In reply to @ieltan "usecase: have a case": there no need to slice at all for this one it was just an example btw |
| 11:33:46 | FromDiscord | <ieltan> (edit) "In reply to @ieltan "usecase: have a case": there ... no" added "is" |
| 11:41:33 | FromDiscord | <ieltan> solved by doing ↵`var presult = result.split("_")[1 .. ^1]` |
| 11:42:54 | * | xet7 joined #nim |
| 11:44:22 | FromDiscord | <ieltan> nvm that didnt do what i wanted |
| 11:44:26 | FromDiscord | <ieltan> i still need help |
| 11:44:32 | * | xet7 quit (Remote host closed the connection) |
| 11:45:42 | FromDiscord | <Ras> In reply to @Ras "i'm trying to debug": never mind, i'm dumb |
| 11:46:12 | FromDiscord | <Rika> The [] operator for slices does not have a mutablem version |
| 11:46:14 | FromDiscord | <Rika> https://nim-lang.org/docs/system.html#%5B%5D%2CopenArray%5BT%5D%2CHSlice%5BU%3A%20Ordinal%2CV%3A%20Ordinal%5D |
| 11:46:19 | FromDiscord | <Rika> (edit) "mutablem" => "mutable" |
| 11:46:51 | FromDiscord | <Rika> Since views aren’t fully supported yet iirc |
| 11:47:01 | FromDiscord | <Rika> In reply to @ieltan "nvm that didnt do": What do you want to do |
| 11:52:24 | * | xet7 joined #nim |
| 11:54:16 | FromDiscord | <ieltan> In reply to @Rika "What do you want": Using futhark's `renameCallback` procedure to rename types like "vips_some_enum" and turn it to "SomeEnum" for example |
| 11:55:32 | FromDiscord | <ieltan> if it's a function then it should rename "vips_some_proc" to "someProc" |
| 11:56:36 | FromDiscord | <ieltan> i already have checks in order to distinguish procs and types/enums |
| 11:59:50 | * | Notxor quit (Quit: Leaving) |
| 12:03:46 | FromDiscord | <Rika> Capitalise will make all characters capitalised |
| 12:03:55 | FromDiscord | <Rika> You might be looking to do title casing instead |
| 12:04:00 | FromDiscord | <Rika> I don’t know if there’s a procedure for that |
| 12:06:44 | FromDiscord | <firasuke> so I am using `execCmdEx("dash -c '. someScript && do_something'")` to source `someScript` that has `do_something`, then I am running that, is there a better way to do this? Also apparently this sometimes creates a zombie process as the parent does not wait, how can I fix this, or design it in a better way? |
| 12:07:01 | FromDiscord | <ricky> In reply to @Rika "The [] operator for": 😔 cursed timeline |
| 12:08:59 | FromDiscord | <firasuke> In reply to @firasuke "so I am using": perhaps using `waitForExit` or avoiding the `dash -c` would fix this |
| 13:20:19 | FromDiscord | <Gabben> Is there a function in std to create `string` from `cstring`? |
| 13:30:45 | * | xet7 quit (Ping timeout: 240 seconds) |
| 13:32:28 | * | pharonix71 joined #nim |
| 13:39:55 | FromDiscord | <michaelb.eth> sent a code paste, see https://play.nim-lang.org/#ix=4ufx |
| 13:40:28 | FromDiscord | <michaelb.eth> (edit) "https://play.nim-lang.org/#ix=4ufx" => "https://play.nim-lang.org/#ix=4ufy" |
| 13:45:18 | FromDiscord | <Gabben> sent a code paste, see https://play.nim-lang.org/#ix=4ufz |
| 14:03:48 | FromDiscord | <Rika> its a common issue, we all forget $ is tostring |
| 14:03:53 | * | progranner joined #nim |
| 14:04:56 | * | progranner quit (Client Quit) |
| 14:13:08 | * | progranner joined #nim |
| 14:13:52 | * | kenran quit (Remote host closed the connection) |
| 14:36:55 | * | fredrikhr quit (Quit: Disconnecting...) |
| 15:12:54 | * | lucasta joined #nim |
| 15:21:45 | * | fallback joined #nim |
| 15:37:53 | * | arkurious joined #nim |
| 15:42:01 | FromDiscord | <Z3NTL3> sent a code paste, see https://play.nim-lang.org/#ix=4ugj |
| 16:24:31 | FromDiscord | <Gumbercules> sent a code paste, see https://play.nim-lang.org/#ix=4ugr |
| 16:24:49 | FromDiscord | <michaelb.eth> yeah, but I just meant to show going from cstring to Nim string |
| 16:24:54 | FromDiscord | <Gumbercules> Gotcha |
| 16:25:08 | FromDiscord | <michaelb.eth> if the cstring is e.g. coming from the return of an importc'd function, you sill use `$` |
| 16:25:22 | FromDiscord | <michaelb.eth> (edit) "sill" => "still" |
| 16:27:00 | FromDiscord | <Gumbercules> Is the runtime going to copy the memory pointed to by the cstring in that case? |
| 16:28:28 | FromDiscord | <Gumbercules> I think the semantics around cstring and character arrays and conversion to Nim strings can be needlessly confusing at times |
| 16:31:16 | FromDiscord | <demotomohiro> I think it is because strings in C is confusing.↵It seems string in Nim can be literal or heap allocated.↵string in C can be any kind of memory. |
| 16:33:48 | FromDiscord | <Gumbercules> Yeah |
| 16:33:59 | FromDiscord | <demotomohiro> So if you want to create a Nim string from cstring, copying content is safest way. |
| 16:34:10 | FromDiscord | <Gumbercules> I just wish I didn't have to resort to copyMem so much |
| 16:34:26 | FromDiscord | <Gumbercules> It feels dirty, but then again I'm interfacing with C so... |
| 17:01:06 | * | progranner quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 17:01:37 | * | rockcavera joined #nim |
| 17:15:57 | * | progranner joined #nim |
| 17:19:45 | * | progranner quit (Client Quit) |
| 17:26:29 | * | progranner joined #nim |
| 17:39:32 | * | progranner quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 17:44:50 | * | progranner joined #nim |
| 17:46:42 | * | progranner quit (Client Quit) |
| 17:49:36 | * | progranner joined #nim |
| 17:58:32 | FromDiscord | <Z3NTL3> @Yardanico yoo Nim contributors please make a standard high level xPath library otherwise it takes more time to F with XML, with XPATH it can be more easy |
| 17:58:48 | FromDiscord | <Yardanico> What? |
| 17:58:55 | FromDiscord | <Yardanico> Just use nimquery |
| 17:59:06 | FromDiscord | <Yardanico> It allows you to search html with css selectors |
| 17:59:16 | FromDiscord | <Z3NTL3> ohhh thnx |
| 17:59:24 | FromDiscord | <Z3NTL3> didnt know |
| 18:07:28 | * | junaid_ joined #nim |
| 18:09:33 | * | progranner quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 18:39:26 | * | junaid_ quit (Remote host closed the connection) |
| 18:43:41 | FromDiscord | <Prestige> Maybe missing it but is there a way to print regex groups? Like if I have `re"^foo (.)"` I'd want to print just everything in the parens |
| 18:44:38 | FromDiscord | <Prestige> I'm trying to use `=~` with `matches` but I'm getting a lot of empty string matches along with my captured group |
| 19:05:07 | * | Notxor joined #nim |
| 19:09:00 | * | progranner joined #nim |
| 19:13:17 | * | progranner quit (Client Quit) |
| 19:18:58 | * | progranner joined #nim |
| 19:20:07 | * | jmdaemon joined #nim |
| 19:40:04 | * | Notxor quit (Remote host closed the connection) |
| 19:43:16 | * | Notxor joined #nim |
| 20:06:25 | FromDiscord | <Elegantbeef> @Prestige I do have to ask what are you searching through? |
| 20:07:40 | FromDiscord | <Elegantbeef> I know I know regex is cool and all but my mind just sees `line.scanf("foo $+", yourCapture)` |
| 20:08:37 | FromDiscord | <Elegantbeef> Otherwise I guess use `findAll` and manually calculate ranges? |
| 20:09:11 | FromDiscord | <Prestige> Does that work with capture groups? |
| 20:09:26 | FromDiscord | <Elegantbeef> Not a clue, i do not use regex 😄 |
| 20:09:32 | FromDiscord | <Prestige> Rip |
| 20:10:39 | FromDiscord | <ricky> Rip |
| 20:10:44 | FromDiscord | <Elegantbeef> My reading of your pattern makes me assume you're iterating over a file in memory and searching for `setString some other writing here` |
| 20:11:29 | FromDiscord | <Elegantbeef> Hence why I suggested scanf 😛 |
| 20:19:00 | * | progranner quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 20:23:05 | * | pharonix71 quit (Remote host closed the connection) |
| 20:23:08 | * | progranner joined #nim |
| 20:32:13 | * | lucasta quit (Remote host closed the connection) |
| 20:46:18 | * | lucasta joined #nim |
| 20:54:17 | * | lucasta quit (Remote host closed the connection) |
| 21:09:24 | FromDiscord | <Anton i guess> What's the state of VR in Nim? |
| 21:14:26 | * | progranner quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 21:19:24 | * | TakinOver quit (Ping timeout: 250 seconds) |
| 21:20:32 | * | TakinOver joined #nim |
| 21:38:25 | * | TakinOver quit (Ping timeout: 260 seconds) |
| 21:53:41 | FromDiscord | <Chronos [She/Her]> In reply to @Anton i guess "What's the state of": If libraries support it, you can use it |
| 21:54:08 | FromDiscord | <Chronos [She/Her]> Naylib is a Raylib binding, Raylib supports VR |
| 21:54:33 | FromDiscord | <Chronos [She/Her]> Raylib isn't a game engine, though so |
| 21:55:00 | FromDiscord | <Anton i guess> What about the gear? What about the controllers that support full hand movement? Like in the Oculus Quest |
| 21:55:15 | FromDiscord | <Anton i guess> Is there any support for that? |
| 21:58:00 | * | Notxor quit (Remote host closed the connection) |
| 22:07:46 | * | TakinOver joined #nim |
| 22:22:17 | * | lucasta joined #nim |
| 22:24:54 | FromDiscord | <Yardanico> nothing that I heard of, maybe ask in #gamedev |
| 22:25:07 | FromDiscord | <Yardanico> but I think the chances of people doing VR games without any big engines is quite small in general unless it's a big company |
| 22:30:55 | * | TakinOver quit (Ping timeout: 260 seconds) |
| 22:31:44 | * | TakinOver joined #nim |
| 22:32:38 | FromDiscord | <demotomohiro> You probably be able to create Nim libraries for VR gear and controllers if there are C/C++ libraries for these hardwares. |
| 22:36:20 | FromDiscord | <jmgomez> You can also use NimForUE for VR, didnt test it but it should work out of the box |