00:12:41 | * | jmdaemon joined #nim |
00:15:07 | FromDiscord | <Hourglass [She/Her]> Honestly I don't see a reason on why it shouldn't work.... Unless for some reason, the mm is clearing the string? I don't get why it would tho considering I'm calling from the plugin on an already open socket |
00:20:50 | FromDiscord | <etra> gdb can be a great friend tbh |
00:52:24 | FromDiscord | <cirklon> sent a code paste, see https://play.nim-lang.org/#ix=4pxy |
00:53:12 | FromDiscord | <Elegantbeef> Use methods |
00:53:16 | FromDiscord | <Elegantbeef> Also refer to nimwave |
00:55:52 | FromDiscord | <cirklon> In reply to @Elegantbeef "Also refer to nimwave": ohh my god, I had no idea about that lol🤦♂️ |
00:56:27 | FromDiscord | <cirklon> appreciate you telling me that |
01:19:18 | FromDiscord | <Iliketwertles> is converting the string `2023-02-13` to something like dateTime from `import times` ?↵im grabing a time from a shell command (cringe ik) then getting the time between() it and now to get a time |
01:19:28 | FromDiscord | <Iliketwertles> (edit) "?↵im" => "possible?↵im" |
01:21:20 | FromDiscord | <Elegantbeef> `now` exists |
01:21:25 | FromDiscord | <Elegantbeef> but you can also use `parseTime` for your cursed shit |
01:21:36 | * | jkl quit (Quit: Gone.) |
01:23:21 | * | jkl joined #nim |
01:27:13 | FromDiscord | <Iliketwertles> wow |
01:27:37 | FromDiscord | <Iliketwertles> sent a code paste, see https://play.nim-lang.org/#ix=4pxE |
01:27:52 | FromDiscord | <Elegantbeef> `now() - now()` |
01:28:42 | FromDiscord | <Iliketwertles> sent a code paste, see https://play.nim-lang.org/#ix=4pxF |
01:29:24 | FromDiscord | <Iliketwertles> wait shouldnt i get the date then? 😐 ↵big smort |
01:34:04 | FromDiscord | <Elegantbeef> What are you even trying to do |
01:37:54 | FromDiscord | <Iliketwertles> i think i got it now |
01:38:13 | FromDiscord | <Iliketwertles> just gotta make it look a lil better in the frontend if yk |
01:39:16 | FromDiscord | <Iliketwertles> sent a code paste, see https://play.nim-lang.org/#ix=4pxI |
01:39:17 | FromDiscord | <Iliketwertles> fetch |
01:39:36 | FromDiscord | <Iliketwertles> gonna make the bottom one not negative numbers |
01:40:26 | * | rockcavera quit (Read error: Connection reset by peer) |
01:40:46 | * | rockcavera joined #nim |
01:40:46 | * | rockcavera quit (Changing host) |
01:40:46 | * | rockcavera joined #nim |
01:40:51 | FromDiscord | <Iliketwertles> fixed it |
01:41:38 | FromDiscord | <Iliketwertles> https://media.discordapp.net/attachments/371759389889003532/1080303803653423184/screenshot_2023-02-28-204114.png |
01:56:44 | FromDiscord | <Xenon> looks baller, ngl |
02:06:15 | * | jmdaemon quit (Ping timeout: 256 seconds) |
02:26:22 | * | jmdaemon joined #nim |
03:05:15 | * | NimEventer quit (Remote host closed the connection) |
03:05:28 | * | NimEventer joined #nim |
03:13:11 | FromDiscord | <Iliketwertles> thanks |
03:35:21 | * | Xenon joined #nim |
03:57:59 | * | Xenon quit (Quit: Leaving) |
04:01:08 | * | theki joined #nim |
04:13:09 | * | pbsds quit (Quit: The Lounge - https://thelounge.chat) |
04:14:21 | * | m5zs7k quit (Ping timeout: 268 seconds) |
04:15:08 | * | pbsds joined #nim |
04:16:20 | * | m5zs7k joined #nim |
04:22:39 | * | m5zs7k quit (Ping timeout: 260 seconds) |
04:29:56 | * | m5zs7k joined #nim |
04:35:51 | * | m5zs7k quit (Ping timeout: 256 seconds) |
04:38:28 | * | m5zs7k joined #nim |
05:29:25 | * | arkurious quit (Quit: Leaving) |
05:38:28 | FromDiscord | <sOkam!> agreed |
06:20:17 | * | azimut quit (Ping timeout: 255 seconds) |
06:56:47 | * | advesperacit joined #nim |
07:05:14 | FromDiscord | <Phil> Sweet! |
07:15:15 | * | tiorock joined #nim |
07:15:16 | * | tiorock quit (Changing host) |
07:15:16 | * | tiorock joined #nim |
07:15:16 | * | rockcavera is now known as Guest837 |
07:15:16 | * | Guest837 quit (Killed (iridium.libera.chat (Nickname regained by services))) |
07:15:16 | * | tiorock is now known as rockcavera |
07:39:00 | * | kenran joined #nim |
07:52:09 | FromDiscord | <Hourglass [She/Her]> In reply to @etra "gdb can be a": Would gdb help with figuring out why it's not getting sent despite the data all being valid, and the next line of code being executed? |
08:02:16 | * | kenran` joined #nim |
08:04:22 | * | kenran quit (Ping timeout: 268 seconds) |
08:14:49 | * | tiorock joined #nim |
08:14:49 | * | tiorock quit (Changing host) |
08:14:49 | * | tiorock joined #nim |
08:14:49 | * | rockcavera quit (Killed (mercury.libera.chat (Nickname regained by services))) |
08:14:49 | * | tiorock is now known as rockcavera |
10:10:35 | * | fallback quit (Ping timeout: 255 seconds) |
10:19:18 | FromDiscord | <SpiderDave> sent a code paste, see https://play.nim-lang.org/#ix=4pzm |
10:22:07 | FromDiscord | <enthus1ast> yes @SpiderDave , please have a look at this issue from NiGui, its the same problem https://github.com/simonkrauter/NiGui/issues/167 |
10:22:35 | FromDiscord | <enthus1ast> You basically must capture the vars |
10:23:11 | FromDiscord | <SpiderDave> k, i'll have a look thanks |
10:28:11 | FromDiscord | <SpiderDave> ah, i see just adding `import std/sugar` and `capture v:` did the trick |
11:52:51 | FromDiscord | <I have 50GB of nothing on my PC> is gatabase the bestiest quasi-orm for sqlite? |
12:02:00 | FromDiscord | <Phil> ... why would it be? |
12:03:44 | FromDiscord | <I have 50GB of nothing on my PC> most stars on github |
12:04:17 | FromDiscord | <I have 50GB of nothing on my PC> at least whne i type "nim sql" |
12:06:46 | FromDiscord | <Phil> It is one possible choice for ORM.↵The syntax etc. looks pretty promising, I can't say that I used it yet though.↵There are others out there though, ormin and norm.↵I haven't used ormin either, but I have contributed to norm |
12:07:00 | FromDiscord | <Phil> (edit) "norm" => "norm, and it works well enough for what I want." |
12:08:17 | FromDiscord | <I have 50GB of nothing on my PC> from what I can see there is nothing with sql query building functionality equivalent to laravel etc? |
12:08:30 | FromDiscord | <Phil> I haven't used laravel either, so I can't really compare there |
12:08:31 | FromDiscord | <I have 50GB of nothing on my PC> all of them require a serious amount of raw sqls |
12:08:41 | FromDiscord | <I have 50GB of nothing on my PC> for me anyway |
12:08:49 | FromDiscord | <Phil> I mean, norm has that stuff for simple things |
12:09:03 | FromDiscord | <Phil> Assuming you mean pre-generated SQL for insert, update, delete and reaqd |
12:09:05 | FromDiscord | <Phil> (edit) "reaqd" => "read" |
12:09:09 | FromDiscord | <I have 50GB of nothing on my PC> yes |
12:09:37 | FromDiscord | <Phil> You won't be able to generate recursive queries in there, but it does take away the simplest things. |
12:09:56 | FromDiscord | <Phil> And for recursive queries it provides procs that allow you to write raw sql if necessary |
12:10:01 | FromDiscord | <Phil> (edit) "if necessary" => "as needed" |
12:10:33 | FromDiscord | <enthus1ast> There is also https://github.com/itsumura-h/nim-allographer |
12:11:46 | FromDiscord | <I have 50GB of nothing on my PC> thanks, examplmain example looks exactly like laravel |
12:12:10 | FromDiscord | <enthus1ast> You know what, its interesting that "everyone" wants to use a query builder etc for sql databases, so there MIGHT be an issue with sql \:) |
12:14:18 | FromDiscord | <I have 50GB of nothing on my PC> i once tried to write raw sql all over my program because I had a good "gut feeling" about it |
12:14:21 | FromDiscord | <I have 50GB of nothing on my PC> i was wrong |
12:14:40 | FromDiscord | <Phil> Eh, SQL is just verbose but it has to be. In code you can build up contexts that allow you to be more concise and based on which you can infer that stuff should be inserted/updated/read from a specific table, but in SQL you need ALL your data in one string |
12:15:01 | FromDiscord | <Phil> At that job it does pretty well. It's just that combining all that data in one string is tedious when you can infer a lot of it |
12:15:12 | FromDiscord | <Phil> (edit) "At that job it does pretty well. It's just that combining all that data in one string is tedious when you can infer a lot of it ... " added "from types etc." |
12:15:38 | FromDiscord | <enthus1ast> yeah and alot of lang's can just use it because most have strings |
12:15:39 | FromDiscord | <Phil> But databases can't assume programming languages, so they can't know what types your program has and to infer tables, desired columns etc. |
12:15:40 | FromDiscord | <enthus1ast> and lists |
12:16:35 | FromDiscord | <enthus1ast> think of + \~10 years, when we have so fast storages, that we can just persits the mem on this, or that we do not need "mem" any more |
12:16:47 | FromDiscord | <enthus1ast> good times i hope \:) |
12:16:52 | FromDiscord | <Phil> Yeah but that still makes SQL tedious to write when you know you want command to insert/update/delete/read a specific entry in 40 variations because it's about 40 different tables |
12:18:08 | FromDiscord | <Phil> You can infer more and make your life easier because you, due to knowing your types, specific method names etc., can generate it all , an SQL db can't know it |
12:18:15 | FromDiscord | <Phil> (edit) "it" => "that" |
12:18:46 | FromDiscord | <Phil> (edit) "You can infer more and make your life easier because you, due to knowing your types, specific method names etc., can generate it all , an SQL db can't know ... thatan" added "that↵Given the amount of information" | "that↵Given the amount of informationthat ... " added "an SQL db does have access to it imo does a good job at correctness as well as simplicity, at least if you can use common table expressions" |
12:22:08 | FromDiscord | <Phil> I wonder why I didn't try out allographer a year ago |
12:22:20 | FromDiscord | <enthus1ast> idk \:) |
12:22:32 | FromDiscord | <Phil> Pretty sure there was a reason, does it convert to object instances? |
12:23:05 | FromDiscord | <enthus1ast> i've not used it myself yet, but a friend of mine just started using it |
12:25:28 | FromDiscord | <Phil> Might be that it doesn't convert whatever row equivalent they have to instances, can't see any object instance examples anywhere |
12:26:22 | FromDiscord | <Phil> And that was non-negotiable for me and norm had that |
12:27:19 | FromDiscord | <enthus1ast> mh i think it can create objects, i think he showed my something like that, but idk really |
12:35:25 | * | fallback joined #nim |
12:50:36 | * | xet7 joined #nim |
12:51:55 | * | jmdaemon quit (Ping timeout: 260 seconds) |
12:52:32 | * | syl_ joined #nim |
12:52:49 | * | syl quit (Ping timeout: 256 seconds) |
12:56:16 | * | ltriant quit (*.net *.split) |
12:56:16 | * | FromDiscord quit (*.net *.split) |
12:56:16 | * | via__ quit (*.net *.split) |
12:56:16 | * | ttkap quit (*.net *.split) |
12:56:17 | * | oisota quit (*.net *.split) |
12:56:17 | * | lumidify quit (*.net *.split) |
12:56:17 | * | Amun-Ra quit (*.net *.split) |
13:00:47 | * | ltriant joined #nim |
13:00:47 | * | via__ joined #nim |
13:00:47 | * | FromDiscord joined #nim |
13:00:47 | * | ttkap joined #nim |
13:00:47 | * | oisota joined #nim |
13:00:47 | * | lumidify joined #nim |
13:02:33 | * | Amun-Ra joined #nim |
13:04:52 | * | FromDiscord quit (Write error: Broken pipe) |
13:05:00 | * | FromDiscord joined #nim |
13:33:05 | * | termer quit (Ping timeout: 255 seconds) |
13:55:43 | * | Notxor joined #nim |
14:06:51 | * | termer joined #nim |
14:20:44 | * | xet7 quit (Quit: Leaving) |
14:36:23 | NimEventer | New Nimble package! socks5 - Socks5 client and server library, see https://github.com/FedericoCeratto/nim-socks5 |
14:39:21 | * | syl_ is now known as syl |
14:58:33 | * | Notxor quit (Read error: Connection reset by peer) |
15:00:02 | FromDiscord | <ringabout> https://news.ycombinator.com/item?id=34980476 |
15:06:54 | termer | Hey ringabout |
15:07:02 | FromDiscord | <jmgomez> In reply to @ringabout "https://news.ycombinator.com/item?id=34980476": Thanks for sharing. Nice to see someone side mentioned NimForUE. The other day in the forums someone else commented that he revisited Nim after he heard of NUE 🙂 |
15:07:41 | termer | I was doing some load testing with Prologue and noticed it was crashing when hitting any more than one thread |
15:07:58 | FromDiscord | <ringabout> In reply to @termer "I was doing some": With ORC I supposed. |
15:08:02 | FromDiscord | <ringabout> (edit) "supposed." => "supposed?" |
15:08:08 | termer | Yeah |
15:08:13 | termer | though I think I got the same with refc |
15:08:48 | termer | Oh yeah, just ORC |
15:08:57 | termer | I suppose that's a known problem? |
15:09:00 | FromDiscord | <ringabout> There is simailar issue regarding ORC with httpbeast => https://github.com/nim-lang/Nim/issues/21422 |
15:09:05 | FromDiscord | <ringabout> (edit) "There is ... simailar" added "a" |
15:10:03 | termer | : | |
15:10:42 | FromDiscord | <ringabout> In reply to @jmgomez "Thanks for sharing. Nice": Yeah, that video regarding NimForUE probably attracted some peope to learn Nim. |
15:11:28 | termer | I've been noticing a lot of NimForEU people |
15:11:49 | termer | Though realistically, I don't know why anyone would use Nim over C# unless they're targeting very specific things |
15:12:01 | termer | C# is fast enough and is getting native AOT compilation in .NET 7 |
15:12:08 | termer | better AOT, I should say |
15:18:32 | * | xet7 joined #nim |
15:21:53 | termer | ringabout I'm not getting any issues with HTTPX standalone using threads |
15:22:12 | termer | ~/g/httpx ❯❯❯ nim r -d:release --mm:orc --threads=on tests/benchmark1.nim |
15:22:30 | FromDiscord | <ringabout> What about httpbeast? |
15:22:36 | termer | Let me see |
15:22:49 | termer | Does prologue use httpbeast? I assumed it used httpx |
15:23:43 | FromDiscord | <ringabout> Yeah, httpx is a fork of httpbeast. I'd like to know where the issue lays. |
15:23:50 | FromDiscord | <ringabout> (edit) "lays." => "lies." |
15:25:53 | termer | I'm aware it's a fork, but there was difference in their behavior whenever I tested them |
15:26:12 | FromDiscord | <eyes> unrelated by could someone assist me in building a nim binary that depends on a C++ static library? I expected it to work with nim since the C++ library (the open dynamics engine/ODE) is precompiled in the form of ``libode.a``. And yet I get a ton of errors like this:↵``/nix/store/fhzz4yrdy17czwc9i4swhlpcp445inzb-binutils-2.40/bin/ld: (.text+0x637): undefined reference to `operator delete[](void)'`` |
15:26:25 | * | azimut joined #nim |
15:26:55 | FromDiscord | <eyes> i could try using the c++ backend for nim but ODE has a C API and I've just written bindings for it, kinda trying to avoid that |
15:27:06 | FromDiscord | <ringabout> In reply to @termer "I'm aware it's a": I suppose it is something like https://github.com/planety/prologue/issues/203 |
15:27:46 | FromDiscord | <ringabout> Btw, ehat's the error? |
15:27:51 | FromDiscord | <ringabout> (edit) "ehat's" => "what's" |
15:28:42 | termer | https://github.com/dom96/httpbeast |
15:28:44 | termer | oops |
15:28:46 | termer | SIGSEGV: Illegal storage access. (Attempt to read from nil?) |
15:28:46 | termer | SIGSEGV: Illegal storage access. (Attempt to read from nil?) |
15:29:56 | termer | Unfortunately there aren't any other details |
15:29:57 | FromDiscord | <ringabout> I see, probably a bug of ORC, I have no idea about how to solve it. |
15:30:45 | termer | There's likely some workaround possible in Prologue's side since httpx doesn't have any issues running with ORC and threads:on |
15:30:54 | termer | of course, tracking it down is a separate issue |
15:31:45 | * | jmdaemon joined #nim |
15:32:24 | termer | ringabout Also, I just tested the latest version of httpbeast with threads and ORC, and it doesn't experience crashes |
15:32:29 | termer | I think the problem is now confined to prologue |
15:34:46 | FromDiscord | <ringabout> Yeah, SIGSEGV is kind of hard to fix. GDB or Valgrind might help with finding the double free bugs. |
15:35:34 | FromDiscord | <ringabout> Could you open an issue for record? |
15:39:08 | * | Notxor joined #nim |
15:42:47 | * | Notxor quit (Client Quit) |
15:42:50 | * | Notxor_ joined #nim |
15:43:36 | * | Notxor_ quit (Client Quit) |
15:44:05 | * | Notxor joined #nim |
15:46:46 | termer | Sure |
15:47:25 | FromDiscord | <ringabout> Thank you! |
15:48:39 | termer | Thanks for making the library |
15:55:04 | * | kenran` quit (Remote host closed the connection) |
15:59:25 | termer | Here it is https://github.com/planety/prologue/issues/213 |
15:59:41 | FromDiscord | <ringabout> Nice |
16:00:11 | * | jmdaemon quit (Ping timeout: 264 seconds) |
16:00:38 | FromDiscord | <ringabout> 1.6.10 is a bit old for ORC though, |
16:01:58 | FromDiscord | <wikimedia foundation> any recommendations for a good and up to date nim course? |
16:02:01 | * | jmdaemon joined #nim |
16:03:05 | FromDiscord | <wikimedia foundation> (edit) "a good and" => "an" |
16:03:32 | termer | ringabout What do you mean? |
16:03:51 | termer | wikimedia foundation There are some tutorials on YT I saw, but I'm not sure |
16:05:27 | termer | This is the one I was thinking of https://www.youtube.com/watch?v=hwzkIlNfGHI |
16:05:33 | termer | Only a few months old |
16:05:55 | FromDiscord | <Gabben> sent a code paste, see https://play.nim-lang.org/#ix=4pBo |
16:07:11 | FromDiscord | <Gabben> (edit) "https://play.nim-lang.org/#ix=4pBo" => "https://play.nim-lang.org/#ix=4pBr" |
16:08:07 | FromDiscord | <jmgomez> In reply to @termer "Though realistically, I don't": You think? It has been years since I dont use it but C# felt quite limited in terms of what you can do, it is true though that the tooling and ecosystem is way better than Nims but the lang itself kinda sucks |
16:11:54 | * | arkurious joined #nim |
16:13:40 | termer | I came from Java and now write C# professionally, so it feels a lot less restrictive than Java lol |
16:15:42 | FromDiscord | <ringabout> In reply to @termer "ringabout What do you": I mean you might try 2.0rc or nightlies, which contains some ORC fixes. |
16:16:00 | termer | is that available through choosenim |
16:16:12 | FromDiscord | <ringabout> https://github.com/nim-lang/nightlies/releases/tag/2023-03-01-devel-dd629c8f450aa6bc871b54e4e549ad5fea2979a3 |
16:16:22 | FromDiscord | <ringabout> yes |
16:16:26 | FromDiscord | <ringabout> choosenim update devel |
16:16:58 | termer | that gets me to 1.9.1 |
16:17:24 | termer | I actually tried that yesterday in hopes of jumping to 2.0 |
16:17:27 | FromDiscord | <ringabout> Yeah, hat's nightlies |
16:17:32 | FromDiscord | <ringabout> (edit) "hat's" => "that's" |
16:17:44 | FromDiscord | <ringabout> The version for 2.0rc is 1.9.1 |
16:17:54 | FromDiscord | <ringabout> (edit) "for" => "of" |
16:19:11 | termer | weird |
16:19:14 | termer | In any case, it still crashes |
16:19:36 | FromDiscord | <Phil> In reply to @termer "I actually tried that": I can attest that developing on nim 1.9.1 feels nicer than 1.6.10.↵What gets annoying is when a breaking change gets introduced due to devel... well no yet being stable ^^ |
16:19:58 | FromDiscord | <Phil> (edit) "1.6.10.↵What" => "1.6.10 (less bugs and unintended limitations, better errors, faster compile etc.)↵What" |
16:20:00 | termer | That's why I stay away from nightlies on basically every lang I use |
16:20:13 | FromDiscord | <Phil> (edit) "no" => "not" |
16:21:16 | FromDiscord | <Phil> Fair, I admittedly had no choice due to the way I wanted to use enums |
16:21:26 | FromDiscord | <Phil> And that particular piece of syntax only has its fix in devel |
16:21:26 | termer | This is an ORC-specific issue, which makes me think it could be a bug |
16:21:28 | termer | there have been cases where ORC has freed memory when it shouldn't be freed, or at least it appears that way |
16:21:51 | termer | Of course, running under ARC is a no-go with asyncdispatch |
16:22:00 | termer | I killed the process after it reached 6GB memory |
16:22:17 | * | jmdaemon quit (Ping timeout: 255 seconds) |
16:22:56 | termer | Oddly enough, it also performs horribly under ARC |
16:23:32 | termer | 10.6GB memory usage after 30s of load testing, yet only achieved ~11k requests per second using 12 threads on my Ryzen 5 3600 |
16:24:51 | * | jmdaemon joined #nim |
16:25:26 | FromDiscord | <jmgomez> Did you test the other gcs? Had an issue with ORC and a different one with refc and finally got it working with markAndSweep |
16:25:55 | FromDiscord | <ringabout> ARC cannot handle cycles, that's expected, |
16:26:02 | FromDiscord | <ringabout> (edit) "ARC cannot handle cycles, that's ... expected," added "as" |
16:28:00 | * | rockcavera quit (Remote host closed the connection) |
16:28:28 | termer | Yeah, I'm aware of that, just wanted to test whether it was an ARC issue or ORC specifically |
16:30:16 | termer | No crashes with refc |
16:30:17 | * | rockcavera joined #nim |
16:37:45 | FromDiscord | <arnetheduck> In reply to @termer "Of course, running under": we've removed cycles from chronos, for this and other reasons (ie unnecessary cycles are quite inefficient no matter which GC you use) |
16:38:47 | FromDiscord | <sigmasd> sent a code paste, see https://play.nim-lang.org/#ix=4pBP |
16:42:21 | FromDiscord | <sigmasd> oups I'm using improtcpp thats why it fails |
16:42:57 | termer | arnetheduck I'm aware of that, unfortunately the chronos ecosystem is a lot smaller than asyncdispatch |
16:43:20 | termer | I'm not sure how fast the http server that comes with chronos is, but httpbeast is pretty damn fast |
16:43:41 | termer | but the main issue is reworking my libraries to work with chronos |
16:43:56 | termer | there are different memory safety constraints that make it more complicated than using a when statement |
16:49:28 | FromDiscord | <sigmasd> is there a fallible array indexing function ? |
16:59:35 | FromDiscord | <Rika> no, i dont think so |
17:05:59 | FromDiscord | <arnetheduck> In reply to @termer "I'm not sure how": yup - we haven't really measured, but if you ever find yourself doing it, let us know - we haven't hit any particular performance issues, but we also don't really stress it (focusing on stability and mem usage) |
17:19:53 | FromDiscord | <lantos> sent a code paste, see https://play.nim-lang.org/#ix=4pCk |
17:19:56 | FromDiscord | <lantos> @Rika |
17:20:07 | FromDiscord | <Rika> hello |
17:20:14 | FromDiscord | <lantos> jello |
17:20:20 | FromDiscord | <lantos> plox |
17:20:24 | FromDiscord | <Rika> i dont understand the issue? |
17:20:24 | FromDiscord | <lantos> me dum dum |
17:21:11 | FromDiscord | <lantos> the nim one is returning @[] |
17:21:15 | FromDiscord | <lantos> but the python works |
17:21:39 | FromDiscord | <Rika> `if arr.len == 0: return @[]` should prolly return `@[@[]]` instead |
17:21:46 | FromDiscord | <lantos> but they are like almost line for line |
17:22:02 | FromDiscord | <Rika> i think you're tired lol |
17:22:31 | FromDiscord | <lantos> you can't @[@[]] |
17:22:35 | FromDiscord | <lantos> @.@ |
17:23:04 | FromDiscord | <lantos> (edit) "@.@" => "sent a code paste, see https://play.nim-lang.org/#ix=4pCl" |
17:23:52 | FromDiscord | <Rika> `@[newSeq[int]()]` |
17:24:26 | FromDiscord | <lantos> like why did that work |
17:24:29 | FromDiscord | <lantos> xxxxxx |
17:25:03 | FromDiscord | <Rika> because if your base case is wrong the whole algorithm would fail |
17:25:18 | FromDiscord | <Rika> a recursive algorithm is very reliant on the base case being... not wrong |
17:26:14 | FromDiscord | <Rika> if you read the recursive case, youll see it iterates over the result of the base case |
17:26:22 | FromDiscord | <Rika> if the base case is empty, the loop never runs |
17:26:26 | FromDiscord | <Rika> so result will always be empty |
17:27:14 | FromDiscord | <Rika> go take a break or sleep, its prolly best |
17:27:15 | FromDiscord | <lantos> yeah it was the initialization ↵@[newSeq[int]()] == @[@[]]↵result: seq[seq[]] = @[] == @[] |
17:27:30 | FromDiscord | <lantos> In reply to @Rika "go take a break": true |
17:29:18 | FromDiscord | <lantos> (edit) "true" => "true, but thanks 🙂" |
17:30:38 | FromDiscord | <cirklon> hello nim peepl |
17:31:08 | FromDiscord | <Rika> people? no people here, we're all AI |
17:31:44 | FromDiscord | <cirklon> who says artificial intellegence can't be people |
17:33:27 | FromDiscord | <Rika> what is your definition of people? |
17:33:39 | FromDiscord | <Phil> Question to check if I'm understanding some terminology right |
17:34:46 | FromDiscord | <cirklon> In reply to @Rika "what is your definition": 🤷♂️ |
17:36:44 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#ix=4pCs |
17:38:27 | FromDiscord | <hotdog> In reply to @Isofruit "What actually changes with": You need to look at the memory addresses to see the difference |
17:38:42 | FromDiscord | <Phil> I would, but repr returns nothing |
17:38:51 | FromDiscord | <Phil> As in, it acts as if the string were just a value type |
17:39:03 | FromDiscord | <Phil> Can't do unsafeaddr either |
17:40:26 | FromDiscord | <Phil> Oh wait, with 1.6.10 repr works somehow |
17:41:00 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#ix=4pCt |
17:41:19 | FromDiscord | <Phil> Yeah on devel I can't figure out who has what memory address |
17:42:05 | FromDiscord | <hotdog> In reply to @Isofruit "Yeah on devel I": What do you mean? |
17:42:23 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#ix=4pCv |
17:42:39 | FromDiscord | <Phil> Can't tell you the memory address when repr doesn't give it to me |
17:42:56 | FromDiscord | <hotdog> Try `cast[int](x.addr) |
17:43:00 | FromDiscord | <hotdog> (edit) "`cast[int](x.addr)" => "`cast[int](x.addr)`" |
17:43:32 | FromDiscord | <hotdog> Try importing `toHex` from std/strutils for pretty printing too |
17:43:36 | FromDiscord | <hotdog> `cast[int](x.addr).toHex()` |
17:44:04 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#ix=4pCw |
17:44:05 | FromDiscord | <leorize> yea ORC/ARC-based `repr` is pretty lackluster in implementation |
17:44:15 | FromDiscord | <leorize> Nim does not have COW strings, so they're always copied |
17:44:32 | FromDiscord | <Phil> Ah, so that's a "Comes in the future" feature |
17:44:45 | FromDiscord | <Phil> Not a "This is already on devel and ready" feature |
17:45:31 | FromDiscord | <leorize> also, for strings, use `x[0].addr` to get the buffer address |
17:45:36 | FromDiscord | <Phil> do COW strings make such a huge difference? |
17:45:40 | FromDiscord | <hotdog> I remember seeing https://github.com/planetis-m/cowstrings , but never used it |
17:45:42 | FromDiscord | <leorize> otherwise you're getting the address of the container object |
17:45:58 | FromDiscord | <leorize> depends on your use cases |
17:46:09 | FromDiscord | <leorize> free pascal uses it and they kinda hate it |
17:46:39 | FromDiscord | <hotdog> In reply to @leorize "also, for strings, use": Good point |
17:47:25 | FromDiscord | <leorize> the main gripe with CoW strings is that they're heavy when you do have to modify them |
17:47:36 | FromDiscord | <Phil> Because of deref? |
17:47:53 | FromDiscord | <leorize> no, because of allocation and copy |
17:48:13 | FromDiscord | <leorize> when you modify a referenced CoW string, it first has to be duplicated into another string before the modification can be applied |
17:48:24 | FromDiscord | <leorize> depending on where this happens, it could completely trash your program performance |
17:48:39 | FromDiscord | <Phil> The alternative in nim is "always copy" string I thought, which basically would be reducing the copying if it is only being done on write |
17:49:29 | FromDiscord | <leorize> the stuff that is used a lot these days are views |
17:49:33 | FromDiscord | <Phil> Or is this more that CoW strings in comparison to just purely staring at normal ref-strings are heavy in comparison due to the copy-operation needed, which wouldn't be necessary with just normal ref strings |
17:50:12 | FromDiscord | <Phil> Basically CoW is compared against ref-strings, not value-strings? |
17:50:17 | FromDiscord | <leorize> yea, they're designed to solve the "strings are viewed a lot but rarely modified" |
17:50:54 | FromDiscord | <leorize> that sort of magic have its downsides, which is why it's not as popular these days |
17:51:13 | FromDiscord | <leorize> people just split view and buffer out and use that instead these days |
17:59:08 | * | jmdaemon quit (Ping timeout: 246 seconds) |
18:12:01 | FromDiscord | <federico3> leorize\: sounds to me like you are describing two very different use cases that need different data types... |
18:13:05 | FromDiscord | <leorize> that's basically how cow strings phased out as default in language design |
18:14:05 | FromDiscord | <leorize> they tried to bring the advantages of immutable strings (that you probably see many languages advertised) and mutable strings together |
18:14:57 | FromDiscord | <leorize> turns out when you have a form of structure with super unpredictable performance characteristics, computers don't like it and neither do people |
18:24:28 | * | jmdaemon joined #nim |
18:30:15 | * | Notxor quit (Remote host closed the connection) |
18:31:59 | * | azimut_ joined #nim |
18:32:26 | * | azimut quit (Ping timeout: 255 seconds) |
18:49:02 | FromDiscord | <Hourglass [She/Her]> Trying to make a minimal reproducible example of my issue but i'm getting segfaults that's fun lol |
18:50:26 | * | azimut_ quit (Ping timeout: 255 seconds) |
18:50:39 | * | azimut joined #nim |
18:55:44 | FromDiscord | <Hourglass [She/Her]> Yep I'm stuck, I don't know the issue at all which is annoying |
19:02:25 | * | mal`` quit (Quit: Leaving) |
19:07:03 | FromDiscord | <lantos> In reply to @Rika "what is your definition": This is very AI'ish of you |
19:08:24 | FromDiscord | <lantos> In reply to @Hourglass, When the Hour Strikes "Trying to make a": nature of finding segfaults? |
19:08:35 | FromDiscord | <lantos> (edit) "In reply to @Hourglass, When the Hour Strikes "Trying to make a": ... nature" added "unlucky, isn't that the" |
19:08:50 | FromDiscord | <Hourglass [She/Her]> My actual code has no segfaults, it's just not working for some odd reason |
19:08:52 | FromDiscord | <lantos> (edit) "In reply to @Hourglass, When the Hour Strikes "Trying to make a": unlucky, isn't that the nature of finding segfaults? ... " added "If you could show an example of the segfault then you'd have your answer" |
19:09:06 | FromDiscord | <Hourglass [She/Her]> In reply to @lantos "unlucky, isn't that the": Yeah I can do that rn |
19:09:11 | FromDiscord | <I have 50GB of nothing on my PC> are you a large amount of files fan or a large file enthusiast? |
19:09:24 | FromDiscord | <Hourglass [She/Her]> A mix of both? Lol |
19:09:32 | FromDiscord | <Hourglass [She/Her]> Tho the files aren't actually that large |
19:09:38 | FromDiscord | <Hourglass [She/Her]> I try to split stuff up as I go now |
19:09:48 | FromDiscord | <Hourglass [She/Her]> The code is on GitHub tho (for the original project) |
19:09:57 | FromDiscord | <lantos> would rather 100x10GB files then 1000x1gb files |
19:09:59 | FromDiscord | <lantos> (edit) |
19:10:13 | * | ixmpp quit (Quit: Gateway shutdown) |
19:10:51 | * | mal`` joined #nim |
19:12:27 | FromDiscord | <Hourglass [She/Her]> In reply to @lantos "I would rather 100x10GB": When you want readable files then you'd prefer the other way around |
19:13:41 | FromDiscord | <lantos> true but 1GB file of any readable text is instant pain lol |
19:13:48 | FromDiscord | <lantos> is that why you are segfaulting? |
19:13:59 | FromDiscord | <Hourglass [She/Her]> https://play.nim-lang.org/#ix=4pCY |
19:14:05 | FromDiscord | <Hourglass [She/Her]> In reply to @lantos "true but 1GB file": Yep lol |
19:14:45 | FromDiscord | <Hourglass [She/Her]> In reply to @lantos "is that why you": Nope, using shared libraries with async stuff, this code segfaults (But my project doesn't, my project does not let me send any packets to the client however) |
19:16:14 | FromDiscord | <lantos> ah so you saying its sf because of the libplugin.so or the loadLib thing? |
19:16:50 | FromDiscord | <enthus1ast> @Hourglass [She/Her]\: do you use devel? |
19:16:57 | FromDiscord | <enthus1ast> the code does not work on stable |
19:17:10 | FromDiscord | <Hourglass [She/Her]> Yeah, the issue is specifically line 27 of server.nim (or line 62 on the nim playground) |
19:17:12 | FromDiscord | <lantos> If you haven't tried. remove the async, give that a shot |
19:17:16 | FromDiscord | <Hourglass [She/Her]> In reply to @enthus1ast "<@909883978717204561>\: do you use": Yeah I'm using devel |
19:17:36 | FromDiscord | <Hourglass [She/Her]> In reply to @lantos "If you haven't tried.": Removing the async would defeat the entire purpose of my code though, since it's supposed to use async |
19:17:54 | FromDiscord | <Hourglass [She/Her]> Wait |
19:18:02 | FromDiscord | <Hourglass [She/Her]> I may of found why it's segfaulting |
19:18:15 | FromDiscord | <lantos> 🙂 |
19:18:21 | FromDiscord | <lantos> (edit) |
19:18:35 | FromDiscord | <lantos> eugh I dont want the emojis I want ascii |
19:18:41 | FromDiscord | <lantos> (edit) "🙂" => "``:)``" |
19:18:49 | FromDiscord | <lantos> (edit) removed ">" |
19:19:56 | FromDiscord | <Hourglass [She/Her]> It was a typo... 🤦♀️ |
19:20:02 | FromDiscord | <lantos> oh no |
19:21:07 | FromDiscord | <Hourglass [She/Her]> Welp |
19:21:14 | FromDiscord | <Hourglass [She/Her]> I now can reproduce the issue |
19:21:29 | FromDiscord | <Hourglass [She/Her]> This is absolutely baffling |
19:24:28 | FromDiscord | <Hourglass [She/Her]> https://play.nim-lang.org/#ix=4pD0 |
19:24:37 | FromDiscord | <Hourglass [She/Her]> Up-to-date code (I'm using devel btw) |
19:25:32 | FromDiscord | <Hourglass [She/Her]> It's so confusing and it's definitely something caused from using shared libraries so doubt I'd actually get support with this |
19:25:50 | FromDiscord | <enthus1ast> well, with .send you send directly from the host |
19:26:07 | FromDiscord | <Hourglass [She/Her]> Yeah? |
19:26:18 | FromDiscord | <Hourglass [She/Her]> And `.sendFromPlugin` is another 'process'? |
19:26:55 | FromDiscord | <Hourglass [She/Her]> I'm using `inheritable=true` but that doesn't seem to be enough |
19:34:26 | FromDiscord | <jmgomez> anyone else had issues when trying to use the compiler API in Win? Getting a file too long issue when linking with vcc |
19:38:25 | FromDiscord | <Hourglass [She/Her]> In reply to @Hourglass, When the Hour Strikes "I'm using `inheritable=true` but": Don't think there's anything I can do to fix this rip |
19:38:41 | FromDiscord | <Hourglass [She/Her]> In reply to @jmgomez "anyone else had issues": Isn't there something you can turn off to get rid of the length limit on Windows? |
19:39:06 | FromDiscord | <enthus1ast> @Hourglass [She/Her]\: i would ask in the forum and or open a github issue |
19:39:27 | FromDiscord | <Hourglass [She/Her]> I'll do that rn! |
19:40:33 | FromDiscord | <jmgomez> In reply to @Hourglass, When the Hour Strikes "Isn't there something you": not ideal because if the POC goes well it's something I want to add to NUE but I guess for the POC itself should be fine |
19:42:23 | FromDiscord | <jmgomez> I had already the registry key set to 1, I wonder if it's a vcc or msvc issue |
19:45:38 | FromDiscord | <Hourglass [She/Her]> In reply to @jmgomez "not ideal because if": Fair |
19:45:46 | FromDiscord | <Hourglass [She/Her]> In reply to @jmgomez "I had already the": Hm no idea then, sorry |
19:48:26 | * | Notxor joined #nim |
19:53:02 | FromDiscord | <eyes> Anyone here having binding dev experience? I am currently trying to make bindings for ODE, which is a c++ library that has a C API |
19:53:48 | FromDiscord | <Phil> "binding" as in "C-bindings"? |
19:53:50 | FromDiscord | <eyes> I have: the libode.so library file, nim bindings all written up with the “importc” pragma |
19:53:56 | FromDiscord | <eyes> (The bindings compile) |
19:54:00 | FromDiscord | <eyes> Yes C bindings |
19:54:01 | FromDiscord | <Phil> PMunch |
19:54:13 | FromDiscord | <Phil> That should summon him |
19:54:25 | FromDiscord | <eyes> https://github.com/the-argus/ode-nim |
20:01:32 | FromDiscord | <jmgomez> whats your issue @eyes ? |
20:01:36 | FromDiscord | <Nerve> Is there a Brotli wrapper for Nim anywhere? Or will I need to make my own bindings? |
20:03:40 | FromDiscord | <Phil> In reply to @jmgomez "whats your issue <@144207211881562112>": jm! You use windows! Out of curiosity, does it often occur that you use a package and it specifically doesn't work on windows? |
20:04:16 | FromDiscord | <jmgomez> In reply to @Hourglass, When the Hour Strikes "Hm no idea then,": for future ref just got around it by moving my nim sources to a short path |
20:04:35 | FromDiscord | <jmgomez> I guess the nimcachedir would work too |
20:05:02 | FromDiscord | <jmgomez> In reply to @Isofruit "jm! You use windows!": I dont use too many packages, but usually they work fine |
20:05:03 | FromDiscord | <Phil> In reply to @Nerve "Is there a Brotli": Nimble search isn't turning anything up when looking for brotly or even just brot |
20:05:04 | FromDiscord | <jmgomez> I also use MacOs |
20:05:35 | FromDiscord | <Phil> Ah, check.↵Mostly wondering if it would make sense to start tagging packages by what OS they have been verified to work with (via their test-suites running on such images) |
20:05:43 | FromDiscord | <Phil> (edit) "such images)" => "images of that OS)" |
20:06:20 | FromDiscord | <Phil> And nim package by my current experience seem very much Linux first |
20:06:25 | FromDiscord | <Phil> (edit) "package" => "packages" |
20:06:42 | FromDiscord | <jmgomez> that may be a good idea actually but not sure the amount of effort |
20:07:03 | FromDiscord | <jmgomez> also dont think too many people is using win? |
20:08:02 | FromDiscord | <Phil> Not too many using it doesn't mean it's not useful information xP |
20:08:39 | FromDiscord | <jmgomez> oh yeah sure |
20:08:42 | FromDiscord | <Phil> The effort would mostly just be looking over the github actions file with the test-suite every time somebody updates their package |
20:09:00 | FromDiscord | <Phil> (edit) "The effort would mostly just be looking over the github actions file with the test-suite every time somebody updates their package ... " added "(in the nimble package repository, not in general)" |
20:23:43 | FromDiscord | <I have 50GB of nothing on my PC> is `nim r` the only way to use cache when compiling? |
20:24:28 | FromDiscord | <I have 50GB of nothing on my PC> use case: i want to keep compiling in the background without overheating my machine |
20:26:54 | FromDiscord | <I have 50GB of nothing on my PC> I guess it's this https://media.discordapp.net/attachments/371759389889003532/1080586986072580196/image.png |
20:27:50 | FromDiscord | <I have 50GB of nothing on my PC> except it doesnt work, the compiler keeps rebuilding the same source |
20:38:30 | FromDiscord | <!&luke> Hi |
20:38:44 | FromDiscord | <!&luke> How can I get nim code into a pdf with syntax highlighting |
20:39:22 | FromDiscord | <!&luke> I’m doing this for the performance task on the ap cs principles test |
20:40:51 | FromDiscord | <Phil> Like...display nim code in a PDF? |
20:40:56 | FromDiscord | <Phil> Or generate a PDF via nim code? |
20:41:50 | FromDiscord | <!&luke> In reply to @Isofruit "Like...display nim code in": Yes |
20:42:24 | FromDiscord | <!&luke> Syntax highlighting is preferred but I can always do it manually in google docs or sm |
20:45:12 | FromDiscord | <huantian> u using latex or smthn? |
20:45:40 | FromDiscord | <huantian> becuase you probably should if you're trying to make a pdf with code |
20:45:42 | FromDiscord | <auxym> mardown -> pandoc -> latex -> PDF maybe? |
20:46:27 | FromDiscord | <auxym> (or md -> pandoc -> html -> pdf via chrome headless, depending on your other preferences/requirements) |
20:47:06 | FromDiscord | <!&luke> Ok |
20:48:49 | FromDiscord | <huantian> I think <https://ctan.org/pkg/minted> is a popular one for latex |
20:48:54 | FromDiscord | <Phil> The laziest form of that that I can imagine is making a textbox in libre-office, giving it a light-ish grey background color and changing the font to monospace |
20:49:32 | FromDiscord | <Phil> It does not get much more low-effort than that: https://media.discordapp.net/attachments/371759389889003532/1080592681572519986/image.png |
20:50:00 | FromDiscord | <auxym> In reply to @huantian "I think <https://ctan.org/pkg/minted> is": pandoc automatically highlights in latex (and html) output |
20:50:06 | FromDiscord | <Phil> The markdown to PDF pathway likely delivers much better looking results |
20:50:18 | FromDiscord | <Elegantbeef> Just use carbon to render an svg and embed it |
20:50:42 | FromDiscord | <auxym> carbon as in the new google c++-replacement language? |
20:50:47 | FromDiscord | <Elegantbeef> No |
20:50:50 | FromDiscord | <auxym> i assumed |
20:50:51 | FromDiscord | <Elegantbeef> carbon.now.s |
20:50:52 | FromDiscord | <Elegantbeef> whoops |
20:50:55 | FromDiscord | <Elegantbeef> carbon.now.sh |
20:50:58 | FromDiscord | <huantian> In reply to @auxym "pandoc automatically highlights in": why pandoc tho when you can just write latex directly |
20:51:23 | FromDiscord | <auxym> writing latex sucks (speaking as someone who wrote an entire msc thesis in it) |
20:51:30 | FromDiscord | <Elegantbeef> carbon.png https://media.discordapp.net/attachments/371759389889003532/1080593175007215696/carbon.png |
20:51:46 | FromDiscord | <Elegantbeef> It also can generate PNGs of course |
20:52:08 | FromDiscord | <auxym> latex error messages are truly the worst. Someone my document won't compile anymore and literally the only thing I could do is git reset |
20:52:42 | FromDiscord | <Elegantbeef> Alternatively use nimib to generate a page and convert it to a PDF 😛 |
20:52:53 | FromDiscord | <Nerve> In reply to @auxym "writing latex sucks (speaking": I've written a paper and an msc major area in it, it's the best at what it does but that doesn't mean it's not absolutely crappy legacy design |
20:52:54 | FromDiscord | <auxym> that too 🙂 |
20:53:07 | FromDiscord | <auxym> In reply to @Nerve "I've written a paper": we agree on that I think |
20:53:36 | FromDiscord | <auxym> if I can write markdown or even rst (eg. for a relatively simple document), I'll that over writing raw latex anyday |
20:54:28 | FromDiscord | <Nerve> I'm going to go out on a very far limb and assert that I think HTML/CSS is the future of typesetting, once pdf generation from generated HTML is actually robust and doable locally. Other than that, HTML and CSS need good support for page-flowing content. Right now with some minor elbow grease you can make rules for very clean multi-page layouts, but you have to do all the page breaks manually. |
20:55:59 | FromDiscord | <Nerve> HTML is string specifically because it supports explicit, hierarchical structural specification, which makes layouts a lot less guess-and-see than Latex |
20:56:07 | FromDiscord | <Nerve> (edit) "string" => "strong" |
20:56:39 | FromDiscord | <Nerve> I'm not sure a browser is a lighter-weight rendering engine than Latex, but damn if it isn't easier to install and use |
20:57:16 | FromDiscord | <Nerve> I take that back, a 150 mb single download is way easier than having to choose from a dozen variations of a 1 gb suite of messy tools |
20:57:26 | FromDiscord | <Nerve> (edit) "1" => "1+" |
20:58:11 | FromDiscord | <ShalokShalom> you first write about 'crappy legacy design' and then hype CSS and HTML? |
20:58:24 | FromDiscord | <Nerve> HTML isn't that crappy my dude |
20:58:39 | FromDiscord | <Nerve> It's crappy for interactive user interfaces which it was never designed for |
20:58:50 | FromDiscord | <ShalokShalom> Well, CSS is latin for crap 😂✌🏻 |
20:58:59 | FromDiscord | <Nerve> Not sure I agree |
20:59:42 | FromDiscord | <Nerve> I will never defend JavaScript but I will advocate HTML and CSS for the use cases they was designed for, and browser SaS applications they were not |
20:59:50 | FromDiscord | <Nerve> (edit) "was" => "were" |
21:01:47 | FromDiscord | <Dudugz> JavaScript is only bad because you have to maintain compatibility with the lazy ones, e.g. companies that are too lazy to upgrade to modern systems and keep using internet explorer. |
21:03:21 | FromDiscord | <Nerve> JavaScript is bad because it's weakly typed, there's a good language there hindered by that hamstring. Also webdevs who decide javascript should be used everywhere for everything which immediately exposes how bad weak typing is |
21:03:21 | FromDiscord | <Phil> I'd also argue against JS habit of dynamic typing which I'm not sure is a legacy thing or not |
21:03:47 | FromDiscord | <Nerve> In reply to @Isofruit "I'd also argue against": Weak typing and dynamic typing are very different things, do you actually mean dynamic? |
21:03:51 | FromDiscord | <Dudugz> It's certainly legacy, if they could update the language to something like typescript they would have done so |
21:03:53 | FromDiscord | <jmgomez> sent a code paste, see https://play.nim-lang.org/#ix=4pDh |
21:04:44 | FromDiscord | <Dudugz> ``var`` should have already been banished from existence |
21:05:10 | FromDiscord | <Nerve> To clarify, strongly typed languages can be dynamic (Clojure, Python), and statically typed languages can be weakly typed (C) |
21:05:58 | FromDiscord | <jmgomez> In reply to @Nerve "To clarify, strongly typed": Also people tend to get confused with compiled vs dynamic |
21:06:01 | FromDiscord | <Elegantbeef> jmgomez are you using your own loading implementation? |
21:07:11 | FromDiscord | <Phil> In reply to @Nerve "Weak typing and dynamic": Isn't JS weakly (not even necessarily runtime errors for type incompatibilities if you are in a case where implicit conversion happens) and dynamically typed (runtime errors for type incompatibilities) ? |
21:07:15 | FromDiscord | <jtv> Almost all non-C languages are strongly typed... that's just, "is it possible to handle ALL type errors gracefully,", as opposed to, if you're wrong, you crash |
21:07:17 | FromDiscord | <Nerve> In reply to @Isofruit "Isn't JS weakly (not": Yes |
21:08:12 | FromDiscord | <jtv> Similarly, almost no language is fully statically typed. It's not possible w/ OO languages in the general case. |
21:08:18 | FromDiscord | <Phil> My main issue there is the runtime errors where compile time errors are possible |
21:08:25 | FromDiscord | <Phil> So my main issue is with the dynamic typing aspect |
21:08:25 | FromDiscord | <jmgomez> sent a code paste, see https://play.nim-lang.org/#ix=4pDk |
21:10:16 | FromDiscord | <Nerve> There are certain scenarios where it's difficult to escape. Things like tables and datamancer dataframes are technically dynamic types (you'd have to impose contract programming to really verify the presence of keys, and if that's really necessary you should be making structs/objects/records) |
21:11:10 | FromDiscord | <Nerve> But the row- and column-transformation semantics of dataframes are just too damn useful |
21:11:43 | FromDiscord | <Nerve> (edit) "keys," => "keys/columns," |
21:11:50 | FromDiscord | <Elegantbeef> Jmgomez i believe you're supposed to iterate your `findNimStdlib` and add all the folders to the search path |
21:11:54 | FromDiscord | <Elegantbeef> Atleast i did that for nimscripter |
21:13:40 | FromDiscord | <jmgomez> oh so you think the issue is because utils/utils is pulling from the std and it's not in there? |
21:13:41 | FromDiscord | <Nerve> Actually this brings up an interesting possibility...could you make a template-based dataframe type where the presence of columns and their types could be asserted at compile-time, and still get all that row- and column-semantic goodness? |
21:13:53 | FromDiscord | <Nerve> I think yes |
21:14:53 | FromDiscord | <Hourglass [She/Her]> What does IME mean? |
21:15:57 | FromDiscord | <Hourglass [She/Her]> (deleted message, IRC folk shush) |
21:27:01 | FromDiscord | <jmgomez> In reply to @Elegantbeef "Jmgomez i believe you're": So I created another file with no deps and it worked! But only if I import like `import modulename` seems like you cant use `/` I guess that can be worked out |
21:35:57 | FromDiscord | <ShalokShalom> In reply to @Nerve "To clarify, strongly typed": https://complete-concrete-concise.com/programming/c/c-as-a-strongly-typed-language/ |
21:40:31 | FromDiscord | <jtv> C's not a strongly typed language. In a strongly typed language, if I make a type mistake, such as treat a pointer to an item as a pointer to an array, C will crash, not throw a runtime exception. You can say C treated it as the type I said it was, but the second you allow me to index the pointer, I'm saying the type is an array, and C compilers generally aren't going to catch that, and the runtime sure won't. |
21:40:55 | FromDiscord | <jtv> People can delusionally believe what they like, though 🙂 |
21:42:53 | FromDiscord | <Elegantbeef> C is clearly not strongly typed 😄 |
21:43:01 | FromDiscord | <Elegantbeef> It's barely statically typed 😛 |
21:43:26 | FromDiscord | <huantian> c is a language you type |
21:43:54 | FromDiscord | <Phil> C is a language |
21:43:58 | FromDiscord | <Elegantbeef> I do not type it |
21:43:59 | FromDiscord | <Elegantbeef> Actually I guess that's a lie i did type enough to make a MR to wine.... that still isnt merged |
21:44:01 | FromDiscord | <Elegantbeef> Wine 0/10 |
21:45:33 | FromDiscord | <jtv> Should be obvious to everyone yes, but that article author seems to be delusional 🙂 |
21:48:41 | FromDiscord | <eyes> In reply to @jmgomez "whats your issue <@144207211881562112>": I am currently getting “no such file or directory” for the library file, despite me giving the compiler a -passL:/path/to/libode.so |
21:49:18 | FromDiscord | <eyes> previously, when I was using static linking with glibc, I got undefined references to Cpp symbols like delete |
21:49:51 | FromDiscord | <eyes> In reply to @eyes "unrelated by could someone": see this message |
21:51:29 | FromDiscord | <kfdvh> how did Nim end up with so many features? |
21:52:15 | Amun-Ra | eyes: -L is not for passing .so |
21:57:44 | FromDiscord | <jtv> It's been in active development for a very long time, @kfdvh . |
21:58:06 | * | advesperacit quit () |
22:02:27 | FromDiscord | <Hourglass [She/Her]> Oh yeah my post is on the thing now :) https://forum.nim-lang.org/t/9960#65635 |
22:03:00 | FromDiscord | <Hourglass [She/Her]> I'm debating on if I should make an issue about shared libraries not being able to use async sockets (didn't test with sync sockets) from there |
22:03:18 | FromDiscord | <Hourglass [She/Her]> (edit) "I'm debating on if I should make an issue about shared libraries not being able to use async sockets (didn't test with sync sockets) ... fromthe" added "when calling" | "there" => "the main app" |
22:03:26 | FromDiscord | <Elegantbeef> Well if you minimise it to two files that reproduce the issue likely |
22:03:46 | FromDiscord | <Elegantbeef> I guess it doesnt even need to be two files |
22:03:53 | FromDiscord | <Elegantbeef> But yea minimise it |
22:14:36 | FromDiscord | <Hourglass [She/Her]> In reply to @Elegantbeef "But yea minimise it": My issue with it? I did |
22:14:40 | FromDiscord | <Hourglass [She/Her]> 3 files, but |
22:14:52 | FromDiscord | <Hourglass [She/Her]> Since you need a TCP client so I just used Nim for it |
22:15:10 | FromDiscord | <Hourglass [She/Her]> https://play.nim-lang.org/#ix=4pD0 |
22:35:50 | FromDiscord | <eyes> In reply to @Amun-Ra "<@144207211881562112>: -L is not": I thought maybe it was for directories originally, but if I pass the path the the lib direcory where libode is, then I get: ``/bin/ld: error: ./lib: read: Is a directory`` |
22:36:06 | FromDiscord | <eyes> it seems that it is translating it to ``-l`` |
22:36:14 | FromDiscord | <eyes> (edit) "it seems ... that" added "to me" |
22:36:37 | FromDiscord | <eyes> so I tried ``--passL:-lode`` |
22:36:45 | FromDiscord | <eyes> which... sort of worked? |
22:37:48 | FromDiscord | <eyes> i am using it on ``nimble test`` so maybe tests just dont produce executables |
22:39:17 | FromDiscord | <eyes> i am trying to figure out how to make an equivalent ``nim c`` command to my ``nimble test`` |
22:39:59 | FromDiscord | <eyes> oho! |
22:40:08 | FromDiscord | <eyes> wait i think it is working |
22:40:19 | FromDiscord | <eyes> i have successfully written bindings to a library somehow? maybe? |
22:44:08 | FromDiscord | <eyes> oh i get it |
22:44:18 | FromDiscord | <eyes> passC is pass to compiler and passL is for linker... |
22:44:25 | FromDiscord | <eyes> man that took a long time to understand |
22:44:32 | FromDiscord | <eyes> why are those flags not in ``nim --help``? |
22:44:57 | FromDiscord | <eyes> and there are no man pages for nim or nimble on nixos |
22:45:23 | FromDiscord | <ShalokShalom> sent a long message, see http://ix.io/4pDP |
22:45:53 | FromDiscord | <Elegantbeef> @Hourglass [She/Her]\: what is the intended behaviour? |
22:47:19 | FromDiscord | <Elegantbeef> image.png https://media.discordapp.net/attachments/371759389889003532/1080622322806968381/image.png |
22:52:56 | FromDiscord | <Elegantbeef> I do not know if you noticed this but `setGlobalDispatcher` takes a `sink` parameter |
22:53:13 | FromDiscord | <Elegantbeef> Bit odd |
23:00:39 | FromDiscord | <Nilts> How would i make a rate-limiter in jester? |
23:01:35 | * | azimut quit (Quit: ZNC - https://znc.in) |
23:02:01 | * | azimut joined #nim |
23:02:05 | NimEventer | New Nimble package! climate - Library to build command-line interfaces., see https://github.com/moigagoo/climate |
23:11:03 | * | Notxor quit (Remote host closed the connection) |
23:11:51 | FromDiscord | <Hourglass [She/Her]> In reply to @Elegantbeef "<@909883978717204561>\: what is the": Intended behaviour is for every second, the socket to be able to send a new message, in server.nim, replace `client.sendFromPlugin` with `client.send`, and you'll get the intended behaviour |
23:12:10 | FromDiscord | <Hourglass [She/Her]> In reply to @Elegantbeef "I do not know": I honestly don't know the difference between a sink param and a normal one |
23:12:12 | FromDiscord | <Elegantbeef> Have you tried with chronos |
23:12:26 | FromDiscord | <Elegantbeef> A sink parameter owns the resource |
23:12:34 | FromDiscord | <Elegantbeef> `sink` is like a Rust or C++ move parameter |
23:14:08 | FromDiscord | <Hourglass [She/Her]> Ah |
23:14:42 | FromDiscord | <Hourglass [She/Her]> In reply to @Elegantbeef "Have you tried with": Not yet no, but also I don't really want to have to depend on another async library anyway, will try it when i get to my computer tomorrow though |
23:27:08 | NimEventer | New Nimble package! nimprotect - NimProtect is a tiny single-macro library for protecting sensitive strings in compiled binaries, see https://github.com/itaymigdal/NimProtect |
23:33:16 | * | derpydoo joined #nim |
23:53:22 | * | derpydoo quit (Quit: derpydoo) |