00:00:05 | Yardanico | disruptek: because it's just a new PR with 1 commit? |
00:00:14 | Yardanico | believe it or not, people can do multiple commits in a PR |
00:00:24 | disruptek | hey yardanico, why don't you piss off? |
00:00:28 | landerlo | I don;t know about the tests, I made the tests generic to test the same logic with different types and it works, koch tests passes most tests except a few requiring a vagrant something so I thought they were not relevant |
00:00:45 | Yardanico | disruptek: well, I don't want you to be so rude to people contributing to nim :) |
00:00:47 | disruptek | so it passes your local tests? |
00:01:01 | disruptek | Yardanico: will you shut the fuck up? i'm trying to figure out why it fails, knucklehead. |
00:01:14 | disruptek | subtext: if you read the fucking pr, it should not fail. |
00:01:37 | landerlo | Yes, the tests for tintsets and most of the whole suite. I'll see what's missing |
00:01:46 | disruptek | i guess you have to dig into the ci. |
00:02:13 | landerlo | The tests failing locally were also failing on devel so I thought were environmental |
00:02:17 | FromDiscord | <Elegant Beef> Why cant we be friends, why cant we be friiiiieeeends |
00:02:28 | disruptek | because some people are just jackasses. |
00:02:47 | disruptek | landerlo: that cast won't be popular. why do you need it? |
00:03:41 | disruptek | to put that another way, can't you use ord()? |
00:03:57 | FromDiscord | <dom96> Yardanico: Your response does come off a little snarky. That said... |
00:04:08 | FromDiscord | <dom96> disruptek: Please don't tell people to piss off/fuck off |
00:04:11 | * | luis quit (Ping timeout: 246 seconds) |
00:04:26 | disruptek | i mean, you can ask... |
00:04:38 | FromDiscord | <Elegant Beef> never said anything about "fuck piss off" or "piss fuck off" π |
00:04:46 | disruptek | i dunno what yard's problem is. he's annoying as fuck today. |
00:05:02 | Yardanico | i just don't understand why you are always so negative towards existing nim software |
00:05:10 | Yardanico | nothing is perfect as shashlick said |
00:05:14 | disruptek | who is being negative, jackass? |
00:05:21 | disruptek | i'm trying to help a NEW pr get merged. |
00:05:31 | disruptek | there's no criticism of existing software here. |
00:05:31 | * | luis joined #nim |
00:05:34 | FromDiscord | <Elegant Beef> In this case i interpreted it as "Should probably fix the tests", but eh quite silly to argue about |
00:05:36 | disruptek | now, go the fuck away. |
00:05:38 | landerlo | disruptek, I imagined it would be risque, but would ord achieve the same performance? |
00:05:38 | Yardanico | I'm replying to "annoying as fuck today" |
00:05:48 | disruptek | landerlo: it should. |
00:08:07 | disruptek | landerlo: fwiw, lots of stuff fails locally for me too. i don't worry about testing spawn or node stuff. and there's something in there for dom's book that always fails. other than that, there shouldn't be many failures. |
00:09:48 | * | kinkinkijkin joined #nim |
00:10:43 | * | bung joined #nim |
00:10:44 | * | luis quit (Read error: Connection reset by peer) |
00:11:48 | landerlo | I see, there is a failure trying an old version, how do you manage that? should I use since? I think old code should be source compatible IMO |
00:12:08 | disruptek | trying an old version of what? |
00:12:34 | landerlo | FAILS: nim c --useVersion:1.0 -r tests/system/tuse_version.nim |
00:12:48 | landerlo | withoug the use version 1.0 succeeds |
00:13:20 | disruptek | hmm, i didn't see a conflict. |
00:13:36 | disruptek | proc initIntSet*: IntSet = initOrdSet[int]() |
00:13:45 | disruptek | οΏΌthis proc should have () for mere style reasons. |
00:15:02 | disruptek | i saw one or two uses of `int` in comments. i wonder what useVersion:1.0 is tripping over. |
00:15:07 | * | bung quit (Ping timeout: 246 seconds) |
00:15:14 | * | gmaggior quit (Quit: Leaving) |
00:15:44 | * | landerlo quit (Remote host closed the connection) |
00:17:44 | disruptek | cool contribution. i hope it goes in. |
00:19:55 | kinkinkijkin | i forgot how to do this, and this is pretty simple, how exactly do i do stream-based interprocess communication where neither application is run by the other, and reading lines consumes them (no infinite line buildup over the course of runtime) |
00:20:04 | kinkinkijkin | i did this twice years ago |
00:20:22 | kinkinkijkin | finally using it again |
00:20:35 | * | abm quit (Quit: Leaving) |
00:21:20 | disruptek | two processes share a stream? |
00:21:53 | kinkinkijkin | yeah, though one only consumes from it |
00:21:53 | * | landerlo joined #nim |
00:21:58 | kinkinkijkin | unidirectional, that is |
00:22:04 | kinkinkijkin | one consumes, other writes |
00:22:15 | disruptek | so, a pipe? |
00:22:25 | kinkinkijkin | thanks, exact word i was looking for |
00:22:28 | landerlo | Sorry, I dropped. It seems like a bootstrapping issue |
00:22:54 | disruptek | stdin on one side and stdout on the other? or some random fd? |
00:23:31 | kinkinkijkin | i want to have one process create multiple streams, so stdout will not do |
00:24:01 | disruptek | oh, a parent creates the streams and the children read or write to them. |
00:24:21 | kinkinkijkin | parent creates two streams per child, one for reading and one for writing |
00:24:27 | kinkinkijkin | so yeah |
00:24:50 | kinkinkijkin | socket i think is the word maybe? |
00:24:53 | disruptek | as long as the kids can agree on who is reading and who is writing, you won't have any trouble using sync or async file operations. |
00:24:59 | * | luis joined #nim |
00:25:38 | disruptek | i dunno how the support on windows is, but there's plenty of support for sockets on unix. |
00:25:41 | kinkinkijkin | i forget the actual like... thing i have to do to make those streams, and have them be consumed instead of looked over |
00:27:11 | disruptek | if they have to be streams, it gets a little more complex to read infinitely. |
00:28:16 | disruptek | you could use sockets and supply a stringstream that you periodically replace. |
00:28:38 | kinkinkijkin | they don't *have to* really be anything, what im doing is making a sort of internal bouncer daemon for an irc client that is single-instance-per-channel |
00:29:31 | disruptek | then i would use the simplest possible thing. sounds like a seq. |
00:30:02 | disruptek | it can be a deque if you want a more elegant api. |
00:30:48 | kinkinkijkin | internal bouncer collects from the servers in the correct and standard ways, then writes any new lines to a file that is opened for every new ui instance |
00:31:38 | kinkinkijkin | and i want to avoid forcing the opening of children directly from the daemon |
00:32:47 | disruptek | so basically, you are writing a logfile that the ui clients will open as a read-only stream and each have their own file position into. |
00:33:05 | kinkinkijkin | they each have their own files entirely |
00:33:30 | kinkinkijkin | and when a line has been read by the ui clients, the line is to be consumed and destroyed, not just read |
00:33:57 | disruptek | if all the clients haven't read it, you cannot destroy it, yes? |
00:34:28 | kinkinkijkin | well, it's to be a unique file for each client |
00:34:38 | kinkinkijkin | single-client-per-stream |
00:35:01 | kinkinkijkin | and each client opens only one channel |
00:36:23 | kinkinkijkin | or you could have one ui that pretends to be multiple clients, but every pipe from the daemon is single-reader, and every pipe into the daemon is single-writer |
00:36:28 | disruptek | well, i wouldn't want to use files. it sounds like a ring buffer per each client on the server. |
00:36:48 | kinkinkijkin | well yeah, im trying to figure the correct ipc for this, which ive done before |
00:36:56 | kinkinkijkin | but i havent the correct terminology remembered |
00:37:18 | disruptek | dbus might be the nicest if you're on unix. |
00:37:53 | kinkinkijkin | i can learn and use dbus but i'd prefer to avoid it if reasonable |
00:38:01 | * | krux02 quit (Remote host closed the connection) |
00:38:02 | disruptek | !repo swayipc |
00:38:03 | disbot | https://github.com/disruptek/swayipc -- 9swayipc: 11swayipc (i3ipc) for Nim 15 5β 0π΄ |
00:38:14 | disruptek | demo of unix sockets within. |
00:38:26 | disruptek | i have a bunch of dbus-used projects. |
00:38:32 | disruptek | dbus-using, rather. |
00:39:03 | landerlo | I see, it's because I misplaced the since tag putting it in the new method |
00:39:12 | disruptek | but which is the new method? |
00:41:18 | disruptek | oh, you removed it from toIntSet? |
00:41:29 | FromDiscord | <notchris> Still learning nim! A basic attempt (unfinished) of a pokemon battle simulator https://github.com/notchris/pokenim |
00:42:38 | disruptek | neat. |
00:43:04 | Yardanico | @notchris nice :) "# This JSON takes a while to load...annoying" - you can try compiling with -d:release or at least --opt:speed (so all debugging stuff is still enabled ) to make it faster |
00:43:15 | FromDiscord | <Elegant Beef> Ah it's you, never did ask what the hell is your nim-buttons repo for? π |
00:43:18 | FromDiscord | <notchris> thank you! |
00:43:30 | FromDiscord | <Elegant Beef> I have no clue what it actually does based off just reading |
00:44:10 | FromDiscord | <notchris> @Elegant Beef Ah i just wanted to try to make something with sdl2, so it creates contextual buttons that calculate the text and fit it with properties like padding etc |
00:44:11 | Yardanico | also @notchris you don't have to call randomize() in every proc, it really has to be called once when you initialize your program (so before any random procs are used) |
00:44:16 | landerlo | disruptek toOrdSet is new, toIntSet delegates to toOrdSet, but I left the since pragma on toOrdSet |
00:44:19 | * | luis quit (Read error: Connection reset by peer) |
00:44:26 | Yardanico | it sets the PRNG seed |
00:44:35 | FromDiscord | <notchris> @Yardanico At that is good to know! |
00:45:01 | disruptek | landerlo: it probably needs to be .since: (1, 5) but i really dunno wtf is up with 1.4 release. |
00:45:07 | FromDiscord | <notchris> @Yardanico Thank you for the tip about the json too |
00:45:18 | * | TomDotTom quit (Ping timeout: 265 seconds) |
00:49:07 | FromDiscord | <notchris> Something I noticed when using sdl2, when using Software_Renderer, I had better visuals, but laggy performance. When using accelerated or presentvsync, it performed well but would flicker and antialiasing seemed incorrect. I'm on OSX Catalina, maybe its my gfx card |
00:50:38 | landerlo | Ok, I'll add the since 1.5 to the new method, now there is one local failure with g+ SFML/Graphics.hpp |
00:50:55 | disruptek | yeah, you can ignore that one. |
00:51:54 | disruptek | good job, dude. you birdied your first pr. |
00:59:13 | notchris | does anyone have a preference with rendering? i have been using the sdl2 package |
00:59:25 | disruptek | landerlo: you're not going to use ord versus int? |
01:00:33 | disruptek | the reason it matters is that i should be able to make a type that you can consume by merely making it look ordinal-like. |
01:00:48 | landerlo | I don't think ord works with dintinct, it failed when I tried unless I've missed somethinf |
01:01:09 | disruptek | borrow it from the source type. |
01:04:47 | * | enthus1ast quit (Ping timeout: 240 seconds) |
01:07:06 | landerlo | Ah I see the problem, items needs to recover the type, but yes, I can make all the casts to ord, and only leave the types in items* unless you know how to work around that, in items we need to recover the A from the int |
01:07:11 | FromDiscord | <exelotl> @notchris cool! That JSON is horrible though, and you almost certainly don't need it :Pβ΅Here's an example I made for someone a couple of years ago, of a type matchup table using enums:β΅https://gist.github.com/exelotl/673d8258e697ddb2cd56af5bab9180bb |
01:07:39 | notchris | oh my, that is indeed 100x better |
01:07:42 | disruptek | landerlo: items* where? |
01:07:56 | FromDiscord | <notchris> thank you @exelotl |
01:08:09 | FromDiscord | <exelotl> Here's the same example with the array indexes labelled for clarity: https://gist.github.com/exelotl/dd79bdad5b2366ba7a94d27b9e861a34 |
01:08:30 | FromDiscord | <exelotl> np :) |
01:08:32 | notchris | :O |
01:09:06 | notchris | I'm definitely going to use this, I'll be sure to say my thanks in a comment |
01:10:28 | disruptek | landerlo: if you mean the iterator, i don't see any int() in there. |
01:10:57 | landerlo | there are two A(...) as we need to recover the type of the ordinal |
01:11:04 | disruptek | yeah, that's fine. |
01:11:40 | disruptek | those are conversions and probably completely optimized out in any event. |
01:12:12 | * | luis joined #nim |
01:12:29 | FromDiscord | <Elegant Beef> @exelotl hey clean it up! https://play.nim-lang.org/#ix=2AE4 |
01:12:35 | FromDiscord | <Elegant Beef> Removed those `a..b` |
01:13:10 | FromDiscord | <exelotl> Yeah, I didn't know you could just use the type when I wrote this π
|
01:13:25 | FromDiscord | <Elegant Beef> Yea it's a nice feature |
01:13:53 | disruptek | landerlo: looks like just runnableExamples: failures. |
01:17:00 | FromDiscord | <Elegant Beef> Exelotl my next idea is to alias the the inner array to a `Matchup` type, but eh that's just to make that line a bit more readable |
01:17:23 | landerlo | Yes, fixed those, I saw how to run them, fixed now and with ord pushed again. I had to keep the new method with since 1.3 though, with 1.5 fails |
01:17:37 | disruptek | lol |
01:17:43 | FromDiscord | <Elegant Beef> It's ever so slightly more readable, but probably equally unreadable https://play.nim-lang.org/#ix=2AE5 |
01:19:21 | FromDiscord | <exelotl> I guess it works if you're gonna use Matchup elsewhere, otherwise seems like pointless indirection to me x) |
01:19:44 | FromDiscord | <exelotl> Oh yeah the other thing I'd do differently nowadays: prefix the enum items |
01:19:55 | disruptek | you're lucky yard is asleep. he HATES it when you criticize existing code. |
01:20:08 | FromDiscord | <Elegant Beef> Dont you insult type aliasing for slightly shorter lines π |
01:20:12 | Yardanico | disruptek: yeah sure |
01:20:17 | FromDiscord | <exelotl> so it would be ptFire, ptWater, etc. |
01:20:25 | disruptek | oh you've awoken the dragon. |
01:20:38 | FromDiscord | <Elegant Beef> Yea i prefix them as the style guide suggests |
01:20:57 | disruptek | not a fan of that. |
01:21:20 | disruptek | you're not likely to mistake Fire for anything but Fire. |
01:24:13 | FromDiscord | <exelotl> Ok but say I add an overworld to my game with grass and water tiles. How do I distinguish the Water tile kind from the Water pokemon type? |
01:24:33 | FromDiscord | <Elegant Beef> By not importing the pokemon type |
01:24:49 | disruptek | make it pure. |
01:25:17 | * | Tanger joined #nim |
01:25:17 | FromDiscord | <exelotl> Yep, pure is the solution and I don't like it haha |
01:25:32 | FromDiscord | <Elegant Beef> Well i'd argue that your overworld doesnt need the pokemon types, so if you have them in the scope you've designed it badly |
01:25:41 | disruptek | i tell all the girls that purity is overrated, but it has its uses. |
01:29:55 | FromDiscord | <exelotl> I mean its pretty common for projects to have a "types.nim", but ok sure my example was a stretch. I'd still say its pretty likely for a sizeable project to have two enun items with the same name in practise, and the prefix convention is really good at avoiding it |
01:30:04 | FromDiscord | <Avatarfighter> Elegant beef i would like you to know the idea you had is going well |
01:34:55 | * | apahl quit (Ping timeout: 240 seconds) |
01:37:13 | disruptek | fighter: don't fuck pumpkins, dude. |
01:37:18 | * | apahl joined #nim |
01:39:01 | * | luis quit (Quit: luis) |
01:39:08 | * | luis joined #nim |
01:41:08 | FromDiscord | <Avatarfighter> disruptek: who told you my halloween suprise smh |
01:41:11 | FromDiscord | <Avatarfighter> surprise* |
01:41:25 | disruptek | dude. trust me, it never ends well. |
01:41:36 | kinkinkijkin | hmm... in nim, do i need to create a socket file before connecting the socket with unix sockets? |
01:41:53 | disruptek | well, unless you own the pumpkin. then you might be okay, legally speaking, if you stay in the dark. |
01:42:32 | disruptek | kinkinkijkin: the server creates the file, yes. |
01:42:42 | kinkinkijkin | alright |
01:43:53 | FromDiscord | <Elegant Beef> Disruptek idk they always have a smile on their face |
01:44:09 | FromDiscord | <Elegant Beef> @Avatarfighter i seriously dislike that you took my joke and are thinking it's a good idea |
01:44:32 | FromDiscord | <Avatarfighter> I'm not going to actually stream it stadia style lmfao |
01:44:55 | FromDiscord | <Elegant Beef> Sure you arent |
01:45:03 | FromDiscord | <Avatarfighter> psh yeah i'm not |
01:45:10 | FromDiscord | <Avatarfighter> *nervously hiding the rtsp code* |
01:45:38 | FromDiscord | <Avatarfighter> you've made me realize though I can have a majority of my code on the server which is good imo |
01:47:26 | FromDiscord | <Elegant Beef> Well that's good |
01:49:46 | * | user0 quit (Ping timeout: 256 seconds) |
01:53:23 | FromDiscord | <Avatarfighter> yeah |
01:53:37 | FromDiscord | <Avatarfighter> so now I can stream the program in 4k /s |
02:11:33 | * | enthus1ast joined #nim |
02:11:36 | * | bung joined #nim |
02:15:45 | * | bung quit (Ping timeout: 240 seconds) |
02:16:01 | landerlo | thank you for your help guys! CI build is green now |
02:16:20 | FromDiscord | <Rika> congrats |
02:16:42 | FromDiscord | <Avatarfighter> Grats |
02:18:08 | * | user0 joined #nim |
02:21:33 | * | luis quit (Read error: Connection reset by peer) |
02:30:16 | * | bung joined #nim |
02:36:51 | * | luis joined #nim |
02:38:23 | * | landerlo quit (Remote host closed the connection) |
02:43:05 | * | muffindrake quit (Ping timeout: 272 seconds) |
02:43:12 | * | xioren quit (Quit: leaving) |
02:45:02 | * | muffindrake joined #nim |
02:51:30 | * | eburk joined #nim |
02:51:58 | * | voidpi joined #nim |
02:58:20 | * | Q-Master quit (Ping timeout: 256 seconds) |
02:59:08 | * | rockcavera quit (Remote host closed the connection) |
02:59:21 | * | Q-Master joined #nim |
03:07:09 | * | luis quit (Ping timeout: 272 seconds) |
03:07:31 | * | kinkinkijkin quit (Read error: Connection reset by peer) |
03:09:53 | * | luis joined #nim |
03:20:10 | FromDiscord | <nikki> has anyone made a nim repl that compiles to js and then use node.js or some other js engine or such? |
03:20:17 | FromDiscord | <nikki> (edit) 'use' => 'uses' |
03:20:37 | FromDiscord | <Rika> not yet |
03:20:53 | FromDiscord | <Elegant Beef> Why would you do that? |
03:21:23 | FromDiscord | <Rika> whats the issue with it? |
03:21:30 | FromDiscord | <Elegant Beef> I dont know why you would |
03:21:57 | FromDiscord | <Elegant Beef> Wouldnt it make more sense to just use the nim interpreter for a repl application? |
03:22:25 | FromDiscord | <Elegant Beef> Especially since you're compiling to JS so going to hit similar limitations to nimscript |
03:22:31 | FromDiscord | <Elegant Beef> Unless i misunderstood what they meant |
03:25:17 | FromDiscord | <nikki> i'm actually interested in usages where you say have a native engine core with nim->C->...; then you have modules that maybe do nim->JS or nim->C->WASM and are runtime executed but share data structures, and either edit shared memory or do cross thread messaging |
03:25:36 | FromDiscord | <nikki> esp. relevant on platforms like iOS where you can't JIT |
03:26:10 | FromDiscord | <Elegant Beef> So seems you interested in using nim as a scripting language? |
03:26:26 | FromDiscord | <nikki> half of the above involves using nim as the core non-scripting language |
03:26:37 | FromDiscord | <Elegant Beef> Ah misunderstood π |
03:26:41 | FromDiscord | <nikki> but, in any case, i was just curious if someone made a JS-using repl at the command line |
03:27:03 | FromDiscord | <Rika> not yet, we barely even have a repl itself |
03:27:15 | FromDiscord | <Elegant Beef> Yea sorry, just from my interpretation of what you said it seemed silly what you were proposing π |
03:27:22 | FromDiscord | <nikki> oh no worries at all |
03:27:42 | FromDiscord | <Rika> nim secret is a c-compiling repl (prolly gonna get deprecated)β΅inim is a nimscript (nim VM) repl |
03:27:50 | FromDiscord | <Rika> or was it reverse |
03:27:52 | FromDiscord | <Rika> i dont remember |
03:28:07 | Yardanico | it's the reverse |
03:28:13 | Yardanico | nim secret is the VM |
03:28:28 | Yardanico | inim is a wrapper over "nim c" and saving code |
03:28:36 | FromDiscord | <nikki> JS jits are actually good and shared ArrayBuffers between the native and the scripted side could work interestingly (with shared types) |
03:29:14 | FromDiscord | <nikki> anyways; i just am beginning to dive into the language, and was curious if that existed. maybe i'll hack on one if i get there ^_^ |
03:30:22 | FromDiscord | <Rika> hey i dont remember |
03:30:27 | FromDiscord | <Rika> i said that already |
03:30:32 | FromDiscord | <Rika> man i really dont remember things |
03:30:44 | FromDiscord | <Elegant Beef> sometimes |
03:31:50 | FromDiscord | <Elegant Beef> I still need to get around to making a more seemless interop of nimscript <-> nim |
03:32:17 | FromDiscord | <Elegant Beef> I really like the premise of being able to embed nimscript like lua π |
03:32:29 | FromDiscord | <Rika> a lot of us do |
03:32:53 | FromDiscord | <Avatarfighter> inim is pretty good repl |
03:33:53 | * | bung quit (Ping timeout: 260 seconds) |
03:34:48 | * | user0 quit (Ping timeout: 260 seconds) |
04:02:21 | * | luis quit (Quit: luis) |
04:06:01 | * | supakeen quit (Quit: WeeChat 2.9) |
04:06:33 | * | supakeen joined #nim |
04:16:28 | * | vicfred joined #nim |
04:18:19 | * | luis joined #nim |
04:19:23 | * | opal quit (Ping timeout: 240 seconds) |
04:20:06 | FromDiscord | <brainproxy> sent a code paste, see https://play.nim-lang.org/#ix=2AEs |
04:21:06 | FromDiscord | <brainproxy> (edit) 'https://play.nim-lang.org/#ix=2AEs' => 'https://play.nim-lang.org/#ix=2AEt' |
04:21:50 | * | opal joined #nim |
04:21:57 | FromDiscord | <Elegant Beef> same ar version? |
04:22:13 | * | FromDiscord quit (Remote host closed the connection) |
04:22:29 | * | FromDiscord joined #nim |
04:22:55 | FromDiscord | <brainproxy> possible... though not sure, guess Iβll need to add some `echo`s |
04:23:22 | FromDiscord | <Elegant Beef> Cause the issue isnt nim, it's that binary you're invoking π |
04:23:29 | * | a_chou joined #nim |
04:24:01 | * | FromDiscord quit (Remote host closed the connection) |
04:24:17 | * | FromDiscord joined #nim |
04:24:59 | FromDiscord | <brainproxy> Actually, it comes up when invoking $(CC) |
04:25:29 | FromDiscord | <brainproxy> which in practice on macOS comes down to invoking clang |
04:25:58 | FromDiscord | <brainproxy> Maybe thereβs a subtle difference between Xcode versions on my laptop and those in GHA |
04:26:32 | FromDiscord | <brainproxy> But dang, both macOS versions are 10.15.7 and up-to-date as far as App Store tells me locally and whatβs reported in GHA |
04:27:50 | * | FromDiscord quit (Remote host closed the connection) |
04:28:05 | * | FromDiscord joined #nim |
04:28:15 | * | FromDiscord quit (Remote host closed the connection) |
04:28:32 | * | FromDiscord joined #nim |
04:32:00 | * | a_chou quit (Remote host closed the connection) |
04:37:59 | * | luis quit (Read error: Connection reset by peer) |
04:38:11 | * | luis joined #nim |
04:43:20 | * | user0 joined #nim |
05:05:01 | * | user0 quit (Ping timeout: 264 seconds) |
05:07:49 | * | narimiran joined #nim |
05:21:10 | * | kinkinkijkin joined #nim |
05:23:53 | * | solitudesf joined #nim |
05:27:25 | * | luis quit (Quit: luis) |
05:27:26 | * | vicfred quit (Quit: Leaving) |
05:27:40 | * | luis joined #nim |
05:30:20 | * | bung joined #nim |
05:35:28 | * | bung quit (Ping timeout: 272 seconds) |
05:36:54 | Zevv | I hate how "from" is a keyword :( |
05:37:15 | * | luis quit (Ping timeout: 272 seconds) |
06:04:26 | * | luis joined #nim |
06:06:15 | * | MyMind joined #nim |
06:07:47 | * | Sembei quit (Ping timeout: 240 seconds) |
06:12:50 | * | bung joined #nim |
06:28:06 | * | PMunch joined #nim |
06:28:24 | * | qwertfisch quit (Quit: ZNC - http://znc.in) |
06:28:37 | * | qwertfisch joined #nim |
06:55:10 | * | Vladar joined #nim |
06:58:53 | * | luis quit (Quit: luis) |
07:04:47 | * | D_ quit (Remote host closed the connection) |
07:05:43 | * | D_ joined #nim |
07:17:50 | Araq | Zevv, write an RFC, we can make 'from' a context specific keyword. Ah no, we cannot |
07:17:58 | Araq | not easily at least |
07:18:00 | * | waleee-cl quit (Quit: Connection closed for inactivity) |
07:20:00 | * | kinkinkijkin quit (Read error: Connection reset by peer) |
07:20:05 | * | kinkinkijkin_ joined #nim |
07:20:15 | * | kinkinkijkin_ is now known as kinkinkijkin |
07:26:11 | PMunch | Hmm, given a generic procedure I want to check the generic parameter in a `when` and output an error in certain scenarios |
07:26:38 | PMunch | Is it possible to get the value of the generic T so I can output it in the {.error.} statement I produce? |
07:40:42 | * | Elegant joined #nim |
07:41:16 | Elegant | Damn discord bridge died, so anyway pmunch what are you looking for exactly? |
07:42:14 | Elegant | Secondly as i said in discord that you didnt see "I was following your embedding nimscript writeup and i for the life of me cannot figure how the implementRoutine proc works" |
07:42:21 | PMunch | Never mind, I figured it out |
07:42:52 | * | lum joined #nim |
07:43:26 | PMunch | What part of implementRoutine are you struggling with? |
07:44:27 | Elegant | I dont exactly understand what it does, i though it implemented the logic inside but the code below doesnt work https://play.nim-lang.org/#ix=2AET |
07:44:47 | * | kinkinkijkin_ joined #nim |
07:44:52 | Elegant | It complains that there is no body for compiler proc, but then if i give it a body it returns 0 |
07:45:59 | * | kinkinkijkin quit (Read error: Connection reset by peer) |
07:45:59 | * | kinkinkijkin_ is now known as kinkinkijkin |
07:46:08 | PMunch | Have you tried the runnable version of the example found here? https://github.com/PMunch/nimscriptexamples/tree/master/ex7 |
07:47:02 | PMunch | And yeah, it needs a body, as you can see I gave mine the body "discard" |
07:47:50 | Elegant | Ah yea that works, in your writeup you didnt mention call inside the `scriptProc` proc |
07:49:05 | PMunch | Ah, I guess that could've been a bit clearer |
07:50:22 | Zevv | I have a stupid question |
07:50:31 | Zevv | I make a nim.cfg and put --blahblah in it |
07:50:41 | Zevv | I compile my program, and the compiler barfs because --blahblah is wrong |
07:50:45 | Zevv | then I put -d:danger in |
07:50:46 | Zevv | it compiles fine |
07:50:49 | Zevv | but I don't get a -d:danger build |
07:52:11 | Elegant | Also pmunch what's the bestway to invoke nim procs from nimscript |
07:52:58 | PMunch | Elegant, there I updated the article and added a small comment in the code snippet in the article about what scriptProc does |
07:53:08 | PMunch | What do you mean+ |
07:53:33 | PMunch | Zevv, yeah -d:danger and -d:release doesn't work in nim.cfg files for some reason |
07:53:54 | Zevv | ah ok |
07:54:43 | Elegant | Say your nim invokes a nimscript function and that function wants to draw something using the actual nim code. Would the best thing be a sort of RPC system? |
07:55:25 | PMunch | Well, you can just do it like the "compilerProc" in that example? |
07:55:27 | Elegant | Actually now i see that implementroutine enables that |
07:55:31 | PMunch | Or am I misunderstanding? |
07:55:39 | Elegant | I'm a little tired so didnt notice the echo call :P |
07:56:01 | PMunch | Ah :P |
07:56:13 | PMunch | Yeah the compilerProc runs as regular Nim code |
07:56:19 | PMunch | So it can do whatever it likes |
07:56:57 | * | kinkinkijkin quit (Ping timeout: 260 seconds) |
07:57:04 | * | Tlangir joined #nim |
07:58:28 | PMunch | Hmm, I have declared a generic like: proc to[T: SomeInteger or bool or string or seq](v: Value): T. And I have a macro that calls `to[:<somekind>](value)` to convert a value. I want to have the user be able to create their own `to` procedure to allow the use of their own types |
07:59:16 | PMunch | But I just get the error `Error: cannot instantiate: 'to[Test]'` when I try to do `proc to*[T: Test](v: Value): Test` in my code |
07:59:25 | * | Tanger quit (Ping timeout: 258 seconds) |
08:01:33 | Elegant | God damn i'm dumb i wrote a response in discord not remembering the irc bridge is dead |
08:01:46 | Elegant | "Cool, got some ideas to implement to reduce boilerplatey nature of this code" said dumb me |
08:02:30 | Elegant | Afaik generics dont like overloading |
08:02:32 | Elegant | https://play.nim-lang.org/#ix=2AEX |
08:02:44 | PMunch | Oh please do, a NimScript interface library would be amazing |
08:03:46 | * | hnOsmium0001 quit (Quit: Connection closed for inactivity) |
08:03:50 | bung | anyone familar with mysql protocol? am implementing mysql compression part, when I send a init db command I expect compressed sequence id to be 1 , I got 2 |
08:04:16 | PMunch | Elegant, curiously I don't get any errors about that in my code.. |
08:07:41 | Elegant | Nervously looks around |
08:07:45 | * | Elegant left #nim ("Leave.") |
08:08:54 | * | ElegantBeef joined #nim |
08:09:00 | ElegantBeef | Ah a proper name |
08:10:21 | PMunch | You know you can do `/nick ElegantBeef` to change your nick right? |
08:10:27 | * | PMunch is now known as likeThis |
08:10:31 | ElegantBeef | You think i know how IRC works? |
08:10:31 | * | likeThis is now known as PMunch |
08:10:35 | ElegantBeef | It's magic |
08:10:51 | PMunch | Haha, it's actually pretty simple :P |
08:10:52 | ElegantBeef | Yea tuatarian the bridge is down and no one can see discord |
08:11:02 | * | Tuatarian joined #nim |
08:11:04 | ElegantBeef | So sadly i had to go over to IRC |
08:11:11 | Tuatarian | Oh I see |
08:11:20 | Tuatarian | Yeah I'm over here for now as well |
08:11:25 | Tuatarian | One time thing though |
08:11:31 | PMunch | Has anyone pinged Yardanico to have him look at the bridge? |
08:11:36 | ElegantBeef | Although this gtk based irc client is nice as it uses my system theme |
08:11:38 | ElegantBeef | Yea i did |
08:11:45 | ElegantBeef | I might be a fool but i'm not an idiot |
08:11:47 | PMunch | ElegantBeef, which one? |
08:11:53 | ElegantBeef | srain |
08:12:06 | Tuatarian | I remember last time this happened yardanico sent a bunch of pics of russia |
08:12:09 | Tuatarian | Was pretty interesting |
08:12:32 | Tuatarian | Can irc handle images? |
08:12:39 | PMunch | Oh cool, srain looks like every reason I don't like modern chat clients :P |
08:12:44 | FromGitter | <timotheecour> can anyone greenlight https://github.com/nim-lang/fusion/pull/26 ? |
08:12:44 | disbot | β₯ CI: run docs, publish docs |
08:13:04 | PMunch | Tuatarian, not really |
08:13:15 | Tuatarian | That's unfortunate |
08:13:27 | Tuatarian | Irc feels dated to me, but to each their own I guess |
08:13:33 | PMunch | You can send files, but it basically just sends a hexdump of the image with some special annotation that is read by most clients as a file transfer |
08:13:43 | Tuatarian | I see |
08:13:46 | PMunch | AFAIK |
08:13:55 | Tuatarian | So not anything with irc but rather just it being decentralized |
08:13:56 | PMunch | Well it is pretty old, so that's not too surprising |
08:14:06 | Tuatarian | Yeah |
08:14:18 | ElegantBeef | What's your issue with srain? |
08:14:31 | Tuatarian | I'm using revolution irc on my phone |
08:14:42 | ElegantBeef | I know it's attempting to emulate modern chat clients, but i guess you dont like multimedia support? :P |
08:15:00 | Tuatarian | Pretty bad experience overall, but it works and I'm not about to make a better one so whatever |
08:15:20 | PMunch | ElegantBeef, for one messages take up way too much space. I can still see messages back to when I joined this morning without scrolling |
08:15:53 | PMunch | I don't mind multimedia support, but I think I'd like a hover over a link to preview feature or something feature instead |
08:16:07 | Tuatarian | Looks like WhatsApp |
08:16:12 | PMunch | Hmm, well then I'd need to move my mouse.. |
08:16:17 | Tuatarian | Not a bad thing, just a thing |
08:16:36 | Tuatarian | Q: can I just contribute things to fusion? |
08:16:47 | ElegantBeef | A: It's open source ;) |
08:16:50 | PMunch | Tuatarian, of course |
08:16:52 | Tuatarian | Like random algs I implement for whatever reason, search sort etc |
08:17:04 | ElegantBeef | Well make a PR and see if it's accepted |
08:17:07 | Tuatarian | How do I know which module to contribute to & how do I test before contribution? |
08:17:14 | Tuatarian | Oh ok trial and error process lmao |
08:17:18 | PMunch | I mean if they aren't generally useful or belong in a different module it'll probably get rejected |
08:17:27 | Tuatarian | Can I contribute to the actual stdlib the same way? |
08:17:33 | FromGitter | <timotheecour> if unsure, make an RFC |
08:17:35 | PMunch | Of course |
08:17:39 | Tuatarian | Rfc? |
08:17:40 | ElegantBeef | You can contribute to the entire language the same way |
08:17:47 | PMunch | Request For Comment |
08:17:52 | Tuatarian | Are there tests I need to run before? |
08:17:55 | Tuatarian | Never heard of that |
08:17:58 | ElegantBeef | "Request fucking change" |
08:18:01 | FromGitter | <timotheecour> and read https://nim-lang.github.io/Nim/contributing.html first |
08:18:11 | ElegantBeef | https://github.com/nim-lang/rfcs |
08:18:14 | PMunch | Yeah, you should run the test suite first |
08:18:23 | Tuatarian | Elegant beef: I prefer your version lmao |
08:18:53 | Tuatarian | Is koch installed with Nim? |
08:19:18 | PMunch | You can build it from the cloned repo |
08:19:28 | PMunch | nim c -d:release koch from the root folder IIRC |
08:20:00 | Tuatarian | That sounds complicated |
08:20:03 | Tuatarian | Oh wait nevermind |
08:20:07 | Tuatarian | Just that command? |
08:20:21 | Tuatarian | Huh |
08:20:28 | Tuatarian | But that wouldn't be in path right? |
08:20:43 | PMunch | What wouldn't be? |
08:20:43 | Tuatarian | So just run the built binary then? |
08:20:47 | Tuatarian | Koch |
08:21:26 | PMunch | Oh yeah, if you look in the contributing document timothee linked you have a section called Testing or something like that |
08:21:37 | PMunch | It explains how to use koch to test your changes |
08:21:47 | narimiran | koch should come with your nim installation, IIRC |
08:22:21 | narimiran | from what i can tell, it is in root directory of nim tarball (not in `bin` folder) :/ |
08:22:56 | * | kinkinkijkin joined #nim |
08:25:35 | ElegantBeef | Is there any way to hold every possible proc type inside of a container? |
08:28:10 | * | kinkinkijkin quit (Read error: Connection reset by peer) |
08:31:00 | * | kinkinkijkin joined #nim |
08:32:33 | * | luis joined #nim |
08:33:41 | PMunch | https://github.com/docopt/docopt.nim/pull/51/#issuecomment-705045570 |
08:33:42 | disbot | β₯ Add procedure dispatch module |
08:33:50 | PMunch | ^ Anyone up for a little code-review? |
08:37:18 | * | landerlo joined #nim |
08:42:06 | * | lritter joined #nim |
08:43:24 | * | Vindaar joined #nim |
08:44:00 | Vindaar | Agreed, would be really great if people could review or even just thumbs up that PR! |
08:44:26 | Vindaar | I'll review in detail later, as I mentioned on that comment PMunch. |
08:47:59 | PMunch | Sweet! |
09:08:47 | * | luis quit (Ping timeout: 272 seconds) |
09:09:27 | * | luis joined #nim |
09:11:16 | * | tribly quit (Quit: WeeChat 2.9) |
09:12:10 | * | tribly joined #nim |
09:32:32 | * | luis quit (Read error: Connection reset by peer) |
09:32:44 | * | luis joined #nim |
09:35:38 | * | letto quit (Read error: Connection reset by peer) |
09:36:10 | * | letto joined #nim |
09:36:43 | * | ElegantBeef quit (Remote host closed the connection) |
10:01:43 | * | Tuatarian quit (Ping timeout: 246 seconds) |
10:05:47 | * | luis quit (Ping timeout: 272 seconds) |
10:06:25 | * | luis joined #nim |
10:12:07 | * | luis quit (Quit: luis) |
10:12:20 | * | luis joined #nim |
10:17:51 | * | Tlangir quit (Quit: Leaving) |
10:28:26 | * | noonien quit (Quit: Connection closed for inactivity) |
10:43:00 | PMunch | It's so quiet here without Discord |
10:43:17 | Vindaar | It's just as quiet on the Discord side, haha |
10:43:42 | PMunch | Huh, peculiar |
10:44:47 | * | aeverr joined #nim |
10:44:59 | aeverr | prolly a slow day |
10:45:12 | PMunch | Evidently |
10:45:31 | PMunch | I mean the fact that we can't talk to each other probably means that fewer people overall are talking |
10:46:11 | Vindaar | well, Discord people can at least read these messages here. Even if we can't see their answers |
10:46:28 | PMunch | Oh? It's only broken one way? |
10:46:30 | aeverr | yes |
10:46:35 | Vindaar | yeah, it's really weird |
10:47:19 | aeverr | the irc->discord system is simpler than the discord->irc system |
10:48:32 | Vindaar | PMunch, I'm gonna add a few review comments saying that here or there a comment on the macro code might be useful. Because the library doesn't use macros so far and isn't maintained by a heavy macro user |
10:52:26 | PMunch | Might be a good idea |
10:53:18 | Vindaar | Hmm, and I'm confused about the `runUserImplemented` macro. The if check on the `typ` should always be true (for valid types anyways), no? |
10:53:50 | Vindaar | So, if there is no `to<CustomType>` proc, won't it just end up creating a call to a non existing proc? |
10:54:21 | Vindaar | (damn, just reading macros without playing around with them is tricky, haha) |
10:55:29 | Vindaar | I'm thinking this should somehow also create something like a `when definedInScope(<toProcName>)` |
10:56:19 | Vindaar | of course one might argue that a user shouldn't use the `to` proc without a custom conversion proc for custom types |
11:00:45 | * | NimBot joined #nim |
11:01:23 | PMunch | Ah right, that is indeed the case |
11:01:52 | PMunch | I meant to output when declared(<generated proc name>): <generatedProcName>(value) else: {.error.} |
11:02:06 | Vindaar | ok, yes. That makes sense then |
11:02:12 | * | landerlo quit (Remote host closed the connection) |
11:05:32 | PMunch | Fixed |
11:05:41 | Vindaar | nice |
11:06:10 | Vindaar | And btw, I'm being extra picky here mainly to show the maintainer that someone actually took a close look at this code, haha |
11:07:15 | PMunch | Haha, that is probably a good idea :) |
11:08:02 | Vindaar | wow, inline usage of `quote do` in a `newTree` call. Never though about that |
11:09:38 | PMunch | Hehe, not sure if that is recommended, but I use it quite a bit |
11:09:48 | PMunch | I don't like naming things :P |
11:10:04 | PMunch | So I inline a lot of stuff |
11:10:06 | Vindaar | for that alone it is really neat. And one saves a line, hehe |
11:15:36 | PMunch | Hmm, I've written a small program that listens to Freedesktop notifications and writes them formatted to a file or stdout. Anyone got a good name for the program? |
11:16:30 | * | liblq-dev joined #nim |
11:16:36 | liblq-dev | PMunch: notificatcher? |
11:16:48 | PMunch | Ooh, that's actually not a bad name |
11:17:17 | liblq-dev | this might look weird on logs because i just joined the irc channel lol |
11:19:23 | * | lum quit (Ping timeout: 260 seconds) |
11:19:36 | supakeen | PMunch: notifyle |
11:20:18 | PMunch | Because it writes to a file? |
11:20:31 | supakeen | yes |
11:20:34 | PMunch | liblq-dev, haha, that could indeed look a bit weird :P |
11:21:56 | * | lum joined #nim |
11:23:14 | * | bouzu_ joined #nim |
11:27:09 | Vindaar | ok, done PMunch |
11:31:41 | PMunch | Oh wow, that is thorough @Vindaar |
11:31:41 | * | FromDiscord quit (Remote host closed the connection) |
11:31:55 | * | FromDiscord joined #nim |
11:32:22 | FromDiscord | <Vindaar> we back? |
11:32:32 | Vindaar | indeed |
11:34:37 | Vindaar | Well, I said said I'd look at it in detail, haha |
11:54:20 | * | luis quit (Quit: luis) |
11:54:37 | * | luis joined #nim |
11:57:36 | * | luis quit (Client Quit) |
11:57:47 | * | luis joined #nim |
12:02:55 | PMunch | https://uploads.peterme.net/notificatcher.png |
12:03:07 | PMunch | liblq-dev ^ |
12:05:09 | supakeen | :D |
12:05:11 | supakeen | i like |
12:05:15 | liblq-dev | cool |
12:06:02 | * | supakeen quit (Quit: WeeChat 2.9) |
12:06:34 | * | supakeen joined #nim |
12:09:06 | PMunch | First thing that popped into my head when you gave me that name :P |
12:09:07 | FromDiscord | <lqdev> test |
12:09:15 | FromDiscord | <lqdev> okay discord's back |
12:09:16 | * | liblq-dev quit (Quit: WeeChat 2.9) |
12:09:28 | FromDiscord | <lqdev> PMunch: *i don't get it* |
12:10:11 | PMunch | It's a dreamcatcher with an envelope in it (the envelope signifying a notification) |
12:10:54 | FromDiscord | <lqdev> what's a dreamcatcher? |
12:11:49 | * | Vladar quit (Remote host closed the connection) |
12:12:25 | idf | its some kind of star thingie that catches bad dreams |
12:13:30 | * | Vladar joined #nim |
12:14:28 | PMunch | Yeah it's native american (I think) folklore that it catches bad dreams that fly around in the night before they can get into your head |
12:14:32 | PMunch | Or something like that :P |
12:14:36 | * | TomDotTom joined #nim |
12:28:04 | * | lum quit (Quit: WeeChat 2.8) |
12:28:21 | * | lum joined #nim |
12:31:57 | * | lum quit (Client Quit) |
12:32:15 | * | dimimir joined #nim |
12:33:43 | * | dimimir quit (Client Quit) |
12:33:57 | * | lum joined #nim |
12:35:38 | PMunch | @Vindaar, pushed some fixes based on your review |
12:39:29 | Vindaar | Really nice, thanks a bunch. Just found two typos |
12:43:24 | * | rockcavera joined #nim |
12:49:15 | PMunch | Fixed |
12:49:58 | * | lum quit (Quit: WeeChat 2.8) |
12:56:37 | FromDiscord | <lqdev> http://ix.io/2AGs/nim |
12:56:57 | FromDiscord | <lqdev> i want to prevent any assignments of `NoCopy`, the above doesn't work. |
12:57:05 | FromDiscord | <lqdev> :s/assignments/copies |
12:57:11 | FromDiscord | <lqdev> how would i achieve that? |
12:57:29 | * | luis quit (Quit: luis) |
12:57:33 | leorize[m] | well you moved it |
12:57:47 | * | luis joined #nim |
12:58:02 | leorize[m] | that was the last time `a` is used, so the compiler optimized it into a move |
12:58:10 | FromDiscord | <lqdev> oh that's why |
12:58:25 | FromDiscord | <lqdev> well i have a C type which cannot be copied out of a callback |
12:58:51 | FromDiscord | <lqdev> how would i achieve this? |
12:59:06 | leorize[m] | view types but those are experimental |
12:59:15 | leorize[m] | discipline works best atm :p |
12:59:18 | FromDiscord | <lqdev> i'm not on devel |
12:59:48 | FromDiscord | <lqdev> i guess i could implement an {.error.} `=` hook for the C type? |
12:59:59 | Vindaar | PMunch, nice work. Let's hope it's enough for a merge now :) |
13:00:05 | leorize[m] | you can still move it out |
13:00:35 | FromDiscord | <lqdev> well shit. |
13:00:47 | FromDiscord | <lqdev> i guess i'll just have to mention it explicitly in the documentation |
13:00:50 | FromDiscord | <lqdev> which is less than ideal |
13:01:06 | leorize[m] | @lqdev hmm actually implementing the error `=` hook should work if you shadow the variable itself |
13:01:10 | FromDiscord | <lqdev> but wait, couldn't i also implement `=sink`? |
13:01:57 | leorize[m] | is this variable passed as parameter? |
13:02:21 | leorize[m] | then error `=` hook should work |
13:02:52 | FromDiscord | <lqdev> oh ok |
13:03:45 | * | luis quit (Quit: luis) |
13:03:59 | * | luis joined #nim |
13:06:42 | PMunch | Hmm, how can I add a requirement to a specific branch of a specific repo to nimble? |
13:07:40 | leorize[m] | `#branch` |
13:08:06 | leorize[m] | this is as bad as `#head` though, I'd recommend pinning the commit |
13:08:15 | PMunch | Ah, nice |
13:08:33 | PMunch | Eh, it's only while docopt hasn't merged my changes |
13:10:00 | * | FromDiscord quit (Remote host closed the connection) |
13:10:13 | * | FromDiscord joined #nim |
13:10:20 | * | abm joined #nim |
13:12:21 | Prestige | Hey PMunch |
13:13:01 | PMunch | Hi, what's up? |
13:13:07 | leorize[m] | PMunch: the branch would likely be considered by nimble as the latest version all the time |
13:13:15 | Prestige | I fixed window centering and published a new release, you should be good to go if you make that change to xlunch |
13:13:31 | PMunch | Hmm |
13:13:52 | PMunch | It would be nice though to be able to specify this for other programs that I don't have control over.. |
13:14:14 | PMunch | Galculator for example is one I've set to auto-float in i3 |
13:14:25 | Prestige | Yeah, would be good to add and not too hard |
13:17:49 | FromDiscord | <lqdev> `/home/daknus/Coding/Nim/rapid/src/rapid/wrappers/chipmunk/arbiter.nim(29, 3) Error: redefinition of 'CP_MAX_CONTACTS_PER_ARBITER'; previous declaration here: /home/daknus/Coding/Nim/rapid/src/rapid/wrappers/chipmunk/arbiter.nim(29, 3)` |
13:17:50 | FromDiscord | <lqdev> wut |
13:17:57 | PMunch | https://github.com/PMunch/notificatcher |
13:18:19 | * | a_b_m joined #nim |
13:18:27 | PMunch | lqdev, haha that sucks :P |
13:18:40 | FromDiscord | <Recruit_main707> Relatable |
13:18:47 | PMunch | Prestige, my notification to a file program is ready: https://github.com/PMunch/notificatcher |
13:19:09 | FromDiscord | <Recruit_main707> Maybe he is including and importing the file at the same time? |
13:19:12 | Prestige | I like the icon |
13:19:37 | FromDiscord | <Clyybber> @lqdev you included it twice probably |
13:20:10 | PMunch | Prestige, thanks :) |
13:21:05 | * | abm quit (Ping timeout: 240 seconds) |
13:21:31 | FromDiscord | <lqdev> @Clyybber except not |
13:21:39 | FromDiscord | <lqdev> oh wait |
13:21:42 | FromDiscord | <lqdev> i'm blind -_- |
13:22:00 | FromDiscord | <Recruit_main707> Happens to the best of us |
13:22:46 | Prestige | Hmm I wonder if there are any good db gui applications in Nim |
13:27:10 | * | landerlo joined #nim |
13:33:29 | PMunch | Fleshed out the README a bit: |
13:33:33 | PMunch | https://github.com/PMunch/notificatcher |
13:37:45 | * | PMunch quit (Remote host closed the connection) |
13:37:49 | ehmry | how does one get more information on where side effects come from? |
13:39:31 | * | PMunch joined #nim |
13:40:14 | PMunch | Ugh Prestige, can you please implement a check for the TOML parsing for config refreshes? |
13:41:02 | PMunch | I keep crashing nimdow when I make ill advised changes (this time it was escape characters in my format for notificatcher) |
13:41:14 | Prestige | Yeah, I'll try to add that soon |
13:41:24 | Prestige | what did you put in? |
13:41:51 | leorize[m] | ehmry: IIRC devel features side effect tracing |
13:41:59 | PMunch | I put this in my autostart section: "notificatcher -f /tmp/notifications \"\\e[38;2;81;159;80m{appName}:\\e[0m {hints:urgency:::\\e[38;2;231;76;60m}{summary}\\e[0m\\n\\t{body}\"" |
13:42:02 | * | user0 joined #nim |
13:42:10 | PMunch | But I hadn't properly escaped the \e |
13:42:25 | PMunch | So it crashed with an error saying \e wasn't a recognised escape sequence.. |
13:43:27 | * | a_b_m quit (Read error: Connection reset by peer) |
13:43:33 | Prestige | Cool, I'll make that a prio |
13:43:48 | * | a_b_m joined #nim |
13:46:26 | Prestige | Which will be in ~8 hours, work just started for me |
13:50:23 | PMunch | Ah no worries, I'm off work in ten minutes, and I probably won't have time to be on the computer until tomorrow :P |
13:51:05 | * | krux02 joined #nim |
13:57:48 | * | luis_ joined #nim |
13:57:48 | * | eburk quit (Quit: WeeChat 2.9) |
13:58:17 | * | luis quit (Remote host closed the connection) |
13:58:17 | * | luis_ is now known as luis |
14:00:28 | Araq | Yardanico, please reduce the thavlak orc test case, it's a showstopper |
14:01:31 | Prestige | PMunch: I'll try to have it ready by tomorrow, see you around π |
14:01:42 | PMunch | Sweet! |
14:01:59 | PMunch | Man, having you make a WM for me is much easier than doing it myself :P |
14:02:16 | Prestige | haha, glad it's working out |
14:02:28 | PMunch | I really like it so far |
14:02:35 | PMunch | But I have some gripes with it still |
14:02:47 | PMunch | And I'm still not used to having to switch to a monitor before I can change the tag |
14:03:12 | Prestige | I want to solve that with a cli client actually, like sxhkd |
14:03:21 | PMunch | Ooh, that would be nice |
14:03:56 | Prestige | only prob is you'd have to use an external program |
14:03:57 | PMunch | It would be nice to be able to e.g. get where a window is, and then move to that tag |
14:04:04 | * | luis_ joined #nim |
14:04:08 | PMunch | So I could have a shortcut to jump to my browser for example |
14:04:16 | Prestige | oh neat idea |
14:04:45 | Prestige | Can always open issues with small ideas like this, I think that will also require the cli client first |
14:04:51 | PMunch | I also thought about getting all the open windows, then displaying them with xlunch, allow you to select one, and then go to it |
14:05:13 | PMunch | That would be similar to the window switcher you find in many DEs |
14:05:27 | Prestige | Yeah, that would be good, too |
14:08:01 | * | luis quit (Ping timeout: 264 seconds) |
14:08:01 | * | luis_ is now known as luis |
14:09:31 | PMunch | Oh well, I'm off |
14:09:33 | * | PMunch quit (Quit: Leaving) |
14:11:25 | Yardanico | Araq: yeah I'll try today |
14:11:56 | Yardanico | sadly it's not really deterministic since if you change iteration count from 15000 to like 5000 it doesn't crash |
14:12:10 | Yardanico | and it doesn't crash at all if you do GC_fullCollect() in every iteration |
14:12:25 | Araq | it's very deterministic |
14:12:39 | Araq | set 'defaultThreshold' to 1 in orc.nim |
14:12:56 | Araq | and ensure that we don't set it to anything higher |
14:13:28 | Araq | or make 'rootsThreshold' a 'const' and equal to 1 |
14:13:34 | Yardanico | ok, I'll reduce it when I get home (need to go to the store) |
14:13:41 | Araq | sure, thanks |
14:14:11 | * | a_chou joined #nim |
14:16:26 | * | luis quit (Quit: luis) |
14:16:34 | * | luis joined #nim |
14:16:43 | * | aeverr quit (Quit: Konversation terminated!) |
14:19:19 | * | xace quit (Ping timeout: 246 seconds) |
14:20:30 | * | xace joined #nim |
14:22:29 | * | disruptek is now known as asd |
14:22:34 | * | asd is now known as disruptek |
14:23:26 | landerlo | In my generic intset PR I've taken the feecback to introduce ordset and make intset delegate to it. But I couldn't make the export ordset from intset work. It says it cannot export with no other errors. At the moment intset delegate the calls to ordset. |
14:24:14 | FromDiscord | <Clyybber> are you sure you imported it, not included? |
14:25:16 | * | xace quit (Ping timeout: 246 seconds) |
14:27:54 | * | kinkinkijkin quit (Read error: Connection reset by peer) |
14:28:10 | * | kinkinkijkin joined #nim |
14:33:20 | * | xace joined #nim |
14:34:54 | * | a_b_m quit (Quit: Leaving) |
14:38:45 | landerlo | Ohhh. the export was before the import and that's why I though that woudln't work, silly me! It works no reordering. thank you, I removed the delegation and pushed now |
14:39:17 | FromDiscord | <Clyybber> \o/ |
14:44:43 | * | xace quit (Ping timeout: 260 seconds) |
14:46:18 | * | xace joined #nim |
14:49:28 | * | nyd joined #nim |
14:50:07 | * | kinkinkijkin quit (Ping timeout: 246 seconds) |
14:51:26 | * | kinkinkijkin joined #nim |
14:57:06 | * | kinkinkijkin quit (Read error: Connection reset by peer) |
14:57:31 | * | kinkinkijkin joined #nim |
14:59:45 | * | a_chou quit (Ping timeout: 240 seconds) |
15:08:57 | * | a_chou joined #nim |
15:16:46 | * | luis_ joined #nim |
15:17:45 | * | luis_ quit (Client Quit) |
15:20:13 | * | luis quit (Ping timeout: 246 seconds) |
15:25:00 | Araq | Yardanico, never mind, I can reproduce it now |
15:25:32 | Yardanico | Araq: I was able to reproduce it with two iterations with defaultThreshold = 1 and commenting lines 333-334, but nice :) |
15:25:36 | * | fredrikhr quit (Read error: Connection reset by peer) |
15:25:44 | * | Tuatarian joined #nim |
15:25:47 | Yardanico | it's havlak from kostya/benchmarks, not thavlak from the test suite |
15:27:24 | Araq | yeah. lesson learned, we need more 'valgrind: true' in our ORC test suite |
15:27:27 | Araq | bbl |
15:29:10 | * | a_chou quit (Ping timeout: 256 seconds) |
15:38:48 | * | Kiloneie joined #nim |
15:40:57 | * | hnOsmium0001 joined #nim |
15:52:02 | * | a_chou joined #nim |
15:53:52 | * | bouzu_ quit (Quit: Leaving) |
16:01:02 | * | rockcavera quit (Remote host closed the connection) |
16:10:05 | * | a_chou quit (Ping timeout: 240 seconds) |
16:16:58 | * | a_chou joined #nim |
16:19:05 | * | TomDotTom quit (Ping timeout: 240 seconds) |
16:34:16 | * | lum joined #nim |
16:36:17 | * | noonien joined #nim |
16:36:32 | * | a_chou quit (Ping timeout: 258 seconds) |
16:53:09 | * | nyd quit (Quit: nyd) |
16:57:57 | * | TomDotTom joined #nim |
16:59:13 | FromDiscord | <Shucks> Tried to compile a library which I could use in cpp. Compiled with `nim c --app:lib --noMain --header -d:release --noLinking mylib.nim`. Shouldn't the header file define a `NimMain` and my exported functions? |
16:59:26 | FromDiscord | <Shucks> (edit) 'c' => 'cpp' |
17:02:57 | * | xioren joined #nim |
17:03:23 | * | rockcavera joined #nim |
17:04:47 | FromDiscord | <William_CTO> Just came across Nim, and it looks WONDERFUL! |
17:04:53 | disruptek | OH SHIT |
17:05:20 | Yardanico | AMAZING |
17:06:08 | FromDiscord | <William_CTO> I love Python, enjoy Swift and like? C++, so I think I'll feel right at home with nim |
17:07:37 | disruptek | it's pretty great. |
17:08:29 | disruptek | it's probably better than you already think, too. and that's kinda nice. |
17:08:32 | xioren | can you instruct the compiler to include a binary file when compiling? |
17:08:47 | FromDiscord | <William_CTO> Any good IDEs for nim? |
17:08:51 | disruptek | xioren: genotrance (shashlick) has an asset bundler. |
17:08:59 | federico3 | neovim |
17:09:01 | disruptek | there is new jetbrains support. |
17:09:03 | xioren | thanks will check it out |
17:09:05 | * | TomDotTom quit (Ping timeout: 240 seconds) |
17:09:15 | disruptek | !repo assets |
17:09:16 | disbot | https://github.com/SSPkrolik/nimasset -- 9nimasset: 11Pure Nim 3D Assets loading library 15 6β 5π΄ 7& 4 more... |
17:09:25 | disruptek | well, not that one. |
17:09:30 | disruptek | !repo assets owner:genotrance |
17:09:31 | disbot | no results π’ |
17:09:35 | * | disruptek thobs. |
17:09:39 | * | disruptek throbs, too. |
17:09:40 | xioren | ill search it on github |
17:09:40 | Yardanico | disruptek: jetbrains one is promising, but it doesn't use nimsuggest yet |
17:10:03 | FromDiscord | <Shucks> official one? or a plugin? |
17:10:12 | disruptek | it's a plugin. |
17:10:18 | FromDiscord | <William_CTO> for CLion? |
17:10:21 | disruptek | i personally use and recommend neovim. |
17:10:34 | Yardanico | @Shucks semi-official plugin |
17:10:46 | Yardanico | it's made by a JetBrains employee but they didn't announce it |
17:10:52 | Yardanico | maybe he just does it for experience ;) |
17:10:56 | FromDiscord | <William_CTO> ah |
17:10:58 | FromDiscord | <William_CTO> link? |
17:11:13 | Yardanico | https://plugins.jetbrains.com/plugin/15128-nim |
17:11:23 | Yardanico | but right now it's far from the best available experience for nim |
17:11:32 | Yardanico | for the best experience you'll probably want to run vscode with the nim extension |
17:11:39 | disruptek | neovim is where the best support lands first. |
17:11:39 | Yardanico | and maybe a few more like indent rainbow and guides |
17:12:08 | FromDiscord | <William_CTO> how is neovim the best? What does it offer over vscode/jetbrains? |
17:12:18 | FromDiscord | <Shucks> its vim ;p |
17:12:19 | FromDiscord | <lqdev> - semantic highlighting |
17:12:23 | disruptek | gotodef |
17:12:23 | FromDiscord | <lqdev> - it actually works |
17:12:28 | FromDiscord | <lqdev> - the author knows how to use nimsuggest |
17:12:33 | xioren | lies...all lies |
17:12:39 | FromDiscord | <lqdev> truth* |
17:12:46 | Yardanico | @lqdev is there autocompletion? |
17:12:51 | disruptek | yes. |
17:12:54 | FromDiscord | <lqdev> of course. |
17:13:09 | FromDiscord | <William_CTO> how does that work in vim? |
17:13:19 | FromDiscord | <Shucks> To bad i never got it running. Still stuck on https://github.com/alaviss/nim.nvim/issues/32 |
17:13:20 | disbot | β₯ Highlighting disappears Β² |
17:13:24 | disruptek | hit tab while typing an identifier. |
17:13:37 | FromDiscord | <William_CTO> hmm |
17:13:38 | FromDiscord | <William_CTO> cool |
17:13:51 | disruptek | !repo nim.nvim |
17:13:52 | disbot | https://github.com/baabelfish/nvim-nim -- 9nvim-nim: 11Vim support for nim. 15 53β 15π΄ 7& 3 more... |
17:13:55 | disruptek | there are videos iirc. |
17:14:20 | disruptek | here's a package manager that understands the difference between version "10" and version 10: |
17:14:23 | disruptek | !repo nimph |
17:14:23 | disbot | https://github.com/disruptek/nimph -- 9nimph: 11Nim package hierarchy manager from the future π§ 15 84β 5π΄ 7& 1 more... |
17:14:44 | disruptek | here's a dog that pees like a bitch: |
17:14:45 | disruptek | ~bentley |
17:14:46 | disbot | bentley: 11https://imgur.com/gallery/yEXiWWG -- disruptek |
17:14:46 | disbot | bentley: 11a good boy |
17:15:41 | FromDiscord | <William_CTO> thought there was a bult in pkmgr nimble |
17:16:20 | disruptek | i thought so too, at first. |
17:16:32 | Yardanico | @William it is a part of a standard nim distribution, yes |
17:16:35 | Yardanico | and it's called nimble |
17:16:41 | Yardanico | but there are altnernatives like disruptek's nimph |
17:16:43 | FromDiscord | <Vindaar> disruptek, should have named your dog TVR instead of Bentley if you ask me |
17:16:50 | disruptek | like the car? |
17:16:58 | FromDiscord | <Vindaar> of course π |
17:17:02 | disruptek | my next bitch will be named `chassis`. |
17:17:11 | FromDiscord | <William_CTO> ok well I'm going to be learning several new things already |
17:17:13 | disruptek | i think it's a great name for a dog. |
17:17:19 | * | TomDotTom joined #nim |
17:17:22 | FromDiscord | <William_CTO> I think I'll stick with the standard package manager |
17:17:30 | disruptek | you're going to love it. |
17:17:38 | disruptek | as long as you don't count higher than 10, i mean. |
17:17:55 | FromDiscord | <William_CTO> Also, https://github.com/baabelfish/nvim-nim last commit was 2017. Should I be concerned? |
17:18:04 | disruptek | yes; you're looking at the wrong repo. |
17:18:08 | disruptek | !repo nim.nvim |
17:18:09 | disbot | https://github.com/baabelfish/nvim-nim -- 9nvim-nim: 11Vim support for nim. 15 53β 15π΄ 7& 3 more... |
17:18:15 | disruptek | oh. so am i. |
17:18:19 | disruptek | !repo nvim.nim |
17:18:20 | disbot | https://github.com/baabelfish/nvim-nim -- 9nvim-nim: 11Vim support for nim. 15 53β 15π΄ 7& 3 more... |
17:18:29 | Yardanico | hah |
17:18:32 | disruptek | !repo author:alaviss nim.nvim |
17:18:32 | disbot | no results π’ |
17:18:37 | FromDiscord | <William_CTO> https://github.com/alaviss/nim.nvim |
17:18:38 | landerlo | nvim-lsp is great, very easy to add async very fast tooling around it. Lua integrated support is very nice |
17:18:39 | Yardanico | yes |
17:18:48 | Yardanico | I meant to the repo link |
17:19:04 | disruptek | wtf is going on with github. |
17:19:31 | * | Tuatarian quit (Quit: Quit) |
17:19:53 | disruptek | !repo alaviss/nim.nvim |
17:19:54 | disbot | https://github.com/alaviss/nim.nvim -- 9nim.nvim: 11Nim plugin for NeoVim 15 101β 12π΄ |
17:21:13 | narimiran | Yardanico: there you go, half way there with hacktoberfest :) |
17:21:21 | Yardanico | narimiran: it's actually full already :D |
17:21:25 | Yardanico | i did two PRs to my own nimpylib |
17:21:30 | Yardanico | (yes that's still allowed) |
17:21:32 | narimiran | Yardanico: i thought it might be :) |
17:22:56 | * | lolXDshadhhj joined #nim |
17:23:14 | lolXDshadhhj | hello |
17:23:19 | Yardanico | hallo |
17:23:45 | lolXDshadhhj | hallol |
17:23:46 | * | natrys joined #nim |
17:24:17 | lum | hi |
17:24:50 | lolXDshadhhj | lum: WOW! you are here too |
17:25:18 | lum | lolXDshadhhj: ? |
17:26:03 | lolXDshadhhj | OK, bye |
17:26:33 | lolXDshadhhj | u are cool |
17:26:36 | lolXDshadhhj | lum |
17:26:52 | lolXDshadhhj | but byee |
17:27:00 | * | lolXDshadhhj left #nim (#nim) |
17:27:21 | Vindaar | lum ([email protected]) [18:34], lolXDshadhhj ([email protected]), ehm yeah... not really unexpected given that "conversation" |
17:27:56 | lum | hehehehehe |
17:29:01 | FromDiscord | <lqdev> is there any way i can dump what argument nim passes to `gcc`? |
17:29:09 | FromDiscord | <lqdev> :s/argument/arguments |
17:34:36 | * | nimProgrammer joined #nim |
17:34:57 | FromDiscord | <nikki> @lqdev i think you can see it at the top of the file in the generated C file in nim cache |
17:35:13 | FromDiscord | <nikki> but maybe there's a way to also log it at the command line when building |
17:35:16 | FromDiscord | <lqdev> already found ~/.cache/nim/project_d/project.json |
17:37:58 | nimProgrammer | hello, i have a question: why when i write var a = 10, and then a = "str" the error appears? |
17:38:12 | nimProgrammer | is it a bug? |
17:38:21 | Yardanico | no :) |
17:38:28 | Yardanico | nim is a statically typed language, so a variable can only have one type |
17:38:29 | FromDiscord | <Vindaar> it's a feature π |
17:39:17 | nimProgrammer | lol |
17:39:19 | nimProgrammer | ok |
17:39:44 | FromDiscord | <lqdev> hm, then is there a way of listing all the linked files? |
17:39:46 | FromDiscord | <lqdev> no wait |
17:39:49 | FromDiscord | <lqdev> the linker command |
17:40:29 | FromDiscord | <lqdev> i guess --passL:oijfsi0gsediotgrw9iurw9u8w4et9u4rt works |
17:41:37 | Yardanico | --passL:give_me_all_linked_files_you_stupid_computer |
17:42:22 | nimProgrammer | i was trolling |
17:42:26 | Yardanico | hah |
17:42:50 | FromDiscord | <lqdev> i'm trying to figure out why my binary is linked with pthread enabled |
17:42:57 | FromDiscord | <lqdev> even though --threads:off |
17:43:09 | FromDiscord | <lqdev> and none of my wrappers passes -pthread to the compiler |
17:43:41 | FromDiscord | <Vindaar> can't you `objdump` or similar and check if it contains the corresponding symbol? |
17:43:59 | FromDiscord | <lqdev> what would that help me with? |
17:44:06 | FromDiscord | <lqdev> the binary is a windows binary btw |
17:44:11 | FromDiscord | <Vindaar> oh |
17:44:19 | FromDiscord | <lqdev> dependency walker doesn't reveal much |
17:44:22 | FromDiscord | <Vindaar> No I meant to see whether it tries to load some lib at runtime |
17:44:44 | FromDiscord | <lqdev> it tries to load libwinpthread-1.dll |
17:44:48 | FromDiscord | <lqdev> for no apparent reason |
17:45:33 | FromDiscord | <Vindaar> sent a code paste, see https://play.nim-lang.org/#ix=2AI6 |
17:47:33 | FromDiscord | <Vindaar> ohh, sorry now I get your confusion |
17:47:49 | FromDiscord | <Vindaar> I misread your earlier message as "if" it's linked, instead of "why" |
17:48:05 | FromDiscord | <lqdev> ok wtf, i did --passL:-no-pthread and now it complains about pthread usages in libgcc? |
17:48:10 | FromDiscord | <lqdev> what is libgcc doing in my executable? |
17:54:51 | FromDiscord | <lqdev> ok so doing `--passL:"-Wl,-static -lpthread"` seemed to work |
17:55:10 | FromDiscord | <lqdev> but _why_ does mingw-gcc link to winpthread by default? |
17:56:58 | * | Kiloneie quit (Quit: Leaving) |
17:57:15 | * | Kiloneie joined #nim |
18:00:15 | * | nimProgrammer quit (Remote host closed the connection) |
18:02:43 | jken_ | lmariscal, noticed you have a docking branch in nimgl/imgui. Have you had sucess with that? |
18:08:57 | * | lum quit (Quit: WeeChat 2.8) |
18:17:47 | * | landerlo quit (Remote host closed the connection) |
18:18:53 | * | lum joined #nim |
18:19:36 | * | waleee-cl joined #nim |
18:21:09 | FromDiscord | <Kiloneie> Why are there 2 Araqs ? Anyways @Araq i PMed you on irc a message a few hours back, i don't think you saw it. |
18:26:25 | FromDiscord | <William_CTO> https://github.com/nim-lang/Aporia is this editor any good? |
18:26:40 | disruptek | nope. |
18:27:11 | Yardanico | @William it's been abandoned for quite a long time and needs changes to be compiled on latest Nim :) |
18:27:22 | Yardanico | I have some of them in my fork but even with them aporia crashes quite often |
18:27:29 | FromDiscord | <William_CTO> hm |
18:27:42 | FromDiscord | <William_CTO> So the editors in https://nim-lang.org/faq.html aren't updated? |
18:27:58 | Yardanico | I PRed a change to FAQ just yesterday which removed Aporia from the list :) |
18:27:59 | Yardanico | it was merged today |
18:29:11 | * | madpata joined #nim |
18:30:32 | FromDiscord | <Recruit_main707> is the new intellij plugin there? |
18:30:45 | FromDiscord | <Shucks> https://plugins.jetbrains.com/plugin/15128-nim/versions |
18:31:37 | FromDiscord | <Shucks> Just tried to install it into pycharm |
18:31:51 | * | rockcavera quit (Remote host closed the connection) |
18:34:13 | Yardanico | made an introductory arc/orc post (posted english versions on dev.to and habr already) https://forum.nim-lang.org/t/6925 |
18:34:29 | madpata | @Shucks how well did it work? |
18:34:39 | * | Vladar quit (Quit: Leaving) |
18:35:29 | FromDiscord | <Shucks> Still trying to figure out how to activate the plugin for my project lol |
18:35:37 | FromDiscord | <Shucks> Still thinks its python |
18:38:56 | * | Kiloneie quit (Quit: Leaving) |
18:39:14 | * | Kiloneie joined #nim |
18:40:09 | * | gmaggior joined #nim |
18:40:29 | * | lritter quit (Quit: Leaving) |
18:42:04 | * | TomDotTom quit (Ping timeout: 272 seconds) |
18:43:22 | * | rockcavera joined #nim |
18:43:30 | * | vil0x_ joined #nim |
18:44:55 | * | rockcavera quit (Read error: Connection reset by peer) |
18:45:25 | * | rockcavera joined #nim |
18:45:48 | disruptek | that's about where i am with nim. |
18:46:14 | * | vil0x_ quit (Client Quit) |
18:49:32 | FromDiscord | <patasuss> Would it be possible to change the repository url of an existing nimble package? |
18:49:33 | FromDiscord | <patasuss> The owner of the ncurses wrapper package isn't active anymore and the package .nimble file throws errors because of the 'name' attribute. |
18:49:48 | disruptek | yep. |
18:50:35 | FromDiscord | <patasuss> Just a pull request changing the URL or is there some more ceremony? |
18:50:44 | disruptek | nah. |
18:50:53 | disruptek | a PR is sufficient. |
18:51:13 | FromDiscord | <patasuss> thanks for the info, gonna create a fork then. |
18:51:33 | disruptek | i would recommend not forking. |
18:51:56 | FromDiscord | <patasuss> why? |
18:52:12 | FromDiscord | <patasuss> btw, i meant forking the nim-ncurses repo |
18:52:28 | Yardanico | nonono, you fork the nim-lang/packages repo and do the changes there |
18:52:29 | disruptek | i started maintaining criterion in a fork but it meant that the bot ignored it. i could have fixed the bot, but not having a fork actually makes it clearly that yours is the "upstream". |
18:52:33 | Yardanico | !repo nim-lang/packages |
18:52:33 | disbot | https://github.com/nim-lang/packages -- 9packages: 11List of packages for Nimble 15 247β 433π΄ 7& 4 more... |
18:52:42 | Yardanico | if the author is inactive for a long time you can take over packages |
18:52:46 | disruptek | yeah, we're talking about git right now. |
18:52:50 | Yardanico | fork the package itself, and then make a PR to packages repo |
18:53:20 | disruptek | when you merely take the git repo and push it to github, you still preserve the history and the original creator is represented correctly, etc. |
18:53:33 | disruptek | so, that's what i'd recommend. i ended up doing this with criterion and cps. |
18:58:10 | * | lum quit (Quit: WeeChat 2.8) |
18:58:30 | Yardanico | well that's what forking does, yeah |
18:58:40 | disruptek | nah. |
18:58:44 | Yardanico | wdym? |
18:58:48 | Yardanico | forking on github saves all of the history |
18:58:55 | disruptek | well, i tried to explain it above. scroll back. |
18:58:57 | Yardanico | also you can then remove the fork status by contacting github support |
18:59:10 | Yardanico | so your point about fork doesn't stand |
18:59:26 | Yardanico | To detach the fork and turn it into a standalone repository on GitHub, contact GitHub Support or GitHub Premium Support. If the fork has forks of its own, let GitHub Support know if the forks should move with your repository into a new network or remain in the current network. For more information, see "About forks." |
18:59:30 | Yardanico | https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-your-github-profile/why-are-my-contributions-not-showing-up-on-my-profile#commit-was-made-in-a-fork |
18:59:42 | Yardanico | I've did this once |
18:59:46 | Yardanico | done* |
18:59:53 | disruptek | there's no point. you can just git push in this case. |
19:00:01 | disruptek | do what you want. |
19:00:10 | disruptek | it's just my recommendation, having done this a couple times. |
19:00:24 | Yardanico | yeah, I agree that there would be not much difference between forking + contacting github support vs creating a new repo and copying all git history |
19:00:36 | Yardanico | it's good that there are multiple ways to choose from :) |
19:00:44 | disruptek | yeah, great. |
19:12:31 | FromDiscord | <Avatarfighter> would anyone know if there is an RSA library that allows me to supply my own public exponent and modulus? |
19:14:12 | leorize[m] | nimcrypto can do rsa, right? |
19:14:30 | FromDiscord | <lqdev> is it possible to turn a callback-style iterator to a nim-style iterator? |
19:14:33 | leorize[m] | also you can't just use a random number, use one of the audited ones :p |
19:14:36 | FromDiscord | <lqdev> the problem is that i cannot yield in the callback |
19:14:48 | FromDiscord | <lqdev> because the callback's not an iterator |
19:15:28 | leorize[m] | you're wrapping some wicked C lib? |
19:15:49 | FromDiscord | <lqdev> yup. |
19:15:50 | FromDiscord | <Avatarfighter> leorize: I'm not using my numbers π I'm "porting" java code to nim atm lol |
19:16:00 | leorize[m] | @lqdev maybe just write a macro that transform an iterator into a callback function |
19:16:17 | FromDiscord | <lqdev> hey yea for loop macros could work technically |
19:16:24 | FromDiscord | <lqdev> but they're a bit overkill aren't they |
19:16:40 | leorize[m] | well either that or it won't work |
19:16:58 | leorize[m] | iterators only work if you have control over the iteration |
19:19:26 | FromDiscord | <lqdev> i'll just stick with my callback-style iterators. |
19:19:40 | leorize | it's not too hard tbh |
19:20:02 | FromDiscord | <lqdev> ik |
19:20:14 | FromDiscord | <lqdev> but honestly i think it's more trouble than it's worth |
19:20:15 | leorize | what's this api you're wrapping? |
19:20:20 | FromDiscord | <lqdev> chipmunk |
19:20:32 | FromDiscord | <lqdev> https://chipmunk-physics.net/release/ChipmunkLatest-API-Reference/group__cp_space.html#ga62eea2b00f5503976ef250a33d4c474a |
19:21:44 | FromDiscord | <lqdev> i feel like introducing for loop macros is going to bring some leaky abstractions and ugly error messages that i'd rather avoid |
19:23:20 | leorize | sure |
19:23:43 | leorize | as long as the loop body can be a closure I don't think anyone will complain |
19:24:51 | FromDiscord | <lqdev> yea i specifically abstracted the closure pain away |
19:25:10 | FromDiscord | <lqdev> so you just do `space.eachBody do (body: Body): ...` and it works fine |
19:25:58 | leorize | you literally just solved the biggest problem with auto conversions from for loop macros :P |
19:26:04 | leorize | via* |
19:26:33 | FromDiscord | <lqdev> wdym auto conversions? |
19:26:45 | leorize | for-loop to callback |
19:26:52 | leorize | but `return` is a problem so maybe not |
19:27:09 | leorize | I think your way work fine |
19:27:45 | FromDiscord | <lqdev> yea i don't think it's gonna cause too many problems in practice |
19:28:00 | FromDiscord | <lqdev> maybe it's not as readable as a for loop but you don't use it very often either |
19:30:39 | leorize | true |
19:35:51 | * | landerlo joined #nim |
19:36:24 | * | narimiran quit (Quit: leaving) |
19:39:32 | FromDiscord | <tinygiant> Is this the appropriate forum/channel to ask questions about nim coding issues? If not, where to? The nim forums aren't allowing me to post (need to verify email and it won't send the email). Thanks! |
19:39:53 | FromDiscord | <lqdev> yeah feel free to ask questions here |
19:40:12 | * | TomDotTom joined #nim |
19:40:24 | Yardanico | @tinygiant what is your forum nickname? |
19:40:27 | Yardanico | I can manually approve it |
19:40:50 | Yardanico | nim forum uses it's own mail server so some email providers might block it or send to the "spam" folder |
19:43:17 | Yardanico | ah, nvm, you seem to have the same nickname as here, @tinygiant I approved your forum profile :) |
19:46:10 | FromDiscord | <j$> do the seq and string types have implicit gc? if I wanted to completely avoid garbage collection would I have to not use these? |
19:46:34 | FromDiscord | <lqdev> yes. |
19:46:43 | FromDiscord | <lqdev> but you do *not* want to avoid garbage collection in nim |
19:46:45 | Yardanico | Well yes, they are managed by the runtime, but really you shouldn't worry about "GC "too much |
19:46:57 | * | lum joined #nim |
19:47:07 | Yardanico | with new ARC you can have all advantages of automatic memory management without the bad sides :) |
19:47:30 | * | lum quit (Client Quit) |
19:47:44 | * | lum joined #nim |
19:47:47 | FromDiscord | <j$> it's not for practical application dev, I'm just trying to test my understanding of memory so not using gc would be helpful, I don't really want to go the c to do that |
19:47:51 | * | lum quit (Client Quit) |
19:48:03 | Yardanico | well, you can always go full-on manual memory management in nim if you want |
19:48:05 | FromDiscord | <j$> (edit) 'the' => 'to' |
19:48:11 | * | lum joined #nim |
19:48:13 | Yardanico | but then you won't be able to use a lot of the standard types |
19:48:17 | Yardanico | like string/seq/most of the stdlib |
19:48:19 | * | lum quit (Client Quit) |
19:48:23 | Yardanico | well you will be able to, but they'll leak |
19:48:23 | FromDiscord | <tinygiant> Thanks! |
19:48:36 | * | lum joined #nim |
19:48:38 | Yardanico | you can still use --gc:arc and do your own manual memory management while the compiler will take care of standard types |
19:48:44 | * | lum quit (Client Quit) |
19:48:59 | * | lum joined #nim |
19:49:06 | * | lum quit (Client Quit) |
19:49:31 | FromDiscord | <j$> what is the state of arc, I haven't check on it in a while |
19:49:35 | FromDiscord | <j$> done? |
19:49:42 | leorize | pretty much |
19:49:49 | leorize | it's shipping with the upcoming 1.4 |
19:50:28 | leorize | ~memory |
19:50:28 | disbot | memory: 11The Nim memory model: https://zevv.nl/nim-memory/ -- leorize |
19:50:43 | Yardanico | zevv also started http://zevv.nl/nim-memory/nim-arc.html |
19:50:44 | FromDiscord | <j$> yeah i've read this a few times |
19:50:55 | Yardanico | you can also read https://dev.to/yardanico/what-are-arc-and-orc-in-nim-3191 :P |
19:52:42 | FromDiscord | <j$> yeah I just remember reading it and sink, constructors and deconstructors went right over my head |
19:52:50 | FromDiscord | <j$> maybe it's time for round two later |
19:53:29 | Zevv | i never finished https://zevv.nl/nim-memory/nim-arc.html :( |
19:53:48 | leorize | do some manual memory management and you will get the gist of sink/destructors soon enough :p |
19:54:15 | FromDiscord | <j$> that's what im thinking |
19:54:29 | * | xioren quit (Quit: leaving) |
19:54:39 | * | landerlo quit (Ping timeout: 245 seconds) |
19:54:44 | leorize | write your experiments with `--gc:arc -d:useMalloc` so that the parts of Nim that needs GC would still be working, and you have `valgrind` to help catch leaks |
19:55:18 | FromDiscord | <j$> alloc and dealloc use gc? |
19:55:32 | leorize | nope |
19:55:46 | leorize | `create` also don't use gc |
19:56:00 | leorize | in Nim if something outputs `ptr T`, it's not using GC |
19:56:09 | leorize | if it outputs `ref T`, that's GC-ed |
19:56:20 | FromDiscord | <j$> yeah, I already avoid ref |
19:56:42 | TomDotTom | Is there any in nim to control the gc, maybe like pythons `gc.diable()` / `gc.enable()` ? |
19:56:56 | FromDiscord | <mratsim> don't use a GC-ed type |
19:57:05 | FromDiscord | <mratsim> i.e. don't use ref types |
19:57:09 | leorize | there's a proc for that, but it's kinda pointless |
19:57:13 | FromDiscord | <mratsim> or compile with gc:none |
19:57:19 | FromDiscord | <mratsim> well gc:destructors |
19:57:27 | leorize | with the new runtime coming with `--gc:arc` seq and strings will no longer use the GC |
19:57:56 | leorize | (not that Nim's seq and string semantic ever needed the gc) |
19:58:21 | FromDiscord | <j$> what is gc destructors |
19:58:25 | FromDiscord | <lqdev> TomDotTom: https://nim-lang.org/docs/system.html#GC_disable |
19:58:34 | FromDiscord | <lqdev> @j$ backend for ARC and ORC |
19:58:40 | TomDotTom | Thx lqdev |
19:58:55 | * | superbia joined #nim |
19:59:06 | FromDiscord | <mratsim> gc destructors is scoped memory management, i.e. like C++ |
19:59:26 | leorize | gc destructors hooks are never finalized and stablized iirc |
19:59:45 | FromDiscord | <mratsim> =destroy and =sink and even = assignment works for me |
19:59:56 | leorize | I mean the hooks for memory management |
20:00:21 | leorize | araqsgc is one of the only module to hook into gc:destructors |
20:00:25 | FromDiscord | <mratsim> ah right |
20:00:30 | leorize | but he never developed it further |
20:00:50 | Yardanico | yeah, he updated the readme 25 days ago :) now it's officially abandoned :P |
20:01:04 | leorize | it's now --gc:arc :P |
20:01:08 | leorize | except that he ditched mimalloc |
20:01:14 | FromDiscord | <mratsim> well you can use the =destroy and =sink to build your own memory management scheme, for example I use those to build atomic refcounting for threadsafe memory management: https://github.com/mratsim/weave/blob/master/weave/cross_thread_com/flow_events.nim#L176-L201 |
20:01:42 | FromDiscord | <mratsim> Mimalloc is still interesting for its fragmentation property on long running apps |
20:01:58 | leorize | how is it compared to nim's tslf? |
20:02:40 | leorize | iirc the only problem with our tslf implementation is that it rarely release the memory back to the os |
20:03:05 | leorize | a property that was done to reduce the performance hit by the gc |
20:03:18 | * | nature joined #nim |
20:03:44 | leorize | but since we're getting to arc now 4raq already said we can try making the allocator release memory more often |
20:06:23 | FromDiscord | <nikki> are closures implicitly ref types? |
20:06:33 | leorize | yes |
20:07:27 | FromDiscord | <mratsim> I create my own closures in Weave on top of a threadsafe mempool |
20:07:38 | FromDiscord | <Avatarfighter> i hate rsa |
20:07:44 | FromDiscord | <Avatarfighter> well more java but rsa too |
20:08:02 | FromDiscord | <Avatarfighter> `Cipher instance = Cipher.getInstance("RSA/ECB/PKCS1PADDING");` this makes me cry |
20:08:09 | FromDiscord | <mratsim> what happened? Not that I like it too, I prefer elliptic curves |
20:08:21 | Yardanico | iirc java has "var" since like 2016 @Avatarfighter |
20:08:23 | FromDiscord | <mratsim> oh, that's because Java doesn't have enums |
20:08:35 | leorize | @mratsim do you have an automated environment lifting macro? |
20:08:51 | FromDiscord | <Avatarfighter> @mratsim some stupid sdk is using rsa to encrypt their secret key + IV for AES and I want to port it to nim but I am bad at cryptography lmao |
20:08:52 | FromDiscord | <mratsim> do you want a simple or complex version? |
20:09:39 | leorize | just asking :P something that lets you plug your own container type (ie. ptr[T], ref[T], seq[T]) I guess? |
20:09:48 | FromDiscord | <mratsim> RSA-OAEP is still quite wiely used |
20:10:19 | leorize | I may try to make something like `SecureRef[T]` based on libsodium secure memory thingy |
20:11:06 | FromDiscord | <mratsim> 6-lines env packer for cross thread calls: https://github.com/mratsim/blocksmith/blob/master/cross_service_calls.nim#L164-L169 |
20:12:15 | FromDiscord | <Avatarfighter> I need to parse ASN.1 structures so i can extract the modulus and pub exponent from public keys and then I need to find an rsa lib that will let me plug in my own numbers which is none existent in nim from what I see or i need to find a lib that lets me feed a X509 Encoded public key to then use for rsa lol |
20:12:18 | FromDiscord | <mratsim> Weave is a bit more complex but same principle, a buffer with sufficient size for all intent and purpose and you =sink into it |
20:12:23 | * | luis joined #nim |
20:12:29 | FromDiscord | <lqdev> @mratsim java *does* have enums tho |
20:12:39 | FromDiscord | <Avatarfighter> leorize: have you seen memguard for golang? |
20:12:45 | FromDiscord | <mratsim> Use nim-bearssl, look into nim-libp2p for how to parse ASN.1 and use RSA |
20:12:50 | FromDiscord | <Avatarfighter> https://github.com/awnumar/memguard |
20:12:54 | FromDiscord | <Avatarfighter> @mratsim ily |
20:13:08 | FromDiscord | <Avatarfighter> i didn't realize libp2p was using rsa |
20:13:10 | FromDiscord | <mratsim> https://github.com/status-im/nim-libp2p/tree/master/libp2p/crypto |
20:13:15 | FromDiscord | <mratsim> also security audited π |
20:13:27 | leorize | @Avatarfighter it's a bit overkill |
20:14:05 | FromDiscord | <Avatarfighter> psh who needs security audited code anyways |
20:14:26 | FromDiscord | <mratsim> @Avatarfighter you might be interested in: https://github.com/status-im/nimbus-eth2/issues/545#issue-522203281 and https://github.com/status-im/nimbus-eth2/issues/563 |
20:14:27 | disbot | β₯ Hardened memory allocator |
20:14:48 | FromDiscord | <mratsim> hopefully people will use Nimbus to secure a couple hundreds of thousands of funds |
20:15:01 | FromDiscord | <Avatarfighter> Nimbus is a really cool project |
20:15:21 | FromDiscord | <Avatarfighter> Knowing that a whole ethereum node will one day run on Nim makes me excited for the future of the language as a whole lol |
20:15:58 | FromDiscord | <mratsim> It also means that Nim will have state of the art cryptography and networking which is super important for cloud services for example. |
20:16:05 | FromDiscord | <Avatarfighter> yeah exactly |
20:16:11 | FromDiscord | <Avatarfighter> and I will be happy the whole time because it means that |
20:16:22 | FromDiscord | <Avatarfighter> whoops |
20:16:33 | FromDiscord | <Avatarfighter> it means that I will be able to use audited code not written by myself lmao |
20:17:23 | FromDiscord | <dom96> I'm more pessimistic here |
20:17:52 | Yardanico | btw, need to fix this styling issue |
20:18:05 | Yardanico | blob:https://imgur.com/187767c5-4c52-43ad-ac21-9ca32914b892 |
20:18:06 | FromDiscord | <dom96> State of the art networking won't save me if every other code depends on stdlib's networking |
20:18:08 | Yardanico | https://i.imgur.com/Q5FJqm9.png |
20:18:16 | Yardanico | https://i.imgur.com/x5RyDYu.png |
20:18:24 | FromDiscord | <Avatarfighter> just gotta make the stdlib state of the art π€ \ |
20:18:27 | Yardanico | I'm not sure why no one noticed it :) |
20:18:42 | * | xioren joined #nim |
20:19:04 | leorize | @mratsim what's status opinion on #8363? I believe there would be some incentive to work on this as you're interested in embedded stuff? |
20:19:05 | disbot | https://github.com/nim-lang/Nim/issues/8363 -- 3Rework Nim's exception handling ; snippet at 12https://play.nim-lang.org/#ix=27OQ |
20:19:24 | leorize | or are you just gonna use Result[T] :P |
20:19:34 | FromDiscord | <Avatarfighter> disbot is officially the coolest bot i've ever seen |
20:20:03 | FromDiscord | <Avatarfighter> Random question but does anyone here have experience with PCI Compliant systems and/or is a PCI Compliance Officer π |
20:20:08 | leorize | @dom96 we can port stuff over to the stdlib, it's not like stdlib networking is that bad |
20:21:38 | FromDiscord | <dom96> indeed, the stdlib networking is already state of the art π |
20:21:45 | FromDiscord | <Avatarfighter> π |
20:21:58 | leorize | I wish I could say the same for stdlib async :P |
20:22:09 | FromDiscord | <Avatarfighter> stdlib async is nice imo |
20:22:21 | FromDiscord | <mratsim> We use Result. Had a call with auditors as well today, they really want to ensure that all exceptions are handled and so "raises: []" or Result everywhere |
20:22:23 | FromDiscord | <Avatarfighter> i haven't had any breaking issues with it yet lol |
20:23:01 | FromDiscord | <dom96> leorize: that is literally what networking means π |
20:23:46 | FromDiscord | <dom96> @mratsim let's hope Nim's `raises` implementation has no security holes π |
20:23:54 | xioren | is there a way to get the directory the binary resides in at runtime? as apposed to the dir the binary is _ran from_ (cwd). |
20:24:05 | leorize | Nim's `raises` does not filter Defect fwiw |
20:24:13 | * | TomDotTom quit (Ping timeout: 264 seconds) |
20:24:16 | leorize | xioren: os.getCurrentDir() iirc |
20:25:11 | leorize | @mratsim: so why are they against exceptions? |
20:25:17 | xioren | that give the dir the binary is ran from. |
20:25:21 | xioren | gives* |
20:25:31 | leorize | xioren: that should get you the cwd |
20:25:53 | FromDiscord | <Avatarfighter> isn't there getAppDir()? |
20:25:57 | xioren | right, for me the cwd =/= the dir the binary is in |
20:26:09 | FromDiscord | <Avatarfighter> https://nim-lang.org/docs/os.html#getAppDir |
20:26:12 | FromDiscord | <Avatarfighter> xioren ^ |
20:26:29 | xioren | ah that look promising thanks |
20:26:32 | xioren | looks* |
20:26:56 | FromDiscord | <Avatarfighter> finally I'm more knowledgeable than leorize π |
20:27:27 | FromDiscord | <Avatarfighter> new nimion coming through π |
20:27:55 | Yardanico | wow |
20:28:01 | Yardanico | much skill |
20:28:04 | Yardanico | very nimion |
20:28:05 | FromDiscord | <Avatarfighter> ahaha |
20:28:15 | FromDiscord | <Avatarfighter> Watch out yard I'm coming for your spot π |
20:28:35 | FromDiscord | <patasuss> Never heard of nimion, gotta remember that |
20:29:17 | FromDiscord | <lqdev> i think disruptek came up with the name and some people are just using it because it sounds fun :) |
20:29:43 | Yardanico | yeah |
20:29:48 | bung | when socket recv data contains 0 is there a problem? |
20:30:04 | FromDiscord | <Avatarfighter> what protocol ? |
20:30:29 | bung | mysql |
20:30:38 | FromDiscord | <nikki> how does choosenim interact with installed packages? if i choosenim a different nim, should i uninstall and reinstall everything? currently my only globally installed package is 'nimlsp' (and its dependencies) |
20:30:40 | FromDiscord | <Avatarfighter> is the socket tcp ? |
20:30:52 | FromDiscord | <nikki> (just switched from stable to devel so that i can see the new stuff in arc) |
20:31:07 | FromDiscord | <Avatarfighter> From my experience tcp sockets yield zero data when the connection on one end was closed bung |
20:31:19 | disruptek | nikki: i don't think choosenim changes your installation of nimble packages. |
20:31:21 | Yardanico | @nikki well, nim packages are source-only, so you don't need to change them |
20:31:29 | Yardanico | but you might want to recompile nimlsp |
20:31:33 | Yardanico | so it uses your new compiler's installation |
20:31:39 | FromDiscord | <dom96> @nikki nimlsp compiles statically against some compiler version AFAIK |
20:31:50 | FromDiscord | <nikki> yeah; i figured for nimlsp since it's for analyzing nim code, maybe it matters? idk |
20:31:51 | Yardanico | yeah, it uses nimsuggest as a library which uses compiler as a library :) |
20:31:55 | FromDiscord | <dom96> (It would be nice if it called nimsuggest as a process instead... but alas) |
20:32:34 | FromDiscord | <dom96> yeah, in fact I would report this as a bug. Maybe PMunch can comment now if he's here, but otherwise we should discuss this in an issue tracker for nimlsp |
20:33:00 | bung | @Avatarfighter I intent to get data contains 0 |
20:34:17 | FromDiscord | <Avatarfighter> Are you able to see if MySQL killed the socket connection ? Maybe the data you sent was incorrectly packed ? |
20:35:25 | bung | data sent is correct, and I use withTimeout 30s , it alwasy timeout |
20:35:36 | bung | the data like [5, 0, 0, 0, 0, 0, 0, 2, 116, 101, 115, 116] |
20:36:20 | FromDiscord | <Avatarfighter> I wont lie, this is tricky for me to think of what could be the issue because I don't have experience with MySQL π |
20:36:35 | bung | I need read first 7 bytes |
20:38:29 | disruptek | lqdev: you should really look at cps. |
20:39:12 | FromDiscord | <Avatarfighter> bung: Sorry I have no clue why your issue is happening, maybe someone else knows :L |
20:42:34 | bung | that's ok, I just need write some code debuging it I think |
20:45:06 | * | TomDotTom joined #nim |
20:55:24 | * | luis quit (Quit: luis) |
20:55:43 | * | solitudesf quit (Ping timeout: 260 seconds) |
20:55:45 | * | luis joined #nim |
20:58:54 | * | luis quit (Client Quit) |
20:59:11 | * | luis joined #nim |
21:08:29 | disruptek | bung: sockets should recv 0 just fine. |
21:09:21 | disruptek | it's probably their favorite value, honestly. |
21:09:35 | * | TomDotTom quit (Ping timeout: 265 seconds) |
21:10:12 | FromDiscord | <nikki> does nimsuggest / nimlsp not complete local definitions for anyone else? eg: https://media.discordapp.net/attachments/371759389889003532/766045213151461407/unknown.png |
21:10:25 | FromDiscord | <nikki> (if i do this at the top-level, not in a `block:`, it completes `fooDef` fine) |
21:11:27 | disruptek | good point. that seems like it should work, leorize. |
21:12:50 | * | FromDiscord quit (Remote host closed the connection) |
21:13:05 | * | FromDiscord joined #nim |
21:13:49 | bung | disruptek ok, let me try just increment the timeout seconds |
21:14:45 | disruptek | somewhere in the world there's a socket just aching for my scissors. |
21:15:08 | disruptek | probably more than one. |
21:18:17 | bung | is that a joke? I dont understand |
21:20:33 | * | FromDiscord quit (Remote host closed the connection) |
21:20:47 | * | FromDiscord joined #nim |
21:21:06 | bung | am I doing right ? https://play.nim-lang.org/#ix=2AJx alwasy time out |
21:21:14 | FromDiscord | <Yardanico> for discord people: don't be confused, there's a temporary discord API issue right now, so webhooks can "lose" the nickname from irc like disruptek became "Captain Hook" |
21:21:30 | disruptek | how'd you know about that, anyway? |
21:21:35 | Yardanico | about the issue? |
21:21:43 | disruptek | about my curvey penis. |
21:21:55 | FromDiscord | <Yardanico> https://i.imgur.com/paAoeZp.png |
21:22:08 | FromDiscord | <Yardanico> https://i.imgur.com/kg5V2JO.png |
21:22:22 | Yardanico | we are all captain hook now |
21:23:01 | FromDiscord | <patasuss> Really? |
21:23:08 | Yardanico | yes, discord webhook api issue |
21:23:13 | Yardanico | I'm yardanico btw :) |
21:23:24 | disruptek | we know and we don't care. |
21:23:37 | Yardanico | i'm a bit uncomfortable sharing the same identity as you :P |
21:23:40 | Yardanico | feels like schizophrenia |
21:23:45 | Yardanico | but it can be good too |
21:26:51 | * | TomDotTom joined #nim |
21:27:11 | FromDiscord | <dom96> lol wtf is going on with Discord bridge |
21:27:21 | Prestige | It's burning |
21:28:13 | FromDiscord | <Yardanico> @dom96 it's actually not caused by the bridge :) check out <#456504845642235914> |
21:28:25 | FromDiscord | <Yardanico> it's an discord-side issue with webhooks |
21:29:14 | FromDiscord | <dom96> ahh, sorry, didn't mean to blame your software π |
21:29:36 | FromDiscord | <Yardanico> it's fine, I know ircord itself is very far from perfect :D i thought it was an issue in ircord at first too |
21:29:56 | * | noonien quit () |
21:30:07 | FromDiscord | <dom96> pretty funny outage heh |
21:35:04 | * | natrys quit (Ping timeout: 246 seconds) |
21:35:30 | * | natrys joined #nim |
21:35:39 | * | natrys quit (Client Quit) |
21:38:13 | * | madpata quit (Ping timeout: 246 seconds) |
21:48:20 | * | Kiloneie quit (Quit: Leaving) |
21:57:10 | FromDiscord | <Avatarfighter> I hate java |
21:57:31 | FromDiscord | <Avatarfighter> Does anyone know what mode `KeyGenerator.getInstance("AES")` could be |
21:58:21 | FromDiscord | <Avatarfighter> nvm |
21:58:34 | FromDiscord | <Avatarfighter> thank goodness search engines are a thing |
21:58:57 | * | luis quit (Quit: luis) |
21:59:13 | * | luis joined #nim |
22:02:46 | * | luis quit (Client Quit) |
22:10:57 | * | ormiret quit (Ping timeout: 272 seconds) |
22:12:09 | * | ormiret joined #nim |
22:13:03 | disruptek | how come you can only make omelettes with eggs? this is bullshit. |
22:15:23 | FromDiscord | <Avatarfighter> wym |
22:15:51 | TomDotTom | What were you hoping to make an omlette from if not eggs? |
22:17:04 | FromDiscord | <Avatarfighter> You dont use eggplants for your omelettes? |
22:17:17 | FromDiscord | <Avatarfighter> where else do your eggs grow? |
22:17:54 | TomDotTom | Etymology seems to indicate that it used to mean "flat like a plate", so you might be within your rights to start calling your pancakes omlettes |
22:18:33 | * | euantorano quit (Ping timeout: 272 seconds) |
22:18:49 | FromDiscord | <Avatarfighter> thank god |
22:19:29 | FromDiscord | <Avatarfighter> i've been wondering if my plate could be an omelette and you've convinced me |
22:20:00 | TomDotTom | Glad to help, let us know how it tastes, and it you have any teeth left after your meal. |
22:20:12 | * | euantorano joined #nim |
22:20:40 | FromDiscord | <Avatarfighter> I will after I fit my dentures |
22:35:25 | FromDiscord | <aooo> Does anyone here have any experience with using colors in the terminal for nim? I'm trying to use proc ansiBackgroundColorCode with a hex code, but it keeps giving me an error. |
22:35:43 | * | TomDotTom quit (Ping timeout: 258 seconds) |
22:37:29 | Yardanico | well, it's easier to use styledEcho |
22:37:46 | Yardanico | sorry, styledWrite * |
22:37:59 | Yardanico | but ansiBackgroundColorCode expects a "Color" type from "colors" module in stdlib |
22:38:31 | * | gmaggior quit (Quit: Leaving) |
22:38:42 | FromDiscord | <aooo> I just want to use a hex color code to set the background color. Is that possible? |
22:39:13 | FromDiscord | <Yardanico> yes |
22:40:12 | FromDiscord | <aooo> Could you please give me an example how I would do that? |
22:40:42 | FromDiscord | <Yardanico> yeah, wait a bit |
22:41:06 | FromDiscord | <aooo> sure |
22:41:26 | FromDiscord | <Yardanico> sent a code paste, see https://play.nim-lang.org/#ix=2AJV |
22:42:11 | FromDiscord | <Yardanico> sent a code paste, see https://play.nim-lang.org/#ix=2AJW |
22:42:47 | FromDiscord | <Yardanico> sent a code paste, see https://play.nim-lang.org/#ix=2AJX |
22:45:44 | FromDiscord | <aooo> Awesome. Your first example worked. You were a huge help man. Why are the other two easier than the first? |
22:46:03 | FromDiscord | <Yardanico> because they're shorter to write :) |
22:46:12 | FromDiscord | <aooo> cool |
22:46:21 | FromDiscord | <aooo> Well thanks again man |
22:48:34 | * | NimBot joined #nim |
22:49:24 | * | luis joined #nim |
22:51:43 | FromDiscord | <aooo> What's weird is how your first example worked as intended, but the other two just gave me a regular echo back without any color to it. |
22:51:59 | FromDiscord | <aooo> wait. nevermind |
22:52:28 | FromDiscord | <aooo> nevermind on that nevermind. It didn't do anything other than echo back. |
22:53:38 | * | madpata joined #nim |
22:58:21 | disruptek | yer blowin' my mind right now. |
22:59:30 | disruptek | how can it be that vanilla oreos are a thing? this seems like double-sided duct tape or something similarly blasphemous. |
23:00:05 | Yardanico | you reminded me of |
23:00:05 | Yardanico | https://www.youtube.com/watch?v=XD7QgZX6jcI |
23:04:29 | FromDiscord | <aooo> @Yardanico Why does your first example change the prompt color and why does it give a blank space for the first line? |
23:07:09 | FromDiscord | <Yardanico> because you also need to disable the ANSI code :) |
23:07:23 | FromDiscord | <Yardanico> change that line to |
23:07:26 | FromDiscord | <Yardanico> echo ansiBackgroundColorCode(Color(0x00FF00)) & "hello!" & ansiResetCode |
23:07:43 | FromDiscord | <Yardanico> https://nim-lang.org/docs/terminal.html#ansiResetCode |
23:09:03 | FromDiscord | <aooo> Also, why is echo necessary? Is that why it gives an extra carriage return? |
23:09:24 | FromDiscord | <Yardanico> it only gives one \n |
23:09:32 | FromDiscord | <Yardanico> if you don't want \n at all, you can use stdout.write instead |
23:09:40 | FromDiscord | <aooo> Thank you. |
23:11:06 | FromDiscord | <aooo> Is it possible to change the background color without echo or stdout.write? Rosettacode didn't use that. https://rosettacode.org/wiki/Terminal_control/Coloured_text#Nim |
23:12:26 | FromDiscord | <Yardanico> that code example uses stdout.write internally |
23:12:39 | FromDiscord | <Yardanico> setForegroundColor and similar procs on linux just output ANSI colour codes |
23:13:02 | FromDiscord | <Yardanico> see at the bottom "f.write" https://media.discordapp.net/attachments/371759389889003532/766076120725717032/unknown.png |
23:13:18 | FromDiscord | <Yardanico> so each of these setForegroundColor/setBackground colour calls stdout.write anyway |
23:13:44 | FromDiscord | <nikki> kind of wondering if i should just never do `type T = ref object ...` in code and just always write `ref T` everywhere (including like `(ref T)(...)` for construction) so that it's clear where refs are in the code |
23:14:00 | FromDiscord | <Yardanico> @nikki it's cleaner to use "ref object" IMO |
23:14:17 | FromDiscord | <Yardanico> but if you use "ref"s only a few times and in all other places don't need it, then specifying ref explicitly might be better I guess |
23:14:22 | FromDiscord | <Yardanico> but these use cases would probably be very rare |
23:14:32 | FromDiscord | <Yardanico> since you can just use "var" if you want to pass a mutable object for example |
23:15:02 | FromDiscord | <nikki> yeah hmm. i've been working on a game engine in C++, and entities are mostly in object pools, but i do have something like ref objects with shared_ptr for 'resources' so that eg. images are kept alive in memory till the last reference to them dies (and they're looked up in a cache by path) |
23:15:11 | FromDiscord | <Clyybber> if you use type T = ref object you can also get the non-ref object by doing T[] |
23:15:45 | * | vicfred joined #nim |
23:16:09 | FromDiscord | <nikki> i'm thinking that ref stuff should mostly happen for resources or for i/o rate callbacks (eg. buttons / ui) and not for actual game data processing which should be value type temporaries kinda stuff but all ultimately held in components in pools |
23:19:43 | * | nature quit (Ping timeout: 246 seconds) |
23:22:12 | FromDiscord | <nikki> the flow analysis stuff for checking moves etc. is really cool, vs. how you don't get help with that in C++ (and you get ... maybe too much help .. in rust) |
23:22:23 | FromDiscord | <nikki> https://media.discordapp.net/attachments/371759389889003532/766078480550068274/unknown.png |
23:22:25 | FromDiscord | <nikki> thanks, nim! |
23:23:06 | * | a_chou joined #nim |
23:23:07 | FromDiscord | <Yardanico> π |
23:24:25 | FromDiscord | <nikki> wonder what the rationale was for the postfix `*` for declaring something as public / exported -- vs. a keyword prefix like `pub` or something -- given that everywhere else nim seems to lean towards keywords vs. punctuation π€ |
23:26:28 | FromDiscord | <Yardanico> oberon |
23:26:30 | FromDiscord | <Yardanico> (edit) |
23:27:03 | FromDiscord | <Yardanico> https://en.wikipedia.org/wiki/Oberon_(programming_language)#Object_orientation see oberon code |
23:27:04 | * | xace quit (Ping timeout: 246 seconds) |
23:27:15 | FromDiscord | <Yardanico> and see how * is used there :) |
23:28:59 | * | xace joined #nim |
23:29:22 | * | a_chou quit (Remote host closed the connection) |
23:29:46 | FromDiscord | <Yardanico> and I think that having a keyword would've been too verbose |
23:33:22 | * | bung quit (Ping timeout: 246 seconds) |
23:41:00 | FromDiscord | <nikki> haha nice. yeah i've used oberon (the OS) in a VM before to explore around |
23:41:21 | FromDiscord | <nikki> yeah maybe it'd be too verbose indeed, esp. since a lot of stuff tends to be exported π€ |
23:41:21 | disruptek | i've used it to frighten children. |
23:41:48 | Yardanico | are they tasty? |
23:41:56 | FromDiscord | <nikki> it's p nice tbh. also fun to play around with lisp machines and plan9 |
23:41:58 | disruptek | depends upon how they are prepared. |
23:43:02 | Yardanico | do you have any favourite recipes? |
23:43:09 | Yardanico | asking for a friend |
23:55:21 | disruptek | i make these black and white sandwiches i call "oreos." |
23:56:03 | disruptek | in the eternal words of huey lewis, they are rich as cream, |
23:56:11 | disruptek | stronger and harder than a bad girl's dream. |
23:56:17 | disruptek | you feel me, bruh? |
23:56:26 | * | luis_ joined #nim |
23:56:37 | Yardanico | disruptek: πππ |
23:56:44 | * | luis quit (Ping timeout: 246 seconds) |
23:56:45 | * | luis_ is now known as luis |