00:40:34 | * | vlad1777d__ quit (Ping timeout: 246 seconds) |
01:40:15 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
02:15:14 | * | dddddd quit (Remote host closed the connection) |
02:17:46 | * | vlad1777d__ joined #nim |
02:23:05 | * | lritter quit (Ping timeout: 258 seconds) |
02:42:02 | * | jokul left #nim ("Leaving") |
02:49:04 | * | leorize quit (Ping timeout: 260 seconds) |
02:50:21 | * | leorize joined #nim |
03:01:21 | * | jokul joined #nim |
03:29:57 | * | jokul quit (Remote host closed the connection) |
03:30:15 | * | jokul joined #nim |
03:57:19 | * | NimBot joined #nim |
03:57:22 | * | zyklon joined #nim |
03:57:35 | FromGitter | <zacharycarter> IMO - Spring Framework was not fun at all to use and revolved heavily around IoC / DI - that was its primary focus |
03:57:40 | * | uvegbot quit (Quit: Konversation terminated!) |
03:58:12 | FromGitter | <zacharycarter> trying to track down where an implementation was configured and where it was used, etc... was annoying to say the least, especially in a new code base |
03:58:46 | FromGitter | <zacharycarter> I know about the purported benefits - but I rarely saw them pay off |
04:26:27 | FromGitter | <Varriount> @zacharycarter Interestingly, I've been working with an application that uses Spring. |
04:28:07 | FromGitter | <Varriount> *Theoretically* it has a bunch of extension points, but debugging those extension points ("why isn't this configuration file being picked up") is quite difficult to do. |
04:34:35 | * | stefanos82 joined #nim |
04:39:53 | * | nsf joined #nim |
05:17:25 | * | lf-araujo_ joined #nim |
05:19:33 | * | lf-araujo quit (Ping timeout: 252 seconds) |
05:19:34 | * | lf-araujo_ is now known as lf-araujo |
05:21:54 | * | brakmic joined #nim |
05:29:55 | * | brakmic quit (Ping timeout: 268 seconds) |
05:30:30 | * | brakmic joined #nim |
05:32:07 | * | shashlick_ quit (Ping timeout: 246 seconds) |
05:34:13 | * | ertp07 quit (Read error: Connection reset by peer) |
05:35:55 | * | ertp07 joined #nim |
05:43:47 | * | narimiran joined #nim |
05:52:59 | * | absolutejam3 joined #nim |
05:59:39 | FromGitter | <zacharycarter> @Varriount - yeah, it can be extremely annoying |
05:59:57 | FromGitter | <zacharycarter> but I have a feeling that has more to do with the implementation of the framework itself vs the concept of IoC |
06:01:14 | * | solitudesf joined #nim |
06:01:17 | FromGitter | <zacharycarter> still though - when you use a DI framework like Spring I feel like you spend more time configuring your project and implementing the various interfaces provided and then you rarely if ever actually change those implementations or re-use them in a lot of places |
06:01:50 | FromGitter | <zacharycarter> I suppose it depends entirely on how big / complex your project is - but we were always building services in our projects and I never say DI pay off dividends |
06:02:07 | FromGitter | <zacharycarter> and I did this for a number of years |
06:04:30 | FromGitter | <zacharycarter> @krux02 - do you have any resource recommendations for learning Scala? |
06:18:35 | * | lf-araujo quit (Ping timeout: 250 seconds) |
06:22:35 | * | couven92 joined #nim |
06:33:26 | * | absolutejam3 quit (Ping timeout: 268 seconds) |
06:37:36 | * | leorize_ joined #nim |
06:38:12 | * | leorize quit (Ping timeout: 260 seconds) |
06:46:04 | * | ertp07 quit (Ping timeout: 252 seconds) |
06:46:40 | * | ertp07 joined #nim |
06:51:16 | * | krux02 joined #nim |
06:57:07 | * | ertp07 quit (Ping timeout: 245 seconds) |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:04:20 | * | gmpreussner joined #nim |
07:11:31 | * | ertp07 joined #nim |
07:11:52 | * | purebadger joined #nim |
07:35:02 | * | traviss joined #nim |
07:35:09 | * | Travis__ joined #nim |
07:35:31 | * | Travis__ left #nim (#nim) |
07:43:51 | traviss | anyone know if there is a way to deserialize js objects where the keys don't have quotes? I am hoping to be able to do `let foo = parseJson(""" {foo: 1} """)` |
07:44:16 | disruptek | sadly, that's not json. |
07:46:14 | traviss | yeah, i have a large js object file i'm hoping to avoid using quotes all the time. |
07:46:20 | * | leorize_ quit (Ping timeout: 260 seconds) |
07:47:35 | disruptek | are you composing this file by hand? |
07:47:46 | traviss | maybe i'll look at converting to yaml. i think i can still use to() with yaml.. |
07:47:58 | traviss | yeah, i'm typing it by hand right now |
07:50:20 | * | leorize_ joined #nim |
07:50:21 | disruptek | something with support for comments would be my suggestion. |
07:51:16 | FromGitter | <rokups> i noticed that yaml is not that human-friendly once file grows very big |
07:51:42 | FromGitter | <mratsim> that's because big files are not human friendly ;) |
07:52:31 | FromGitter | <rokups> but for some reason json or even well-formed xml is easier to deal with than yaml. yaml is just too complex |
07:53:26 | traviss | yeah i think i agree now that i'm looking at some yaml. i wish there was a format which resembled nim/python (no curly braces and respects indentation) without quoted keys. |
07:53:41 | disruptek | maybe you should wrap dhall for us. ;-) |
07:54:12 | traviss | i haven't heard of it. i'll have a look. |
07:56:18 | FromGitter | <rokups> there always is http://openddl.org/ |
07:56:38 | FromGitter | <rokups> i have not used it but looks good on paper |
07:58:00 | traviss | disruptek: do you have a link to the dhall project you're referring to? |
07:58:26 | disruptek | dhall-lang.org |
07:59:40 | FromGitter | <rokups> functions in configuration file..? ill pass :] |
07:59:59 | FromGitter | <rokups> and i said yaml was too complex :D |
08:01:45 | traviss | yeah, looks like a neat project, but more than what I need right now. |
08:02:08 | ehmry | its natural if you are comming from nix, but, maybe only if you are coming from nix |
08:05:54 | * | floppydh joined #nim |
08:07:00 | * | dwdv joined #nim |
08:31:52 | Araq | https://www.twitch.tv/araq4k it's streaming time |
08:32:02 | Araq | eventually I'll also figure out how to record it |
08:32:32 | FromGitter | <rokups> obs must be able to dump video to the file as well |
08:32:56 | Araq | my obs doesn't support it anymore |
08:33:06 | Araq | it reports some error and then refuses |
08:33:33 | FromGitter | <rokups> odd. well dunno, only thing i use obs for is replay buffer in case anything fun happens on my gaming sessions ^_^ |
08:56:28 | leorize_ | twitch doesn't record streams automatically? |
08:57:43 | Tanger | Hmmm, when I wrap my AsyncSocket in an SL context with wrapSocket or wrapConnectedSocket, it seems to double up the connection |
08:59:07 | Tanger | Are there still many issues with ssl and async? |
08:59:12 | * | Vladar joined #nim |
08:59:41 | * | absolutejam3 joined #nim |
09:04:13 | * | absolutejam3 quit (Ping timeout: 245 seconds) |
09:04:40 | narimiran | leorize_: i thought it does, but Araq doesn't seem to make it work |
09:12:32 | * | lf-araujo joined #nim |
09:21:27 | * | lf-araujo quit (Ping timeout: 250 seconds) |
09:22:48 | * | tjmac joined #nim |
09:28:52 | FromGitter | <alehander42> Idlework, sorrrry! |
09:41:12 | Araq | Tanger, I think you are not supposed to do wrapConnectedSocket on your own |
09:43:02 | * | kuon joined #nim |
09:44:55 | * | lf-araujo joined #nim |
09:46:23 | * | absolutejam3 joined #nim |
09:46:27 | livcd | PMunch: i cant find your blog |
09:46:50 | livcd | got it! |
09:46:55 | kuon | Hello, I have an existing C app I'd like to extend with nim code. I use meson for building, and I am wondering what approach you recommend? Should I build nim code to .c and add this to my meson build, or should I write a main.nim and call C and nim code from there, having nim produce the final binary? |
09:48:37 | Zevv | kuon: I guess there is no single best way - I've used both approaches, whatever suits you best. Compiling the Nim code yourself is not trivial, but very doable. |
09:49:14 | Zevv | I think a lot depends on where you want your 'main' to live. If you are ok with Nim taking the lead, you could also see if you can compile your C code to a lib and link to that. |
09:49:16 | FromDiscord_ | <djazz> Yes, Twitch can record your streams. They will be available for 2 weeks I think? |
09:49:34 | FromDiscord_ | <djazz> You can keep/download them if you want too |
09:52:39 | kuon | I guess having nim take the lead and compile it all might be easier. I am just wondering how I can reproduce the meson build with nim. Bus as you said, I could build a lib with meson. |
09:52:53 | * | lf-araujo quit (Read error: Connection reset by peer) |
09:53:04 | * | lf-araujo joined #nim |
09:53:45 | kuon | I usually use lua for this kind of "extension", but I wanted to give nim a try. |
09:54:12 | * | solitudesf quit (Ping timeout: 245 seconds) |
09:56:27 | Zevv | Nim has a very different 'feel' to it then Lua. I started from the same perspective, looking for something better to replace Lua, but then I ended up doing basically everything in Nim |
09:57:33 | kuon | That is also what I am starting to think. But that's good, I've been writing C for 25 years, but the less I can write the better, sadly I haven't found a better combo than C+lua yet. |
09:58:05 | kuon | I love nim approach because it has really easy C interop while having a lot of thing I love from lua. |
09:58:47 | * | lf-araujo_ joined #nim |
09:58:49 | * | lf-araujo quit (Read error: Connection reset by peer) |
09:58:59 | * | lf-araujo_ is now known as lf-araujo |
09:59:37 | * | traviss quit (Quit: Leaving) |
10:05:29 | Zevv | I came from exactly your place. 25+ years of C, 15 years ago started to add Lua where appropriate. At the end I got sick and tired of the lack of typing and compile time analisys. Nim has been a very good replacement for the C+Lua combo. The only thing I miss is the flexibility of using Lua as configuration language, but no one is keeping you from doing Nim+Lua as well. |
10:06:05 | Zevv | The things I wanted from Lua which C could not offer were mainly easier handling of text, async (coroutines) and low-effort C interfacing |
10:06:08 | Zevv | Nim has all that |
10:07:19 | kuon | Yeah, lua as configuration file is quite nice, but yeah, you can drop lua in a nim app, and I use exactly lua for the same reasons |
10:07:52 | Zevv | Lua was all new and experimental and unknown when I started using it, and that ended up never to be a problem. It was probably lucky that it kind of took up and survived all these years. Araq is a bit like Ierusalimschy - he has strong opinions about how things should work, he cares for the users. |
10:08:02 | * | absolutejam3 quit (Ping timeout: 268 seconds) |
10:08:30 | Zevv | The biggest difference is that Lua is really mean and lean, and Nim is quite extensive - the Nim book would end up somewhat thicker then PIL |
10:09:34 | kuon | Well, as long as it's not C++ :P |
10:09:41 | FromGitter | <rokups> > The only thing I miss is the flexibility of using Lua as configuration language ⏎ ⏎ but nimble uses nim as configuration language |
10:10:01 | Zevv | true, there is nimscript |
10:12:12 | FromGitter | <mohamedmoussa89> `type VectorConcept[N: static int,T] {.explain.} = concept v, type V ⏎ v[int] is T ⏎ type Type = stripGenericParams(V)[N,T]` |
10:12:19 | FromGitter | <mohamedmoussa89> ahh one sec |
10:12:59 | FromGitter | <mohamedmoussa89> https://pastebin.com/raw/X67wTU3m |
10:14:00 | FromGitter | <mohamedmoussa89> that `type Type = stripGenericParams(V)[N,T]` line .. is that the canonical way to grab the matched type? like a function that wants to return the type back: `proc foo(v: VectorConcept): v.Type = ...` |
10:16:53 | * | lf-araujo quit (Remote host closed the connection) |
10:16:54 | * | purebadger quit (Ping timeout: 244 seconds) |
10:24:20 | kuon | yeah it works :P I wrote a main.nim calling my older main.c main func, the tricky part was to get compilation working (I cross compile for an embedded CPU). |
10:24:55 | kuon | From here I can start to expose C bits to nim and assemble them there |
10:25:18 | kuon | but before that, dinner:) thanks for the discussion, see you around. |
10:28:49 | * | absolutejam3 joined #nim |
10:34:45 | * | natrys joined #nim |
10:39:17 | * | dddddd joined #nim |
10:40:59 | * | purebadger joined #nim |
10:43:46 | * | absolutejam3 quit (Ping timeout: 244 seconds) |
10:54:29 | Zevv | s |
11:00:43 | FromGitter | <mratsim> @mohamedmoussa89 you can use genericHead from typetraits |
11:03:51 | * | lf-araujo joined #nim |
11:06:36 | FromGitter | <mohamedmoussa89> ah |
11:06:39 | FromGitter | <mohamedmoussa89> I see that in the manual now |
11:11:02 | * | nsf quit (Quit: WeeChat 2.4) |
11:17:51 | * | absolutejam3 joined #nim |
11:19:36 | * | sealmove joined #nim |
11:22:02 | FromGitter | <mratsim> btw, what kind of libraries are you writing? |
11:22:41 | * | absolutejam3 quit (Ping timeout: 248 seconds) |
11:24:34 | * | gearshift quit (Quit: Leaving) |
11:26:26 | * | PMunch joined #nim |
11:30:02 | * | couven92 quit (Quit: Client disconnecting) |
11:31:13 | * | clyybber joined #nim |
11:31:38 | FromGitter | <mohamedmoussa89> Nothing serious, just playing around with Nim after I get home from work. Started working on a ray tracer (following PBR book) and got side tracked :) |
11:33:01 | * | PMunch quit (Remote host closed the connection) |
11:35:15 | FromGitter | <mratsim> Sounds fun, there are already 2 raytracers in Nim from John Novak and def-pri-pub |
11:35:36 | FromGitter | <mratsim> also there was recently an implementation in Go, Rust and another language of the same raytracer |
11:35:46 | FromGitter | <mohamedmoussa89> Zig? |
11:35:56 | federico3 | https://news.ycombinator.com/item?id=20325638 anyone wants to reply with a Nim example? |
11:41:35 | FromGitter | <mratsim> maybe yes |
11:41:39 | federico3 | http://blog.johnnovak.net/tag/nim/ |
11:43:16 | FromGitter | <zacharycarter> which book @mohamedmoussa89 ? |
11:43:22 | FromGitter | <mratsim> I would love to learn Ray Tracing but I don't have time |
11:43:31 | FromGitter | <mratsim> Peter SHirley, RayTracing in a weekend I guess |
11:44:46 | FromGitter | <mohamedmoussa89> http://www.pbr-book.org/ |
11:45:05 | FromGitter | <mratsim> ah not the same one |
11:48:24 | FromGitter | <mratsim> Interesting, there is a Kd-tree implementation: https://github.com/mmp/pbrt-v3/blob/master/src/accelerators/kdtreeaccel.cpp |
11:49:04 | * | stefanos82 quit (Quit: Quitting for now...) |
11:56:36 | xace | livcd: Did you ever start making that nim-based android launcher? |
11:59:02 | * | dwdv quit (Ping timeout: 268 seconds) |
12:08:23 | * | absolutejam3 joined #nim |
12:17:20 | * | Vladar quit (Remote host closed the connection) |
12:17:58 | * | absolutejam3 quit (Ping timeout: 272 seconds) |
12:19:39 | * | sealmove quit (Quit: WeeChat 2.5) |
12:27:02 | * | Vladar joined #nim |
12:27:34 | * | solitudesf joined #nim |
12:37:24 | * | absolutejam3 joined #nim |
12:42:33 | * | absolutejam3 quit (Ping timeout: 258 seconds) |
12:46:58 | FromGitter | <zacharycarter> @mohamedmoussa89 - ah that one! that's the one I figured you were referring to. thanks! |
12:48:01 | FromGitter | <zacharycarter> I'm itching to get out of work and go work on graphics code |
12:48:08 | FromGitter | <zacharycarter> I've had enough Scala for today |
12:51:17 | * | lf-araujo quit (Ping timeout: 252 seconds) |
12:58:41 | * | absolutejam3 joined #nim |
13:03:16 | * | absolutejam3 quit (Ping timeout: 246 seconds) |
13:05:20 | livcd | xace: nope |
13:08:48 | * | Snircle joined #nim |
13:09:31 | FromGitter | <zacharycarter> would that be like Nim interoping with Java? |
13:09:37 | FromGitter | <zacharycarter> or would you use the NDK? |
13:09:51 | FromGitter | <zacharycarter> the android NDK is terrible btw |
13:18:16 | * | lf-araujo joined #nim |
13:24:52 | * | hoijui joined #nim |
13:42:34 | * | stefanos82 joined #nim |
13:51:34 | * | lritter joined #nim |
13:58:09 | * | absolutejam3 joined #nim |
14:02:06 | lqdev[m] | seems like the Nim VS Code extension is dead, for some reason it doesn't work for me anymore |
14:02:32 | FromGitter | <rokups> define "doesnt work" |
14:02:40 | * | theju joined #nim |
14:03:07 | * | absolutejam3 quit (Ping timeout: 246 seconds) |
14:04:18 | FromGitter | <rokups> it works on my end |
14:15:46 | theju | I am working on interfacing the tesseract ocr library with nim based on a small C++ snippet and am running into an error |
14:16:01 | theju | would appreciate if someone can help me figure out what may be causing the error |
14:16:19 | theju | the relevant c++ snippet, nim snippet and the error are at https://dpaste.de/tJ8o/raw |
14:16:48 | theju | the error is "SIGSEGV: Illegal storage access. (Attempt to read from nil?)" |
14:25:05 | * | rockcavera quit (Remote host closed the connection) |
14:31:38 | FromDiscord_ | <demotomohiro> I guess api[].GetUTF8Text() returns nil. |
14:32:14 | * | purebadger quit (Ping timeout: 272 seconds) |
14:32:56 | * | dwdv joined #nim |
14:33:24 | theju | that's what I thought too but the cpp version correctly prints out the text |
14:36:42 | theju | the generated c++ code seems to be wrong, it is (*outText) = (*api).TessBaseAPI::GetUTF8Text(); |
14:37:27 | theju | instead of outText = (*api).TessBaseAPI::GetUTF8Text() |
14:37:52 | * | nsf joined #nim |
14:37:59 | * | lf-araujo quit (Ping timeout: 252 seconds) |
14:38:36 | * | lf-araujo joined #nim |
14:42:12 | FromGitter | <gogolxdong> Where to check this error? ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d1e104484cbda1764cd1196] |
14:49:21 | * | lf-araujo quit (Ping timeout: 252 seconds) |
14:50:20 | * | lf-araujo joined #nim |
14:51:06 | * | floppydh quit (Quit: WeeChat 2.5) |
14:53:51 | * | absolutejam3 joined #nim |
14:54:40 | Araq | theju: freeShared(outText) is not compatible with delete outText[] |
14:55:45 | theju | Araq: but the code doesn't even go till there, could that still be a problem? |
14:56:08 | theju | for example even if I just have discard api[].GetUTF8Text(), i get the same error |
14:56:52 | * | absolutejam3 quit (Read error: Connection reset by peer) |
14:57:32 | * | absolutejam1 joined #nim |
14:57:45 | * | absolutejam1 quit (Read error: Connection reset by peer) |
14:58:22 | * | absolutejam1 joined #nim |
15:03:02 | Araq | theju: new(TessBaseAPI) is also wrong, Nim's allocator is not C++'s |
15:06:24 | theju | Ok, interesting. What would be the correct way? |
15:07:02 | theju | because if I only leave the code on until the version number, it prints that correctly |
15:07:33 | * | absolutejam1 quit (Ping timeout: 245 seconds) |
15:12:31 | FromDiscord_ | <demotomohiro> theju: https://nim-lang.org/docs/manual.html#importcpp-pragma-wrapping-constructors |
15:22:48 | * | lf-araujo quit (Quit: lf-araujo) |
15:22:58 | * | lf-araujo joined #nim |
15:27:20 | * | natrys quit (Ping timeout: 272 seconds) |
15:30:18 | * | leorize_ quit (Remote host closed the connection) |
15:30:46 | * | leorize_ joined #nim |
15:36:13 | theju | FromDiscord_: <demotomohiro> Araq: thanks for the help, I got it working |
15:38:52 | * | lf-araujo quit (Remote host closed the connection) |
15:39:06 | * | lf-araujo joined #nim |
15:40:34 | * | clyybber quit (Quit: WeeChat 2.5) |
15:44:50 | Araq | ping alehander |
15:45:02 | FromGitter | <matrixbot> `swedneck` woah, is this chat bridging everything via gitter? |
15:57:41 | * | kuon quit (Ping timeout: 268 seconds) |
15:58:10 | * | lf-araujo quit (Remote host closed the connection) |
15:58:27 | * | lf-araujo joined #nim |
16:06:22 | * | Vladar quit (Remote host closed the connection) |
16:09:04 | * | theju quit (Quit: ERC (IRC client for Emacs 26.1)) |
16:09:43 | * | theju joined #nim |
16:09:50 | FromGitter | <zetashift> I'm actually following along Peter Shirley's Ray Tracing in a weekend with Nim right now. I don't really know C++ so I'm guessing I'm going along with that too |
16:10:44 | * | lf-araujo quit (Ping timeout: 252 seconds) |
16:14:56 | * | theju quit (Quit: ERC (IRC client for Emacs 26.1)) |
16:17:32 | * | synshroud quit (Ping timeout: 245 seconds) |
16:18:32 | FromGitter | <genotrance> My slack bridge has been down for 12 hours, sucks to be disconnected |
16:41:46 | * | lf-araujo joined #nim |
16:52:55 | * | lf-araujo quit (Ping timeout: 252 seconds) |
16:53:11 | * | lf-araujo joined #nim |
16:55:55 | * | tjmac left #nim ("-bye") |
17:06:25 | FromGitter | <kayabaNerve> Discord and IRC have a bridge. Gitter and IRC have a bridge. Matrix and Gitter have a bridge. |
17:06:28 | FromGitter | <kayabaNerve> That's all that I know of |
17:08:15 | narimiran | @swedneck you don't need matrixbot to connect to irc. you can directly connect to #nim. leorize[m] should know the details about it |
17:09:11 | FromGitter | <matrixbot> `swedneck` > <@gitter_fromirc:matrix.org> *<narimiran>* @swedneck you don't need matrixbot to connect to irc. you can directly connect to #nim. leorize[m] should know the details about it ⏎ ⏎ that's not what i mean, i mean i find it weird to center bridging around gitter instead of matrix |
17:09:34 | FromGitter | <juancarlospaco> @Araq https://www.twitch.tv/araq4k/dashboard/settings --> "Store past broadcasts" Turn it ON. |
17:09:57 | leorize_ | @swedneck join #freenode_#nim:matrix.org |
17:10:16 | narimiran | @swedneck: look at how your message looks currently: https://irclogs.nim-lang.org/04-07-2019.html#17:09:11 |
17:10:20 | * | Swedneck2 joined #nim |
17:10:43 | * | leorize_ is now known as leorize |
17:10:53 | Swedneck2 | this is why i find it weird to use gitter |
17:11:26 | narimiran | Swedneck2: now this is much better, but that's not coming from matrix, is it? (usually matrix users have `nick[m]`) |
17:11:52 | leorize | you can change it if desired |
17:12:05 | * | purebadger joined #nim |
17:12:15 | leorize | I connect via both because the bridge can lag behind at times |
17:12:20 | * | lf-araujo quit (Ping timeout: 252 seconds) |
17:12:38 | Swedneck2 | i'm using matrix, i've just set a nick on the irc side |
17:12:55 | Swedneck2 | some channels require it |
17:13:09 | FromGitter | <kayabaNerve> Bridging is centered on IRC |
17:13:44 | FromGitter | <kayabaNerve> Or... IRC has Discord and Gitter. Gitter has IRC and matrix. :Thinking: |
17:13:52 | FromGitter | <kayabaNerve> I guess it ends up with which room is bigger. |
17:13:59 | Swedneck2 | ah, in that case someone else set up a slack bridge from `#nim-lang:matrix.org` to slack |
17:14:02 | Swedneck2 | s/slack/gitter |
17:14:09 | rayman22201 | I hope Araq gets twitch recording to work for us poor Americans that are sleeping when he streams (all 4 of us 😝) |
17:14:12 | * | al_ joined #nim |
17:14:24 | federico3 | when is the stream? |
17:14:34 | leorize | meanwhile telegram is isolated :p |
17:14:44 | Swedneck2 | might want to contact matrix.org to move the alias to the same room as `#freenode_#nim:matrix.org` |
17:14:53 | rayman22201 | He streamed last night around 2am PST |
17:15:09 | leorize | we can have #nim-lang:matrix.org bridged to freenode |
17:15:44 | rayman22201 | Convert to your preferred time zone lol |
17:17:01 | narimiran | leorize: telegram should stay isolated |
17:17:35 | narimiran | federico3: usually in the (european) morning, around 10-11 am |
17:18:06 | federico3 | UTC? CEST? |
17:18:17 | narimiran | 8-9 UTC |
17:18:58 | rayman22201 | Thanks narimiran. My ability to translate timezones is bad. |
17:19:04 | Swedneck2 | [email protected] is the email address in case you want to move the `#nim-lang:matrix.org` alias to the same room as `#freenode_#nim:matrix.org`, which is what i would recommend |
17:19:11 | Swedneck2 | otherwise people end up sending messages via gitter |
17:19:34 | * | lf-araujo joined #nim |
17:20:01 | * | chun joined #nim |
17:20:02 | narimiran | rayman22201: it is easy when you're in europe and your one (winter) or two (summer) hours away from UTC |
17:23:04 | rayman22201 | 😁 |
17:23:30 | disruptek | dom96: i always prefer semicolons in proc definitions because it helps the eye parse foo(bar: int, baz, boz: float) more easily. |
17:24:21 | FromGitter | <juancarlospaco> I wonder how our ZIP module does 🤔 https://www.bamsoftware.com/hacks/zipbomb |
17:24:47 | FromGitter | <juancarlospaco> (Comparison near end of post) |
17:24:56 | disruptek | narimiran: i think your nimpretty pr is great. imo, the goal should be to have the whole project pass pretty 24/7. |
17:25:06 | narimiran | disruptek: thanks :) |
17:25:07 | lqdev[m] | rokups: I don't get any suggestions at all |
17:25:21 | lqdev[m] | nor are errors being shown |
17:25:35 | narimiran | disruptek: nimpretty still has some rough edges, but we're working on them |
17:28:09 | FromGitter | <zacharycarter> narimiran: do most European countries do the hour offset for Midsummer? |
17:28:13 | FromGitter | <zacharycarter> or is Finland just special? |
17:28:35 | narimiran | most of them do |
17:28:48 | * | ch1 joined #nim |
17:29:51 | FromGitter | <zacharycarter> ooo I didn't even think of that - I can now catch Araq streaming live, without hating myself for not sleeping the next day! |
17:29:59 | * | ch1 left #nim (#nim) |
17:31:48 | FromGitter | <zacharycarter> I might even be able to attend a Nim meetup if there ever is another one, or maybe even a conference other Nimmers go to |
17:35:31 | lqdev[m] | now I get errors, but I still don't get suggestions. something's stuck at `Indexing: 70 of 70` |
17:35:54 | * | chun quit (Remote host closed the connection) |
17:36:04 | FromGitter | <rokups> Maybe nimsuggest is broken |
17:36:24 | * | chun joined #nim |
17:36:49 | * | Trustable joined #nim |
17:45:04 | lqdev[m] | it worked perfectly yesterday, tho |
17:47:54 | * | chun quit (Remote host closed the connection) |
17:48:22 | * | chun joined #nim |
17:51:52 | * | Vladar joined #nim |
18:03:22 | * | cornfeedhobo quit (Ping timeout: 245 seconds) |
18:06:19 | Araq | huh? |
18:06:28 | Araq | does twitch keep my videos? where? |
18:08:17 | * | Vladar quit (Remote host closed the connection) |
18:09:49 | Swedneck2 | Araq: hey, you might want to send an email to [email protected] asking them to move the `#nim-lang:matrix.org` alias to the same room as `#freenode_#nim:matrix.org`. currently `#nim-lang:matrix.org` bridges messages to IRC via gitter which causes very ugly messages, while `#freenode_#nim:matrix.org` bridges directly to IRC |
18:11:44 | Araq | ok... |
18:13:16 | FromGitter | <matrixbot> `swedneck` here's an example message sent from `#nim-lang:matrix.org`, it doesn't look great |
18:13:53 | * | nsf quit (Quit: WeeChat 2.4) |
18:18:04 | FromGitter | <zacharycarter> Araq: twitch doesn't by default, you have to turn it on |
18:18:16 | FromGitter | <zacharycarter> > @Araq https://www.twitch.tv/araq4k/dashboard/settings --> "Store past broadcasts" Turn it ON. |
18:18:54 | Araq | ah, thanks |
18:19:17 | FromGitter | <zacharycarter> thank @juancarlospaco :) |
18:20:31 | * | chun quit (Ping timeout: 250 seconds) |
18:26:47 | * | cornfeedhobo joined #nim |
18:29:13 | * | al_ quit (Quit: al_) |
18:32:08 | * | jjido joined #nim |
18:34:28 | * | purebadger quit (Quit: WeeChat 2.5) |
18:40:29 | * | rupansh joined #nim |
18:40:40 | rupansh | helo |
18:40:57 | * | absolutejam1 joined #nim |
18:41:04 | rupansh | I have been working on an 8080 emulator for a while now. |
18:41:32 | rupansh | https://github.com/rupansh/nim-8080-emu/blob/master/emu.nim I am having trouble reading the space invaders rom into the memory pointer |
18:41:51 | rupansh | i took this as a reference https://github.com/kpmiller/emulator101/blob/master/8080emu-first50.c#L879-L894 |
19:05:46 | * | absolutejam1 quit (Ping timeout: 268 seconds) |
19:07:26 | * | absolutejam1 joined #nim |
19:08:19 | FromGitter | <zacharycarter> question - if I have a pointer in C, I can do something like `ptr[0] = '\0';` |
19:08:26 | FromGitter | <zacharycarter> how would I do that with a `pointer` in Nim? |
19:08:32 | * | Trustable quit (Remote host closed the connection) |
19:10:37 | FromGitter | <zacharycarter> is that the same as `ptr = nil` ? |
19:12:06 | rayman22201 | No. The C code sets the first byte the ptr points to to 0. The Nim code sets the pointer itself to 0 |
19:14:41 | FromGitter | <zacharycarter> that's what I figured - is this possible to do in Nim? |
19:14:58 | rayman22201 | I think the safe thing in Nim is to probably cast the ptr to a ref object? |
19:15:51 | rayman22201 | Or you could set mem. I'm not at my PC atm and I don't remember the exact syntax 🤔 |
19:19:05 | FromGitter | <zacharycarter> I think it's `zeroMem(ptr, 1) |
19:20:36 | rayman22201 | Zero mem, set mem, same thing 😝 |
19:21:11 | * | rupansh quit (Remote host closed the connection) |
19:21:29 | FromGitter | <zacharycarter> :P thank you for the help |
19:22:18 | rayman22201 | Np. You could see what c2nim does. That's usually what I do when I need to figure out stuff like this. |
19:23:08 | FromGitter | <zacharycarter> I tried - but c2nim produced - `ptr`[0] = '\x00' |
19:23:14 | FromGitter | <zacharycarter> which was less than helpful |
19:23:21 | rayman22201 | Interesting |
19:23:37 | * | hoijui quit (Ping timeout: 252 seconds) |
19:23:56 | rayman22201 | I guess Nim let's you use array notation on ptr |
19:24:17 | rayman22201 | Pretty dangerous but cool |
19:25:26 | rayman22201 | Also @zacharycarter, happy American Independence day you expat 😜 |
19:26:30 | FromGitter | <zacharycarter> it doesn't :/ `[]` on a pointer is dereference tmk |
19:26:52 | FromGitter | <zacharycarter> thanks! feels strange not being in the US on the 4th of July, but then again I don't really want to be anywhere near D.C. atm haha |
19:26:59 | FromGitter | <zacharycarter> too much craziness going on for me |
19:27:47 | rayman22201 | Oh yeah. I don't blame you. I would rather go to a Nim Meetup like you said lol. |
19:28:00 | FromGitter | <zacharycarter> +1 |
19:29:12 | * | ertp07 quit (Read error: Connection reset by peer) |
19:29:46 | * | ertp07 joined #nim |
19:34:14 | * | ertp07 quit (Ping timeout: 252 seconds) |
19:34:28 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
19:34:53 | FromGitter | <zacharycarter> yay - shader loading done for the most part |
19:35:40 | FromGitter | <juancarlospaco> :) |
19:39:07 | rayman22201 | 🎉 |
19:48:43 | * | jjido joined #nim |
19:56:19 | * | brakmic quit (Read error: Connection reset by peer) |
19:56:43 | * | brakmic joined #nim |
19:56:52 | * | synshroud joined #nim |
19:59:46 | * | nsf joined #nim |
20:08:03 | * | lf-araujo quit (Quit: lf-araujo) |
20:13:03 | * | nsf quit (Quit: WeeChat 2.4) |
20:16:46 | Araq | zacharycarter: Nim's idea is to use 'ptr UncheckedArray[T]' |
20:16:56 | Araq | to get array indexing on a pointer |
20:17:05 | FromGitter | <zacharycarter> ah yeah, I forgot about that |
20:17:24 | * | SenasOzys joined #nim |
20:18:34 | Araq | ok, I'm about to stream again |
20:18:48 | Araq | you can choose between (a) fixing embarrassing bugs |
20:19:01 | Araq | and (b) some control flow voodoo |
20:19:27 | disruptek | voodoo ftw |
20:24:53 | * | absolutejam1 quit (Read error: Connection reset by peer) |
20:27:52 | Araq | rayman22201, ? |
20:29:33 | lqdev[m] | to zero the value of the pointer you do `point[] = 0`, simple as that |
20:29:41 | lqdev[m] | equivalent to C `*point = 0` |
20:29:46 | rayman22201 | No preference lol. Though twitch is having issues on my phone right now... Ugh |
20:32:54 | disruptek | how do i make this stupid chat panel behave? |
20:35:20 | disruptek | man, the collapse button was invisible under dark reader. |
20:38:56 | * | narimiran quit (Ping timeout: 272 seconds) |
20:42:04 | noonien | i'm getting an Exception message: over- or underflow, in async code, however the stack traces only point to a "waitFor" in my code |
20:43:16 | noonien | i do get my function names in asyncmacro.nim |
20:43:57 | lqdev[m] | look at the line numbers, they're correct |
20:44:11 | disruptek | off-by-one error positioning the label? |
20:51:04 | * | clyybber joined #nim |
20:59:00 | noonien | lqdev[m]: they don't appear to be correct |
20:59:19 | noonien | the ones in asyncmacro, they don't point correctly into my file |
20:59:51 | * | synshroud quit (Quit: ZNC 1.7.4 - https://znc.in) |
21:02:12 | lqdev[m] | strange, that's how it was to me |
21:05:19 | * | synshroud joined #nim |
21:24:54 | noonien | i'm on the latest nightly |
21:26:50 | dom96 | disruptek: sure, and in this case you can use a semicolon, but don't use it for every single proc def |
21:27:01 | dom96 | that is the edge case I'm talking about where I'm cool with it |
21:27:14 | noonien | also, are there any operators that allow under/overflows? |
21:27:38 | * | absolutejam1 joined #nim |
21:29:39 | * | absolutejam2 joined #nim |
21:32:19 | * | absolutejam1 quit (Ping timeout: 258 seconds) |
21:50:02 | * | solitudesf quit (Ping timeout: 245 seconds) |
21:54:27 | FromGitter | <Varriount> All integer operators? |
21:55:25 | FromGitter | <Varriount> I mean, an exception will be raised if checks are turned on, but otherwise they can over/under flow |
22:03:22 | * | SenasOzys quit (Ping timeout: 268 seconds) |
22:15:45 | disruptek | dom96: that means that i have to turn commas into semicolons sometimes during maintenance. :-( |
22:17:58 | dom96 | so you use semicolons everywhere? |
22:18:43 | Calinou | is echo a keyword or a function in Nim? i.e. what's the most idiomatic syntax, echo("hello") or echo "hello"? |
22:18:56 | clyybber | both are valid call syntaxes |
22:18:59 | Calinou | I know :) |
22:19:08 | clyybber | so they apply to every proc |
22:19:16 | clyybber | not only keywords |
22:19:22 | clyybber | so no, echo isn't a keyword :) |
22:19:26 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
22:20:39 | Calinou | VS Code highlights it as a keyword, that's why I asked |
22:31:22 | * | brakmic quit () |
22:37:27 | disruptek | i use semicolons in my proc definitions whenever multiple arguments exist. |
22:37:49 | disruptek | "hello".echo |
22:41:57 | dom96 | so you'd write this? foo(bar: int; baz; boz: float) |
22:43:43 | disruptek | i'd write foo(bar: int; baz, bar: int) though i rarely overload names for a single type. |
22:44:07 | disruptek | eg. unless the sig is very long, i'll just spell each of them out with their types. |
22:44:47 | * | dwdv quit (Quit: quit) |
22:44:50 | disruptek | easier to grok at a glance, and when you are looking for a certain sig, it helps if one with two highlighted types pops up versus one with just one (but type var names). |
22:50:57 | dom96 | so you'd probably write: foo(bar: int; baz: float; boz: float) |
22:54:26 | dom96 | the main reason I dislike it is because it's inconsistent with pretty much every other language (?), I also don't really consider it more readable (except maybe in the case where you're sharing the same type for multiple different arguments) |
23:03:34 | jmiven | Pascal, Ada and Eiffel use semicolons, for example |
23:05:57 | * | krux02_ joined #nim |
23:08:44 | * | krux02 quit (Ping timeout: 252 seconds) |
23:12:56 | * | absolutejam2 quit (Ping timeout: 244 seconds) |
23:18:13 | disruptek | that's the only bit we are talking about. if there wasn't biz, baz: int syntax then i wouldn't use semicolons at all. |
23:18:44 | disruptek | since it's a possibility, i'd rather standardize on a syntax that can literally be standard among all my signatures. |
23:18:46 | Araq | so ... what are we gonna do? throw away the code? |
23:18:57 | disruptek | why? |
23:19:00 | Araq | the DFA wasn't designed for this |
23:19:37 | disruptek | we're talking about lint, not dfa...? |
23:20:09 | disruptek | or, you mean you think the dfa you were just working on is too stodgy? |
23:20:37 | disruptek | it doesn't have to be the last solution, merely the first. the prototype that informs a smarter version down the road. |
23:21:14 | Araq | well, all the code I wrote is pretty much "meh" |
23:21:34 | disruptek | it's fine. copy+pasta is okay in a poc. |
23:21:47 | Araq | I can push it to a branch |
23:22:11 | Araq | but it's neither complete nor elegant, as I said, this is not for "injectdestructors" |
23:22:14 | disruptek | you really never ran klee? |
23:22:39 | Araq | what's klee? |
23:22:51 | disruptek | static analysis for llvm bytecode. |
23:23:47 | Araq | nah, now that you mention it, I think I heard the name before but that's it |
23:24:23 | disruptek | i mentioned it a few months ago. i think it's worth trying to run it against some small newruntime. you might get a kick outta it. |
23:25:03 | disruptek | bbl, thanks again araq, that was neat. :+1: |
23:25:15 | Araq | cannot imagine how, I would be left with errors pointing to LLVM code |
23:25:32 | Araq | I want a 'nimZ3' tool for correctness proofs |
23:25:42 | Araq | and I know how to do it. |
23:25:51 | disruptek | you compile nim to llvm and then klee will tell you where the bugs are. |
23:26:03 | disruptek | it can even write tests. |
23:26:09 | clyybber | disruptek: Problem is mapping those bugs back to nim errors |
23:26:19 | Araq | exactly |
23:26:29 | disruptek | it knows about C. |
23:26:52 | Araq | well with --lineDir:on we'll probably come far |
23:26:57 | disruptek | you can get all the debugging to follow through the whole pipeline. check it out. i could be wrong, but i doubt it. |
23:27:00 | disruptek | bbl |
23:27:27 | clyybber | gn8 all |
23:27:33 | * | clyybber quit (Quit: WeeChat 2.5) |
23:43:37 | * | stefanos82 quit (Quit: Quitting for now...) |