<< 15-01-2024 >>

00:18:21FromDiscord<Elegantbeef> Just build the compiler with libffi enabled πŸ˜„
00:48:03*pbsds quit (Quit: Ping timeout (120 seconds))
00:48:31*pbsds joined #nim
01:02:37*Mister_Magister quit (Quit: bye)
01:04:30*Mister_Magister joined #nim
02:08:19FromDiscord<kdot_227> is it possible to sleep just a thread in nim similar to python?
02:08:38FromDiscord<kdot_227> sleep from the OS module while sleep the whole program not just a thread
02:09:36FromDiscord<kdot_227> pls @ me if you know how im confused asf rn
02:10:39FromDiscord<leorize> sleep always sleep only the thread you run it on so I'm not sure what you're talking about
02:12:02FromDiscord<kdot_227> In reply to @leorize "sleep always sleep only": I might be dumb brb
02:12:53FromDiscord<kdot_227> nvm it was my fault
02:12:56FromDiscord<kdot_227> thx for help
02:58:13NimEventerNew Nimble package! rssatom - rssatom is a package designed to read and create RSS and Atom feeds, see https://codeberg.org/samsamros/rssatom
03:07:37FromDiscord<4zv4l> is it possible to pass an `iterator` to a proc in argument ?
03:15:21FromDiscord<Elegantbeef> Only if it's closure
03:15:32FromDiscord<Elegantbeef> Welcome to the lack of composabillity with iterators
03:25:38FromDiscord<4zv4l> sent a code paste, see https://play.nim-lang.org/#ix=html>
03:27:11FromDiscord<Elegantbeef> Make a `proc []=[T](arr: var openArray[T], ind: Slice[int], val: Slice[int])`
03:38:05FromDiscord<Elegantbeef> Though a nice `toArray` template could exist
03:40:32FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=html>
03:49:14FromDiscord<␀ Array πŸ‡΅πŸ‡Έ πŸ‰> im working on a nim library but it depends on a javascript npm package, how should handle that with nimble?
03:50:19FromDiscord<␀ Array πŸ‡΅πŸ‡Έ πŸ‰> i could write a nimscript or a shell script to download the npm lib but that feels like a hack rather than doing it correctly
03:50:29FromDiscord<4zv4l> sent a code paste, see https://play.nim-lang.org/#ix=html>
03:52:35FromDiscord<␀ Array πŸ‡΅πŸ‡Έ πŸ‰> or ig i could have the user of the nim lib download the npm package? im not sure
03:54:09FromDiscord<Elegantbeef> @4zv4l `countDown(9, 0)`
03:55:42FromDiscord<4zv4l> sent a code paste, see https://play.nim-lang.org/#ix=html>
03:56:57FromDiscord<Elegantbeef> Or make your own `...` operator
03:56:58FromDiscord<Elegantbeef> πŸ˜„
03:58:15FromDiscord<Elegantbeef> Preinstallhooks is the "Nimble way"
04:04:52FromDiscord<␀ Array πŸ‡΅πŸ‡Έ πŸ‰> i see, that would be written inside the .nimble file
04:05:51FromDiscord<␀ Array πŸ‡΅πŸ‡Έ πŸ‰> thank you
04:36:41FromDiscord<␀ Array πŸ‡΅πŸ‡Έ πŸ‰> nimble seems to not want to copy over the pnpm-lock.yaml when trying to install
04:36:47FromDiscord<␀ Array πŸ‡΅πŸ‡Έ πŸ‰> https://git.inamatrix.xyz/array-in-a-matrix/nimbotsdk
04:36:56FromDiscord<␀ Array πŸ‡΅πŸ‡Έ πŸ‰> this is my repo\:↡https://git.inamatrix.xyz/array-in-a-matrix/nimbotsdk
04:43:26FromDiscord<␀ Array πŸ‡΅πŸ‡Έ πŸ‰> looks like an issue with nimble?
04:44:39FromDiscord<␀ Array πŸ‡΅πŸ‡Έ πŸ‰> il open an issue in the morning then
04:51:57FromDiscord<␀ Array πŸ‡΅πŸ‡Έ πŸ‰> oh nvm i mixed up the command lol
05:38:37*Batzy joined #nim
06:30:31FromDiscord<ajusa> In reply to @khazakar "Would be useful πŸ˜„": https://github.com/nim-lang/packages/pull/2790 cleaned it up and requested to officially add it to nimble
06:31:26FromDiscord<ajusa> oh wow it's been merged already
06:32:20FromDiscord<khazakar> Nice
06:32:41FromDiscord<Elegantbeef> Soon we'll have 300 different html macros
06:33:35NimEventerNew Nimble package! dekao - Write HTML templates easily, see https://github.com/ajusa/dekao
06:38:39FromDiscord<ajusa> In reply to @Elegantbeef "Soon we'll have 300": in my defense beef, this is the only one (other than taggy which is this based on) that supports adding custom tags (required for web elements), and supports autocomplete through the LSP (since the macro heavy ones break down).↡↡but yes everyone loves reinventing the wheel haha
06:39:07FromDiscord<ajusa> this one does come with bindings for HTMX already defined, so it's a bit opinionated I guess
06:45:48FromDiscord<khazakar> Yeah, and since htmx is on a hypetrain, your package might get some attention
07:20:41FromDiscord<khazakar> In reply to @ajusa "in my defense beef,": HappyX guy is interested in your lib to check it out πŸ˜‰
07:34:56*rockcavera quit (Remote host closed the connection)
07:38:11*redj quit (Ping timeout: 252 seconds)
07:40:22*redj joined #nim
07:42:50*ehmry quit (Ping timeout: 245 seconds)
07:44:31*azimut quit (Ping timeout: 240 seconds)
07:45:20*advesperacit joined #nim
07:56:53Amun-RaI'm stuck on very simple thing, I have cstring and its length, how can I convert it to string? `$` won't work obviously
07:57:20Amun-Raah, copyMem
07:59:19Amun-RaI had a short brain fart… ;)
08:06:41_________Amun-Ra: or `substr($cstr, 0, len-1)`
08:07:00FromDiscord<Elegantbeef> That only works if i'ts null terminated
08:07:12FromDiscord<Elegantbeef> `$cstr` will get you a bunch of garbage πŸ˜„
08:07:22FromDiscord<Elegantbeef> So I guess yes it's' right but that's a double allocation
08:07:35_________and substr will get rid of that garbage ;>
08:07:45FromDiscord<odexine> it wont if the string contains \0
08:08:02FromDiscord<odexine> as useful data
08:09:19Amun-RaElegantbeef: yeah, it's a part of js <-> wasm interop, cstring is really an array of bytes
08:10:28Amun-RaI have to add cstring/openArray[byte] types as a source for my "string" stream
08:10:30*jjido joined #nim
08:11:34FromDiscord<jerrythegenius> Is there any such thing as an interactive version of nim? Like when you type `python` in a terminal and get the `>>>` prompt
08:11:45FromDiscord<Elegantbeef> `inim` `nim secret`
08:12:41FromDiscord<jerrythegenius> thanks
08:15:04Amun-Ramind you can't test everything it this repl
08:15:45FromDiscord<Elegantbeef> You can in inim but it's just making a hidden file so it does not work like a repl from python
08:15:54FromDiscord<Elegantbeef> Though I personally just make a scratchpad file and type code in there
08:20:48Amun-Rasame
08:22:38FromDiscord<nnsee> In reply to @jerrythegenius "Is there any such": alternatively install nlvm and use its REPL
08:22:41FromDiscord<nnsee> it's fairly good
08:55:21FromDiscord<jerrythegenius> In reply to @nnsee "alternatively install nlvm and": Thanks, I'll check it out
09:28:23*PMunch joined #nim
11:36:50*ehmry joined #nim
12:09:29*jkl quit (Quit: Gone.)
12:10:47*jkl joined #nim
12:19:55*jkl quit (Quit: Gone.)
12:21:14*jkl joined #nim
13:02:04*rockcavera joined #nim
13:05:30*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
13:08:42*krux02 joined #nim
14:11:32FromDiscord<penguinite> I am trying to make sense of nimforum's code, and I am unsure whether I should just give up on supporting compilers older than 2.0.0
14:14:20FromDiscord<auxym> In reply to @pengwyns "I am trying to": IMO I don't see much reason to support old compilers for an app. Maybe for a library if you want more people using it
14:14:51FromDiscord<auxym> during the python 2 to 3 migration, most of the larger libraries supported both 2 and 3 for years, then eventually stopped support v2
14:15:59FromDiscord<penguinite> yeah thats sort of what I was thinking. Im gonna go with only supporting 2.x compilers then. And since I am already feeling quite ambitious about this project, ill also try to port it to HappyX instead of Jester + Karax.
15:04:17FromDiscord<khazakar> In reply to @auxym "during the python 2": Not every stopped python 2 support, like scapy - they work to kill py2
15:11:27Amun-Rawhich is a good thing, py2 is a history
15:11:44*PMunch quit (Quit: Leaving)
15:14:15Amun-Rapy2 couldn't differentiate between str and bytes, which was quite important thing for non us-ascii world
15:15:19*azimut joined #nim
15:37:22FromDiscord<auxym> In reply to @Amun-Ra "py2 couldn't differentiate between": well, nim doesn't differentiate either πŸ˜‰
15:38:05FromDiscord<nnsee> to me, everything is `char `
15:38:07FromDiscord<auxym> the py3 transition was pretty bad. I remember some libs like numpy/scipy didn't support py3 at all for years
15:38:54FromDiscord<auxym> In reply to @nnsee "to me, everything is": haha, found the C programmer πŸ˜‰ is it a char? an array? a string? who knows, doesn't matter
15:40:42FromDiscord<nervecenter> Making a strong case that C is in fact weakly typed lol
15:40:46FromDiscord<nervecenter> Or even untyped
15:57:44Amun-Raand everything in C is an object (they have a particular definition of object in C standard) ;)
17:22:08FromDiscord<djazz> Time to summon @pmunch ! Trying to get Futhark to output importc: "symbol" pragmas for structs, enums etc... not going well. I want to be able to use header pragma with Futhark to avoid Futhark creating the objects
17:22:32FromDiscord<djazz> got this far: Error: invalid pragma: importc: "struct stbi_io_callbacks"
17:22:48FromDiscord<djazz> and template/generic instantiation of `importc` from here
17:23:14FromDiscord<djazz> probably because its trying to run it at comptime
17:23:19FromDiscord<djazz> somewhere
17:23:22FromDiscord<pmunch> Ah, that is a core design of Futhark unfortunately
17:23:32FromDiscord<djazz> (also why is futhark's macro named importc?)
17:24:01FromDiscord<pmunch> Good question.. I think my original idea was that you where importing modules from C
17:24:26FromDiscord<djazz> maybe they collide? haha
17:24:35FromDiscord<djazz> i tried importcpp and same issue
17:24:51FromDiscord<djazz> "template/generic instantiation of `importcImpl` from here"
17:24:55FromDiscord<pmunch> What exactly is your goal here?
17:25:33FromDiscord<pmunch> Yeah the importc macro is just a DSL frontend for importcimpl
17:25:42FromDiscord<djazz> do use c libraries wrapped by futhark alongside manually wrapped function from one header file, which depends on headers the futhark wrapper wraps
17:25:49FromDiscord<djazz> to use
17:26:31FromDiscord<pmunch> And that doesn't simply just work?
17:26:37FromDiscord<djazz> but getting duplicate definitions
17:26:38*cm quit (Quit: Bye.)
17:27:05*cm joined #nim
17:27:42FromDiscord<pmunch> I think I have to see a demo
17:29:24FromDiscord<djazz> it's to be able to wrap static functions (local) I think
17:33:47FromDiscord<djazz> and other things futhark cant import
17:37:02FromDiscord<pmunch> Can't you just add them in manually after Futhark is done?
17:40:04FromDiscord<khazakar> I need to take a closer look at futhark in order to write nim wrapper around libsigrok to be honest, since c2nim failed. Is there any way to use futhark in c2nim way, like pass h file to futhark from cli and let it parse @pmunch ?
17:40:39FromDiscord<pmunch> Nope, that's not how you're supposed to use Futhark
17:41:01FromDiscord<pmunch> As you mentioned, c2nim didn't work, so why would I design Futhark to work the same way?
17:43:29FromDiscord<khazakar> Okay, so I will take closer look how to use it properly
17:43:44FromDiscord<djazz> ah here, this is what happens when I try to importc with header in the same nim file doing the futhark importc stuff:↡"/home/djazz/code/nim/picostdlib/src/picostdlib/lib/cyw43_driver.nim:122:68: error: conflicting types for 'cyw43_state'; have 'tyObject_internalcyw43t1526726706s9bywBenUrRpz0rux4qe9bmQ'"
17:44:07FromDiscord<djazz> "/usr/share/pico-sdk/lib/cyw43-driver/src/cyw43.h:154:16: note: previous declaration of 'cyw43_state' with type 'cyw43_t' {aka 'struct _cyw43_t'}"
17:44:40FromDiscord<khazakar> In reply to @pmunch "As you mentioned, c2nim": it didn't work, because it was unable to parse #define from another file and apply it to another file
17:44:53FromDiscord<khazakar> Or I'm just 2 dum
17:45:26FromDiscord<djazz> so maybe I could do a "sys" file that does the futhark wrapping and import that to the file that does the header importing
17:47:18FromDiscord<djazz> that seems to work
17:49:28FromDiscord<pmunch> In reply to @khazakar "it didn't work, because": Not quite sure what you mean by this
17:49:57FromDiscord<khazakar> In reply to @pmunch "Not quite sure what": I wanted to parse with c2nim header file which uses macro from another header file and it had issues with it.
17:50:08FromDiscord<khazakar> Was unable to find it
17:50:08FromDiscord<pmunch> In reply to @djazz "so maybe I could": Ah yes, that could help with collision errors
17:50:29FromDiscord<djazz> I hope my compiled binary wont grow in size now though?
17:50:46FromDiscord<pmunch> Well in Futhark you would just tell it where to find the header files and then just import the one you needed.
17:50:47FromDiscord<djazz> is linker smart enough?
17:51:12FromDiscord<khazakar> In reply to @pmunch "Well in Futhark you": I'm already linking lib to wrap as git submodule
17:51:22FromDiscord<pmunch> In reply to @djazz "I hope my compiled": It shouldn't, objects don't really exist
17:51:23FromDiscord<khazakar> so would be quite simple then, right?
17:51:48FromDiscord<pmunch> Yeah, that should be easy peasy
17:52:55FromDiscord<khazakar> Project link if you want to see what I'm working on when I have will to do so πŸ˜„ : https://codeberg.org/KhazAkar/libsigrok_nim
17:53:49FromDiscord<khazakar> In reply to @pmunch "Yeah, that should be": So I will use futhark then to make initial bindings and then proper high-level wrapping
17:57:49*jjido joined #nim
17:59:56FromDiscord<pmunch> Yup, that's what I'm doing here: https://github.com/PMunch/libcoap
18:31:59FromDiscord<aintea> sent a code paste, see https://play.nim-lang.org/#ix=html>
18:32:57FromDiscord<Phil> In reply to @aintea "Is there a way": Enums can be associated with specific strings for the purposes of parseEnum and `$`.↡Other than that, you're looking for an object variant
18:33:40FromDiscord<djazz> object variant + kind enum
18:34:44FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=html>
18:34:46FromDiscord<djazz> Or in this case, import std/options for an Options type
18:34:57FromDiscord<Phil> Nah, that's not what you use options for
18:35:09FromDiscord<Phil> You use options to express "this may exist, or it may not"
18:35:15FromDiscord<Phil> Using that for result is lying to the reader
18:35:24FromDiscord<djazz> hmm, right yeah options only have None with no content
18:35:35FromDiscord<djazz> but idea is similar
18:35:36FromDiscord<Phil> Not just that, it's also about what the intended meaning of sth is
18:35:40FromDiscord<Phil> Aye, I agree there
18:35:46FromDiscord<djazz> is what i wanted to say
18:36:00FromDiscord<Phil> It's just that Option very specifically is for "Sth or Nothing"↡While Result is about "Ok or Error"
18:36:39FromDiscord<djazz> yeah, no enum needed for option
19:02:21*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
19:13:39FromDiscord<djazz> @pmunch after some testing modifying only my code i am still getting errors like "error: 'Errenumt' undeclared here (not in a function); did you mean 'err_enum_t'?"
19:13:59FromDiscord<djazz> Errenumt is the type generated by futhark while err_enum_t is the type in C header
19:14:06FromDiscord<djazz> the names doesnt match
19:37:22FromDiscord<djazz> so, i must reimplement the macros in nim
19:48:15*azimut quit (Remote host closed the connection)
19:49:02*azimut joined #nim
20:12:55*azimut quit (Ping timeout: 240 seconds)
20:23:02*jjido joined #nim
20:25:39FromDiscord<Robyn [She/Her]> I really wish code was easy to maintain, it gets messy quick and not sure how to solve that, even with measures/standards I put in place to try and avoid that
20:28:54FromDiscord<Phil> In reply to @chronos.vitaqua "I really wish code": Really the only way to avoid this is writing more code and learning what didn't work
20:29:05FromDiscord<Phil> Develop your answers over what sucks most in the long run
20:29:37FromDiscord<Phil> Mine was that if something doesn't belong together in the problem domain and you're just grouping it together for technical convenience (grouping e.g. via inheritance or the like) then you're doing it wrong
20:29:51FromDiscord<Phil> For that purpose I'm perfectly happy having vast amounts of code duplication
20:30:07FromDiscord<Phil> Because its different entities, it gets its own piece of code
20:30:36FromDiscord<Robyn [She/Her]> Fair
20:30:41FromDiscord<Phil> It also lead me to dislike inheritance, because it leads to indirection on what gets called where
20:31:19FromDiscord<Phil> It also lead me to "If you're using even remotely non-widespread abbreviations, I'll annoy you until you don't"
20:31:52FromDiscord<Phil> As well as "unless it's extremely obvious, every if-statement deserves to have a variable that contains the meaning of the condition you're checking, so that it's clear
20:32:09FromDiscord<Phil> Encode business logic in your code, in your variable names
20:32:19FromDiscord<Robyn [She/Her]> Yeah already do that
20:32:20FromDiscord<Phil> And write the most obvious form of the code you can
20:32:45FromDiscord<Phil> If you're getting clever without good reason (e.g. because the problem is really fuckign hard), you're doing it wrong
20:33:36Amun-RaI finally unified my codebase for native build, mingw one, js, nodejs and wasm \o/
20:35:04FromDiscord<Phil> In reply to @chronos.vitaqua "Yeah already do that": Also it helps speaking a fair bit with other devs and trying to get into how they thing about problems
20:35:10FromDiscord<Phil> And how they structure coe
20:35:12FromDiscord<Phil> (edit) "coe" => "code"
20:35:49FromDiscord<Phil> It'll inevitably lead you to disgusting places because obviously your own strategies are always the best... until you haven't looked at the code for 6 months πŸ˜›β†΅But you'll likely encounter a pattern here or there that's rather useful
20:36:12FromDiscord<Phil> I'd honestly claim writing a lot of docs also helps because it helps a bit with trying to understand the though process of others
20:36:21FromDiscord<Phil> And in turn leads you to a more "obvious" style of programming
20:36:35FromDiscord<Phil> (edit) "though" => "thought"
20:36:38FromDiscord<Robyn [She/Her]> I do try and write docs for everything I plan for people to use
20:36:49FromDiscord<Robyn [She/Her]> But maybe I should also write stuff I don't plan for people to use :p
20:37:09FromDiscord<Phil> That's an option. Though have you made yourself familiar with the 4 different types of docs?
20:37:37FromDiscord<Robyn [She/Her]> ...no?
20:37:50FromDiscord<Robyn [She/Her]> In reply to @Amun-Ra "I finally unified my": Eyyyyy
20:38:55FromDiscord<Phil> That is the classic image for that https://media.discordapp.net/attachments/371759389889003532/1196554125324853388/overview.png?ex=65b80cde&is=65a597de&hm=b2c3e0755bebc28fa964b48410204dab8c13ac3a55b313addb11a8ded8eeac88&
20:39:17FromDiscord<Phil> Typically I smosh the 3 of those into a nimibook and the 4th is my compiled doc comments
20:39:25FromDiscord<Phil> (edit) removed "the"
20:39:36FromDiscord<Robyn [She/Her]> That makes sense
20:40:44FromDiscord<Phil> Nimibook tends to open with a Quickstart guide/tutorial, you got usage examples that the nimibookk links to and explains a bit - which are kind of how-to-guides, you have high-level-idea explainers in the later section of the nimibook docs, and the compiled doc comments are for reference
20:40:59*jmdaemon joined #nim
20:41:05FromDiscord<Phil> (edit) "Nimibook tends to open with a Quickstart guide/tutorial, you got ... usagein" added "compileable" | "compileableusage examples ... that" added "in a separate folder"
20:41:13FromDiscord<Phil> (edit) "nimibookk" => "nimibook"
20:41:42FromDiscord<Phil> It's been a while since I gave that a read myself
20:41:55FromDiscord<Robyn [She/Her]> Fair
20:42:07FromDiscord<Robyn [She/Her]> This is still flowing over my head :p
20:42:09FromDiscord<Phil> You don't necessarily need to read that really, but it helps with how people approach docs in different situations
20:42:09FromDiscord<Phil> https://documentation.divio.com/
20:49:24FromDiscord<pmunch> In reply to @djazz "the names doesnt match": That doesn't make sense..
20:50:04*azimut joined #nim
20:52:43FromDiscord<Robyn [She/Her]> In reply to @isofruit "https://documentation.divio.com/": Reading through it slowly
20:52:52FromDiscord<Robyn [She/Her]> Not gonna read it all tho bc my attention span is ded :p
20:53:20FromDiscord<Phil (he/him)> All good, I doN
20:53:25FromDiscord<Phil (he/him)> \I don't think it's necessary either tbh
20:53:38FromDiscord<Phil (he/him)> The core thing you should take away is understanding the concept of 4 different goals in docs
20:53:42FromDiscord<Robyn [She/Her]> Fair
20:53:42FromDiscord<Phil (he/him)> Or rather 4 different usecases
20:57:01FromDiscord<Phil (he/him)> And that you should understand these usecases and ideally a bit on how to tailor to each one
20:57:02FromDiscord<Phil (he/him)> See where you agree and disagree, analyze the merits and see what you want to steal and what not
20:57:02FromDiscord<Phil (he/him)> Once you have that, write a bit with that in mind, maybe come back to the webpage with the ideas you had and see how they solve it
20:58:39FromDiscord<Robyn [She/Her]> I can't be bothered to do that rn when my energy is dead :P
20:59:17*jmdaemon quit (Quit: ZNC 1.8.2 - https://znc.in)
21:01:00*jmdaemon joined #nim
21:01:27FromDiscord<Robyn [She/Her]> Is it a stupid idea to make a ternary cpu emulator when I've never written a binary emulator before, let alone an emulator at all
21:03:48FromDiscord<Robyn [She/Her]> Yes, yes it is, I'm not doing that-
21:10:24*jmdaemon quit (Ping timeout: 268 seconds)
21:13:36FromDiscord<Robyn [She/Her]> Hey @nnsee, what do you recommend for Postgres DB stuff, should I just use raw SQL? Any particular library you used? Or
21:14:22FromDiscord<nnsee> i just used raw sql and the db_connector module because my use case was rather small
21:14:29FromDiscord<nnsee> but I've heard good things about norm
21:14:48FromDiscord<nnsee> and someone suggested something that also looked interesting but I've never tried, let me see if I can find it
21:14:52FromDiscord<Phil> debby
21:15:03FromDiscord<Phil> there's also allographer and gatabase
21:16:23FromDiscord<nnsee> allographer was the one I was thinking of
21:16:41FromDiscord<Robyn [She/Her]> Allographer looks really nice
21:17:02FromDiscord<Robyn [She/Her]> Pairing it with Jsony for object serialising and deserialising seems like a good idea
21:17:39FromDiscord<Phil> 🀷 ↡Generally everything is just a database behind a JSON-(de)serializer
21:17:42*jmdaemon joined #nim
21:17:50FromDiscord<Phil> With various amounts of business logic in between
21:18:46FromDiscord<Robyn [She/Her]> πŸ€·β€β™€οΈ I don't do commercial programming yet
21:19:56FromDiscord<nnsee> good, I don't like commercials, it's why I use adblock
21:20:49FromDiscord<nnsee> In reply to @isofruit "With various amounts of": I guess it's _hobby logic_ for you, then
21:21:15FromDiscord<Elegantbeef> Code code code! Order now and receive 3 more codes at $19.99 and we'll even wave delivery fees!
21:21:20FromDiscord<Phil> I keep calling it business logic
21:21:29FromDiscord<Phil> I was half a second away from assuming beef was a cryptobot
21:21:53FromDiscord<Elegantbeef> Bold of you to assume this is not a long con
21:23:34FromDiscord<nnsee> In reply to @Elegantbeef "Code code code! Order": wave delivery? Radical, dude
21:29:05FromDiscord<zectbumo> sent a code paste, see https://play.nim-lang.org/#ix=html>
21:29:40FromDiscord<Elegantbeef> It's generally best to not use a debugger to find these errors imo
21:29:47FromDiscord<Elegantbeef> Just compile the code with `./koch temp` and follow the stack trace
21:30:01FromDiscord<zectbumo> how do I trace the error back to the source?
21:31:07FromDiscord<zectbumo> oh is that the "garbage" I've been ignoring all this time πŸ˜‚
21:31:09FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=html>
21:32:12FromDiscord<Elegantbeef> The stack trace shows the compiler path to get to the error, so likely
21:32:51FromDiscord<Robyn [She/Her]> I wonder what's a small library I could implement that'd prolly be a bit useful
21:34:19FromDiscord<Elegantbeef> https://github.com/nim-lang/Nim/blob/devel/compiler/ast.nim#L1685C3-L1688 zect you also do stuff like this inside of `newNode` to see when/where nodes are made
21:34:19FromDiscord<Elegantbeef> Basically you run the code the first time find the node's id you want then you paste it in there and it'll show when it's created
21:34:54FromDiscord<Elegantbeef> If you're looking for something small to do my package graffiti could use a PR that collates all the messages inbetween version ticks into won πŸ˜›
21:35:02FromDiscord<Elegantbeef> into one\
21:35:07FromDiscord<Phil (he/him)> sent a code paste, see https://play.nim-lang.org/#ix=html>
21:35:13*azimut quit (Remote host closed the connection)
21:35:39*azimut joined #nim
21:36:08FromDiscord<Elegantbeef> Imagine using return
21:36:40FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "If you're looking for": Huh?
21:37:04FromDiscord<Phil (he/him)> Collate messages into won Robyn
21:37:06FromDiscord<Phil (he/him)> Not that hard
21:37:07FromDiscord<Phil (he/him)> Just do won
21:37:19FromDiscord<Elegantbeef> Right now graffiti only makes a tag with a commit message of that version, ideally it should collate all the messages into a single message from the last tick of the nimble version πŸ˜„
21:37:34FromDiscord<Phil (he/him)> Make them winner messages
21:37:38FromDiscord<Elegantbeef> I'm an idiot phil, but I'm also slightly sick so uhh fuck you!
21:37:58FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Right now graffiti only": I am too mush brained to understand that atm
21:38:34FromDiscord<Phil (he/him)> You fell for my trap card, making me the winner of this exchange.↡For I am also sickly but also exhausted from work from debating architectures for basically 2 platforms
21:38:44FromDiscord<Phil (he/him)> for around 6h straight
21:38:51FromDiscord<Elegantbeef> My package graffiti makes a git tag based off ticking nimble files, but presently it only uses the message of the commit that changes the nimble file
21:39:09FromDiscord<Elegantbeef> Ideally it'd get all the commit messages from that tick to the last tick then make a tag using them
21:40:29FromDiscord<Robyn [She/Her]> Ah that makes sense
21:40:32FromDiscord<Robyn [She/Her]> Too much work :p
21:40:48FromDiscord<Elegantbeef> The hell you asked for something small
21:41:19FromDiscord<Elegantbeef> Graffiti is presently only 70 loc and uses git through shell! πŸ˜›
21:41:35FromDiscord<Robyn [She/Her]> My definition of small is mindless, currently :P
21:41:48FromDiscord<Elegantbeef> So then to answer your question nothing really
21:42:28FromDiscord<Robyn [She/Her]> Fair :p
21:42:32FromDiscord<Robyn [She/Her]> I hate being sick
21:43:23FromDiscord<Robyn [She/Her]> https://nimble.directory/pkg/gitapi deleted nimble package
21:43:35FromDiscord<Robyn [She/Her]> Why is there no script to regularly scan for deleted packages-
21:44:11FromDiscord<Elegantbeef> Blame yepoleb
21:44:24FromDiscord<Elegantbeef> I think they were working on package validation tools
21:46:10FromDiscord<Robyn [She/Her]> Ah
21:46:31FromDiscord<Yepoleb> The tool exists, but it is not run automatically
21:46:42FromDiscord<Robyn [She/Her]> Fair
21:46:48FromDiscord<Robyn [She/Her]> Could use GitHub Actions tbf
21:47:42FromDiscord<Yepoleb> Flagging packages as deleted is a manual process since often they are just renamed or moved somewhere else
21:48:09*tanami quit (Ping timeout: 260 seconds)
21:48:30FromDiscord<Elegantbeef> There you go robyn go down the rabbit hole of finding where these packages have gone
21:48:33*tanami joined #nim
21:48:43FromDiscord<Robyn [She/Her]> In reply to @Yepoleb "Flagging packages as deleted": I feel like that that's the package maintainer's problem :p
21:48:53FromDiscord<Robyn [She/Her]> In reply to @chronos.vitaqua "https://nimble.directory/pkg/gitapi deleted nimble ": This one just seems to be nuked so
22:05:13*jmdaemon quit (Ping timeout: 264 seconds)
22:19:29*tiorock joined #nim
22:19:30*rockcavera is now known as Guest6093
22:19:30*Guest6093 quit (Killed (copper.libera.chat (Nickname regained by services)))
22:19:30*tiorock is now known as rockcavera
22:22:41*jkl__ joined #nim
22:23:13*jkl quit (Ping timeout: 264 seconds)
22:32:40*redj quit (Remote host closed the connection)
22:34:16*redj joined #nim
22:41:52*deadmarshal_ quit (Ping timeout: 245 seconds)
22:42:42*jmdaemon joined #nim
22:51:06*termer quit (Excess Flood)
22:51:41*termer joined #nim
22:52:01*cornfeedhobo_ quit (Ping timeout: 264 seconds)
22:52:38*mahlon quit (Ping timeout: 264 seconds)
22:54:13*advesperacit quit ()
22:56:34*cornfeedhobo joined #nim
22:57:37*mahlon joined #nim
22:58:05*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
23:03:36*redj quit (*.net *.split)
23:03:36*Onionhammer quit (*.net *.split)
23:03:37*systemdsucks quit (*.net *.split)
23:04:31*tiorock joined #nim
23:04:31*rockcavera is now known as Guest1486
23:04:31*Guest1486 quit (Killed (osmium.libera.chat (Nickname regained by services)))
23:04:31*tiorock is now known as rockcavera
23:04:56*redj joined #nim
23:04:56*Onionhammer joined #nim
23:04:56*systemdsucks joined #nim
23:05:45*deadmarshal_ joined #nim
23:20:38*tiorock joined #nim
23:20:38*rockcavera is now known as Guest6433
23:20:39*Guest6433 quit (Killed (zinc.libera.chat (Nickname regained by services)))
23:20:39*tiorock is now known as rockcavera
23:52:14*jmdaemon quit (Ping timeout: 260 seconds)