01:06:22 | FromDiscord | <double_spiral> Nim I think is the most stubborn language I've used |
01:07:08 | FromDiscord | <double_spiral> It makes it very unwieldy for bigger projects cause if you don't know what tf you're doing (me) 3/4 of the challenge is fighting the compiler |
01:11:34 | FromDiscord | <double_spiral> I will say that it is the perfect amount of low and high level programming though, that is extremely convenient when it comes in handy |
01:20:17 | FromDiscord | <ElegantBeef> In reply to @double_spiral "It makes it very": I disagree, what are you running into? |
01:20:31 | FromDiscord | <wannabelokesh> Hi everyone ↵where do I start learning?↵Do I need paid course/book or I can learn from the free ones? |
01:20:57 | FromDiscord | <double_spiral> In reply to @wannabelokesh "Hi everyone where": I've been using nimbyexample.com |
01:21:32 | FromDiscord | <demotomohiro> I think C++ is more stubborn than Nim :p |
01:22:15 | FromDiscord | <double_spiral> In reply to @elegantbeef "I disagree, what are": I'm trying to create my own little UI library for the raylib bindings, I think I'm pushing my java knowledge on to it a little too much and I need to drop the inheritance stuff I'm doing |
01:22:32 | FromDiscord | <demotomohiro> In reply to @wannabelokesh "Hi everyone where": Here is official tutorial: https://nim-lang.org/docs/tut1.html |
01:22:36 | FromDiscord | <ElegantBeef> You can use inheritance and methods just fine to use Java style oop |
01:22:42 | * | beholders_eye quit (Ping timeout: 268 seconds) |
01:22:45 | FromDiscord | <ElegantBeef> But yes avoid OOP |
01:23:06 | FromDiscord | <double_spiral> Not sure how else I'd go about ui |
01:23:13 | FromDiscord | <double_spiral> A button being a class just makes so much sense |
01:23:19 | FromDiscord | <ElegantBeef> Yea UI is one of the few places that OOP works well |
01:23:34 | FromDiscord | <ElegantBeef> I do avoid any runtime dispatch for my UI frame thingy |
01:23:44 | FromDiscord | <ElegantBeef> But it's a mess of generics and concepts |
01:24:23 | FromDiscord | <double_spiral> Tomorrow I'm gonna delete the parent class and just deal with the restating properties and procs |
01:24:28 | FromDiscord | <ElegantBeef> Why? |
01:25:00 | FromDiscord | <ElegantBeef> Using inheritance and methods is the easiest method of getting UI off the ground |
01:25:11 | FromDiscord | <double_spiral> I believe that's where my issues are stemming from |
01:25:20 | FromDiscord | <ElegantBeef> What's your issue? |
01:26:16 | FromDiscord | <double_spiral> I have a seq of refs to my UI objects and it's been very tedious trying to figure out what the compilers wants from basically |
01:26:34 | FromDiscord | <ElegantBeef> Well learn how OOP works 😄 |
01:26:55 | FromDiscord | <double_spiral> That's kinda disrespectful |
01:27:10 | FromDiscord | <ElegantBeef> I mean you're saying the compiler is fighting you which means you do not know how OOP works in Nim |
01:27:28 | FromDiscord | <double_spiral> Well then make better fucking docs then |
01:27:32 | FromDiscord | <ElegantBeef> Present the actual problem and I can provide assistance |
01:27:37 | FromDiscord | <ElegantBeef> I mean I didn't make the docs |
01:27:40 | FromDiscord | <double_spiral> Fuck you |
01:27:47 | FromDiscord | <ElegantBeef> Why so hostile? |
01:28:12 | FromDiscord | <ElegantBeef> https://nim-lang.org/docs/manual.html#methods does explain how to use methods |
01:32:45 | FromDiscord | <double_spiral> Your worst characteristic is that you don't even know what you did wrong so you'll never learn |
01:34:21 | FromDiscord | <ElegantBeef> Sorry about that |
02:01:27 | FromDiscord | <albassort> sent a code paste, see https://play.nim-lang.org/#pasty=bIRuimaV |
02:01:32 | FromDiscord | <albassort> (edit) "https://play.nim-lang.org/#pasty=JUIoZked" => "https://play.nim-lang.org/#pasty=lqRFdmpK" |
02:01:42 | FromDiscord | <albassort> what do you guys think of this |
02:02:23 | FromDiscord | <albassort> i think its easier on the eyes than making the values they are bound to be right next to them, because it forms columns |
02:02:48 | FromDiscord | <ElegantBeef> Well I dislike horizontally aligned code, and also those numbers are pointless |
02:03:03 | FromDiscord | <albassort> they make me happy |
02:03:23 | FromDiscord | <albassort> they also NEED to be 8 bit and if they aren't that will make my code break because it goes into c |
02:03:30 | FromDiscord | <ElegantBeef> Excep they don't make it 8bit |
02:03:46 | FromDiscord | <albassort> this makes me angry |
02:03:52 | FromDiscord | <albassort> i haven't tested it yet |
02:03:54 | FromDiscord | <ElegantBeef> `sizeof(MyEnum)` is always the size required for elements |
02:04:00 | FromDiscord | <ElegantBeef> So you can drop that and it works just the same |
02:04:51 | FromDiscord | <albassort> destroyed by facts and logic |
02:05:57 | FromDiscord | <demotomohiro> sent a code paste, see https://play.nim-lang.org/#pasty=RnNCOGwO |
02:06:25 | FromDiscord | <albassort> i did a brief google on "how to convert nim enum to c" and nothing notable came up so i figured it wasn' |
02:06:27 | FromDiscord | <albassort> (edit) "wasn'" => "wasn't important" |
02:06:33 | FromDiscord | <albassort> but yes, this is what i need |
02:06:35 | FromDiscord | <albassort> thank you |
02:07:24 | FromDiscord | <ElegantBeef> sent a code paste, see https://play.nim-lang.org/#pasty=wHcaCGNT |
02:07:29 | FromDiscord | <ElegantBeef> Worth noting size forces nothing |
02:07:38 | FromDiscord | <ElegantBeef> just do `static: assert sizeof(MyEnum) == 1` |
02:08:05 | FromDiscord | <albassort> if i did size: 2 and had only 4 values would it be of size2 |
02:08:06 | FromDiscord | <albassort> (edit) "size2" => "size 2" |
02:08:56 | FromDiscord | <albassort> you can fit 4 values in 2 bits :) |
02:09:15 | FromDiscord | <ElegantBeef> sent a code paste, see https://play.nim-lang.org/#pasty=YbzsqYPw |
02:09:35 | FromDiscord | <ElegantBeef> `size` is also not bitsize but byte size |
02:12:20 | FromDiscord | <ElegantBeef> sent a code paste, see https://play.nim-lang.org/#pasty=YoyCoNQi |
02:14:50 | FromDiscord | <ElegantBeef> sent a code paste, see https://play.nim-lang.org/#pasty=IoZOCLXL |
02:14:55 | FromDiscord | <ElegantBeef> Enum aliases in Nim, we did it! |
02:33:58 | * | krux02_ quit (Remote host closed the connection) |
02:37:15 | FromDiscord | <basilajith> Is there any way to stream parse a large Excel file, without converting it to CSV? |
03:00:43 | FromDiscord | <ElegantBeef> Probably https://xlsx.nim.wiki/utils.html#lines.i%2Cstring%2Cstring |
04:15:11 | FromDiscord | <gokr> In reply to @saiplayz1138 "anyone know how to": A really nice way to deploy a Nim container is Koyeb.com - I just pointed it to Github and it even builds the Docker container for you. |
05:13:28 | * | rockcavera quit (Remote host closed the connection) |
05:38:10 | FromDiscord | <saiplayz1138> In reply to @gokr "A really nice way": i figured out how to do it myself. i managed to deploy my project on railway but thanks anyways though! |
06:16:42 | * | PMunch joined #nim |
06:24:22 | FromDiscord | <sent44> i am concern about this https://media.discordapp.net/attachments/371759389889003532/1249972473827692545/0rZJwq2KGhNo.png?ex=66693f15&is=6667ed95&hm=2aa07d1fcf25ade1a38cf0e7b7d308e65d67458b3ec4b3ec1b41a5ecb24b9703& |
06:35:07 | FromDiscord | <odexine> I think you need the std prefix |
06:54:39 | Amun-Ra | with? why writing 2 lines of code when you can import with and write 4… ;) |
06:55:26 | FromDiscord | <sent44> wow strange import behavior |
07:00:04 | PMunch | With is github.com/zevv/with |
07:01:44 | PMunch | To import std/with you need `import std/with` |
07:02:17 | PMunch | This works fine: https://play.nim-lang.org/#pasty=EwpiOnef @sent44 |
07:11:40 | * | Lord_Nightmare quit (Quit: ZNC - http://znc.in) |
07:14:31 | * | Lord_Nightmare joined #nim |
07:21:21 | FromDiscord | <sent44> i just not expected that nim can search internet for module too↵i used to use std to only clarify which is std module on big project |
07:21:30 | FromDiscord | <ElegantBeef> I mean this is unrelated to Nim |
07:21:40 | FromDiscord | <ElegantBeef> Well it's slightly related |
07:21:58 | FromDiscord | <ElegantBeef> But it's just the way Nim works you can do `--nimblePath: ...` and then import them |
07:22:20 | FromDiscord | <ElegantBeef> Nim does not pull from the web, it's just the playground has some preinstalled libraries |
07:22:33 | FromDiscord | <ElegantBeef> Pmunch I broke and did start writing that toy allocator 😄 |
07:23:04 | FromDiscord | <ElegantBeef> If you prefer `pkg/...` and `std/...` your import confusion goes away quite nicely |
07:24:04 | PMunch | @sent44, as @ElegantBeef pointed out its just that the playground has some pre-installed packages. This list to be specific: https://github.com/PMunch/nim-playground/blob/master/docker/packages.nimble |
07:24:26 | PMunch | And @ElegantBeef hooray! Looking forward to see what comes of it |
07:25:02 | FromDiscord | <ElegantBeef> Still a minor point of contention that I have 0 idea how to nicely say "we're operating on X" without pipes or some other IPC |
07:25:48 | FromDiscord | <sent44> In reply to @elegantbeef "Nim does not pull": i was replicated result from computer to sandbox to check if sandbox has same error↵on pc somehow also require std to fix |
07:26:57 | FromDiscord | <ElegantBeef> You have `with` installed |
07:27:21 | FromDiscord | <ElegantBeef> When you compile with `nim` without `nimble build` it accesses all globally installed libraries |
07:27:41 | FromDiscord | <ElegantBeef> `with` in the stdlib requires being imported with `std` |
07:29:24 | FromDiscord | <ElegantBeef> You can also do `--noNimblePath` iirc to clear the nimble path |
07:29:30 | FromDiscord | <sent44> strange, i guess nimlanguageserver package has with as dependency as i do not install other package |
07:29:53 | FromDiscord | <ElegantBeef> Well `nimble uninstall with` will show what depnds on it |
07:30:08 | FromDiscord | <sent44> i will test |
07:32:58 | FromDiscord | <ElegantBeef> Pmunch for your current usage of the IPC how are you invoking things across the barrier? |
07:34:39 | FromDiscord | <sent44> ipc? |
07:34:56 | * | __________ quit (*.net *.split) |
07:34:56 | * | FromDiscord quit (*.net *.split) |
07:34:56 | * | attah quit (*.net *.split) |
07:34:57 | * | void09 quit (*.net *.split) |
07:35:13 | * | void09 joined #nim |
07:35:17 | * | FromDiscord joined #nim |
07:35:17 | * | attah joined #nim |
07:35:17 | * | _________ joined #nim |
07:35:34 | FromDiscord | <ElegantBeef> Inter process communication |
07:39:20 | FromDiscord | <sent44> In reply to @elegantbeef "Well `nimble uninstall with`": i check it and nothing is depend on it↵i just freshly install nim without choosenim on the new pc in morning and after run finish.exe i add 2 path variable then i install nimlanguageserver and that is it |
07:39:47 | * | PMunch quit (Remote host closed the connection) |
07:40:22 | FromDiscord | <sent44> (edit) "In reply to @elegantbeef "Well `nimble uninstall with`": i check it and nothing is depend on it↵i just freshly install nim without choosenim on the new pc in morning and after run finish.exe i add 2 path variable ... then" added "that require in installation page" |
07:42:14 | * | derpydoo joined #nim |
07:46:30 | * | syl joined #nim |
07:47:49 | FromDiscord | <sent44> so nimlanguageserver is really depend on with↵why it is say nothing when uninstall https://media.discordapp.net/attachments/371759389889003532/1249993475412332585/Screenshot_20240611_144615_GitHub.jpg?ex=666952a4&is=66680124&hm=5c087ea10fcbd9bc3874e298b22ebe5fb93c2d9fdcd2d885b07cf7c897dcbdc6& |
07:48:01 | FromDiscord | <ElegantBeef> Cause it's a binary |
07:48:08 | FromDiscord | <ElegantBeef> It's needed to build but not to run |
07:48:14 | FromDiscord | <sent44> oh |
07:50:52 | * | PMunch joined #nim |
07:51:41 | * | redj quit (Ping timeout: 240 seconds) |
07:52:22 | * | redj joined #nim |
07:52:25 | FromDiscord | <albassort> alright beef↵i have a strut which has a UncheckedArray[T] in it.↵ I construct that struct, into an array of UncheckedArray[T] but, for each member of that array, the c array is dealloced |
07:53:48 | FromDiscord | <albassort> e.g an c array of a struct which have a c array as property, results in the c array being garbage data in C and being read from nil in nim |
07:54:11 | FromDiscord | <ElegantBeef> Well without the C -> Nim translation you're doing i cannot say much |
07:55:08 | FromDiscord | <albassort> its nim -> c |
07:55:23 | FromDiscord | <albassort> im getting issues in both nim -> nim and nim -> c |
07:55:30 | FromDiscord | <ElegantBeef> Well without code... |
07:56:14 | FromDiscord | <albassort> sent a code paste, see https://play.nim-lang.org/#pasty=MXaFHyCj |
07:56:20 | FromDiscord | <pmunch> In reply to @elegantbeef "Still a minor point": Locks? |
07:56:29 | FromDiscord | <albassort> the last line results in segfault |
07:56:30 | FromDiscord | <ElegantBeef> No I mean calling the code pmunch |
07:57:01 | FromDiscord | <ElegantBeef> God this code is so poorly formatted 😄 |
07:57:04 | FromDiscord | <pmunch> In reply to @elegantbeef "Pmunch for your current": Ah, well I don't. Basically the producer just puts things into the ring buffer, and the consumer checks to see if there are new elements. |
07:57:21 | FromDiscord | <pmunch> So all calling is just implicit |
07:57:24 | FromDiscord | <ElegantBeef> Ah |
07:58:29 | FromDiscord | <ElegantBeef> `sizeof(KeyType) len(a)` is wrong |
07:58:58 | FromDiscord | <ElegantBeef> that should be `cast[ptr UncheckedArray[KeyTypes]](create(KeyTypes, len(a)))` |
07:59:09 | FromDiscord | <albassort> In reply to @elegantbeef "God this code is": most of my code is in rust so im just doodling in nim to test it |
07:59:26 | FromDiscord | <ElegantBeef> Right, I just ran nph over it so I could read it |
07:59:33 | FromDiscord | <ElegantBeef> `a : b` is inheritly unreadable |
07:59:35 | FromDiscord | <ElegantBeef> Fite me |
07:59:53 | FromDiscord | <albassort> yeah and you think using return is unreadable |
07:59:59 | FromDiscord | <ElegantBeef> No I just think it's silly |
08:00:06 | FromDiscord | <ElegantBeef> As it removes the benefit of implicit returns |
08:00:21 | FromDiscord | <albassort> you probably prefer C returns where you put put pointers as parameters and set them in the function |
08:00:24 | FromDiscord | <ElegantBeef> If you have an expression, have an expression |
08:00:31 | FromDiscord | <ElegantBeef> No cause Nim has NVRO |
08:00:43 | FromDiscord | <albassort> i meant in abstract not in nim |
08:00:56 | FromDiscord | <ElegantBeef> I don't write C |
08:01:00 | PMunch | I guess if I wanted calling across the IPC then I'd set up a dispatcher. It would come with a small memory region that has a semaphore and some extra space. To call a function you would put your arguments in the extra space, along with the function you'd want to call, and then signal the semaphore. The dispatcher would just be locked on the semaphore and when triggered construct a call. |
08:01:03 | FromDiscord | <ElegantBeef> Checkmate |
08:01:20 | PMunch | I guess you could also use a signal handler instead of a semaphore |
08:02:20 | FromDiscord | <albassort> In reply to @elegantbeef "that should be `cast[ptr": yeah switching out those creates works now, why though? |
08:02:20 | PMunch | @albassort, result is awesome. So nice to be able to track which thing is going to be returned from a function |
08:02:40 | FromDiscord | <ElegantBeef> In reply to @albassort "yeah switching out those": Cause you are giving the space for each element |
08:02:54 | FromDiscord | <ElegantBeef> `sizeof(UncheckedArray[T]) == 0` |
08:03:18 | FromDiscord | <ElegantBeef> `UncheckedArray[T]` is a non existent type that can only exist inside of an allocation block |
08:03:28 | FromDiscord | <ElegantBeef> Which means it's a `ref` or `ptr` abstraction only |
08:03:29 | FromDiscord | <albassort> i see |
08:03:42 | FromDiscord | <albassort> so i wasn't allocating anything really |
08:04:07 | FromDiscord | <albassort> i wonder how it was working before lol |
08:04:20 | FromDiscord | <ElegantBeef> https://media.discordapp.net/attachments/371759389889003532/1249997630814289950/image.png?ex=66695683&is=66680503&hm=51dc4f3467b26c499ad58f79d6b554824a65424ee970c88427b171fba133487b& |
08:04:20 | FromDiscord | <ElegantBeef> Correct |
08:05:46 | FromDiscord | <albassort> i guess it was working before out of sheer luck |
08:06:07 | FromDiscord | <albassort> i wasn't making it into an array |
08:06:11 | FromDiscord | <albassort> it was just 1 struct |
08:06:18 | FromDiscord | <ElegantBeef> I'm amazed the allocator does not explode when you do `alloc(0)` |
08:08:44 | FromDiscord | <pmunch> I mean that's just an easy days work for the allocator |
08:08:56 | FromDiscord | <pmunch> You want zero bytes you say? No problemo! |
08:08:59 | FromDiscord | <ElegantBeef> Playing around with that allocator did make me learn that 2.0.4 now wraps `NimMain` with `attribute(constructor)` so no need to manually call `NimMain` in dlls |
08:09:12 | FromDiscord | <ElegantBeef> Right, but it's a pointless operation that makes a unusable block |
08:09:27 | PMunch | That's been the case for a little while I think |
08:10:29 | FromDiscord | <ElegantBeef> I could've sworn it was required |
08:11:15 | FromDiscord | <ElegantBeef> Maybe something was buggy when I last played with it |
08:11:17 | FromDiscord | <ElegantBeef> Who knows |
08:11:43 | PMunch | It seems to have been the case back in February 23 at least: https://github.com/nim-lang/Nim/issues/21403 |
08:12:41 | PMunch | At least I thought it was the case back then :P |
08:34:44 | * | gst joined #nim |
08:35:20 | * | gst is now known as xtr00 |
09:38:46 | FromDiscord | <Phil> Out of curiosity, is it even possible for a thread to know all thead variables it has?↵This discussion made me think for a second of the entire "Threads that quit don't clean up their thread variables" thing |
09:40:49 | FromDiscord | <Phil> Because off-the-cuff I couldn't think of a single way to pull that off, given that a codebase may have code that runs on multiple threads, so you can't really know which thread has which threadvar from that codebase |
09:41:49 | FromDiscord | <Phil> Maybe a thread can somehow know at runtime which memory it owns and iterate over that or sth? I really can't think of anything given the shared heap |
09:48:09 | FromDiscord | <albassort> Hey so, I'm debating if i should release this sequoria binder |
09:48:55 | FromDiscord | <albassort> I wanna build sqlite support for storage, but I think releasing that with it is too far maybe? |
09:49:03 | FromDiscord | <albassort> (edit) "I wanna build sqlite ... support" added "in" |
09:49:12 | FromDiscord | <albassort> (edit) "build" => "put" | removed "in" |
09:49:41 | FromDiscord | <albassort> also how would i put something on nimble with cargo as a dependency? |
09:50:54 | FromDiscord | <albassort> i guess i can release a static .a file built with musl that would get statically linked |
10:23:29 | FromDiscord | <demotomohiro> In reply to @albassort "Hey so, I'm debating": I think writing "Install library X manually before using my library" in README.md is better and safer than automatically install prebuilt binary file. |
10:24:24 | FromDiscord | <albassort> In reply to @demotomohiro "I think writing "Install": well, i wrote the binder using the approach of making the code high level in rust first then binding that to nim |
10:24:42 | FromDiscord | <albassort> so the library is only like 500 lines and its the same project |
10:24:47 | FromDiscord | <albassort> that doesn't make much tense to m |
10:24:48 | FromDiscord | <albassort> (edit) "m" => "me" |
10:56:25 | * | derpydoo quit (Ping timeout: 272 seconds) |
11:10:13 | * | beholders_eye joined #nim |
11:34:30 | FromDiscord | <Robyn [She/Her]> With taskpools how would I force the shutdown of a thread that's running a web server? |
11:39:04 | * | syl quit (Ping timeout: 246 seconds) |
11:44:34 | * | syl joined #nim |
12:19:43 | * | beholders_eye quit (Ping timeout: 260 seconds) |
12:21:38 | * | beholders_eye joined #nim |
12:36:05 | FromDiscord | <pmunch> You can't IIRC |
12:36:24 | FromDiscord | <Robyn [She/Her]> Ah... |
12:36:26 | FromDiscord | <Robyn [She/Her]> Oh well |
12:37:10 | PMunch | You basically need the thread to listen for a kill command somehow |
12:46:45 | FromDiscord | <Robyn [She/Her]> Not sure how I'm supposed to do that when Mummy takes over the thread it's started in |
13:17:18 | PMunch | Why do you want to kill a thread to begin with? |
13:18:25 | PMunch | It seems you can call `server.close()` in Mummy to close it down |
13:18:32 | PMunch | This can be done from another thread |
13:23:55 | * | xtr00 quit (Quit: Client closed) |
13:40:52 | FromDiscord | <Robyn [She/Her]> In reply to @PMunch "This can be done": But how would I pass the server instance to another thread? I don't understand that |
13:41:17 | FromDiscord | <Robyn [She/Her]> In reply to @PMunch "Why do you want": I'm writing tests for my API so I'm simply running the server in another thread |
13:49:32 | PMunch | Keep it as a global variable? |
13:50:22 | FromDiscord | <double_spiral> how do i get the length of a tuple |
13:50:31 | PMunch | Tuples don't have length |
13:51:14 | FromDiscord | <double_spiral> linked list it is |
13:51:25 | PMunch | Why not a sequence? |
13:51:46 | FromDiscord | <double_spiral> Because they things have different types |
13:51:54 | PMunch | Variant object? |
13:52:09 | FromDiscord | <double_spiral> whazzat |
13:52:28 | PMunch | https://nim-lang.org/docs/tut2.html#object-oriented-programming-object-variants |
13:54:06 | FromDiscord | <Robyn [She/Her]> In reply to @PMunch "Keep it as a": I'll try that once I get back to my PC |
13:58:58 | FromDiscord | <double_spiral> Why bother trying to comprehend whatever the hell this is when this is so much easier to understand https://media.discordapp.net/attachments/371759389889003532/1250086881169772667/image.png?ex=6669a9a1&is=66685821&hm=32a73933ac3dd164a82db1f29d3c90f85b20e09b176b0fcd8c5d62ef11bd0006& https://media.discordapp.net/attachments/371759389889003532/1250086881497186304/image.png?ex=6669a9a2&is=66685822&hm=d239ba8066f6b259da3faa3d90bd5cfaf397 |
13:59:31 | PMunch | Well in that case you only have int data.. |
13:59:39 | PMunch | Then you could just do `seq[int]` |
13:59:50 | PMunch | Otherwise its for speed, safety, and ergonomics |
14:00:08 | PMunch | A seqence of variant objects will win on all three over a linked list |
14:00:35 | PMunch | And they're not exactly complicated, it's just a tagged union.. |
14:01:20 | FromDiscord | <double_spiral> im struggling to put my thoughts into words in a productive and non offensive manner |
14:01:33 | FromDiscord | <double_spiral> nim documentation sucks |
14:01:35 | PMunch | How did you plan on putting different kinds of data in a linked list anyways? You'd need some kind of variant object to store the values |
14:01:53 | PMunch | > nim documentation sucks |
14:01:57 | PMunch | I can see that you struggle.. |
14:02:05 | FromDiscord | <kots> Let's hear the unproductive and offensive one, I'm interested |
14:02:11 | FromDiscord | <double_spiral> id get banned |
14:02:33 | PMunch | I mean if "nim documentation sucks" is the productive and unoffensive one I'm not sure I want to hear the alternative |
14:02:42 | FromDiscord | <double_spiral> exactly |
14:02:43 | PMunch | What are you actually trying to do? |
14:04:04 | FromDiscord | <Robyn [She/Her]> Documentation can be lacking but what's the exact issue? Why does it suck? |
14:04:48 | FromDiscord | <Robyn [She/Her]> In reply to @double_spiral "Why bother trying to": Also these seem to be nodes for unrelated things, one is for an AST and the other is for a linked list |
14:05:26 | FromDiscord | <Robyn [She/Her]> In reply to @PMunch "And they're not exactly": And yeah what PMunch said here is true |
14:05:36 | FromDiscord | <double_spiral> In reply to @PMunch "What are you actually": Im trying to make a little UI api(?) for the naylib bindings↵The apraoch i settled on was having objects for the different ui elements which would be contained in some sort of list/array/seq/whatever so that i could iterate over it and call a draw method/function on them |
14:06:08 | FromDiscord | <double_spiral> In reply to @chronos.vitaqua "Documentation can be lacking": well first of all the search, for some reason it puts the results all the way at the top of the page and i have to scroll all the way back up |
14:06:18 | FromDiscord | <double_spiral> then theres the side bad, that should be on the right, not the left |
14:07:20 | FromDiscord | <double_spiral> to be clear all the info is there |
14:07:36 | PMunch | Why would you want the sidebar on the right? |
14:07:56 | FromDiscord | <Robyn [She/Her]> In reply to @double_spiral "then theres the side": That sounds like purely a preference thing |
14:08:03 | FromDiscord | <double_spiral> Its just the way everything is styled makes it incredibly difficult to comprehend and digest |
14:08:25 | FromDiscord | <Robyn [She/Her]> In reply to @double_spiral "well first of all": That can be annoying yeah, it should at least autoscroll for you |
14:08:39 | FromDiscord | <double_spiral> In reply to @PMunch "Why would you want": the docs will never be a primary window for the programmer so having it on the left (where every IDE has their side bar) makes the space between the code needlessly larger and asymmetrical |
14:08:44 | FromDiscord | <Robyn [She/Her]> I use ctrl+f though so it's never bothered me |
14:09:18 | PMunch | Anyways, sounds like you either need a variant object, or some inheritance and dynamic dispatch |
14:09:31 | FromDiscord | <Robyn [She/Her]> In reply to @double_spiral "the docs will never": Again that sounds like a preference thing, making it configurable is a good idea though |
14:09:57 | PMunch | @double_spiral, what? I open the docs in my browser, so it's my primary window.. |
14:09:57 | FromDiscord | <double_spiral> i think the biggest issue is the way the data is laid out |
14:10:13 | PMunch | And I'm pretty sure I still count as a developer.. |
14:10:42 | FromDiscord | <double_spiral> in what universe does someone not have a split window with their code on the left and the docs on the right |
14:10:49 | PMunch | Not saying the docs are perfect or anything, but these are some really strange critiques :P |
14:10:58 | PMunch | Uhm, in this one? |
14:11:12 | FromDiscord | <double_spiral> In reply to @PMunch "Not saying the docs": ong it makes sense in my ocd brain |
14:11:14 | PMunch | I have Vim open full-screen in one workspace, and another workspace with Firefox open |
14:11:21 | PMunch | Keybinding to switch between them |
14:11:33 | PMunch | Or I have them side by side, but both still in separate windows |
14:11:49 | FromDiscord | <double_spiral> In reply to @PMunch "I have Vim open": then you have to switch workspaces and needlessly remember what youre trying to do |
14:12:22 | FromDiscord | <nnsee> In reply to @double_spiral "in what universe does": i always open docs on the left |
14:12:29 | PMunch | I wouldn't call it needless to remember what I'm doing when I go to read docs :P |
14:12:47 | PMunch | And if I do a lot of back and forth I have two windows side by side |
14:12:59 | FromDiscord | <double_spiral> needless like thats an extra step that doesnt have to be taken not needless like its not important |
14:13:15 | FromDiscord | <double_spiral> In reply to @nnsee "i always open docs": crazy person ^ |
14:13:18 | PMunch | Which side my code is one varies |
14:13:45 | PMunch | For me it depends on which window I opened first |
14:14:06 | PMunch | Or if I moved my editor into the same workspace as the docs or vice-versa |
14:14:13 | FromDiscord | <double_spiral> (edit) "In reply to @nnsee "i always open docs": crazy person ^ ... " added "↵On num pad keyboards youre gonna naturally focus on the left side which should be your main window, not secondary" |
14:14:43 | PMunch | What? How does the keyboard factor into this? |
14:15:16 | PMunch | It just sits in front of me on the desk, right now for example I'm looking about 50 degrees to the left to see the monitor I'm typing this on |
14:15:28 | FromDiscord | <double_spiral> This is exactly why the docs are so bad, because programmers dont take into account the dynamics of the developer, just the dynamics of the docs |
14:15:28 | FromDiscord | <Robyn [She/Her]> In reply to @double_spiral "in what universe does": Me because my monitor is too small lol |
14:16:05 | PMunch | @double_spiral, well, apart from the fact that two other developers just told you that they have completely different dynamics to what you have |
14:16:14 | PMunch | Kinda hard to make something that works for everyone |
14:16:16 | FromDiscord | <double_spiral> In reply to @PMunch "What? How does the": On the right a numpad takes up like 20% of space that is used less than the rest |
14:16:24 | PMunch | I did have some plans to create a more dynamic docs page though.. |
14:16:44 | PMunch | And? I just push my keyboard 20% further to the right |
14:16:58 | FromDiscord | <double_spiral> I have a laptop 💀 |
14:17:09 | PMunch | With a num-pad? Heathen |
14:17:25 | FromDiscord | <double_spiral> its useful when its useful |
14:18:01 | FromDiscord | <double_spiral> In reply to @PMunch "Kinda hard to make": intuitive modular docs sounds like a fun challenge to me |
14:18:05 | FromDiscord | <nnsee> i don't have a keyboard with a numpad |
14:18:12 | FromDiscord | <double_spiral> I just dont want to use the current ones to understand how to build it 💀 |
14:18:44 | FromDiscord | <nnsee> just use an userscript to change the location of the sidebar |
14:18:48 | PMunch | `nim jsondoc` and just figure it out from there |
14:19:01 | FromDiscord | <nnsee> hell, if you use ublock, you already have a css stylesheet editor built in |
14:19:08 | FromDiscord | <nnsee> just make a rule that moves the sidebar to the right |
14:19:33 | FromDiscord | <double_spiral> Thats a solution to the sied bar problem yeah |
14:20:11 | FromDiscord | <double_spiral> Heres another issue, the coloring of the formatting, it should be obvious where sections start and end and a convenient way to do this is coloring |
14:20:25 | FromDiscord | <double_spiral> Right now everything sort of just blends together |
14:20:42 | PMunch | Again something which could be fixed by a custom CSS |
14:21:01 | FromDiscord | <double_spiral> And also each page is too long which furthers the issue of search results appearing at the top |
14:21:02 | PMunch | And aren't the headers obvious enough? |
14:21:12 | FromDiscord | <double_spiral> In reply to @PMunch "Again something which could": it should not be on the user to make the language useable |
14:21:18 | FromDiscord | <double_spiral> this is not javascript |
14:21:25 | PMunch | Oh yeah, I don't use the built in search. I just Ctrl+f or / to find stuff |
14:21:52 | FromDiscord | <double_spiral> I use them too but thats another reason to not have super long pages |
14:21:53 | PMunch | The language is useable, you're just complaining about styling the docs to _your_ preference |
14:22:04 | FromDiscord | <double_spiral> then i have to click through a million things to find the thing im actually looking for |
14:22:29 | FromDiscord | <double_spiral> In reply to @PMunch "The language is useable,": im complaining about styling the docs to what i think an average user would find more intuitive |
14:22:46 | PMunch | But to be fair the long page thing is one of the main things I wanted to solve with dynamic docs |
14:23:32 | FromDiscord | <odexine> i dont think you're an average user. |
14:23:58 | PMunch | You could always fix the CSS and build the docs locally, could even PR your changes if they work well |
14:24:16 | FromDiscord | <double_spiral> In reply to @odexine "i dont think you're": Well yeah i wouldnt put everything i suggest into something i would be building for the average user |
14:24:25 | FromDiscord | <double_spiral> I dont think the left side bar would make it past that |
14:24:34 | PMunch | But yeah, considering I've never heard any of your complaints about style (the long page and weird search not included) I don't think you're the average |
14:24:52 | FromDiscord | <double_spiral> But intuitive coloring and not having super long pages should be what a lot of people would want |
14:25:23 | PMunch | I wonder if editors like the one you're using sets some kind of media query or other mechanism to identify themselves |
14:25:35 | FromDiscord | <double_spiral> (edit) "should be" => "is what i think" |
14:25:41 | PMunch | If that's the case the sidebar could be moved to the right if it detects that it is in this environment |
14:26:11 | PMunch | I'm curious about this colouring idea of yours. If you end up custom styling the docs please share a screen shot |
14:26:15 | PMunch | But I'm off now |
14:26:16 | * | PMunch quit (Quit: Leaving) |
14:27:01 | FromDiscord | <double_spiral> In reply to @PMunch "I'm curious about this": I can sketch up a rough draft but its very unlikely id actually build them |
14:32:09 | * | ntat joined #nim |
14:35:51 | NimEventer | New thread by Qtless: What Araq thinks about HappyX?, see https://forum.nim-lang.org/t/11747 |
14:43:39 | FromDiscord | <solitudesf> this discussion gives me flashbacks to `& is unreachable` |
14:56:00 | FromDiscord | <Robyn [She/Her]> In reply to @PMunch "I did have some": Oh? Via the JSON output for docs? |
15:06:24 | * | lucasta joined #nim |
15:12:11 | * | krux02 joined #nim |
15:13:12 | FromDiscord | <pmunch> In reply to @chronos.vitaqua "Oh? Via the JSON": Yup, that's why I improved it in the first place 😋 |
15:40:57 | FromDiscord | <pmunch> My basic idea to improve it further is to rip the HTML generation out of the compiler and only have the JSON output there. Then have a separate tool which does JSON -> HTML. This tool would be the default to call when `nim doc` is invoked, but you could specify a different one. |
15:41:46 | FromDiscord | <pmunch> Would make it easy for people who want to tweak the HTML output, and ensure that the JSON output always contains the relevant information |
15:43:48 | FromDiscord | <pmunch> My goal was to basically ingest the jsondoc output into a database and then be able to search across versions and modules. Would also be possible to search by signature, first type, or return type for example. And it would make it possible to create user sourced docs like e.g. Clojure has |
15:46:56 | FromDiscord | <double_spiral> Thank you 🙏 |
15:50:46 | strogon14 | The search results placement is annoying. And also the horizontal size restriction of the sidebar and that it scrolls down with the content, scrolling the search field out of the viewport. |
15:51:18 | strogon14 | But https://devdocs.io/nim/ exists. |
15:54:05 | FromDiscord | <double_spiral> It shouldn't have to though |
15:55:01 | strogon14 | `nim doc` has a bad smell of NIH syndrom to it, when mature solutions like sphinx, mkdocs etc. exist. |
15:55:02 | FromDiscord | <double_spiral> If developers are using 3rd party tools for documentation on the language that should be really embarrassing for it and push it to make better documentation |
15:56:15 | strogon14 | At least the JSON/Markdown + templates -> doctree part. |
15:57:03 | strogon14 | (that was re my previous msg, not double_spiral's) |
15:59:06 | FromDiscord | <pmunch> In reply to @double_spiral "If developers are using": Again, different people different preferences |
16:01:08 | FromDiscord | <pmunch> Hmm, is there a way to get a stable hash of a type in Nim? |
16:07:11 | FromDiscord | <pmunch> Like if program A and program B both defined the same type the hash would be the same |
16:08:00 | strogon14 | Regardless of architecture? |
16:09:43 | FromDiscord | <pmunch> Well yeah, if the types match |
16:10:36 | FromDiscord | <pmunch> So `hash(int)` would be different between 64 and 32 bit architectures. But `hash(uint8)` would stay the same |
16:11:01 | * | def- quit (Quit: -) |
16:11:10 | FromDiscord | <pmunch> There is signatureHash in macros, but that takes into account the module it's defined in |
16:15:59 | FromDiscord | <nnsee> In reply to @double_spiral "If developers are using": i'm guessing python, elixir and rust should be "embarrassed" as well https://devdocs.io/python/ https://devdocs.io/elixir/ https://devdocs.io/rust/ |
16:16:17 | FromDiscord | <nnsee> in fact you'd be hard pressed finding something _not_ on devdocs |
16:16:47 | FromDiscord | <Phil> Generally if you can avoid doing double work that's preferrable |
16:29:19 | * | def- joined #nim |
16:37:21 | FromDiscord | <pmunch> Hmm, this is the kind of thing I end up programming myself, only to have someone go "why didn't you just use X to calculate your hash instead?" |
16:43:31 | FromDiscord | <odexine> In reply to @nnsee "i'm guessing python, elixir": i mean i think most elixir programmers use the main elixir docs so idk |
16:47:54 | FromDiscord | <double_spiral> In reply to @nnsee "in fact you'd be": I think the difference is whether or not people actually use it |
16:48:14 | FromDiscord | <double_spiral> When I have a python problem I can just duckduckgo it cause it's a popular language |
16:48:30 | FromDiscord | <double_spiral> But Nim is considerably smaller and depends more on docs |
16:51:27 | * | lucasta quit (Remote host closed the connection) |
16:54:49 | FromDiscord | <exelotl> I've invested quite a lot of time into using Sphinx for my nim library docs - https://natu.exelo.tl |
16:55:30 | FromDiscord | <exelotl> solution is a mess that's not really usable by other people at the moment (and has some limitations like not supporting symbols generated by macros etc.) |
16:55:38 | FromDiscord | <exelotl> but overall I'm fairly happy with it |
16:57:27 | FromDiscord | <exelotl> it lets me structure things how I want (e.g. by topic instead of by symbol type + alphabetical order), and have prose mixed in with API docs |
17:21:21 | FromDiscord | <nervecenter> In reply to @double_spiral "When I have a": I came from years of deep Python use and adapted to Nim just fine with official docs. I also have a bit of C background. C documentation across the board is known for being genuinely awful and typically fragmented across everything from bad websites to header file comments. Compared to that, Nim's docs are genuinely quite good. |
17:21:33 | FromDiscord | <nervecenter> (edit) "that," => "that (and certain Python docs I will not name)," |
17:24:26 | FromDiscord | <double_spiral> You shouldn't need to be an expert with years of experience to navigate docs |
17:24:35 | FromDiscord | <nervecenter> It's also a fairly consistent rule that most people here are coming from a lower-level systems world (C and C++) and are not only used to bad docs, but are used to crawling sources and verifying behavior themselves. This modern idea of a first-class "onboarding experience" doesn't even register. |
17:24:39 | FromDiscord | <double_spiral> They should be intuitive for everyone with more advanced options if needed |
17:24:53 | FromDiscord | <double_spiral> As a beginner I find them very difficult to navigate and read |
17:25:14 | * | rockcavera joined #nim |
17:25:28 | FromDiscord | <nervecenter> What are you trying to use Nim for? |
17:26:22 | FromDiscord | <double_spiral> In reply to @nervecenter "It's also a fairly": Boomer speak, what's the point in being a language if it's going to be gate kept by an experience barrier |
17:26:45 | FromDiscord | <double_spiral> In reply to @nervecenter "What are you trying": I'm making a clone for a game |
17:26:50 | FromDiscord | <double_spiral> (edit) "In reply to @nervecenter "What are you trying": I'm making a clone for a game ... " added "I like" |
17:26:52 | FromDiscord | <nervecenter> Programming languages, especially those with small teams, are not obligated to cater to absolutely everyone. |
17:27:15 | FromDiscord | <double_spiral> They should want to if they desire growth |
17:27:22 | FromDiscord | <double_spiral> But yeah I agree they aren't obligated |
17:27:29 | FromDiscord | <nervecenter> Growth of what? |
17:27:37 | FromDiscord | <double_spiral> Oh their ecosystem and community |
17:27:43 | FromDiscord | <double_spiral> (edit) "Oh" => "Of" |
17:27:50 | FromDiscord | <egomind> I'm honestly not sure if growth should really be a top priority, unless it's commercial |
17:27:54 | FromDiscord | <double_spiral> The language is only 1/3 the battle |
17:28:22 | FromDiscord | <double_spiral> In reply to @egomind "I'm honestly not sure": What's the point of being a language of its not gonna be used |
17:28:29 | FromDiscord | <egomind> It is being used |
17:28:29 | FromDiscord | <nervecenter> Yeah "growth" is a priority for languages that want to be everything to all people. |
17:28:41 | FromDiscord | <egomind> It just isn't being used by everyone |
17:29:57 | FromDiscord | <egomind> Anyway, what exactly do you think the docs lack? |
17:30:14 | FromDiscord | <egomind> Or do you think it's more so an issue with a lack of community resources |
17:30:24 | FromDiscord | <double_spiral> They don't lack anything, they're just impossible to easily navigate and read |
17:30:35 | FromDiscord | <nervecenter> Hard disagree there |
17:30:42 | FromDiscord | <egomind> What's an example of easy to navigate docs to you |
17:31:12 | FromDiscord | <double_spiral> Ok impossible was an exaggeration, but you shouldn't need docs on docs to navigate docs is my point |
17:31:32 | FromDiscord | <nervecenter> You're still being very vague and unclear |
17:31:38 | FromDiscord | <nervecenter> Link something you don't like |
17:31:50 | FromDiscord | <egomind> Yeah, it would be good to have something actionable |
17:32:12 | FromDiscord | <double_spiral> In reply to @nervecenter "You're still being very": I apologize I'm kind of doing 2 things at once and if you would like more indepth explanations you can scroll up |
17:32:24 | FromDiscord | <double_spiral> It boils down to the layout and readability |
17:32:49 | FromDiscord | <double_spiral> It's all like 2 colors which makes it difficult to skim which is something you'd do if you were looking for quick answers |
17:34:33 | FromDiscord | <double_spiral> Which in most cases you would be, unless you're trying to optimize a final draft instead of just get some working code out |
17:34:52 | FromDiscord | <nervecenter> I apologize but color theme complaints strike me as pedantry |
17:35:06 | FromDiscord | <nervecenter> Maybe I'm not the right person to be talking to you |
17:36:03 | FromDiscord | <double_spiral> In reply to @nervecenter "I apologize but color": It genuinely makes it very easy to skim, you learn what certain background colors mean and when scrolling you can quickly identify what section is what which greatly speeds up the process |
17:36:20 | FromDiscord | <double_spiral> It's not an aesthetic thing oml |
17:36:28 | FromDiscord | <double_spiral> (edit) "It's not ... an" added "just" |
17:38:01 | FromDiscord | <double_spiral> And for the record I'm not just using nim for the sake of using nim, it genuinely provides me a niche use case being both low and high level |
17:38:36 | FromDiscord | <egomind> Never really struck me as hugely problematic, but that might just be a matter of experience/workflow |
17:39:15 | FromDiscord | <egomind> Would you like to contribute to the project by improving the layout and colors of the docs? |
17:39:22 | FromDiscord | <double_spiral> 100% |
17:39:26 | FromDiscord | <egomind> I can see how it would be useful to some people |
17:40:03 | FromDiscord | <double_spiral> But I've only been using for like a week total + I've never contributed to a big project before so there are gonna be some learning curves before I can get to work on anything |
17:40:23 | FromDiscord | <double_spiral> Learning curves that would be easier to overcome if the docs were better |
17:42:06 | FromDiscord | <egomind> I typically fare well by just looking for what I want using page search (ctrl+f), but not sure if that will work for you |
17:42:34 | FromDiscord | <double_spiral> I have used this but there's another issue with the sections of the doc being far far to long |
17:42:55 | FromDiscord | <double_spiral> There are a million results which are difficult to parse, especially if I don't know exactly what I'm looking for |
17:50:53 | * | beholders_eye quit (Ping timeout: 240 seconds) |
17:57:44 | FromDiscord | <Robyn [She/Her]> In reply to @pmunch "Yup, that's why I": Hm fair enough |
17:58:08 | FromDiscord | <Robyn [She/Her]> In reply to @pmunch "My goal was to": Idk what that means aha |
18:00:28 | FromDiscord | <double_spiral> I think it's developer for making a better interface with more flexible searching |
18:06:00 | FromDiscord | <Robyn [She/Her]> I don't get what he meant by searching the database through versions and modules though tbh |
18:28:38 | * | coldfeet joined #nim |
18:41:54 | FromDiscord | <nnsee> In reply to @odexine "i mean i think": i would bet money that most people writing nim are using the official nim docs |
18:42:40 | FromDiscord | <nnsee> nim has _better_ automatic documentation (actually built into the toolchain) than most other programming languages i've used |
18:43:13 | FromDiscord | <nnsee> calling them "impossible to navigate" is a stretch and a half |
18:45:31 | FromDiscord | <nnsee> and i very much prefer the long form documents, instead of having to navigate through a maze of pages to get to the one bit i'm interested in |
18:45:53 | FromDiscord | <nnsee> ... and then having to do that every time i need to see that one bit of information again |
18:46:00 | FromDiscord | <double_spiral> I was thinking of moving the current docs to a https://old. |
18:46:10 | FromDiscord | <double_spiral> But you know with the actual link |
18:46:27 | FromDiscord | <double_spiral> Because I realize that some people do like the current ones |
18:47:03 | FromDiscord | <nnsee> why move anything? |
18:47:36 | FromDiscord | <double_spiral> This was in the case that new docs are actually made |
18:48:24 | FromDiscord | <nnsee> what do you even mean by "new" docs? |
18:48:49 | FromDiscord | <nnsee> the (code) documentation is automatically generated |
18:48:55 | FromDiscord | <double_spiral> With all due respect I'm not reexplaining my position a million times |
18:49:00 | FromDiscord | <double_spiral> If you care you can scroll up |
18:49:51 | FromDiscord | <nnsee> I've been following the conversation and all I've been seeing is your personal preference, and nothing that is inherently wrong with the docs we have |
18:49:56 | FromDiscord | <nnsee> with all due respect |
18:50:58 | FromDiscord | <double_spiral> I guess I don't understand why everyone is so against it |
18:52:53 | FromDiscord | <nnsee> against what? changing the colours and layout to suit your preferences better? criticism is fine when it's constructive. when the criticism is "well, I don't like the colours and the side bar on the left", that's not exactly constructive |
18:53:50 | FromDiscord | <double_spiral> I think there's a miscommunication here but I'm not exactly sure where |
18:54:27 | FromDiscord | <double_spiral> I don't care about the colors because "oohhh pretty colors" I care about colors because when they're used right I think they can make things more readable |
18:55:08 | FromDiscord | <double_spiral> The side bar on the left is admittedly more of a personal preference but I believe changing the colors, the search and the lengthy pages would be an overall positive |
18:56:48 | FromDiscord | <double_spiral> The content is all there but the layout is lacking |
18:57:01 | FromDiscord | <double_spiral> (edit) "is" => "and style are" |
18:58:32 | FromDiscord | <threefour> sent a long message, see https://pasty.ee/HaftiwDv |
18:59:07 | FromDiscord | <threefour> (edit) "https://pasty.ee/ZvybEfzt" => "https://pasty.ee/dGxALYGq" |
18:59:08 | FromDiscord | <Phil> In reply to @double_spiral "It's all like 2": I can see the point here. I'd disagree with how much weight you're putting behind this because typically you don't want to rely on information being conveyed through color for the colorblind, but it is generally good design to also encode information in color |
18:59:38 | FromDiscord | <Phil> And I agree it would improve the docs if the color palette choices were better and more stringently applied, though I wouldn't say it'd make a massive difference |
19:00:23 | FromDiscord | <nnsee> i honestly don't get the colour gripe (maybe because i'm actually colourblind) - maybe i would need to see an actual example with different colours to understand what you mean |
19:00:41 | FromDiscord | <double_spiral> In reply to @isofruit "I can see the": I'm not exactly sure how color blindness works but I was thinking of it being a mono hue palette with only the luminance changing in it |
19:00:53 | FromDiscord | <nnsee> oh no |
19:00:55 | FromDiscord | <nnsee> oh no no no |
19:01:06 | FromDiscord | <nnsee> respectively, hell no |
19:01:47 | * | beholders_eye joined #nim |
19:01:58 | FromDiscord | <Phil> In reply to @double_spiral "I'm not exactly sure": By being like 20 different versions of color blindness 😄↵The one way to combat this is basically having themes, a default one for the normal sighted and specifically colored ones for the major cases of color blindness. At least one of which should be able to deal with just entirely no color vision |
19:02:58 | FromDiscord | <Phil> However that is effort, like a lot |
19:03:28 | FromDiscord | <double_spiral> I have no idea how it might be formatted for no color vision but the themes idea is a given for something like fhis |
19:03:34 | FromDiscord | <double_spiral> (edit) "fhis" => "this" |
19:04:43 | FromDiscord | <double_spiral> Seeing how much objection my idea has it'd be easier just to make something for myself then to try and change the official docs |
19:08:03 | FromDiscord | <threefour> Personally, I've never cared to optimize for maximum accessibility in my projects (if you can use em great – if not, sorry). For a programming language, maybe a color scheme selector for the docs is a good idea 🤷♂️ I just figure it'll add non-negligible complexity to the existing code. |
19:09:48 | FromDiscord | <Phil> In reply to @threefour "Personally, I've never cared": The code likely already exists given light an dark theme |
19:10:05 | FromDiscord | <Phil> It just takes a designer with a lot of time to set up a couple more themes properly and slot them into the dropdown |
19:20:57 | * | ntat quit (Quit: Leaving) |
20:08:52 | * | coldfeet quit (Remote host closed the connection) |
20:50:41 | * | jjido joined #nim |
21:14:58 | FromDiscord | <riku5543> sent a long message, see https://pasty.ee/gnFKsPgo |
21:37:49 | NimEventer | New thread by TKD: How to write the Nim version of a C function pointer and pass it as argument to C function, see https://forum.nim-lang.org/t/11748 |
21:49:58 | FromDiscord | <double_spiral> I'm glad I'm not the only one who manually types addresses in the url bar |
22:14:29 | * | jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…) |
23:29:01 | * | beholders_eye quit (Read error: Connection reset by peer) |
23:34:30 | * | beholders_eye joined #nim |