00:02:06 | * | hax-scramper quit (Remote host closed the connection) |
00:02:28 | * | hax-scramper joined #nim |
00:02:41 | * | abm joined #nim |
00:15:08 | * | tane quit (Remote host closed the connection) |
00:20:53 | leorize | lol I broke the acm website |
00:21:06 | leorize | now they won't let me access materials related to ryu |
00:22:11 | leorize | ah no I broke firefox |
00:49:19 | * | zahary quit (Quit: Leaving.) |
00:49:38 | * | zahary joined #nim |
00:50:05 | * | zahary quit (Client Quit) |
00:52:19 | * | krux02 joined #nim |
01:03:15 | * | abm quit (Quit: Leaving) |
01:12:37 | * | freddy92 quit (Read error: Connection reset by peer) |
01:13:04 | * | freddy92 joined #nim |
01:18:47 | disruptek | that would be cool. maybe i head down there on my way out west. |
01:19:31 | * | freddy92 quit (Ping timeout: 260 seconds) |
01:30:34 | * | krux02 quit (Remote host closed the connection) |
02:09:58 | * | chemist69_ joined #nim |
02:13:07 | * | chemist69 quit (Ping timeout: 258 seconds) |
02:21:19 | Demos[m] | is there a way to tell nimble to not do shallow clones? |
02:21:43 | Demos[m] | it's a problem because nimble clones recursivly and shallow clones won't work in many cases for submodules pegged to specific revisions |
02:23:15 | disruptek | i dunno, but nimph does deep clones and has an open ticket on submodules that needs comments. |
02:23:18 | disruptek | !repo nimph |
02:23:20 | disbot | https://github.com/disruptek/nimph -- 9nimph: 11Nim package hierarchy manager from the future 🧚 15 52⭐ 3🍴 7& 1 more... |
02:25:09 | * | jjido quit (Quit: Textual IRC Client: www.textualapp.com) |
02:25:19 | Demos[m] | hnn that could work |
02:29:23 | disruptek | no one has really expressed an opinion on how submodules should work. |
02:29:30 | disruptek | i know clyybber uses them, too. |
02:39:48 | * | my_dude joined #nim |
02:40:07 | Demos[m] | is clyybber a person or another package manager? |
02:40:29 | disruptek | ~clyybber |
02:40:30 | disbot | clyybber: 11[redacted] -- disruptek |
02:40:36 | disruptek | this one is a person. |
02:52:58 | * | Hideki_ joined #nim |
02:54:11 | disruptek | if i want to add nimble's binary directory to my path, on windows, what do i add? |
02:55:50 | FromDiscord_ | <Elegant Beef> *A good OS* |
02:55:51 | FromDiscord_ | <Elegant Beef> 😄 |
02:56:32 | disruptek | yeah, well i'm trying to fix an appveyor ci and i have no idea how to use windows. |
03:02:16 | disruptek | %USERPROFILE%\.nimble\bin; based on sh4slick's stuff. |
03:08:53 | * | endragor joined #nim |
03:10:19 | * | endragor quit (Remote host closed the connection) |
03:26:01 | * | muffindrake quit (Ping timeout: 272 seconds) |
03:27:44 | * | muffindrake joined #nim |
03:37:28 | * | my_dude quit (Quit: ZZZzzz…) |
03:41:20 | * | my_dude joined #nim |
03:42:05 | * | my_dude quit (Client Quit) |
04:00:09 | FromDiscord_ | <Winton> Good to all, I have sold here looking for information |
04:01:42 | * | NimBot joined #nim |
04:02:42 | FromDiscord_ | <Winton> The project has worked for 6 months for mobile, the problem is that everything is fine but with rust it is complicated |
04:03:16 | disruptek | i believe it. |
04:03:19 | FromDiscord_ | <Winton> Mobile OSs are creating |
04:03:37 | FromDiscord_ | <Winton> 100% Nim |
04:03:55 | FromDiscord_ | <Winton> thank you very much then I don't take more of your time |
04:04:09 | disruptek | if you need any help, just ask. |
04:04:21 | disruptek | plenty of experts here who want to see nim succeed. |
04:04:45 | FromDiscord_ | <Elegant Beef> And there are numpties just trying it out |
04:05:28 | FromDiscord_ | <Winton> Yes, they have decided to see the potential of nim since it optimizes a lot and is fast a mini kernel mounted on a cell phone and see if it can run well |
04:06:14 | FromDiscord_ | <Winton> It sounds interesting to me to see OS for mobile device and see how fluid and good it can be |
04:22:53 | * | hax-scramper quit (Quit: Quit) |
04:23:09 | * | hax-scramper joined #nim |
04:39:15 | * | hax-scramper quit (Ping timeout: 260 seconds) |
04:41:56 | * | hax-scramper joined #nim |
04:44:49 | * | hax-scramper quit (Read error: Connection reset by peer) |
04:45:03 | * | hax-scramper joined #nim |
04:46:59 | * | my_dude joined #nim |
04:48:58 | * | rockcavera quit (Remote host closed the connection) |
04:49:04 | * | my_dude quit (Client Quit) |
04:49:32 | * | my_dude joined #nim |
04:49:50 | * | my_dude quit (Client Quit) |
04:50:20 | * | my_dude joined #nim |
04:50:38 | * | my_dude quit (Client Quit) |
04:51:11 | * | my_dude joined #nim |
04:51:25 | * | my_dude quit (Client Quit) |
04:51:55 | * | my_dude joined #nim |
04:52:12 | * | my_dude quit (Client Quit) |
04:52:45 | * | my_dude joined #nim |
04:53:01 | * | my_dude quit (Client Quit) |
04:53:35 | * | my_dude joined #nim |
04:53:47 | * | my_dude quit (Client Quit) |
04:54:25 | * | my_dude joined #nim |
04:54:34 | * | my_dude quit (Client Quit) |
05:11:08 | * | ptdel quit (Remote host closed the connection) |
05:11:58 | * | my_dude joined #nim |
05:19:48 | * | dddddd quit (Ping timeout: 265 seconds) |
05:27:43 | * | nsf joined #nim |
05:50:58 | * | hax-scramper quit (Ping timeout: 255 seconds) |
05:51:32 | * | hax-scramper joined #nim |
06:12:04 | * | marmotini_ joined #nim |
06:14:45 | * | Hideki_ quit (Remote host closed the connection) |
06:16:29 | * | my_dude quit (Quit: ZZZzzz…) |
06:18:00 | * | Hideki_ joined #nim |
06:22:42 | * | narimiran joined #nim |
06:22:43 | * | Hideki_ quit (Ping timeout: 272 seconds) |
06:30:57 | * | chemist69_ quit (Ping timeout: 272 seconds) |
06:31:21 | * | chemist69 joined #nim |
06:33:48 | FromGitter | <gogolxdong> Has this project launched? |
06:34:10 | * | nsf quit (Quit: WeeChat 2.7) |
06:35:32 | FromGitter | <gogolxdong> I'm interested as well. |
06:57:32 | * | Hideki_ joined #nim |
07:08:53 | * | fanta1 joined #nim |
07:15:11 | * | rhenvar quit (Ping timeout: 258 seconds) |
07:24:07 | * | Hideki_ quit (Ping timeout: 255 seconds) |
07:26:12 | * | muffindrake1 joined #nim |
07:26:41 | * | muffindrake quit (Ping timeout: 272 seconds) |
07:32:45 | * | zahary joined #nim |
07:47:43 | * | marmotini_ quit (Remote host closed the connection) |
07:48:31 | * | zahary quit (Quit: Leaving.) |
07:49:42 | * | LER0ever quit (Remote host closed the connection) |
07:50:11 | * | solitudesf joined #nim |
07:51:17 | * | LER0ever joined #nim |
08:00:00 | * | gmpreussner quit (Quit: kthxbye) |
08:01:38 | * | neceve joined #nim |
08:03:11 | * | tane_ joined #nim |
08:05:09 | * | gmpreussner joined #nim |
08:14:14 | * | Trustable joined #nim |
08:17:00 | * | marmotini_ joined #nim |
08:17:06 | * | neceve quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
08:17:33 | * | neceve joined #nim |
08:32:43 | * | marmotini_ quit (Remote host closed the connection) |
08:33:16 | * | marmotini_ joined #nim |
08:33:33 | * | marmotini_ quit (Read error: Connection reset by peer) |
08:33:48 | * | marmotini_ joined #nim |
08:33:53 | * | marmotini_ quit (Remote host closed the connection) |
08:35:18 | * | narimiran quit (Ping timeout: 258 seconds) |
08:35:38 | * | Hideki_ joined #nim |
08:52:44 | * | LER0ever quit (Remote host closed the connection) |
09:00:20 | * | LER0ever joined #nim |
09:01:14 | * | muffindrake1 is now known as muffindrae |
09:03:03 | * | muffindrae is now known as muffindrake |
09:04:19 | * | Hideki_ quit (Ping timeout: 260 seconds) |
09:18:09 | * | lbart quit (Ping timeout: 272 seconds) |
09:22:29 | * | nsf joined #nim |
09:25:54 | * | lbart joined #nim |
09:26:17 | * | hax-scramper quit (Ping timeout: 258 seconds) |
09:27:22 | * | hax-scramper joined #nim |
09:32:06 | * | solitudesf quit (Ping timeout: 240 seconds) |
09:34:15 | * | Hideki joined #nim |
09:34:39 | * | Hideki is now known as Guest10270 |
09:38:56 | * | Guest10270 quit (Ping timeout: 258 seconds) |
09:56:42 | * | lritter joined #nim |
09:57:06 | * | hax-scramper quit (Ping timeout: 240 seconds) |
09:57:32 | * | hax-scramper joined #nim |
09:58:33 | FromDiscord_ | <Rika> how do you guys debug segfaults when itasync? because it's kinda difficult for me to decipher |
09:58:36 | FromDiscord_ | <Rika> ah |
09:58:41 | FromDiscord_ | <Rika> premature enter key |
09:59:06 | FromDiscord_ | <Rika> how do you guys debug segfaults when it's async and uses asyncnet? because it's kinda difficult for me to decipher what the stack trace says |
10:28:36 | Zevv | valgrind |
10:38:32 | * | Hideki joined #nim |
10:38:55 | * | Hideki is now known as Guest53150 |
11:09:17 | FromDiscord_ | <Rika> On windows :( |
11:15:56 | lqdev[m] | dr. memory |
11:18:25 | * | filcuc joined #nim |
11:23:44 | FromDiscord_ | <Recruit_main70007> Has pymod been substituted by Nimpy? |
11:24:29 | FromDiscord_ | <Recruit_main70007> Does it still has the same capabilities? |
11:24:29 | FromDiscord_ | <Recruit_main70007> Such as allowing the usage of numpy arrays? |
11:30:48 | * | solitudesf joined #nim |
11:39:17 | dom96 | Rika: Zevv: lqdev[m]: segfaults or SIGSEGVs? There is a way to read the stack trace, you just need to ignore most of the stuff in asyncnet.nim and read each of the stacktraces to get a clear picture |
11:43:27 | FromDiscord_ | <Rika> uh i think it's latter |
11:43:52 | FromDiscord_ | <Rika> ignoring all asyncnet portions dont give me enough data to infer what's wrong |
11:44:20 | FromDiscord_ | <Rika> the last line shows `nim-1.0.6\lib\pure\asyncnet.nim(229) appeaseSslIter` |
11:49:15 | FromDiscord_ | <Rika> https://hastebin.com/raw/ajunefufew only know that it errors out on a waitFor but i dont know why it does so |
11:53:13 | * | dadada joined #nim |
11:53:36 | * | dadada is now known as Guest29844 |
11:56:44 | FromGitter | <Varriount> Rika:: I'd look at what data is being passed to waitFor. You could temporarily modify the standard library code to print argument values. |
12:01:46 | dom96 | shashlick, should we release choosenim? |
12:02:28 | dom96 | Rika: that's not all the traceback, is it? |
12:02:35 | FromDiscord_ | <Rika> it is |
12:02:38 | * | dddddd joined #nim |
12:02:44 | dom96 | Usually async stack traces show you each stack trace at the point where the futures get the errors |
12:02:47 | FromDiscord_ | <Rika> that's the whole thing printed at least |
12:02:58 | dom96 | so I would expect more than this |
12:03:20 | FromDiscord_ | <Rika> hmm no clue where the rest is |
12:03:30 | dom96 | is your source code on github? |
12:03:40 | dom96 | to be honest it looks like you are calling waitFor from async code |
12:03:41 | FromDiscord_ | <Rika> no |
12:03:42 | dom96 | which is a bad idea |
12:03:52 | FromDiscord_ | <Rika> i do know that |
12:04:05 | FromDiscord_ | <Rika> but i cant say how i'd go about this because discordnim is a clusterfuck imo |
12:04:20 | FromDiscord_ | <Rika> the proc i'm calling waitfor in is sync |
12:04:38 | dom96 | yeah, but then you've got an async proc that calls that proc |
12:04:50 | dom96 | you should only use `waitFor` at the top-level |
12:04:52 | FromDiscord_ | <Rika> yeah |
12:04:55 | dom96 | and only once |
12:05:01 | dom96 | either that or runForever |
12:05:07 | FromDiscord_ | <Rika> i have to do some weird shit again then okay |
12:05:19 | dom96 | why are you using waitFor? |
12:05:25 | dom96 | in that instance? |
12:05:44 | FromDiscord_ | <Rika> uh, since the proc i call it in is sync |
12:05:55 | FromDiscord_ | <Rika> ill see if making it async would actually work hm |
12:10:23 | FromDiscord_ | <Rika> seems like i dont get it anymore |
12:10:53 | FromDiscord_ | <Rika> nevermind i just got it again |
12:11:07 | FromDiscord_ | <Rika> ah it really is waitFor |
12:11:40 | FromDiscord_ | <Rika> ah a waitfor at the top-level is now giving me the issue |
12:12:20 | dom96 | interesting |
12:12:33 | dom96 | happy to take a closer look if you can send me a repro |
12:13:42 | FromDiscord_ | <Rika> the thing i'm working on is pretty complex and i dont know how i'd reduce this |
12:18:02 | dom96 | https://github.com/Krognol/discordnim/blob/master/src/discord.nim#L325 |
12:18:03 | dom96 | *sigh* |
12:18:17 | dom96 | why even use that when it's in a damn async proc? |
12:18:58 | * | Guest29844 is now known as dadada |
12:19:00 | FromDiscord_ | <Rika> i'll edit it on my local version |
12:19:03 | dadada | hi |
12:19:09 | FromDiscord_ | <Recruit_main70007> sup |
12:19:16 | FromDiscord_ | <Rika> and isnt this like 2 year old code xd |
12:19:27 | FromDiscord_ | <Rika> no clue what krognol was doing then |
12:19:30 | dadada | this writeup on Nim is too good for beginners for it not to be in the docs section of the Nim website: |
12:19:33 | dadada | https://totallywearingpants.com/posts/nim-language-highlights/ |
12:19:38 | dadada | really nice for beginners |
12:20:00 | dom96 | Rika: to be fair, the code isn't too bad |
12:20:17 | dadada | it should be here: https://nim-lang.org/learn.html |
12:20:31 | dadada | there are some similar once already, but the more the merrier? |
12:20:32 | dom96 | at least there isn't any `addr` and `ptr` usage as far as I can see |
12:20:38 | dadada | s/once/ones |
12:20:38 | FromDiscord_ | <Rika> dom96 it really isnt |
12:20:41 | FromDiscord_ | <Rika> there is dom |
12:20:43 | FromDiscord_ | <Recruit_main70007> dadada: this looks just what i need to get into templates and macros |
12:20:53 | dom96 | Rika: where? |
12:20:58 | FromDiscord_ | <Rika> somewhere with "handler" in it uses `pointer` but not `ptr` i dont think tho |
12:21:14 | FromDiscord_ | <Rika> is `pointer` okay? |
12:21:34 | dom96 | wtf, that's even worse lol |
12:22:27 | FromDiscord_ | <Rika> no clue regards the difference tbh |
12:22:36 | FromDiscord_ | <Rika> he uses it for storing procs with different arguments |
12:22:43 | dom96 | Someone needs to make a Nimble package analyzer that outputs a warnings when `ptr`/`pointer`/`addr` are used in places where FFI isn't used |
12:23:05 | dom96 | yeah, that could easily screw up your stack and cause segfaults |
12:23:21 | dom96 | You can try to debug by adding echos into https://github.com/nim-lang/Nim/blob/v1.0.6/lib/pure/asyncnet.nim#L229 |
12:23:23 | FromDiscord_ | <Rika> it does, its what causes my program to hang on control-c |
12:23:23 | dadada | Araq: put https://totallywearingpants.com/posts/nim-language-highlights/ into https://nim-lang.org/learn.html ... it's one of the best intros into the language I've seen, maybe the best |
12:23:36 | FromDiscord_ | <Rika> i agree with dadada btw |
12:23:42 | FromDiscord_ | <Rika> from what i read it's p.good |
12:23:58 | dom96 | but I bet that it's a stack corruption, and you'll see that everything isn't `nil` |
12:24:09 | dom96 | or you will add the `echo` and suddenly you won't see any crashes |
12:25:01 | dom96 | you can also try importing `segfaults`, it should give you NilAccessErrors, might be interesting to see where it gets thrown |
12:25:28 | dom96 | but I would fix that package |
12:25:40 | dom96 | Using `pointer` like this is just being lazy |
12:25:47 | FromDiscord_ | <Rika> i already am trying to (but i'm also fucking it up somewhat haha) |
12:25:54 | FromDiscord_ | <Rika> how would i go about not using `pointer` |
12:26:10 | dom96 | no judgment of course, since people have little time etc. but in the long term you can run into issues like this |
12:26:29 | dom96 | well since it's used for storing different kinds of procs |
12:26:36 | dom96 | you just create a type that is an object variant |
12:26:44 | dom96 | case kind: MyHandleType |
12:26:58 | dom96 | of SomeHandlerType: someHandlerProc: proc () |
12:27:14 | dom96 | of SomeOtherHandlerType: someOtherHandlerProc: proc (blah: int): int |
12:27:15 | dom96 | etc |
12:27:20 | dom96 | perfectly type safe |
12:27:24 | dom96 | and memory safe |
12:27:46 | FromDiscord_ | <Rika> dadada, he uses `null` instead of `nil` though which is a possible area for beginners to get confused at |
12:28:15 | FromDiscord_ | <Rika> dom96, i'll look into making those |
12:28:52 | dom96 | Rika: awesome, you're a nim hero :) Let me know if you run into any trouble. |
12:30:13 | * | tane_ quit (Quit: Leaving) |
12:30:37 | FromGitter | <NOP0> hi, check this out https://play.nim-lang.org/#ix=2cnu why does it not compile? I'm suspecting line 13. thanks! |
12:31:05 | dom96 | That's a Nim bug, you should report it |
12:31:27 | FromGitter | <NOP0> w00t 😄 |
12:31:40 | FromDiscord_ | <Rika> wait, var ref? |
12:31:45 | dom96 | Nim should never generate C code with an error. |
12:32:24 | dom96 | if you want to find the cause I would comment out code bit by bit until the error disappears |
12:32:47 | FromGitter | <NOP0> it's line 13 |
12:33:22 | FromDiscord_ | <Rika> do you need to really `var` a `ref object`? |
12:33:50 | FromGitter | <NOP0> I'm not sure, I'm very new to Nim, it's a toy example to get to know the language |
12:33:58 | FromGitter | <NOP0> I want to call the base class |
12:34:14 | FromDiscord_ | <Rika> uh var'ing a ref object means the reference is var, the pointer |
12:34:28 | * | Romanson joined #nim |
12:34:36 | FromDiscord_ | <Rika> you dont need to var anything that's a ref object since the underlying data can be edited |
12:35:10 | * | nsf quit (Quit: WeeChat 2.7) |
12:35:20 | FromDiscord_ | <Rika> if you remove all var then it works |
12:36:05 | * | Ven`` joined #nim |
12:38:04 | dom96 | yeah, `var ref` is redundant |
12:38:42 | FromGitter | <NOP0> cool. thanks! should I file an issue for the original error? |
12:42:02 | dom96 | yes please |
12:43:11 | FromGitter | <xflywind> Hello, whether I can get the name of proc in runtime? ⏎ ⏎ ```proc hello() = ⏎ discard ⏎ ⏎ echo getProcName(hello)``` [https://gitter.im/nim-lang/Nim?at=5e5121df0c451412668172b9] |
12:43:22 | * | freddy92 joined #nim |
12:45:13 | FromGitter | <xflywind> I want to get `urlFor` function like flask. |
12:45:44 | * | freddy92 quit (Read error: Connection reset by peer) |
12:45:45 | dom96 | proc names are available at compile time |
12:46:02 | dom96 | you can make a macro called getProcName() |
12:46:08 | * | freddy92 joined #nim |
12:46:25 | FromDiscord_ | <Rika> ~~though that example doesnt really make sense IMO~~ |
12:47:49 | dadada | Nim should take part in the next Google Summer of Code |
12:47:56 | dadada | it |
12:48:03 | dom96 | xflywind: https://play.nim-lang.org/#ix=2cnz |
12:48:33 | dadada | these orgs take part this year https://summerofcode.withgoogle.com/organizations/?sp-page=5 |
12:49:07 | dadada | for example there's "Swift, a modern, type-safe and fun general ..." so why not Nim? |
12:49:30 | dadada | I'm sure it's a lot of effort to coordinate this, but it's definitely worth it |
12:49:51 | dom96 | because we tried like 3 times and were rejected |
12:49:53 | dadada | julia is also one of the orgs |
12:50:03 | dom96 | someone just needs to coordinate it again |
12:50:04 | FromDiscord_ | <Rika> why were you guys rejected? |
12:50:25 | dom96 | there isn't really a reason given |
12:50:31 | dom96 | it comes down to how good your project proposals are |
12:50:33 | dadada | is julia really more respected than Nim? why should it be? |
12:51:13 | FromDiscord_ | <Rika> dadada, perhaps because theyre bigger or can propose better idk |
12:51:19 | FromGitter | <xflywind> Thanks.@dom96 I will try it. |
12:51:46 | dadada | ruby, python are there, but that's less surprising |
12:51:58 | dom96 | https://github.com/nim-lang/Nim/wiki#special-events |
12:52:03 | dom96 | compare those to the other project's |
12:52:25 | dom96 | for those years |
12:52:36 | dom96 | In theory it should come down to the projects list |
12:52:45 | dom96 | but who knows, there is likely some bias :) |
12:53:17 | dadada | dom96: they probably consider how important a project is to the foss ecosystem |
12:53:34 | FromDiscord_ | <Rika> they probably do |
12:53:54 | FromDiscord_ | <Rika> i think it's just a matter of how much we're known but thats ofc my opinion |
12:54:25 | dadada | which is subjective, Nim has gotten more popular, but is it enough for GSoC? :-) |
12:54:29 | FromDiscord_ | <Rika> also dom96 i see why he used a pointer, because it's tedious writing this gigantic case statement |
12:54:29 | dadada | we should definitely try |
12:54:57 | FromDiscord_ | <Rika> we're still tiny if you think about it |
12:55:23 | dadada | Rika: some of the accepted ones aren't huge either |
12:55:59 | dadada | what is python? never heard of it |
12:56:30 | FromDiscord_ | <Rika> nice try haha |
12:59:33 | * | sekao joined #nim |
13:01:18 | dadada | "Chapel is an open-source programming language designed for productive parallel computing at scale." |
13:01:40 | dadada | so they got supported by GSoC, I can hardly imagine that Nim has less appeal then them |
13:02:14 | FromDiscord_ | <Rika> huh good example |
13:02:24 | dadada | the only reason I can think of is that they have a story about what they're improving in the world of computing... in their case "parallel computing" |
13:02:43 | dadada | so to get accepted Nim needs a "story" ... what is Nim improving in the world/world of computing? |
13:02:53 | dadada | a selling point |
13:03:13 | dadada | it's sad that this seems to be required ... |
13:03:53 | dadada | the chapel topics listed there are: |
13:03:54 | dadada | programming languages |
13:03:54 | dadada | compilers |
13:03:54 | dadada | high performance computing |
13:03:54 | dadada | distributed computing |
13:03:56 | dadada | parallel computing |
13:03:59 | dadada | ... |
13:04:01 | dom96 | Rika: macros can help you in generating that case statement |
13:04:10 | FromDiscord_ | <Rika> ease of programming of python w/ the performance of C? |
13:04:11 | dom96 | anyway, it's not that hard to copy and paste this stuff |
13:04:18 | dadada | Nim needs such a list when making the application |
13:04:41 | FromDiscord_ | <Rika> dom96, i dont know how to make a proc that uses this w/o making another gigantic case statement for this |
13:05:12 | dadada | Rika: yes, but I don't know if that's enough, there are already multiple tools trying to do that for python, cython, pypy, nuitka, and now mypy(also in GSoC) |
13:05:38 | FromDiscord_ | <Rika> http://ix.io/2cnE/nim i wouldnt know how to adapt this proc for using the handler type |
13:08:34 | dom96 | Rika: well I need to go now, but a case statements that's large is a small price to pay |
13:10:38 | FromDiscord_ | <Rika> who are you, thanos? |
13:18:41 | dadada | interestingly the GSoC projects for some of the large projects there (like Fedora, Git) are surprisingly modest tasks |
13:18:58 | * | sekao quit (Remote host closed the connection) |
13:19:23 | dadada | for example for git there's nothing fancy to do for students, just unifying some command line options so that they are logically consistant and easier to use |
13:19:50 | dadada | and also converting scripts to C code, which includes indentying scripts worth to be converted first |
13:20:08 | dadada | ... maybe Nim would have success when applying with similarly modest tasks? |
13:20:18 | dadada | and the hope is that GSoC contributors stick around |
13:22:06 | * | dddddd quit (Ping timeout: 240 seconds) |
13:35:19 | FromGitter | <NOP0> Reading a bit about concepts, is this higher kinded types? Like monads and stuff? |
13:36:22 | FromDiscord_ | <Rika> typeclasses |
13:36:34 | FromDiscord_ | <Rika> theyre around the equivalent to haskell typeclasses |
13:36:47 | FromDiscord_ | <Rika> on compile time only so they arent like interfaces |
13:48:23 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
13:49:12 | * | freddy92 quit (Read error: Connection reset by peer) |
13:49:36 | * | freddy92 joined #nim |
13:53:50 | FromGitter | <NOP0> Ok, thats really cool. Do I need some experimental pragma to use them? |
13:54:28 | FromDiscord_ | <Rika> no |
13:59:25 | dadada | just discovered zulipchat.com through GSoC, it's pretty impressive |
13:59:44 | dadada | it's open source, and there's a free service for foss projects |
13:59:56 | dadada | could be interesting for the nim community, their clients seem to be awesome |
14:00:04 | dadada | and it has integration with IRC and other services |
14:06:41 | dadada | "The hosting is supported by (and is identical to) zulipchat.com's commercial offerings. This offer extends to any community involved in supporting free and open source software: development projects, foundations, meetups, hackathons, conference committees, and more. If you’re not sure whether your organization qualifies, send us an email at [email protected]." |
14:07:33 | dadada | the software isn't open core, it's completely open source ... it much more advanced than gitter/matrix or any of the other alternatives at least from my reading so far |
14:07:53 | dadada | although there're some FOSS communities that claimed they had grown due to it, worth a shot, eh?! |
14:08:35 | dadada | and the two way integration with IRC/Gitter allows those who want to stick with their current workflow |
14:10:35 | dadada | "Zulip Cloud Standard is free for open source projects. We also offer steep discounts (usually 85%-100%) to many non-profits, educational institutions, groups of friends, and in other scenarios where most of the users are not fulltime employees of the customer. Generally, only closed organizations that also pay their members' salaries pay full price. Just contact [email protected] and we’d be happy to |
14:10:41 | dadada | discuss your situation!" |
14:11:33 | dadada | summary: FOSS projects get enterprise features from their cloud service that normally cost 6 bucks per user forever for free. |
14:11:44 | dadada | only thing needed is to apply for it per email |
14:14:13 | dadada | https://zulipchat.com/plans/ |
14:14:26 | dadada | the table at the bottom sums it up well |
14:15:26 | dadada | Araq: please consider zulipchat! |
14:24:19 | * | narimiran joined #nim |
14:30:22 | dadada | there's a terminal application for zulipchat too https://github.com/zulip/zulip-terminal |
14:32:28 | disruptek | i looked at it for auctionhero. it's my favorite slack replacement, iirc. |
14:33:17 | dadada | https://github.com/zulip/zulip-terminal/wiki/Getting-Started |
14:33:51 | dadada | it seems to surpass slack, it has integrations with almost everything, man it's lovely and completely FOSS |
14:34:09 | vegai | sometimes I wonder if it would be completely bad business to offer services like that with big discounts as your number of users grow |
14:34:26 | vegai | being in a >1000 people org makes those prices build up pretty fast |
14:34:42 | disruptek | the issue for me isn't what it integrates to, but whether other services i use that integrate to slack can trivially integrate to zulip as well. |
14:34:45 | vegai | Basecamp seems to be doing fine even though their pricing is flat |
14:34:45 | dadada | I'd be surprised if they gave no discounts |
14:35:26 | dadada | disruptek: can you give me an example? |
14:35:54 | disruptek | i'm pretty dependent upon segment.com. |
14:41:55 | dadada | disruptek: I see, hopefully zulip becomes more popular so that sites like segment.com offer integration for it, another catch-22 situation |
14:42:22 | disruptek | they just need to shim slack webhooks somehow. |
14:43:02 | vegai | I miss the world where the technical world got together to make a standard that everyone then implemented |
14:43:12 | dadada | vegai: I think about this every day |
14:43:26 | vegai | I guess XMPP was the last attempt in the chat space for a thing like that |
14:43:45 | vegai | Matrix is similar, but it seems to be driven by a single entity as well |
14:43:58 | dadada | vegai: ie. email is great because everyone accepts it as a standard, there should be something like that to replace slack |
14:44:11 | vegai | dadada: xmpp |
14:44:28 | vegai | except that somehow xmpp "sucks" |
14:44:33 | FromGitter | <zetashift> Couldn't one just make a Zulip bridge to Nim's channelsZ? |
14:44:45 | vegai | I suppose they failed because of the vast expendability, ironically |
14:44:49 | dadada | zetashift: yes, that should work easily |
14:44:51 | FromGitter | <zetashift> Also I tried Zulip it's interface is pretty not-beginners-friendly |
14:45:18 | dadada | zetashift: which interface did you try? there are many including a REST api |
14:45:33 | vegai | bridging everything to IRC means that about 5% of the power of those modern chat things get applied |
14:45:42 | disruptek | rude. |
14:46:41 | FromGitter | <zetashift> no I ment just the chat client interface, it's some weird mixture between IM and threaded discussions |
14:46:56 | FromGitter | <zetashift> takes a while to get used to |
14:47:20 | dadada | zetashift: I understood what you meant, but there are multiple chat client interfaces for zulip, so which one are you talking about? |
14:47:40 | dadada | there are multiple terminal clients even! |
14:48:16 | disruptek | zoinks! |
14:49:23 | vegai | so what would a zulip thread look like, bridged to IRC? |
14:49:55 | FromGitter | <zetashift> just the web-based Zulipchat one |
14:50:37 | dadada | zetashift: I'd rather use something like this than something webbased https://camo.githubusercontent.com/d4efe459c212e64ae7c841e5dda288a14837bf1e/68747470733a2f2f64726976652e676f6f676c652e636f6d2f75633f6578706f72743d766965772669643d31746163325053535f47625177587a34476e7a66636f5f68696e5776464f327a61 |
14:50:55 | dadada | has vim keybindings |
14:53:52 | disruptek | i'll write a zulip api today and bridge it to irc. then we can see if anyone cares enough to use it. |
14:54:22 | dadada | disruptek: https://zulipchat.com/integrations/doc/irc |
14:54:37 | disruptek | NIH |
14:56:41 | Zevv | yes we need moooooore chats |
14:57:02 | Zevv | yo daawg let me bridg my bridge to your bridges bridge |
14:57:41 | Zevv | <fromDiscort> <throughGitter> <byZulip> <onIrc> <Zevv> Hello! |
14:58:42 | dadada | Zevv: quality over quantity... zulip seems to be more advanced than the alternatives, and it integrates well with everything #nim already offers (like gitter/irc) |
14:58:43 | disruptek | i've thought it might be nice to have a translation bridge. |
14:59:09 | dadada | so I think using it as the central instance makes sense, and it can bridge the others |
14:59:09 | disruptek | i'd like to understand our resident german better when he deigns to drop wisdom. |
14:59:43 | dadada | disruptek: wouldn't that be called a bot rather than a bridge? |
15:00:08 | federico3 | "Zulip has a significantly larger and more active development community than other modern open source group chat solutions like Mattermost, Rocket.Chat, and matrix.org. " huh? |
15:00:12 | disruptek | it would bridge a nim-german channel, converting messages between the languages. |
15:00:41 | dadada | other dev teams seem to make good experiences with it: https://wildfly.org/news/2019/04/23/Zulip-Chat/ |
15:02:04 | dadada | disruptek: it should simply detect german words and translate those words/sentences where needed |
15:10:15 | FromGitter | <alehander92> ich weiss nicht , disruptek, wir haben einen deutschen channel iirc |
15:12:26 | * | Guest53150 quit (Remote host closed the connection) |
15:13:05 | * | nsf joined #nim |
15:13:08 | * | Hideki_ joined #nim |
15:17:31 | * | Hideki_ quit (Ping timeout: 255 seconds) |
15:17:59 | * | Hideki_ joined #nim |
15:21:57 | FromGitter | <alehander92> i was in romania: it does look like a place that would make you an expert in template metaprogramming |
15:23:21 | FromGitter | <alehander92> but clyybber is more of a memory management guy .. |
15:27:57 | Zevv | disruptek: nothing to understand here, but I'm afraid I'm at the age where one wonders why the world needs more chat protocols and implementations. |
15:29:35 | Zevv | since a week or two I have another permanent window open with a Telegram channel. I'm flattered to be invited, but I do not really see the advantage |
15:29:51 | Zevv | I also need to check my slack seven times a day |
15:30:10 | dadada | Zevv: recently it was in the news that IBM wants to standardize on slack, I didn't know about slack before reading this news, but I did know that RedHat belongs to IBM (also rather new development), so I was hoping that this slack thing is something free/FOSS/non-proprietary, then I learned its not, then I asked myself what do matrix/irc/jabber/xmpp miss that slack has |
15:30:11 | Zevv | or login the portal of both my kid's schools because I got mails telling me "you have a message" |
15:31:17 | Zevv | dadada: right, and why-oh-why does everyone think it is ok to cling to all these very non-free non-open things anyway |
15:31:19 | dadada | Zevv: and there lies the answer: slack works for an organization with 300.000 people (IBM), and apparently works well, and zulip is in that scalable category |
15:31:27 | disruptek | i'm satisfied with irc, but i think it makes sense to keep the ground fertile in case something better grows. |
15:31:58 | Zevv | sure. I'll come take a look when the time is there :) |
15:32:10 | disruptek | ~scalable is troll-talk for `unreachable`. |
15:32:11 | disbot | scalable: 11troll-talk for `unreachable`. |
15:32:20 | dadada | I love IRC, especially because of irssi, but I know that IRC wouldn't work for an organization like IBM |
15:32:30 | dadada | so that's why IRC isn't enough for all use cases |
15:32:43 | dadada | and something not being enough for all use cases is where new protocols come in |
15:32:53 | disruptek | dadada: what are you coding in nim these days? |
15:32:56 | Zevv | but really, it annoys me all beyond reason. I get a mail telling me to go to a portal. I go to the portal where I click five times. I find a message saying "Please read the attached message", where I find a frigging MS-word document |
15:33:03 | Zevv | how the hell do people think this is ok? |
15:33:09 | disruptek | people are stupid. |
15:33:15 | disruptek | they don't know they're stupid. |
15:33:44 | dadada | disruptek: I'm still learning Nim, now I'm making my own convenience macros/templates, making a collection that I'll use in future nim projects |
15:33:55 | Zevv | I sometimes try to tell people about the 90's netiquettes: if you are writing something that reaches 30 people, you should spend more time on it than all those 30 people together will spend reading it |
15:34:16 | dadada | disruptek: and they don't want to be told they are stupid :D |
15:34:47 | disruptek | i was looking at twitter yesterday. i have, i think, 3 posts to twitter in, i dunno, 10 years or something. |
15:34:55 | Zevv | they're not stupid. they just have a hard time thinking properly. |
15:35:05 | disruptek | twitter is recommending that i follow ariana grande (sp?) |
15:35:13 | disruptek | i look at her feed. |
15:35:40 | disruptek | it's full of nothing. and she has tens or hundreds of thousands of people reading it. |
15:35:56 | dadada | twitter is mostly fun because of memes |
15:35:59 | Zevv | you want more rants? Why does the local police think it is ok to use twitter and whatsapp as the prefered way to communicate with local citizens? What the blooddy frigging **** |
15:36:36 | disruptek | you mean, direct messaging? |
15:36:39 | Zevv | local german police going through foreign advertizing companies to talk to me? |
15:36:46 | Zevv | right |
15:36:48 | disruptek | or broadcast? because i don't think broadcast is such a bad use. |
15:36:55 | Zevv | DM |
15:37:00 | disruptek | wow, that's nuts. |
15:37:14 | Zevv | I can't call em. I can't mail em. I should whatsapp em |
15:37:24 | lqdev[m] | dude |
15:37:33 | disruptek | hey, my sister was in a police station asking for help. |
15:37:49 | Zevv | is that the sister with the cool tattoos |
15:37:49 | disruptek | they told her to call 911. a police officer in front of her said, "call 911." |
15:37:52 | disruptek | yeah. |
15:38:00 | dadada | Zevv: I'm with you on that, the reason I pointed out zulip today is because it is different from whatsapp/twitter/slack/facebook, in that it's completely non-proprietary and integrates nicely with older protocols (email/IRC) |
15:38:20 | disruptek | it's not different, it's just the same, you silly young thing. |
15:38:43 | Zevv | dadada: who owns the joint. Follow the money first |
15:39:11 | dadada | Zevv: which joint do you talk about? |
15:39:17 | Zevv | zulip |
15:39:19 | disruptek | he means `jawn`. |
15:40:36 | dadada | "Zulip was originally developed as proprietary software by a startup called Zulip, Inc., based in Cambridge, Massachusetts. In 2014, while in private beta, the company was acquired by Dropbox.[3][4] In September 2015, Dropbox open-sourced it under the Apache License.[5] Today, it is a leading open source alternative to Slack or HipChat,[6] with over 29,000 commits contributed by 450 people.[7]" |
15:41:18 | Zevv | ok, fair enough, could be worse. |
15:42:49 | FromDiscord_ | <Rika> can types be forward declared |
15:43:00 | Zevv | I should take it easy. I find alcohol rant-inducing |
15:43:10 | lqdev[m] | no, but you can declare types under one block @Rika |
15:43:43 | Zevv | Rika: nope. also when doing recursive types they should go into a single `type` block, for example |
15:43:49 | FromDiscord_ | <Rika> that's what makes it hard because i need a macro generated type and a manually written type to interact with each other |
15:44:09 | lqdev[m] | make the macro accept a type definition and merge them into one block. |
15:44:14 | disruptek | generate the macro-generated type with the other type as input. |
15:44:15 | * | my_dude joined #nim |
15:44:28 | FromDiscord_ | <Rika> thats what i did |
15:44:33 | FromDiscord_ | <Rika> but i wondered if there was something easier |
15:44:55 | disruptek | Zevv: you've already started drinking? |
15:45:16 | Zevv | saturday afternoon and the family is gone for a week. I see no problem here |
15:45:25 | * | xet7 quit (Remote host closed the connection) |
15:45:25 | disruptek | nice. |
15:45:39 | disruptek | wait, what'd you do to your family? |
15:45:49 | Zevv | I kicked them out to my mother in laws place |
15:45:59 | Zevv | they're safe and sound in the swiss mountains |
15:46:01 | disruptek | can't imagine why you didn't want to join them. |
15:46:29 | * | xet7 joined #nim |
15:47:04 | Zevv | to stay home and get drunk at saturday afternoon? |
15:47:16 | disruptek | hmmm. |
15:47:21 | disruptek | decisions, decisions... |
15:49:01 | disruptek | i think testutils is pretty decent. |
15:49:06 | disruptek | !repo disruptek/testutils |
15:49:07 | disbot | https://github.com/disruptek/testutils -- 9testutils: 11testrunner et al 15 0⭐ 0🍴 |
15:49:10 | disruptek | what do you think, fam? |
15:49:19 | dadada | fam = family? |
15:49:22 | disruptek | sure. |
15:49:24 | Zevv | I read `!repo distruptek/testicles` |
15:49:39 | dadada | Zevv: lol |
15:49:40 | disruptek | well, it's in the testes directory. |
15:49:47 | Zevv | hehe |
15:49:58 | disruptek | i'm trying not to push my luck, if that's a thing. |
15:50:04 | Zevv | So is this the prelude to your cloud based world domination test suite? |
15:50:15 | disruptek | no, this is from status. |
15:50:31 | disruptek | it was embedded in chronicles and i pulled it out. |
15:50:44 | Zevv | ah I thought you plannend to use that as a base to work on |
15:50:58 | disruptek | well, this thing does tick some of the boxes i wanted for golden. |
15:51:14 | disruptek | it's closer to what i want for testing than testament or unittest. |
15:51:28 | Zevv | So how and where does it differ from those two? |
15:52:07 | disruptek | you specify .test files, which are .ini-format. they can point to somefile.nim source. |
15:52:25 | disruptek | the testrunner will run the somefile and check output for equality. |
15:52:45 | disruptek | that's an important feature, imo, that is absent from unittest. |
15:53:22 | Zevv | hm I just do `doAssert out == "expected output"`, but ok, that's handy to have built in |
15:54:03 | disruptek | i was gonna use nimscript for golden and store i/o streams in separate files so they can be trivially manipulated. |
15:54:17 | disruptek | but, this is a step in the right direction. |
15:54:39 | FromDiscord_ | <Rika> creating this macro for the event handler thing in discordnim has quickly made me hate this library |
15:56:01 | dadada | disruptek: put more examples in that repository, so that it becomes more obvious how well this approach scales |
15:56:13 | disruptek | !repo chronicles |
15:56:14 | disbot | https://github.com/status-im/nim-chronicles -- 9nim-chronicles: 11A crafty implementation of structured logging for Nim. 15 56⭐ 9🍴 7& 1 more... |
15:56:17 | disruptek | dadada: see ^ |
15:56:50 | FromDiscord_ | <Rika> chronicles is great |
15:57:02 | disruptek | Zevv: nigel is tricky. |
15:57:17 | * | ptdel joined #nim |
15:57:58 | Zevv | We're only making plans |
15:58:10 | disruptek | i think the key is that it knows how to give up permissions. |
15:59:41 | dadada | sbhj+ |
15:59:44 | dadada | sorry :D |
15:59:52 | * | muffindrake quit (Quit: muffindrake) |
16:00:23 | Zevv | disruptek: lost you there - talking a about what? |
16:01:08 | disruptek | nigel. you run it in the cloud and it gives up perms. |
16:01:35 | Zevv | aah you named that already - didn't know! |
16:01:40 | disruptek | then it can instantiate more nigels. |
16:02:04 | disruptek | only one instance has no parent; the others talk to the parent in order to do anything. |
16:02:28 | dadada | maybe chronicles should be part of stdnim? |
16:02:30 | disruptek | you can nest them infinitely, of course. |
16:02:47 | dadada | it seems pretty advanced, and logging is commonly used? |
16:02:54 | disruptek | !rfc logging |
16:02:54 | Zevv | dadada: that goes for more cool libs, there is some pretty high quality stuff out there, but nim wants to get lean and mean in the sdlib |
16:02:55 | disbot | https://github.com/nim-lang/RFCs/issues/146 -- 3logging tree support 7& 4 more... |
16:04:17 | dadada | Zevv: https://nim-lang.org/docs/logging.html --- there's logging in the stdlib already, the point would just be of replacing it with something better, maybe the old interface could become a wrapper around chronicles |
16:04:50 | Zevv | sure there is. But the general rule is that no new stuff goes in there I believe |
16:05:23 | Zevv | there have been long talks about offering a preferred external lib package of well-known, high respected good quality libs |
16:05:41 | Zevv | but it's not there yet |
16:06:34 | dadada | I like that, I'm currently thinking of rolling sth like that myself to use as the base for my future nim projects |
16:08:11 | disruptek | nigel will solve the distribution problem. |
16:09:25 | dadada | disruptek: summarize nigel for me |
16:09:39 | disruptek | !repo nigel |
16:09:42 | disbot | https://github.com/Perlmint/glew-cmake -- 9glew-cmake: 11GLEW(https://github.com/nigels-com/glew, source updated nightly) with Cmake and pre-generated sources 15 89⭐ 43🍴 7& 29 more... |
16:09:46 | disruptek | awww |
16:09:51 | disruptek | !repo disruptek/nigel |
16:09:52 | disbot | https://github.com/disruptek/nigel -- 9nigel: 11continuous integration tool for nim 15 3⭐ 0🍴 |
16:10:01 | disruptek | oh, i forgot, i blew it up. |
16:10:05 | dadada | "something wacky this way comes" |
16:10:09 | dadada | is not very useful |
16:10:12 | disruptek | yeah, well. |
16:10:15 | disruptek | it's a good summary. |
16:10:21 | dadada | :D |
16:10:29 | disruptek | ~nigel is something wacky this way comes |
16:10:30 | disbot | nigel: 11something wacky this way comes |
16:11:26 | disruptek | look at aws lambda and think about what the word /lambda/ means. why did they choose that word? |
16:11:31 | dadada | let me rephrase, how will it solve the distribution problem? |
16:12:05 | * | Romanson quit (Quit: Connection closed for inactivity) |
16:12:07 | disruptek | it solves distribution because nigel will make measuring successful package interop trivial. |
16:12:43 | dadada | how so? |
16:13:25 | disruptek | nigel is basically a collection of cloud-native abstractions for data and execution. |
16:13:53 | dadada | is nigel also a codeword for the right to use buzzwords to confuse the shit out of everyone? |
16:13:55 | disruptek | lambda will be a primary target, but it'll support anything. |
16:14:55 | disruptek | i can send nim source into it and get back a function i can run in the cloud. |
16:15:32 | disruptek | it wires up input and output between your program and the cloud using trivial nim abstractions. |
16:15:43 | dadada | so it helps to figure out the dependencies for the cloud backend? so that no manual configuration is needed? that's it!? |
16:15:46 | dadada | is that it? |
16:16:02 | disruptek | think of queues, pubsub, infinite data storage, messaging, etc. |
16:16:23 | disruptek | it's more like, you write code but it doesn't run locally. it runs in the cloud. |
16:16:38 | disruptek | where the programming environment is just a little "bigger". |
16:17:04 | dadada | does nigel have any use for purely local programming which I tend to do? |
16:17:42 | disruptek | if you can broading your mind to think about i/o from your node as a one-time cost, then sure. |
16:17:48 | disruptek | broaden, too. |
16:18:18 | disruptek | think of it as more of a cloud repl. |
16:18:57 | dadada | could it be useful to improve IDE support? |
16:19:32 | disruptek | it'd be more challenging, i think. |
16:19:53 | FromDiscord_ | <Recruit_main70007> i would like that the vs bindings were updated to work with 2019 version |
16:21:59 | disruptek | nigel is in a state where i'm writing tests which are like tiny demos of the concept. |
16:22:20 | disruptek | and stuff doesn't work in atoz, so i'm hacking that. but that means fixing a stupid design decision i left in openapi. |
16:22:53 | disruptek | and that's really down to the lame ass rest lib i made. terrible code that i use everywhere. |
16:23:13 | dadada | disruptek: when will you publish the code? |
16:23:15 | disruptek | it's like, the first nim i ever wrote and it's my most broadly used code. and the worst. |
16:23:46 | disruptek | i will publish it when it's tight enough. |
16:24:03 | disruptek | this is one of those start-with-everything-and-throw-away-whatever-you-can situations. |
16:24:24 | disruptek | i have to boil it down to like 6 operations in 400 lines of code. |
16:24:41 | FromDiscord_ | <Rika> how do i check if a symbol is just a type alias (as in, type A = B) |
16:25:03 | disruptek | does == not work? |
16:26:52 | disruptek | also, nigel is a case of software that requires a bootstrap to create it in the first place. |
16:27:08 | disruptek | so, like, i have to write the thing, and then write the thing that writes it. |
16:28:59 | FromDiscord_ | <Rika> i meant within a macro, sorry |
16:29:09 | * | hsh joined #nim |
16:29:27 | disruptek | i think you can compare type hashes. |
16:29:27 | hsh | is there an official Nim docker image? |
16:29:39 | disruptek | hsh: nope. |
16:30:08 | disruptek | see https://play.nim-lang.org |
16:30:14 | * | gangstacat quit (Quit: Ĝis!) |
16:30:22 | FromDiscord_ | <Rika> next question is how do i convert an ident to a sym xd |
16:31:21 | hsh | @disruptek thanks. I'll have a go at making one. |
16:31:23 | disruptek | define it as somevar: typed |
16:31:30 | disruptek | hsh: nice! |
16:31:40 | disruptek | i've done a few using alpine. |
16:31:50 | FromDiscord_ | <Rika> disruptek, its not a parameter |
16:31:51 | hsh | any interest in a Nim s2i? I think it would be cool. |
16:32:03 | FromDiscord_ | <Rika> s2i? |
16:32:04 | disruptek | also a custom gentoo image. |
16:32:30 | hsh | sry, s2i = https://github.com/openshift/source-to-image |
16:32:47 | FromGitter | <sheerluck> Gentoo Linux FTW |
16:33:40 | disruptek | yeah, i love it. |
16:33:49 | hsh | an example is you have a jester project (source only), you just write `s2i nim~http://github.com/mycoolnim-microservice.git` and it makes a ready to deploy docker container |
16:34:11 | * | gangstacat joined #nim |
16:34:13 | hsh | no build needed, the s2i does it |
16:34:30 | disruptek | that's awesome. |
16:35:08 | disruptek | nigel does the same sort of thing. there's a function that takes a url as input and produces output that can be "blessed" into executable code. |
16:35:39 | hsh | that's cool, the same principle I guess, yeah |
16:36:06 | disruptek | maybe i could use s2i to mock the cloud for tests. can you run a container in a container? |
16:37:04 | hsh | ahaha, not sure, but it sounds like a challenge |
16:37:35 | hsh | I know a lot of people that use s2i for flask apps and I thought, why not nim + jester |
16:38:21 | disruptek | yeah, this is going to be great. |
16:38:34 | disruptek | ima write a nigel function that builds you a container from a url. |
16:38:56 | hsh | awesome :) |
16:40:04 | * | ptdel quit (Ping timeout: 248 seconds) |
16:41:22 | disruptek | i guess there's really no reason you can't just run nigel locally. if you really want to run thousands of containers, i mean. |
16:44:11 | hsh | I'm guessing that if they all use the same base image, a thousand containers is crazy :) |
16:44:17 | hsh | *not crazy |
16:44:28 | disruptek | well, they won't use the same base image. |
16:44:58 | hsh | yeah, that's when the problems start |
16:47:21 | disruptek | i wonder what happens when i launch 1000 containers at once. |
16:47:53 | disruptek | probably nothing. |
16:48:28 | * | my_dude quit (Quit: my_dude) |
16:49:43 | FromGitter | <alehander92> disruptek |
16:49:47 | FromGitter | <alehander92> what do you use as a repl |
16:49:57 | FromGitter | <alehander92> i think nim can use a good general repl-ui lib |
16:50:15 | FromGitter | <alehander92> iirc inim was working well, but no idea if it was based on something |
16:50:28 | FromGitter | <alehander92> or just readline |
16:50:40 | disruptek | i think treeform has the best input ui if you mean gui stuff. |
16:51:14 | FromGitter | <alehander92> no, no, like a terminal repl |
16:51:30 | disruptek | i haven't really used any of them. |
16:51:34 | FromGitter | <alehander92> you know, autocomplete , colors and the fancy repl niceties |
16:52:54 | disruptek | probably time to do some work on chronic. |
16:54:10 | FromGitter | <alehander92> we need some new names :D |
16:58:01 | hsh | there's actually an official nim docker image iirc: https://hub.docker.com/r/nimlang/nim |
16:58:05 | disruptek | new names? |
16:58:15 | hsh | that's means I can start with the s2i right away |
16:58:28 | disruptek | https://www.twitch.tv/disruptek |
17:06:56 | * | nsf quit (Quit: WeeChat 2.7) |
17:31:12 | disruptek | i would rather see yours in stdlib. |
17:31:23 | disruptek | leorize... |
17:32:17 | leorize | you're on the wrong channel :) |
17:33:13 | leorize | but I think I got the hang of the concept now |
17:34:02 | leorize | though I still can't prove why does things work the way it does |
17:34:20 | leorize | the paper said halfway point is the magic points, and never prove it... |
17:36:20 | disruptek | no, you are. |
17:36:37 | disruptek | the halfway point is the magic point? |
17:37:23 | disruptek | the idea is that if you are looking to find which of two sides of a continuum you are closer to.... then you need to know which is less than halfway the distance between each. |
17:37:26 | disruptek | that makes sense, right? |
17:38:07 | FromDiscord_ | <Rika> ah, i finished the macro. lets see if discordnim still destroys my program now |
17:38:29 | FromDiscord_ | <Rika> 😦 still does |
17:39:29 | FromGitter | <matrixbot> `reversem3` So I have been following Sir Tim Berners-Lee for awhile and came across pods? Which have been talk about for awhile. Now Bruce Schiener has gone on board also. The project is 15 years in the making. https://solid.inrupt.com/about. Anyway the main language is javascript libs like angularJS and ReactJS. Since there really just frameworks for Javascript would nim work good for this? |
17:40:11 | FromDiscord_ | <Rika> why wouldnt it? |
17:41:20 | leorize | disruptek: still doesn't make sense |
17:41:51 | leorize | so his idea is that the halfway points to the next floating point number of the same type are the intervals in which the output lays |
17:42:52 | leorize | he said just that in the paper, no explaination whatsoever |
17:43:31 | leorize | in his talk he mark the two positions on the number line and said "it looks like the output is in that interval" |
17:48:50 | disruptek | well, they are. |
17:49:05 | leorize | true, but it's still unexplained |
17:49:19 | leorize | so I'm digging up all the floating points theory to tackle that one |
17:49:20 | disruptek | clearly you want the output, whatever that is, to be the most in-between of all possible outputs on the line. |
17:49:34 | disruptek | so clearly you can throw away half of the input. |
17:49:42 | dadada | can a macro get the context where it was called from? for example can it differentiate somehow from being called inside the top level of a procedure, or inside a block, or inside a for loop? |
17:49:50 | disruptek | not really. |
17:50:30 | leorize | yea but the paper also said that the output might lie exactly on the halfway points |
17:50:47 | leorize | so I guess he does have some math to back it up, but he didn't write it in? |
17:50:51 | disruptek | yes, technically. |
17:51:21 | disruptek | it's not math, it's implicit. |
17:51:41 | leorize | bbl |
17:51:46 | * | leorize quit (Quit: WeeChat 2.6) |
18:02:53 | * | filcuc quit (Quit: Konversation terminated!) |
18:23:44 | * | dddddd joined #nim |
18:25:15 | dadada | has anyone here used crystal? it seems to share a lot of concepts with nim? nim's macros seem more powerful unless I'm mistaken |
18:27:12 | * | freddy92 quit (Read error: Connection reset by peer) |
18:27:35 | Yardanico | yeah, they seem like a mix of nim's templates with quote do and raw code (text) ? |
18:27:39 | * | freddy92 joined #nim |
18:27:50 | Yardanico | they even have to use a special template syntax for if statements |
18:28:08 | Yardanico | or just for any crystal code in the macros which should actually run at compile-time |
18:28:37 | Yardanico | \{% name = {{name.stringify}} %} |
18:29:09 | dadada | but you didn't use it either? |
18:29:15 | Yardanico | no xd |
18:29:23 | Yardanico | I don't really like Ruby's syntax |
18:29:27 | dadada | I'd like to get a review by someone who used crystal and nim |
18:30:08 | vegai | most people have time for only one fringe language really |
18:30:11 | Yardanico | I only know about oprypin, but he seems to only use Crystal now, and IDK if he uses crystal macros |
18:30:19 | dadada | Yardanico: me neither, but that seems like a small pill to swallow, if everything else is nice, for example they seem to have a nice class system |
18:30:35 | vegai | in crystal, 1=="1" is not a type error |
18:30:42 | vegai | which I kinda disliked :) |
18:30:42 | Yardanico | oh no |
18:30:46 | Yardanico | JS all over it again |
18:31:06 | dadada | vegai: I'd have to agree with you ther |
18:31:08 | dadada | e |
18:31:34 | FromGitter | <alehander92> i used a bit of crystal |
18:31:35 | vegai | Yardanico: well, at least it's false |
18:31:41 | FromGitter | <alehander92> as i was using ruby a lot before |
18:31:47 | FromGitter | <alehander92> vegai: this sucks a lot |
18:31:47 | vegai | Yardanico: unlike in JS |
18:31:52 | FromGitter | <alehander92> 1 == "1" might seem obvious |
18:32:11 | FromGitter | <alehander92> but why wouldn't you be able to just 1 == "1".to_i : more correct and still simple |
18:32:26 | FromGitter | <alehander92> and either intvar == strvar would work, which can lead to subtle issues |
18:32:38 | vegai | I really like crystal/ruby's ergonomics myself though |
18:32:39 | dadada | alehander92: define "a bit", what did you like there? |
18:32:41 | FromGitter | <alehander92> or 1 == "1" works and intvar == strvar doesnt .. which is strange |
18:33:08 | FromGitter | <alehander92> dadada i just played a little with it, sorry |
18:33:45 | FromGitter | <alehander92> it seems cute especially for ruby people, but imo nim is much more interesting |
18:34:21 | hsh | one of the things I've found frustrating with crystal was LLVM cross-compilation. just trying to get a binary on a Raspberry Pi was a chore |
18:34:48 | Yardanico | well, that's why using C or C++ as a backend has a LOT of good sides :) |
18:35:06 | hsh | with nim I just get the C file |
18:35:17 | hsh | yes, exactly |
18:35:45 | dadada | well, they might be able to write a C backend, so I wouldn't really count this against them |
18:35:45 | Yardanico | although nim already has an unofficial (AFAIK it'll become official eventually) LLVM backend |
18:35:55 | Yardanico | https://github.com/arnetheduck/nlvm |
18:36:37 | hsh | I'm not counting against them, just saying that for my projects, Nim was better suited at the time and that was one of the reasons |
18:36:53 | dadada | it seems silly to me that there are two communities of FOSS niche languages that share a lot in common, end the only thing that really seems to divide them is python vs ruby syntax?! |
18:37:14 | vegai | nim and crystal? nah, they're quite different |
18:37:22 | hsh | I have quite a few projects both Nim and Crystal, it's a good way for me to compare the languages |
18:37:28 | dadada | ... admittedly it's more than just that, but can you imagine if they had applied their skills to nim instead, where would nim be now? |
18:37:43 | vegai | dadada: I think that's a bit simplistic |
18:37:56 | vegai | and also if it was true, then we should've stopped all progress at lisp anyway :) |
18:37:59 | Yardanico | dadada: ask creators and developers of different UI frameworks, applications, linux distros, and basically a lot of things |
18:38:03 | dadada | it wouldn't be difficult to write an alternate ruby-style parser for nim that produces the same c output I assume |
18:38:10 | vegai | or stopped inventing new languages after lisp, rather |
18:38:17 | Yardanico | well nim actually has kinda rubyish syntax skin |
18:38:24 | Yardanico | with "end" blocks instead of indentation |
18:38:34 | Yardanico | *had |
18:39:52 | oprypin | I think it's confusing/misleading to say `1 == "1"` """works""". the result is `false`, not `true`, just so you know |
18:40:10 | * | tane joined #nim |
18:40:37 | vegai | like I said :P |
18:40:43 | hsh | I much prefer Nim to Crystal, but that's subjective. The only thing I miss from Crystal and other languages is more traditional OOP constructs, but that's not a deal breaker. |
18:41:11 | dadada | hsh: I miss those too |
18:43:14 | oprypin | macros in Nim are much more powerful, but less convenient. crystal is more pleasant to use in almost every aspect; i'd especially highlight the fact that you can write things in it and usually it works exactly like you expect, i'd say with the highest rate out of any statically typed lang |
18:45:24 | oprypin | to me, if something doesnt make sense, usually it's because the origins of that behavior are in Ruby |
18:45:27 | oprypin | 😂 |
18:45:35 | dadada | oprypin: can you make a list of examples where this is the case? I'd be interested if it is possible to port some of this "pleasantness" to Nim. Since you've experience in both langs, you could make a comparison table?! would be thankful |
18:45:37 | vegai | yeah :) 1=="1" is one of those things certainly |
18:46:16 | vegai | there's probably some rationale I don't get for that, since python3 does it as well |
18:46:26 | vegai | and they could've fixed it in 2=>3 after all |
18:46:45 | oprypin | doesnt bother me in the least in a typed language tho |
18:47:04 | oprypin | in case of Cryrstal, it just plays well with other constructs |
18:47:07 | vegai | it exactly bothers me more in a typed language actually :) |
18:47:24 | vegai | kinda of an exception to the rule, it seems to me |
18:47:57 | vegai | I'd much rather write crystal than many other languages though |
18:50:58 | * | sz0 quit (Quit: Connection closed for inactivity) |
18:54:15 | * | nixfreak joined #nim |
18:55:26 | nixfreak | Whats a good resource after reading "Nim in Action" which I'm leaning a lot about nim |
18:55:35 | FromDiscord_ | <clyybber> making something 🙂 |
18:55:44 | FromDiscord_ | <clyybber> learning by doing |
18:55:50 | FromDiscord_ | <clyybber> and look stuff up in the manual |
18:57:51 | Yardanico | and asking in iRC* :P |
18:57:58 | nixfreak | Do you know anymore resources that talk about is possible with the nim compiler to JS , what you can do what you can't do ? |
18:58:24 | dadada | Araq: is there really no way to find out if a macro is called in the top-level of a proc vs for-loop vs block, or maybe even what comes before or after the macro? |
18:58:34 | * | nsf joined #nim |
18:58:43 | Yardanico | nixfreak: well actually all of Nim works there, but some modules (stdlib ones or third-party ones) which use native libs or system calls will not work |
18:59:02 | Yardanico | https://nim-lang.org/docs/backends.html#backends-the-javascript-target |
18:59:04 | * | clyybber joined #nim |
18:59:46 | nixfreak | Ok so I don't use any JS frameworks or libs like react or angular , can I use nim to compile to js without using any of the advanced features of these libs? |
18:59:53 | Yardanico | of course? |
19:00:11 | Yardanico | you can use karax (nim lib) if you're using JS for a website though ;) |
19:00:17 | Yardanico | it's for SPA webapps |
19:00:22 | Yardanico | (mostly) |
19:01:02 | nixfreak | I was looking at solid pods and they use react or angular html and REST |
19:04:41 | * | letto_ joined #nim |
19:05:13 | * | letto quit (Ping timeout: 255 seconds) |
19:11:50 | nixfreak | so Karax is not a good lib for multi page sites? |
19:18:32 | FromDiscord_ | <clyybber> hey disrupteks stream is chill af |
19:22:31 | nixfreak | audio stream? |
19:22:57 | FromDiscord_ | <clyybber> https://www.twitch.tv/disruptek |
19:38:58 | * | tefter quit (Quit: WeeChat 2.7) |
19:59:33 | dadada | clyybber: what does he do in it? |
20:00:00 | FromDiscord_ | <clyybber> create a unittest/testament replacement |
20:00:56 | dadada | okay, I'll check it out |
20:01:50 | dadada | wish there was a lower quality stream, my internet is too slow |
20:02:18 | disruptek | i'm only functioning at 20-25% quality right now. |
20:02:39 | shashlick | i'm on as well, let |
20:02:49 | shashlick | let's see how this guy works 😉 |
20:03:22 | dadada | it's weird seeing myself on IRC on twitch :D |
20:03:54 | FromGitter | <alehander92> :D |
20:04:09 | FromGitter | <alehander92> its hard to stream in the beginning very demanding |
20:04:58 | dadada | disruptek: do you do this all day? |
20:07:32 | * | clyybber quit (Quit: WeeChat 2.7.1) |
20:07:38 | dadada | finally I know why I need 1Gbit internet |
20:10:07 | * | fanta1 quit (Quit: fanta1) |
20:12:07 | * | narimiran quit (Ping timeout: 260 seconds) |
20:13:48 | dadada | disruptek: what's your editor color scheme called |
20:16:24 | dadada | disruptek: I'd definitely listen in on your wisdom for longer, but my lte connection is not having it |
20:17:23 | nixfreak | trying to compile the karax/examples/todolist/todolist.html and I get a blank screen |
20:17:55 | dadada | disruptek: youtube offers low resolution video, I don't understand how twitch fails on offering that option |
20:18:14 | FromDiscord_ | <clyybber> twitch dumdum |
20:18:32 | FromDiscord_ | <Elegant Beef> twitch's bitrate isnt low res? 😄 |
20:18:36 | nixfreak | sorry after compiling it and then trying to view it I get a blank screen , then I look at console tools and i see uncaught dom expression , failed to read localstorage |
20:18:50 | FromDiscord_ | <Elegant Beef> It's such a low bitrate it might as well be 240p imo |
20:19:23 | nixfreak | could try using youtube-dl and look for a higher bitrate |
20:19:39 | FromDiscord_ | <Elegant Beef> for twtich? |
20:19:44 | dadada | so, I've finally given up, the stream is nice for the music alone, but not with my internet, I've little issues on youtube though |
20:20:59 | dadada | disruptek: please make Nim videos for youtube! |
20:21:29 | nixfreak | yeah youtube-dl is't just for youtube , its based of curl and ffmpeg |
20:21:37 | dadada | I've seen a zig developer post videos there, and it does get a decent amount of attention |
20:21:44 | nixfreak | and some other modules |
20:22:01 | FromDiscord_ | <Elegant Beef> Ill make nim videos for youtube, they'll just be compilations of me typing code, looking at docs, then going to discord and asking the questions |
20:22:09 | FromDiscord_ | <Elegant Beef> It'll be a big success |
20:22:33 | FromDiscord_ | <clyybber> throw your dog in |
20:22:37 | FromDiscord_ | <clyybber> then it will be |
20:23:00 | FromDiscord_ | <clyybber> a great success |
20:23:17 | FromDiscord_ | <clyybber> WHAT IF< DISRUPTEK COULDN"T SEE HIS CODE? |
20:28:16 | * | ptdel joined #nim |
20:28:30 | FromGitter | <alehander92> WOW caps lock sounds funny |
20:28:46 | FromDiscord_ | <clyybber> ok buddy |
20:32:13 | nixfreak | hmm none of the karax examples work |
20:32:22 | FromGitter | <NOP0> hey, check this out, why I am getting sigsegv after the program? https://play.nim-lang.org/#ix=2cqz |
20:40:21 | FromGitter | <NOP0> ok, its because I did not return animal from the constructor proc of AerialAnimal, but why does the program run and *then* crash? |
20:41:49 | FromDiscord_ | <clyybber> disruptek: Did you stop streaming? |
20:42:07 | FromDiscord_ | <clyybber> The music went a bit louder so I didn't hear whatever you were saying |
20:42:39 | disruptek | yeah, i wanna give this kid a walk. |
20:42:45 | * | clyybber joined #nim |
20:43:33 | disruptek | the way we'll handly concurrency in testutils is that nimcache will be unique per compilation but not per invocation. |
20:44:16 | disruptek | we could probably optimize compilation using incremental. |
20:44:46 | disruptek | if we take ownership of -f from the user, maybe we can just do a fresh build per each backend. |
20:44:55 | disruptek | then copy it to a new cache. |
20:50:44 | * | ptdel quit (Ping timeout: 248 seconds) |
20:52:35 | * | filcuc joined #nim |
20:54:41 | * | freddy92 quit (Read error: Connection reset by peer) |
20:55:07 | * | freddy92 joined #nim |
21:06:13 | * | filcuc quit (Ping timeout: 272 seconds) |
21:13:21 | * | filcuc joined #nim |
21:16:10 | * | lritter quit (Ping timeout: 255 seconds) |
21:20:12 | FromGitter | <NOP0> Hi, what are some cool iot/embedded/bare-metal ish projects to look at in Nim? |
21:20:31 | * | NimBot joined #nim |
21:26:15 | federico3 | NOP0: what type of project are you looking for? |
21:26:53 | FromGitter | <NOP0> is it possible to do bare metal like rust? |
21:30:31 | FromDiscord_ | <clyybber> sure |
21:36:03 | * | clyybber quit (Ping timeout: 240 seconds) |
21:37:57 | * | clyybber joined #nim |
21:39:10 | dadada | NOP0 there's a kernel written in Nim on github |
21:39:15 | dadada | a minimal kernel |
21:40:53 | FromDiscord_ | <clyybber> https://github.com/alehander92/lodka |
21:41:56 | FromGitter | <NOP0> thanks! |
21:42:04 | FromDiscord_ | <clyybber> nopro |
21:42:06 | FromDiscord_ | <clyybber> blemo |
21:42:20 | disruptek | why did someone clip me talking about switches. |
21:42:28 | FromDiscord_ | <clyybber> lol |
21:42:31 | FromDiscord_ | <clyybber> wasn't me |
21:42:39 | FromDiscord_ | <clyybber> where? |
21:42:50 | disruptek | there's a lot of echo in this room. |
21:43:31 | disruptek | the video doesn't look bad to me. |
21:43:36 | disruptek | is this clip similar to the stream? |
21:44:13 | FromDiscord_ | <clyybber> yeah |
21:44:21 | FromDiscord_ | <clyybber> the quality was fine IMO |
21:44:26 | disruptek | i guess this is before we fixed the color? |
21:44:36 | FromDiscord_ | <clyybber> the color? |
21:44:38 | disruptek | because this color is totally off. |
21:45:02 | FromDiscord_ | <clyybber> heh |
21:45:08 | FromDiscord_ | <clyybber> it has been like that the whole time |
21:45:12 | disruptek | wow. |
21:45:21 | FromDiscord_ | <clyybber> thats probably why you got asked about the colorscheme |
21:45:22 | FromDiscord_ | <clyybber> haha |
21:45:28 | disruptek | jesus christ. |
21:45:38 | disruptek | it looks like a monkey took a shit all over my display. |
21:45:46 | FromDiscord_ | <clyybber> caramel |
21:45:50 | disruptek | "caramel" |
21:46:01 | disruptek | what the fuck. |
21:46:04 | disruptek | we have to fix that. |
21:46:42 | FromDiscord_ | <clyybber> I wondered what sick github darkmode you have |
21:47:01 | FromDiscord_ | <clyybber> since it displayed the parts that are yellow here as blue |
21:47:49 | FromDiscord_ | <clyybber> its was pretty easy on the eyes tho |
21:47:55 | FromDiscord_ | <clyybber> might wonna keep it like that : ) |
21:48:16 | disruptek | my github /is/ like that. |
21:48:20 | disruptek | but not exactly like that. |
21:48:31 | FromDiscord_ | <clyybber> yeah, I think we have the same github theme |
21:48:55 | disruptek | fixed. |
21:48:59 | FromDiscord_ | <clyybber> GithubDarkTheme() ? |
21:49:04 | FromDiscord_ | <clyybber> disruptek: What was the cause? |
21:49:18 | disruptek | there's an option to flip red/blue. |
21:49:23 | FromDiscord_ | <clyybber> oh |
21:50:35 | * | solitudesf quit (Ping timeout: 260 seconds) |
21:52:04 | * | nsf quit (Quit: WeeChat 2.7) |
22:22:26 | * | filcuc quit (Ping timeout: 240 seconds) |
22:42:02 | * | neceve quit (Ping timeout: 240 seconds) |
22:44:53 | FromDiscord_ | <Milerius> hello |
22:45:11 | FromDiscord_ | <Milerius> there is a way to extend path env in a cross platform way with nim ? |
22:45:15 | FromDiscord_ | <clyybber> sup |
22:45:17 | * | zahary joined #nim |
22:45:24 | * | zahary quit (Client Quit) |
22:45:29 | FromDiscord_ | <Milerius> I'm looking for the equivalent of `os.environ["PATH"] += os.pathsep + path` |
22:45:41 | * | zahary joined #nim |
22:45:42 | FromDiscord_ | <Milerius> (this is from python) |
22:45:58 | FromDiscord_ | <clyybber> Hmm |
22:46:06 | FromDiscord_ | <clyybber> I'm not sure. |
22:46:11 | FromDiscord_ | <clyybber> Does that even work on windows? |
22:46:23 | FromDiscord_ | <Milerius> this work on windows yeah |
22:46:33 | FromDiscord_ | <Milerius> path exist on windows too |
22:47:28 | FromDiscord_ | <clyybber> no way :p |
22:47:42 | FromDiscord_ | <clyybber> hmm, I don't think it exists yet |
22:48:32 | FromDiscord_ | <Milerius> would be super nice |
22:48:44 | FromDiscord_ | <clyybber> PR's welcome 😄 |
22:49:04 | FromDiscord_ | <Milerius> yeah that's true too, but i was looking for writing an emergency nim script ahah :p |
22:49:09 | FromDiscord_ | <clyybber> Oh |
22:49:47 | FromDiscord_ | <Milerius> i'm writing our CI infrastructure with nim and i need to build some stuff on the fly and add them in the path env variable temporary |
22:50:48 | disruptek | putEnv |
22:50:51 | FromDiscord_ | <clyybber> Sorry, I can't help you much here, but I know you can set and get environment variables |
22:51:01 | FromDiscord_ | <clyybber> listen to disruptek |
23:09:53 | disruptek | wut |
23:09:55 | * | dadada quit (Ping timeout: 260 seconds) |
23:10:02 | disruptek | ~disruptek |
23:10:03 | disbot | disruptek: 11a sexy fella with magic hands. -- disruptek |
23:10:03 | disbot | disruptek: 11don't listen to him |
23:10:03 | disbot | disruptek: 11an unsafe nil deref |
23:11:13 | disruptek | ~playground is an online in-the-browser IDE for simple Nim experiments at https://play.nim-lang.org/ |
23:11:14 | disbot | playground: 11an online in-the-browser IDE for simple Nim experiments at https://play.nim-lang.org/ |
23:19:00 | madprops | how can I add text files to a binary? Instead of having to include text files with it ? |
23:19:13 | madprops | just have it bundled |
23:20:29 | disruptek | staticReadFile |
23:20:34 | disruptek | aka slurp() |
23:21:15 | madprops | cool, thanks |
23:22:08 | * | Trustable quit (Remote host closed the connection) |
23:26:56 | madprops | hmm, how do I do this? https://play.nim-lang.org/#ix=2crd |
23:28:53 | madprops | the idea is to add all files automatically, not define them manually |
23:29:05 | * | disrupteq joined #nim |
23:31:06 | madprops | this has been discussed https://gitter.im/nim-lang/Nim?at=5a6760e96117191e61a19715 |
23:31:14 | * | b3ong4o joined #nim |
23:50:11 | * | freddy92 quit (Read error: Connection reset by peer) |
23:50:39 | * | freddy92 joined #nim |