00:02:38 | * | traviss joined #nim |
00:07:33 | FromDiscord | <garageagle> I'm trying to create a reverse shell application, but the programs seem to hang and not work properly. I've made things like this in Python, so I'm kind of going off of that logic. Here's my code: Server: https://hastebin.com/ligujihiza.php Client: https://hastebin.com/etohewarox.pl |
00:09:49 | FromDiscord | <garageagle> Sorry if I'm being vague about what's not working |
00:19:50 | FromDiscord | <exelotl> i want to die https://cdn.discordapp.com/attachments/239878713016188939/628385450456907778/unknown.png |
00:20:17 | FromDiscord | <exelotl> didn't think that github would record me fiddling with the issue title formatting ;_; |
00:21:28 | lqdev[m] | nothing to worry about, github doesn't let you use markdown in titles anyway |
00:23:01 | FromDiscord | <exelotl> yeah makes sense I guess |
00:44:58 | * | owl_000 joined #nim |
01:11:33 | * | theelous3 quit (Ping timeout: 245 seconds) |
01:13:14 | * | yumaikas joined #nim |
01:13:19 | yumaikas | o/ |
01:23:06 | FromGitter | <kdheepak> You can use "`" in the title on Github. |
01:23:58 | * | sealmove joined #nim |
01:24:49 | FromGitter | <kdheepak> (https://files.gitter.im/nim-lang/Nim/Daea/Screen-Shot-2019-09-30-at-7.23.42-PM.png) |
01:25:06 | * | whaletechno quit (Quit: ha det bra) |
01:45:55 | disruptek | leorize: ##[ ]## multiline comments not identified as such, i think. |
01:54:40 | * | leorize quit (Ping timeout: 260 seconds) |
01:55:36 | yumaikas | Anyone idling here tonight? |
01:55:59 | shashlick | Always :P |
01:56:17 | yumaikas | shashlick: What's shaking? |
01:56:31 | shashlick | Too many things |
01:56:59 | yumaikas | What has you in #nim? |
01:57:00 | shashlick | Not enough time |
01:57:17 | shashlick | Came here 2 years ago, couldn't log off since then |
01:57:52 | yumaikas | You use nim much? |
01:58:30 | * | leorize joined #nim |
02:03:20 | shashlick | All the time pretty much |
02:03:29 | shashlick | What brings you here |
02:04:26 | yumaikas | Nim hitting 1.0, tbh |
02:05:44 | yumaikas | So far, the only thing I've written in Nim of consequence is this: https://idea.junglecoder.com/view/idea/277 |
02:06:06 | yumaikas | I'm thinking about porting a simplified wiki to Jester, however |
02:10:22 | shashlick | Nice |
02:11:23 | yumaikas | What is the handiest thing about Nim, in your opinion, or is it just the only thing you know? |
02:11:53 | * | minierolls joined #nim |
02:12:17 | * | minierolls quit (Remote host closed the connection) |
02:12:37 | * | minierolls joined #nim |
02:18:11 | shashlick | The speed |
02:18:23 | shashlick | Both dev and execution speed |
02:18:25 | FromGitter | <Varriount> yumaikas: Compilation |
02:18:48 | FromGitter | <Varriount> Coming from Python, languages like Nim and Go make distributing applications *so* much easier |
02:19:11 | FromGitter | <Varriount> Python's distribution story is... complicated |
02:19:56 | sealmove | oh Varriount hi |
02:20:05 | sealmove | Have you seen this list? https://github.com/oilshell/oil/wiki/ExternalResources |
02:20:10 | yumaikas | Varriount: I get that, lol. That's why I worked with Go for so long |
02:20:26 | FromGitter | <dawkot> Hmm, does anyone know how to iterate a JS array from nim? |
02:20:30 | yumaikas | But now that Nim is 1.0, I'm ready for generics+GC+easy deploy |
02:20:54 | yumaikas | dawkot: What, when compiling Nim -> JS? |
02:21:57 | * | owl_000 quit (Ping timeout: 240 seconds) |
02:22:11 | yumaikas | dawkot: Or when parsing JSON? Those would be two different contexts, IIRC |
02:22:42 | FromGitter | <dawkot> @FromIRC When receiving a JSON that is an array on frontend |
02:22:46 | FromGitter | <Varriount> sealmove: What about it? |
02:23:24 | sealmove | I thought you'd find it interesting since you've done work on shells (commandant) |
02:23:25 | yumaikas | dawkot: My nick is yumaikas, if you want to ping me |
02:23:50 | FromGitter | <Varriount> sealmove: My final University course was more work on Commandant. |
02:24:11 | sealmove | oh great! |
02:24:14 | yumaikas | Varriount: Link to Commandant? |
02:24:17 | FromGitter | <Varriount> I got to reimplement all the internals. :P |
02:24:29 | FromGitter | <Varriount> https://github.com/Varriount/commandant/tree/master/commandant |
02:24:35 | yumaikas | (I've done some scripting langauge implementation myself, always curious to see others) |
02:24:46 | sealmove | Was that the npeg re-design? |
02:26:13 | FromGitter | <Varriount> Yep |
02:27:07 | FromGitter | <Varriount> There's no 'help' for the builtin commands, however the readme mostly specifies what is supported. |
02:27:12 | * | endragor joined #nim |
02:27:24 | FromGitter | <Varriount> https://github.com/Varriount/commandant/blob/master/commandant/lexer.nim |
02:27:35 | FromGitter | <Varriount> https://github.com/Varriount/commandant/blob/master/commandant/vm/builtins.nim |
02:28:34 | yumaikas | Varriout: WHy use NPeg to lex, rather than parse? |
02:28:52 | FromGitter | <Varriount> How would I use it to parse? |
02:29:17 | FromGitter | <Varriount> NPeg can output data structures, but can't easily carry around the context needed for parsing |
02:29:20 | yumaikas | I'm not 100% sure, tbh. I just have heard of using PEG parsers in the past |
02:29:41 | yumaikas | Something something closures |
02:30:20 | yumaikas | But then, I've never written a parser in Nim. Just a very rudimentary one in Go |
02:30:27 | FromGitter | <Varriount> Not that I've had a huge amount of experience, but when you use a PEG to translate directly from input to an AST, you always have to resolve conflicts between the token structure and the desired AST structure |
02:30:37 | FromGitter | <Varriount> Or at least, that's what I have observed. |
02:31:31 | yumaikas | Yeah, I've neer actually used a PEG to go to an AST. Or rather, I've never had the patience to work with ASTs properly. That's why my langauges have been stack based in the past. |
02:31:58 | yumaikas | So, when it comes to PEGs, you probably have more experience than me |
02:32:37 | FromGitter | <Varriount> yumaikas: Honestly, the parsing logic wasn't hard. The tokenization logic was more involved |
02:33:12 | FromGitter | <Varriount> Although, I will admit I did as much as possible with the tokenization logic that I could. |
02:33:44 | sealmove | It's natural for a shell language to be difficult to tokenize |
02:34:12 | yumaikas | Well, if you don't have control flow yet or major structure to your code yet, parsing won't be as hard |
02:34:20 | sealmove | Most logic should exist there, rather than parsing |
02:34:40 | FromGitter | <Varriount> https://github.com/Varriount/commandant/blob/master/commandant/lexer.nim#L223 |
02:34:42 | yumaikas | and shells are a PITA to tokenize well, if andyc/oilshell are anything to judge by, lol |
02:35:21 | FromGitter | <Varriount> I just wanted a shell language that had a simple idea behind it - everything is a command |
02:35:42 | FromGitter | <Varriount> No obscure language constructs |
02:36:06 | yumaikas | Fair enough. Do you have if/then or loops atm? |
02:37:07 | sealmove | Varriount I had a thought the other day. Isn't it annoying that interactive features are embedded in shell? For example if you want a fancy Bash, instead you have to grab something similar to Bash, but not Bash (for example Zsh). |
02:37:37 | sealmove | How do you plan to make commandant "competitive" if it comes to that? |
02:38:04 | * | yumaikas thinks that it's pretty premature to be thinking about those sorts of things, if this is a Uni project |
02:39:51 | sealmove | yumaikas is right of course :P |
02:39:53 | FromGitter | <Varriount> yumaikas: `if` statements, yes. There are `while` loops, but I didn't have time to finish `for` loops. |
02:41:12 | FromGitter | <gogolxdong> Is there a GUI library designed for embedded system? |
02:41:48 | FromGitter | <Varriount> What kind of embedded system? |
02:42:01 | FromGitter | <Varriount> Usually embedded systems don't have screens |
02:42:10 | yumaikas | gogolxdong: That sounds like a contradiction in terms? Care to clarify a bit? (I'm thinking like Arduino, those don't typically have screens) |
02:43:17 | * | actuallybatman quit (Ping timeout: 276 seconds) |
02:54:28 | * | actuallybatman joined #nim |
03:05:23 | * | sealmove quit (Quit: WeeChat 2.6) |
03:05:42 | FromGitter | <gogolxdong> like a GUI runs in 32K memory. |
03:06:06 | FromGitter | <gogolxdong> https://github.com/intel/zephyr.js/blob/master/README.md |
03:06:22 | FromGitter | <gogolxdong> https://github.com/Samsung/TizenRT |
03:12:06 | FromGitter | <gogolxdong> Is it possible for using nim-kernel? |
03:19:16 | * | rockcavera quit (Remote host closed the connection) |
03:29:54 | FromGitter | <zacharycarter> using it for what? |
03:35:47 | * | minierolls quit (Ping timeout: 260 seconds) |
03:48:29 | * | yumaikas is now known as yummykiss |
03:49:51 | * | yummykiss is now known as molloi |
03:51:46 | * | molloi is now known as yumaikas |
03:52:13 | * | yumaikas is now known as xeh |
03:52:50 | * | chemist69 quit (Ping timeout: 276 seconds) |
03:52:53 | * | xeh is now known as yumaikas |
03:53:52 | FromGitter | <gogolxdong> embedded system |
03:53:52 | * | yumaikas is now known as xeh |
03:54:25 | * | chemist69 joined #nim |
03:59:58 | * | dddddd quit (Remote host closed the connection) |
04:00:36 | FromGitter | <gogolxdong> as a GUI runs in 32K memory |
04:02:06 | zedeus | gogolxdong: https://github.com/littlevgl/lvgl |
04:02:20 | xeh | gogolxdong: I don't think you're going to find much that does that. 32k is pretty spare, if you run a GUI, that's going to be mostly what you run, unless it's super minimal, no? |
04:02:23 | zedeus | requires only 16K memory |
04:10:45 | FromDiscord | <Shield> that's amazing |
04:11:48 | * | Jjp137 quit (Read error: Connection reset by peer) |
04:12:39 | * | Jjp137 joined #nim |
04:13:05 | zedeus | yeah, I get slightly more amazed every time I look at it |
04:14:01 | * | xeh would be far more tempted to just use a terminal connection, or a VT-100 or some other type of char buffer if he had 32K to work with |
04:35:37 | FromGitter | <zacharycarter> doesn't look like nimterop works with newruntime yet because of using regex |
04:38:12 | FromDiscord | <Shield> slight improvement for https://nim-lang.org/docs/manual.html it should be consistent about the name of GC_unref/GCunref, while Nim is style insensitive, the browser search isn't |
04:40:30 | xeh | Is nim actually looking to get rid of GC long-term, or just provide alternatives to it? |
04:40:35 | * | xeh likes having a GC around |
04:41:28 | * | xeh is now known as yumaikas |
04:41:47 | * | yumaikas quit (Changing host) |
04:41:47 | * | yumaikas joined #nim |
04:46:24 | * | LargeEpsilon joined #nim |
04:48:23 | * | nsf joined #nim |
04:51:00 | * | navinmistry joined #nim |
04:56:36 | * | navinmistry quit (Remote host closed the connection) |
04:57:17 | FromGitter | <zacharycarter> xeh: no |
04:57:24 | FromGitter | <zacharycarter> the latter |
04:57:44 | FromGitter | <zacharycarter> at least as far as I am aware |
04:58:04 | * | narimiran joined #nim |
04:59:22 | yumaikas | Cool, that's nice |
04:59:48 | FromDiscord | <Big Chungus> hi |
05:00:07 | * | actuallybatman quit (Ping timeout: 265 seconds) |
05:01:07 | FromDiscord | <Big Chungus> what do you guys do in this server |
05:01:39 | FromGitter | <gogolxdong> I have to admit I dont understand the reason of using GC if there is new runtime. |
05:02:43 | yumaikas | gogolxdong: If I wanted to fight to understand variable lifetimes, I'd use rust |
05:13:13 | * | navinmistry joined #nim |
05:13:36 | rayman22201 | Nim wants to make everybody happy. And it might succeed. Newruntime is a different flavor of lifetime tracking. One that is hopefully less painful to use. But the solution will coexist with the GC. |
05:13:37 | FromDiscord | <Rika> @Big Chungus#1480 uh talk about nim what else |
05:13:45 | FromDiscord | <Rika> He seems gone |
05:16:00 | FromDiscord | <Shield> newruntime still doesn't work with most features/libraries |
05:18:38 | * | navinmistry quit (Remote host closed the connection) |
05:21:54 | rayman22201 | The only feature that doesn't work right now afaik is async. |
05:22:20 | rayman22201 | But that's a big one obviously |
05:23:42 | rayman22201 | Araq is also experimenting with a competing manual memory management solution. First one that can support async wins. |
05:23:53 | FromDiscord | <Shield> repr doesn't work either, so I assume more stuff requires a bit of work |
05:24:42 | rayman22201 | The whole thing is definitely still in the alpha experimental phase. |
05:26:51 | Araq | Shield: 'repr' WILL NOT WORK with it, newruntime has a different, slim form of RTTI |
05:26:57 | Araq | and 'repr' uses the old RTTI. |
05:27:21 | Araq | that's not a bug or an oversight, --newruntime is for embedded dev |
05:27:47 | yumaikas | Ah, so it's not intended as a replacement for the old runtime as such? |
05:29:59 | yumaikas | I suppose, more than anything, that my interest in Nim is partially that it doesn't require the mental effort to write that rust does |
05:31:35 | rayman22201 | We want to support both. GC for the high level peeps, smart low level memory management when you want it. |
05:31:58 | * | navinmistry joined #nim |
05:32:34 | yumaikas | Ah, ok. That kinda makes sense. (It makes sense, but it also seems to suggest multiple sub-languages, after a fashion, akin to the sunsets of C++) |
05:33:06 | Araq | and we do support both well already, there is 'ptr' vs 'ref', the only problem is that 'ref' is over-used in the stdlib and async is very tied to the GC |
05:33:52 | yumaikas | I suspect async will be hard to untie from the GC, but I've not tried it before |
05:34:04 | Araq | v1 ships with destructors and move semantics, you can roll your own 'seq' type etc |
05:34:23 | * | navinmistry quit (Remote host closed the connection) |
05:34:41 | yumaikas | Araq (and others) congrats on 1.0, btw. It's what has me trying it out after having it in the back of my head for a while |
05:34:51 | * | thomasross quit (Ping timeout: 240 seconds) |
05:35:26 | yumaikas | seq type being something that requires you to move it through a specific set of transformations? |
05:35:50 | Araq | 'seq' type is simply the most common, useful container |
05:36:01 | Araq | and an example for what's possible |
05:36:10 | yumaikas | Ah, ok |
05:36:16 | yumaikas | Makes sense. |
05:36:51 | Araq | and btw we have a borrow checker, but it's so elegant that nobody noticed |
05:36:58 | Araq | ;-) |
05:37:02 | yumaikas | Loooool |
05:37:25 | yumaikas | But does it actually scream at you when you make mistakes? |
05:37:32 | * | thomasross joined #nim |
05:37:46 | Araq | don't assume we're repeating Rust's mistakes, in #nim we make our own mistakes |
05:37:56 | rayman22201 | Lol |
05:39:16 | yumaikas | Araq: fair enough. I suppose I don't understand the underlying theory behind borrow checking enough to know if it would be possible to make a complete borrow checker that didn't impose a crazy type system a la rust |
05:40:14 | * | LargeEpsilon quit (Ping timeout: 265 seconds) |
05:40:34 | yumaikas | Er, complete may be the wrong wording, total, in the sense of total functions is more what I mean |
05:41:28 | yumaikas | How does your borrow checker deal with linked lists? I recall that being an area of considerable difficulty for rust? |
05:42:58 | Araq | yumaikas: that's not the concern of Nim's borrow checker, we use the GC for these |
05:43:42 | yumaikas | Araq: what is the concern of Nim's borrow checker, then? |
05:44:05 | Araq | https://nim-lang.org/docs/manual.html#procedures-var-return-type making the 'var T' return type memory-safe |
05:44:06 | FromDiscord | <Shield> which files contain the RTTI implementation? it got me curious |
05:44:24 | Araq | Shield: compiler/ccgtypes.nim |
06:06:22 | FromDiscord | <mratsim> Rust compile-time improved significantly? https://www.reddit.com/r/crystal_programming/comments/da8ylr/compile_speed/f22fxbv/ |
06:08:36 | Araq | sure, there is no Rust has to compile slowly |
06:09:09 | Araq | the analysis it has to perform are deliberately designed to be "local to the fn only" |
06:09:26 | Araq | *no reason |
06:13:51 | * | navinmistry joined #nim |
06:17:39 | FromDiscord | <mratsim> btw, I had a look into Araq's GC, Mimalloc sounds interesting, we have some pathological cases of growing Nim memory use for "long running" processes. |
06:18:04 | * | LargeEpsilon joined #nim |
06:18:25 | FromDiscord | <mratsim> and we do have a lot of short-lived seqs |
06:18:28 | * | solitudesf joined #nim |
06:20:27 | * | LargeEpsilon_ joined #nim |
06:20:50 | Araq | mratsim: araqsgc is 3-4x slower for allocation-heavy code though, currently |
06:21:37 | FromGitter | <zacharycarter> what does this error mean: `invalid type: 'Thread' in this context` ? |
06:22:20 | * | PMunch joined #nim |
06:22:56 | FromDiscord | <mratsim> oh, they said they optimized for functional programming case where you have lots of short-lived allocs |
06:23:12 | FromGitter | <zacharycarter> ah I think I know |
06:24:56 | * | LargeEpsilon quit (Ping timeout: 276 seconds) |
06:27:10 | * | navinmistry quit (Remote host closed the connection) |
06:27:41 | * | navinmistry joined #nim |
06:28:58 | * | navinmistry quit (Remote host closed the connection) |
06:29:07 | * | navinmistry joined #nim |
06:34:06 | * | clyybber joined #nim |
06:39:29 | * | owl_000 joined #nim |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:00:03 | * | krux02 joined #nim |
07:00:34 | * | Vladar joined #nim |
07:00:53 | clyybber | Zevv: Good job, you broke the CIs :p |
07:02:18 | Zevv | sweet, show me |
07:03:06 | Zevv | "you break the build, you stay late" |
07:04:47 | * | gmpreussner joined #nim |
07:05:59 | Zevv | oh - wait. Does CI use master from nimbles instead of releases? |
07:06:12 | Zevv | Sorry about that, I didn't realize |
07:10:59 | * | ng0 joined #nim |
07:13:49 | PMunch | Anything fun happen while I was gone? |
07:14:00 | PMunch | Saw my name mentioned a couple of times in the logs :) |
07:15:10 | lqdev[m] | I assume you didn't see my new game written in Nim https://github.com/liquid600pgm/memrecall |
07:16:23 | PMunch | I didn't! |
07:16:38 | PMunch | Oh, a jam game, neat! |
07:18:59 | lqdev[m] | it still has pretty poor performance but I plan on fixing that today. mainly because all sprites, even offscreen ones, are drawn |
07:19:23 | lqdev[m] | so you need a beefy computer to play this 2D game with simple graphics... |
07:20:06 | PMunch | Haha, that is fairly common for these kinds of games :) |
07:21:46 | lqdev[m] | what did you expect out of a game made in less than 4 days anyways ;) |
07:22:04 | PMunch | Yeah that's my point |
07:22:24 | PMunch | This was my last gamejam game: https://github.com/PMunch/TromsoGameJam2017 |
07:22:28 | lqdev[m] | right |
07:22:56 | PMunch | Where you have beautiful things like this: https://github.com/PMunch/TromsoGameJam2017/blob/master/src/sgtest.nim#L305 |
07:23:11 | PMunch | Scroll to the right to see the horrible horrible mess which that line actually is :P |
07:23:43 | lqdev[m] | oh man |
07:23:52 | PMunch | Yup.. |
07:23:57 | Zevv | guys these repo's really need a screenshot in the README |
07:24:00 | Zevv | this is no good |
07:24:06 | lqdev[m] | even my game doesn't feature lines this long, even though I was on a rush |
07:24:09 | Zevv | I now have to clone it all, build it, and *play* it |
07:24:24 | lqdev[m] | Zevv: wait a sec, I'll link to the itch page |
07:24:38 | Zevv | "I backed this *delicious* cookies. No, you can't smell them" |
07:24:55 | PMunch | My itch page only have the splash screen.. https://pmunch.itch.io/hold-the-line |
07:25:27 | PMunch | lqdev[m], that line is from letting WolframAlpha solve a formula |
07:25:33 | Zevv | haha |
07:25:55 | PMunch | It's only used to draw a "realistic" hanging wire from your cursor to a set point on the screen |
07:26:36 | Zevv | lqdev[m]: http://ix.io/1Lqp boom |
07:28:48 | lqdev[m] | Zevv: 404 not found |
07:30:27 | * | navinmistry quit (Remote host closed the connection) |
07:30:33 | PMunch | By the way lqdev[m], you can replace your compilation command with "nimble build" |
07:30:46 | lqdev[m] | PMunch: right |
07:30:47 | PMunch | That will pull in all the things you need, and then build it in the local repository |
07:30:54 | * | navinmistry joined #nim |
07:31:19 | lqdev[m] | Zevv: works now. try doing `nimble install rapid` and add -f to the compile commands |
07:31:31 | lqdev[m] | s/commands/options |
07:35:21 | * | navinmistry quit (Ping timeout: 250 seconds) |
07:38:23 | * | navinmistry joined #nim |
07:43:16 | * | navinmistry quit (Ping timeout: 264 seconds) |
07:45:25 | Zevv | no go still :/ Need to $work now first, will check it out later! |
07:47:54 | * | asymptotically joined #nim |
07:59:41 | FromDiscord | <Shield> odd, the only error in compilation i got was RWave.playing wasn't a public field in rapid |
07:59:48 | FromDiscord | <Shield> couldn't run it tho |
08:05:29 | * | floppydh joined #nim |
08:11:03 | * | tklohna quit (Ping timeout: 246 seconds) |
08:24:52 | * | navinmistry joined #nim |
08:26:57 | * | navinmistry quit (Remote host closed the connection) |
08:27:23 | * | navinmistry joined #nim |
08:31:05 | * | couven92 joined #nim |
08:39:35 | * | navinmistry quit (Remote host closed the connection) |
08:42:57 | FromDiscord | <Rika> how do i get the smallest (non-de/sub)normal float in nim? |
08:44:22 | FromDiscord | <mratsim> import fenv or import math should have some stuff related to floats |
08:45:50 | * | abm joined #nim |
08:47:36 | FromDiscord | <Rika> fenv doesnt have anything for *normal* floats |
08:48:24 | Zevv | I believe FLT_MIN should be smallest normal? 1.175494e-38 |
08:49:22 | Zevv | minimumPositiveValue() |
08:49:27 | FromDiscord | <Rika> okay |
08:49:29 | FromDiscord | <Rika> thanks |
08:50:00 | Zevv | minimumPositiveValue(float) |
08:50:02 | Zevv | that is |
08:54:43 | livcd | mratsim: how big of a problem is that rising memory for you ? and how do you solve it ? |
08:57:17 | FromDiscord | <mratsim> showstopper, we want our program to be run for months on dedicated hardware |
08:57:37 | FromDiscord | <mratsim> so we will have to use a custom memory allocator or memory pool |
08:58:08 | FromDiscord | <mratsim> see: https://github.com/status-im/nim-beacon-chain/issues/447 |
09:00:59 | * | navinmistry joined #nim |
09:01:39 | livcd | but that sounds like a huge problem for everyone ? |
09:03:58 | FromDiscord | <mratsim> it might just be fragmentation |
09:04:17 | * | navinmistry quit (Remote host closed the connection) |
09:04:50 | FromDiscord | <mratsim> anyway, when we consolidate this will be one of the first thing that we investigate |
09:05:12 | Araq | livcd, every allocator has bad allocation patterns |
09:05:25 | Araq | but it might be something else. I investigated it a bit, so far without luck |
09:09:54 | * | navinmistry joined #nim |
09:10:17 | * | tklohna joined #nim |
09:15:35 | * | navinmistry quit (Remote host closed the connection) |
09:19:02 | * | navinmistry joined #nim |
09:22:34 | FromDiscord | <mratsim> also how does the stack scanning work? https://github.com/status-im/nim-beacon-chain/issues/370#issuecomment-527252425. |
09:24:04 | * | navinmistry quit (Ping timeout: 264 seconds) |
09:29:50 | Araq | conservatively |
09:31:08 | * | navinmistry joined #nim |
09:42:58 | FromDiscord | <Rika> how do i make a dbconn to an sqlite file at a certain path |
09:47:26 | Araq | https://nim-lang.org/docs/db_sqlite.html#basic-usage-opening-a-connection-to-a-database |
09:49:59 | FromDiscord | <mratsim> what does conservatively mean >_> |
09:52:27 | FromDiscord | <Rika> Araq, i think i found it |
09:52:35 | FromDiscord | <Rika> passing a file URI might work |
09:57:35 | Araq | mratsim: it means it does this: |
09:57:45 | Araq | for every machine word in the stack: |
09:58:11 | Araq | check if its bit pattern looks like an allocator object, if so, trace it |
09:58:22 | Araq | *allocated object |
10:02:27 | Araq | and it's exactly as expensive at it looks |
10:02:57 | FromDiscord | <mratsim> oh, that's mmmmh |
10:02:58 | Araq | better schedule your GC runs when the stack is small |
10:03:19 | Araq | which is easy to do unless you write a compiler |
10:03:33 | FromDiscord | <mratsim> I don't see how I can do that with out current stack usage |
10:03:51 | Araq | why not? |
10:03:59 | FromDiscord | <mratsim> we have 256-bit signatures coming and going, 256-bit integers coming soon |
10:04:49 | FromDiscord | <mratsim> here I identified a big bottleneck in testing due to unittest not wrapping things in procs |
10:05:07 | FromDiscord | <mratsim> but I guess we have that issue in more places |
10:05:29 | FromDiscord | <mratsim> but I suppose the name of the proc is "mark_*" foo? If so I can grp for it in perf reports |
10:06:18 | Araq | I don't see how that matters |
10:06:35 | Araq | also try --gc:boehm and --gc:markAndSweep |
10:06:44 | Araq | the default GC is the slowest (lovely...) |
10:10:03 | FromGitter | <mratsim> If a proc doesn't even seq/strings/ref is it still triggered? |
10:25:51 | * | abm quit (Read error: Connection reset by peer) |
10:27:56 | leorize | disruptek: fixed |
10:34:27 | * | abm joined #nim |
10:35:59 | FromGitter | <Clyybber> ping @cooldome |
10:40:26 | * | navinmis_ joined #nim |
10:40:26 | * | navinmistry quit (Remote host closed the connection) |
10:41:08 | * | Vladar quit (Remote host closed the connection) |
10:41:40 | * | Vladar joined #nim |
10:43:41 | * | ng0_ joined #nim |
10:43:55 | * | navinmis_ quit (Remote host closed the connection) |
10:47:05 | * | navinmistry joined #nim |
10:47:08 | * | ng0 quit (Ping timeout: 260 seconds) |
10:47:13 | * | ng0_ is now known as ng0 |
10:52:04 | * | theelous3 joined #nim |
10:52:10 | * | navinmistry quit (Remote host closed the connection) |
10:54:07 | * | navinmistry joined #nim |
11:06:37 | clyybber | Araq: Looks like https://github.com/nim-lang/Nim/pull/12295 is ready |
11:12:16 | * | tjmac joined #nim |
11:14:42 | * | nif quit (Quit: ...) |
11:15:08 | * | nif joined #nim |
11:18:03 | * | nif quit (Client Quit) |
11:18:12 | * | nif joined #nim |
11:22:55 | FromGitter | <rdlsf-omg> @Araq Hello and kudos for 1.0 release. Can we use https://github.com/Araq/ormin in production? What kind of roadmap is pending for the ORM? |
11:47:50 | Araq | rdlsf-omg: huh, if it compiles, it's ready for production since it pushes all the work to compiletime |
11:48:05 | Araq | but I never used it in production, unfortunately |
11:48:52 | FromGitter | <rdlsf-omg> thx |
11:55:29 | FromGitter | <zetashift> @mratsim I know Rust worked on their compile times being shorter but a benchmark just running 'Hello World' seems like a really bad benchmark no? |
12:03:10 | Araq | as I said, in theory there is nothing slow about compiling Rust afaik, and practice approaches theory given enough resources |
12:03:38 | * | navinmistry quit (Remote host closed the connection) |
12:03:46 | Araq | if you want to dislike Rust, you need to find some other reasons :P |
12:06:23 | FromDiscord | <mratsim> @zetashift, well at least we know that it starts fast :p |
12:07:20 | FromDiscord | <mratsim> What I like in Rust is Cargo |
12:09:01 | livcd | i think they just dislike that benchmark |
12:09:26 | FromDiscord | <mratsim> but it seems like Cargo is starting to suffer the javascript curse |
12:09:55 | FromDiscord | <mratsim> lots of libraries with only a couple of commits and then abandonned |
12:10:15 | FromGitter | <alehander42> well, i am sure this is true for most package systems |
12:10:18 | FromGitter | <alehander42> including nim |
12:10:32 | FromGitter | <alehander42> *nervously looking at my own libs* |
12:21:52 | PMunch | Hmm, can Nim apply -d:danger to blocks of code? |
12:22:19 | * | rockcavera joined #nim |
12:22:24 | PMunch | Essentially say "I have checked this critical part of the code, and it is safe, now stop checking it on runtime" |
12:22:41 | Araq | {.push checks:off.} ... {.pop.} |
12:22:47 | Araq | of course it can do that |
12:22:50 | PMunch | Ah okay, cool :) |
12:23:25 | PMunch | Yeah I was assuming that it could, just never actually tried it (overheard some people at work wondering if the same thing would be possible in C#, which it isn't) |
12:23:32 | * | Kaivo quit (Quit: WeeChat 2.6) |
12:25:06 | Araq | there is unchecked {} in C# |
12:26:54 | PMunch | Oh really? |
12:27:09 | PMunch | Again I just overheard them talk about it, concluding that you would need to use pointers |
12:28:15 | * | Ekho joined #nim |
12:33:39 | * | Kaivo joined #nim |
12:44:28 | * | navinmistry joined #nim |
12:48:37 | * | dddddd joined #nim |
12:48:38 | * | navinmistry quit (Ping timeout: 245 seconds) |
12:50:51 | * | narimiran_ joined #nim |
12:51:51 | * | narimiran quit (Ping timeout: 265 seconds) |
12:52:05 | FromDiscord | <SrMordred> I look at nim generated C code and go wtf. Then i saw some nim benchmarks that beat even c++ or D. Then i assume that i dont understand nothing anymore ;P |
12:54:02 | * | narimiran_ is now known as narimiran |
12:57:47 | PMunch | SrMordred, yeah the Nim C output is meant to be fast, not beautiful :P |
12:57:49 | * | PMunch quit (Remote host closed the connection) |
12:58:44 | * | ng0 quit (Ping timeout: 260 seconds) |
13:01:36 | * | ng0 joined #nim |
13:02:43 | * | seni joined #nim |
13:07:50 | * | daddoo joined #nim |
13:07:53 | * | endragor quit (Remote host closed the connection) |
13:11:56 | FromDiscord | <SrMordred> @PMunch hehe yeah, i´m all for it :). Im just curious about performance, and its hard to point out where/how Nim is so fast (at least until i grasp a little more about the internals ) |
13:12:02 | Cadey | efficient code and code that makes sense are usually two separate sets |
13:14:21 | * | PMunch joined #nim |
13:16:34 | * | thomasross quit (Read error: Connection reset by peer) |
13:16:42 | * | thomasross joined #nim |
13:19:55 | FromGitter | <alehander42> SrMordred there is nothing really strange about nim c code, just imagine that all basic constructs get simplified to combinations if simple assignments, calls, if-s and goto-s |
13:20:53 | FromGitter | <alehander42> if you do that, some patterns would start to appear, if it's indented correctly |
13:25:31 | * | minierolls joined #nim |
13:27:22 | FromDiscord | <SrMordred> @alehander42 yes, but sometimes this simple code get faster than other languages simple codes 😛 Then i´m curious if nim is doing some trick (or if other langs are failing to do it right) |
13:33:09 | * | sagax quit (Read error: Connection reset by peer) |
13:35:04 | * | navinmistry joined #nim |
13:36:04 | * | navinmistry quit (Remote host closed the connection) |
13:36:11 | * | navinmistry joined #nim |
13:44:29 | * | sagax joined #nim |
13:55:11 | * | endragor joined #nim |
13:55:28 | * | paxis quit (Quit: Client exiting) |
13:56:08 | * | navinmistry quit (Remote host closed the connection) |
13:56:27 | * | endragor quit (Remote host closed the connection) |
13:59:46 | * | nsf quit (Quit: WeeChat 2.5) |
13:59:55 | * | paxis joined #nim |
14:01:10 | disruptek | leorize: thanks. 😎 |
14:01:13 | * | paxis quit (Max SendQ exceeded) |
14:01:38 | * | paxis joined #nim |
14:03:42 | * | navinmistry joined #nim |
14:16:32 | * | navinmistry quit (Remote host closed the connection) |
14:17:20 | * | navinmistry joined #nim |
14:23:38 | * | thomasross_ joined #nim |
14:23:38 | * | thomasross quit (Killed (adams.freenode.net (Nickname regained by services))) |
14:23:38 | * | thomasross_ is now known as thomasross |
14:24:51 | * | PMunch quit (Read error: Connection reset by peer) |
14:25:48 | * | actuallybatman joined #nim |
14:31:05 | * | endragor joined #nim |
14:31:48 | * | endragor quit (Read error: Connection reset by peer) |
14:31:56 | * | endragor joined #nim |
14:36:43 | * | minierolls quit (Remote host closed the connection) |
14:37:13 | * | navinmistry quit (Remote host closed the connection) |
14:38:27 | * | minierolls joined #nim |
14:39:06 | FromGitter | <dawkot> What does `C:\Users\dawkot\Desktop\nim\forum\src\database.nim(31, 16) Error: internal error: environment misses: obj` mean? I can't even get a minimal example of the cause :/ |
14:40:02 | * | tjmac left #nim ("-bye") |
14:40:32 | FromGitter | <dawkot> Or, when I get what I'm sure is a minimal example, it just works |
14:45:12 | lqdev[m] | dawkot: are you trying to refer to a proc parameter in another parameter's default value? |
14:47:42 | FromGitter | <dawkot> @FromIRC No. This is the best that I could come up with https://pastebin.com/F14QTcSH |
14:47:50 | FromGitter | <dawkot> @lqdev[m] |
14:48:15 | FromGitter | <dawkot> But it's incomplete, somehow, because the example works... |
14:51:17 | leorize | @dawkot: if it's an internal error, it's a bug |
14:51:23 | FromGitter | <dawkot> Nevermind, I know why it compiles... there are no fields so some of the code doesn't make it |
14:51:42 | disruptek | zedeus ping |
14:52:06 | disruptek | do we have a pr or issue for the async exception issue? |
14:52:35 | leorize | dawkot: if you have a snippet that can causes internal error, you should report it to Nim's github |
14:57:21 | * | navinmistry joined #nim |
15:01:44 | zedeus | disruptek:hi |
15:01:53 | * | sagax quit (Quit: Konversation terminated!) |
15:02:14 | * | sagax joined #nim |
15:03:34 | disruptek | do we have a pr or issue for the async exception issue? |
15:07:19 | zedeus | not yet, did you figure something out? |
15:09:47 | * | nsf joined #nim |
15:10:01 | FromDiscord | <A.N.Bockanov> Wow that's awesome. two chats in different apps chained |
15:10:43 | Araq | I think it's 3 or 4 |
15:10:55 | disruptek | zedeus: yeah, we need an issue because otherwise the server does not expose client code that isn't crippled with the exception handling, or lack thereof. |
15:11:32 | FromDiscord | <A.N.Bockanov> I've never seen something like it |
15:11:34 | Araq | just fix it already |
15:11:38 | * | navinmistry quit (Remote host closed the connection) |
15:12:01 | Araq | disruptek: the point of 1.0 is that we backport bugfixes and can move quickly to 1.1 |
15:12:25 | * | navinmistry joined #nim |
15:12:34 | disruptek | it could break someone who is expecting to catch an exception. |
15:12:47 | * | navinmistry quit (Remote host closed the connection) |
15:12:49 | disruptek | or do you just want a PR to expose it? |
15:13:00 | Araq | whatever you think it best |
15:13:00 | disruptek | not really sure which fix you want. 😉 |
15:13:12 | disruptek | we expose it. |
15:13:15 | Araq | I want Nim to evolve more quickly |
15:13:20 | disruptek | noted. |
15:13:53 | zedeus | httpbeast handles cancelled requests just fine, so I'm not sure if this would be a jester or an asynchttpserver issue |
15:14:11 | disruptek | it's asynchttpserver, unfortunately. |
15:16:25 | zedeus | alright, I'll make an issue later, busy right now |
15:16:32 | Araq | ty! |
15:17:36 | disruptek | already submitted the pr. |
15:17:57 | FromGitter | <dawkot> Can someone please provide a workaround for this? https://github.com/nim-lang/Nim/issues/12323 |
15:18:29 | FromGitter | <dawkot> I just want to convert an int to whatever ordinal type the variable is |
15:19:13 | narimiran | you don't use the provided template and you want quick fix? no can't do |
15:19:46 | narimiran | people, using the issue template really helps us a lot when dealing with bugs. please use them |
15:20:47 | FromGitter | <dawkot> I got the impression that even some major contributors weren't using them |
15:20:58 | FromGitter | <dawkot> Whatever, I'll keep that in mind |
15:21:11 | narimiran | quod licet Iovi, non licet bovi ;P |
15:21:36 | narimiran | joking aside, *everybody* should use templates |
15:22:28 | FromDiscord | <Kiloneie> templates are great, save time. |
15:22:38 | Araq | dawkot: don't use typeof()? |
15:23:06 | FromGitter | <dawkot> @FromIRC This is just a minimal example, I use distinct ints |
15:23:10 | FromGitter | <dawkot> whoops |
15:23:24 | FromGitter | <dawkot> @Araq |
15:24:46 | * | floppydh quit (Quit: WeeChat 2.6) |
15:25:33 | * | LargeEpsilon_ quit (Ping timeout: 265 seconds) |
15:26:24 | FromDiscord | <Kiloneie> Man only my first video keeps rising in views quickly, everything else is a snail, my videos don't even show most of the time in top 10 when searching for nim programming language <.<. |
15:28:25 | disruptek | guess the pr didn't submit after all. |
15:31:16 | * | koranza joined #nim |
15:31:21 | leorize | @Kiloneie: did you, uh, remind people to click the bell on your channel? |
15:32:24 | FromDiscord | <Kiloneie> i am honestly never gonna do that, because almost every youtuber ever, spams that into your head. It feels annoying. |
15:32:48 | FromDiscord | <Kiloneie> they also take a while on it, usually like 10-30 seconds, SUBSCRIBE S!!!!!. |
15:33:01 | * | endragor quit (Remote host closed the connection) |
15:33:50 | leorize | well they do it because people wouldn't be notified for your new videos otherwise |
15:33:57 | FromDiscord | <Kiloneie> i got 16 subs in a week, it's progress, but that's not the problem, it's the 400 views on #1 video vs 100 on the second. which happens often in starts of series, the first one gets a lot more, BUT usually less of a ratio than this. |
15:34:18 | leorize | "subscibe" now only means "recommend" instead of "notify me" |
15:34:31 | FromDiscord | <Kiloneie> well subscribing shows an icon that there is new content on the left of your youtube page. |
15:34:37 | FromDiscord | <Kiloneie> i never press bell on anyone... |
15:34:39 | disruptek | you're overthinking it. you cannot draw conclusions for such a small sampling. |
15:34:49 | narimiran | don't obsess so much about meaningless numbers ;) |
15:34:54 | FromDiscord | <Kiloneie> probably xD |
15:35:07 | FromDiscord | <Kiloneie> i mean i don't, but sometimes i do xD |
15:35:21 | leorize | it only appears if your videos have a good click through rate |
15:35:36 | leorize | or else other subscriptions will take its place |
15:35:51 | narimiran | well, if by "sometimes" you mean "every day" ;) because i see the same comments by you every day |
15:36:14 | FromDiscord | <Kiloneie> no... last one was like 3 days ago maybe |
15:36:17 | FromDiscord | <Kiloneie> D: |
15:36:31 | leorize | also your initial surge of views is probably due to the 1.0 release |
15:36:42 | FromDiscord | <Kiloneie> probably. |
15:37:48 | FromDiscord | <Kiloneie> probably also because what the actual audience of Nim is so far |
15:38:14 | FromDiscord | <Kiloneie> should be seeing higher numbers in a couple of months, especially once i complete the beginner series |
15:39:00 | FromDiscord | <Kiloneie> The first video actually has the worst click trough rate yeah. |
15:39:30 | * | ehmry quit (Remote host closed the connection) |
15:39:42 | FromDiscord | <Kiloneie> I am rambling, mute myself. |
15:41:16 | * | ehmry joined #nim |
15:45:28 | * | Vladar quit (Remote host closed the connection) |
15:48:02 | narimiran | if someone wants an easy PR for Hacktoberfest: https://github.com/nim-lang/Nim/issues/12326 |
15:48:05 | FromDiscord | <Shield> @Kiloneie It always been that way, the first or first few videos in a tutorial series get the most views, and i'm talking about an over x100 of difference, also, if you don't say the boring "like and subscribe" the youtube algorithm will rate you really low |
15:48:14 | FromDiscord | <Shield> there's a reason why everybody is forced to do it |
15:49:36 | FromDiscord | <Kiloneie> because i don't specifically say it ? or does subs and like matter ? |
15:51:03 | * | owl_000 quit (Remote host closed the connection) |
15:52:33 | * | owl_000 joined #nim |
15:53:04 | * | LargeEpsilon joined #nim |
15:53:30 | FromDiscord | <Shield> if you don't say it, you're less likely to show up high in searchs and suggestions, it's also bad if you have any plan to monetize the channel too |
15:53:33 | * | endragor joined #nim |
15:54:22 | FromDiscord | <Shield> add it in like the last 5 seconds of the video, it's less annoying that way |
15:54:58 | FromDiscord | <Kiloneie> Hmmm.... shady stuff. okay |
15:55:12 | * | navinmistry joined #nim |
15:55:19 | FromDiscord | <Kiloneie> i knew about the 3 videos a day limit, but not this |
15:55:54 | FromDiscord | <Shield> yup, youtube is very shady |
15:56:08 | FromDiscord | <Corax> What's the state of nim REPLs? Is Inim the best out there? |
15:59:14 | * | navinmistry quit (Ping timeout: 240 seconds) |
15:59:36 | * | endragor quit (Remote host closed the connection) |
16:10:11 | * | endragor joined #nim |
16:11:14 | * | thomasross quit (Ping timeout: 276 seconds) |
16:13:10 | * | couven92 quit (Quit: Client disconnecting) |
16:14:59 | * | snooptek quit (Read error: Connection reset by peer) |
16:18:26 | * | snooptek joined #nim |
16:21:13 | FromDiscord | <Kiloneie> I think i am slowly getting ready for streaming, just made a 3 min clip not reading the script at all, usually i maker clips for either reading from script or like 20-30 sec of talking on my own xD... I am not a good talker. I wonder if i made a video telling people to join me for a Nim stream, if any actually came. |
16:24:09 | * | clyybber quit (Quit: WeeChat 2.6) |
16:24:33 | * | sealmove joined #nim |
16:26:37 | FromDiscord | <SrMordred> @Kiloneie twitch? 🙂 |
16:27:40 | FromDiscord | <Kiloneie> Yeah, that one, would make a video on youtube that i would later remove to tell my subs and others to come hang out for QA on nim for beginners and such |
16:27:56 | FromDiscord | <Kiloneie> just nothing advanced D: |
16:28:35 | FromDiscord | <Shield> make it a game dev stream and there's a high chance i'd watch it, i'm sad that there are only like 2 or 3 videos of game dev in nim |
16:29:02 | FromDiscord | <Shield> one of which was never finished |
16:29:19 | FromDiscord | <Kiloneie> I should definitely do something like that, i love games D:. |
16:29:40 | FromDiscord | <Kiloneie> i think i will try to make a space invaders in the console, if that is even possible. |
16:32:11 | FromDiscord | <Shield> speaking of games, there's at least a couple of devs here who join game jams, how comes there is no timelapse of it |
16:35:51 | disruptek | child porn is illegal in my country. |
16:36:02 | FromDiscord | <Kiloneie> oO |
16:36:34 | FromDiscord | <Shield> D: |
16:37:51 | FromDiscord | <Rika> what |
16:38:40 | disruptek | i know, they're pretty strict about it. 🙁 |
16:39:17 | FromDiscord | <Kiloneie> well twitch is will ban even for the slightest crap. |
16:40:12 | FromDiscord | <Rika> wha |
16:40:47 | narimiran | disruptek: a question about your PR#12325: should changes in API be backported? :/ |
16:41:17 | narimiran | i can imagine a scenario where this breaks code |
16:41:19 | disruptek | i guess there's a remote chance that we nameclash. |
16:42:03 | * | zyklon quit (Read error: Connection reset by peer) |
16:42:46 | disruptek | it would have to also have the same signature, and it's not possible to reimplement this proc in user code. |
16:44:55 | disruptek | is that the same scenario you're imagining? |
16:45:12 | narimiran | yep |
16:45:17 | * | owl_000 quit (Ping timeout: 240 seconds) |
16:45:35 | narimiran | i still think this is not a (critical) bugfix, so it should be part of 1.1 |
16:45:52 | narimiran | also, the addition should be mentioned in the changelog |
16:46:16 | narimiran | (i'll write the same on github, so others can comment) |
16:46:50 | disruptek | cool. |
16:55:20 | * | uvegbot joined #nim |
16:59:07 | * | Trustable joined #nim |
17:05:50 | * | LargeEpsilon quit (Ping timeout: 276 seconds) |
17:15:53 | * | LargeEpsilon joined #nim |
17:16:40 | FromDiscord | <Lunar> So is the team who created Nim on here? If so, what are their names? |
17:17:00 | Zevv | Araq is the Nimmeister |
17:17:49 | Araq | dom96 is also around, and maybe @zah |
17:17:51 | Zevv | Then there are a few underlings helping out; there's Dom96, the keeper of the stdlib |
17:18:40 | Zevv | nah, that came out not so nice, "underlings", sorry about that |
17:19:43 | FromDiscord | <Rika> cool bois would be a better term 😛 |
17:20:02 | disruptek | i think the preferred term is `minions`. |
17:20:14 | FromDiscord | <SrMordred> `nimions` |
17:20:22 | disruptek | bingo. |
17:20:34 | FromDiscord | <Shield> perfect |
17:21:03 | Zevv | \o/ |
17:23:51 | FromDiscord | <Rika> wow that was absolutely perfect |
17:28:22 | * | Ven`` joined #nim |
17:28:35 | FromDiscord | <Lunar> When doing ```Nim |
17:28:35 | FromDiscord | <Lunar> var userInput:string = stdlib.readLine()```Is there anyway I can print text into the console like Java can? |
17:28:35 | FromDiscord | <Lunar> ```java |
17:28:36 | FromDiscord | <Lunar> import Java.utils.Scanner; |
17:28:36 | FromDiscord | <Lunar> class main { |
17:28:36 | FromDiscord | <Lunar> public static void main (String[] args) { |
17:28:38 | FromDiscord | <Lunar> Scanner userInput = new Scanner(System.in); |
17:28:40 | FromDiscord | <Lunar> System.out.println(userInput.readLine("What's 1+2"); |
17:28:41 | FromDiscord | <Lunar> } |
17:28:42 | FromDiscord | <Lunar> } |
17:28:44 | FromDiscord | <Lunar> ``` |
17:29:25 | disruptek | !eval echo "some text" |
17:29:28 | NimBot | some text |
17:29:31 | disruptek | please use a pastebin service next time. |
17:29:34 | narimiran | https://nim-lang.github.io/Nim/tut1.html#the-first-program |
17:29:39 | narimiran | literally the first example |
17:39:39 | * | LargeEpsilon quit (Ping timeout: 240 seconds) |
17:40:22 | FromDiscord | <Lunar> My bad 😅 |
17:45:11 | * | nixfreak joined #nim |
17:45:30 | * | nixfreak is now known as nixfreak_work |
17:48:08 | * | Guest96751 is now known as fichtl |
17:48:21 | nixfreak_work | Hello I am trying to cross compile from Osx to windows nim c --cpu:amd64 -d:mingw case_greetings.nim I get the error /bin/sh: /usr/bin/x86_64-w64-mingw32-gcc: No such file or directory |
17:48:36 | nixfreak_work | I do have mingw-w64 installed |
17:49:09 | Zevv | Do you know the exact compiler path of your mingw toolchain? |
17:49:39 | nixfreak_work | hmm |
17:49:51 | Zevv | hint: it is not /usr/bin/x86_64-w64-mingw32-gcc :) |
17:50:00 | nixfreak_work | yeah I see it |
17:51:13 | Zevv | I think nims default compiler is tailored for the ubuntu/debian nimw package, but if you have something different you might need to adjust your nim configuration when crosscompiling |
17:51:27 | Zevv | these compilers come in a thousand flavours, and they are all named slightly different |
17:51:51 | nixfreak_work | yep that's what I was missing , just needed a little nudge thanks |
17:51:57 | Zevv | yw |
17:52:25 | Zevv | and welcome to Nim! |
17:52:34 | nixfreak_work | thanks |
17:53:23 | * | NimBot joined #nim |
17:55:34 | * | daddoo quit (Quit: Leaving) |
17:56:33 | * | shashlick quit (Ping timeout: 245 seconds) |
17:57:35 | * | actuallybatman quit (Quit: leaving) |
18:02:00 | * | Vladar joined #nim |
18:03:46 | FromGitter | <awr1> what do you use for the discord bridge? |
18:04:04 | FromGitter | <awr1> i think the multi-line thing should be fixed somehow |
18:06:55 | * | thomasross joined #nim |
18:12:31 | * | actuallybatman joined #nim |
18:13:00 | FromGitter | <awr1> also i agree with you @Kiloneie, don't do the obnoxious youtuber intro outro stuff |
18:21:16 | FromDiscord | <Kiloneie> I did put a like and subscribe to my standard outro, my outro is to tell you to have fun and code is in the description., REAL short, my intro is like 10 words. some have up to 4 minutes (look at Kripparian that does hearthstone...) |
18:30:03 | FromDiscord | <Kiloneie> 6 seconds intro and like 8-9 outro, that should be like... great... |
18:31:28 | FromDiscord | <Kiloneie> Here we go again ! |
18:31:28 | FromDiscord | <Kiloneie> https://youtu.be/RkZoHdmoKNs |
18:34:34 | FromDiscord | <Kiloneie> This one took an extra 45 min of editing, just because i had the longest not looking at my second monitor section of 3 minutes up from less than a minute, made me write something else whilst talking about something else D:. |
18:42:59 | * | skoude joined #nim |
18:43:29 | FromGitter | <awr1> what is your next topic? |
18:44:00 | Araq | Kiloneie: you should show how to setup SDL2 and draw some graphics |
18:44:20 | Araq | it's 2019, I'm sick and tired of this terminal shit |
18:44:50 | Zevv | Port Nim to the NeXT :) |
18:44:51 | FromGitter | <awr1> yeahhhhh i will kinda agree with that |
18:47:06 | FromGitter | <awr1> i remember when i first seriously started to learn programming and picked up one of those big dumb C++ books i got disappointed with the non-flashiness of the console. it felt like the stuff i was learning had little to do with actual programming and like something was being hidden from me |
18:47:35 | * | skoude quit (Ping timeout: 265 seconds) |
18:48:12 | FromGitter | <awr1> but of course not everybody wants to do game-y things |
18:48:21 | Araq | but beginners usually do |
18:48:31 | Araq | gaming is what draws people into programming |
18:48:45 | Araq | often, not always, of course |
18:49:12 | disruptek | my early gaming/coding draw was MUDs though. unsexy terminal gaming. 😁 |
18:50:02 | FromGitter | <awr1> this is sometimes why i feel like tutorials for beginners should focus on developing some project so at the end of it you can say "oh i built something!" |
18:50:25 | FromGitter | <awr1> (tutorials for beginners to programming in general) |
18:51:16 | Araq | yeah |
18:51:33 | euantor | According to Microsoft, `DWORD` should be an unsiged 32 bit integer, but `winlean` defines it as `int32`: https://nim-lang.org/docs/winlean.html#DWORD |
18:51:46 | euantor | Microsoft docs: https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types |
18:51:53 | euantor | Is there a reaosn for this, or is it a bug? |
18:52:09 | euantor | I'm surprised it hasn't been spotted before now if it is a bug |
18:52:24 | Araq | euantor, legacy but tbh I was sure we changed these things |
18:52:55 | Araq | well 'bug', using unsigned for sizes is a bug, albeit a bug widely regarded as "good" |
18:53:05 | euantor | Yeah, `handle` is also defined as `int` when it's actual `PVOID` |
18:53:12 | FromGitter | <awr1> it's a not very meaningful bug but feel free to fix it and cross your fingers and hope it doesn't break anything |
18:53:25 | euantor | It causes issues for my serial library ;) |
18:53:28 | Araq | it breaks tons of code |
18:53:40 | FromGitter | <awr1> i should have assumed as much. |
18:53:42 | euantor | https://github.com/euantorano/serial.nim/issues/24 |
18:54:05 | FromGitter | <awr1> i still have oldwinapi imports that i should fix |
18:54:49 | euantor | I'll open an issue for it anyway |
18:55:32 | FromDiscord | <Kiloneie> Soon |
18:55:49 | FromGitter | <awr1> @Kiloneie what are you going to do your next chapter on? i assume custom types? |
18:56:00 | FromDiscord | <Kiloneie> loop ? |
18:56:01 | FromGitter | <awr1> or loops |
18:56:48 | FromDiscord | <Kiloneie> araq wants flashy... yeah i do too... |
18:57:38 | FromDiscord | <Kiloneie> im not really planning this stuff, i just do somehing |
18:57:45 | FromDiscord | <kodkuce> asyncdispatch server broken or not? |
18:58:11 | FromGitter | <awr1> maybe you should do one tutorial on using nimble and show how to get sdl2 |
18:58:16 | FromDiscord | <kodkuce> i wanted to continue work on my poker server |
18:58:43 | FromDiscord | <Kiloneie> okay , gotta teach myself nimble first D: |
18:59:52 | FromGitter | <awr1> how do you install nim in your tutorial? did you use choosenim? |
19:00:10 | FromDiscord | <Kiloneie> website |
19:12:58 | * | traviss quit (Quit: Leaving) |
19:14:08 | * | navinmistry joined #nim |
19:18:39 | * | navinmistry quit (Ping timeout: 250 seconds) |
19:21:01 | FromDiscord | <Kiloneie> Okay some essential basics have been taught in my videos, i could jump to SDL2 right away now, although it's gonna take a video on nimble first, probably 2 videos in the same day, released back to back. Then i do graphics stuff, then all other beginner stuff using graphics. |
19:23:52 | FromDiscord | <kodkuce> @Kiloneie you plan to make game dev turtorilas? |
19:24:01 | FromDiscord | <Kiloneie> one day |
19:24:34 | FromDiscord | <Kiloneie> i haven't done it in years, never done it in an actual programming language, so this is gonna be tough |
19:25:27 | FromDiscord | <kodkuce> duno i used unity3d and godot, even erned some money freelancing |
19:25:58 | FromDiscord | <kodkuce> my main issue is writing custom serwer atm duno how to connect webscokets with my game logic |
19:27:00 | FromDiscord | <Kiloneie> i did a few years of Game Maker in a ton of versions, and some godot, never finished anything, but it's about time i did. |
19:27:16 | FromDiscord | <Kiloneie> i am a lot more competant than i was before |
19:27:25 | FromDiscord | <exelotl> @Kiloneie I think maybe it would be cool to see you do it in a kind of devlog fashion. So the audience could learn along with you rather than it being an instructive "here's how you do X" video |
19:28:08 | FromDiscord | <Kiloneie> Got any examples ? i am not sure what exactly you mean. |
19:28:34 | * | thomasross_ joined #nim |
19:28:34 | * | thomasross quit (Killed (orwell.freenode.net (Nickname regained by services))) |
19:28:34 | * | thomasross_ is now known as thomasross |
19:28:43 | FromDiscord | <Kiloneie> i still gotta teach beginners to programming and Nim how to do it, i could probably mix and match it |
19:34:31 | FromDiscord | <exelotl> hmm I'm kinda stuck for examples, I follow this guy who does development livestreams, but his shorter videos are more like 'progress updates' rather than tutorials https://www.youtube.com/user/SolarLuneTube/videos |
19:35:30 | FromDiscord | <exelotl> but I was thinking something more informative than a progress update, so I guess this isn't what I mean |
19:37:37 | FromDiscord | <Kiloneie> idk for starters i will try to make a starship game, which are simplest, |
19:37:56 | FromDiscord | <Kiloneie> with it teach people while loops, for loops etc |
19:38:13 | FromDiscord | <Kiloneie> i really wouldn't do it this soon if Araq wasn't so pushy xD |
19:40:57 | FromDiscord | <Kiloneie> is having the Git program a requirement to use Nimble ? |
19:43:53 | FromGitter | <awr1> more or less |
19:44:01 | FromGitter | <awr1> it also works with Hg iirc |
19:46:47 | FromDiscord | <kodkuce> if using Godot it should be easy, tought duno if GDnative stll works with nim |
19:47:45 | FromDiscord | <Kiloneie> That will probably later, right now where my videos are, it would confuse the hell out of everyone watching that is a beginner, as in they wouldn't get a clue, and possibly skip Nim and just use GDScript instead. |
19:49:27 | FromDiscord | <kodkuce> GDScript is easy too just i dont like ti |
19:49:31 | FromDiscord | <kodkuce> GDScript is easy too just i dont like it |
19:49:48 | FromDiscord | <Kiloneie> it's pretty similar to Nim |
19:49:52 | FromDiscord | <Kiloneie> and python... |
19:50:18 | FromDiscord | <kodkuce> ye but it dosent exist anywhere for anything else |
19:50:18 | * | traviss joined #nim |
19:50:43 | FromGitter | <awr1> imo choosenim is easiest. |
19:50:46 | FromDiscord | <Kiloneie> yeah, but Nim does 😛 |
19:51:04 | FromGitter | <awr1> and if you want to start programming you should have git installed anyway |
19:51:07 | FromDiscord | <Kiloneie> i haven't used choosenim, i heard about it days after i made my first video |
19:52:13 | FromDiscord | <Kiloneie> meh, it looks like just another way of installing Nim, although with version control extras |
19:53:55 | FromDiscord | <kodkuce> so when did you stat Nim, i think i am not anymore bigest newb xD |
19:54:26 | FromDiscord | <Kiloneie> 2 months ago ? something like that |
19:54:43 | narimiran | btw, we could now have ex-Yu Nim meeting :) |
19:54:46 | FromDiscord | <Kiloneie> i found it a week before my 3 week holidays from work |
19:54:58 | FromDiscord | <Kiloneie> then i decided i have enough savings to quit and start making videos for Nim |
19:55:44 | FromDiscord | <kodkuce> who else ex-yu |
19:55:52 | FromDiscord | <Kiloneie> So right now i am trying to make this Nim videos to be my job |
19:55:55 | narimiran | you, me, Kiloneie |
19:56:07 | FromDiscord | <kodkuce> K, from? |
19:56:13 | narimiran | more like "ex Kraljevina SHS" :D |
19:56:35 | narimiran | i'm H, you two are one S each |
19:56:59 | FromDiscord | <Kiloneie> oh that's what you meant |
19:57:21 | FromDiscord | <Kiloneie> i still have some dishes with yugoslavia written on the bottom xD |
19:57:23 | FromDiscord | <Kiloneie> ancient |
19:59:08 | FromDiscord | <exelotl> @kodkuce I tried the godot-nim stub with the latest godot release and it seemed to work |
19:59:26 | FromDiscord | <kodkuce> thats nice 🙂 |
19:59:42 | FromDiscord | <exelotl> didn't do anything substantial with it though x) |
20:00:06 | FromDiscord | <Kiloneie> Is this the correct SDL2 ? |
20:00:07 | FromDiscord | <Kiloneie> https://cdn.discordapp.com/attachments/371759389889003532/628682568644034572/Capture.PNG |
20:00:16 | FromDiscord | <exelotl> it's a matter of preference |
20:00:38 | FromDiscord | <exelotl> I like that one more, it has better docs and it's closer to the C API |
20:00:47 | lqdev[m] | narimiran, kodkuce, Kiloneie: what's ex-yu? |
20:00:55 | FromDiscord | <Kiloneie> ex Yugoslavia |
20:01:06 | FromDiscord | <Kiloneie> that big country that used to exist in the Balkans |
20:01:19 | FromDiscord | <Kiloneie> my country Slovenia is central europe though |
20:01:28 | lqdev[m] | yeah, I know, just didn't know what the abbreviation meant |
20:01:30 | FromDiscord | <Kiloneie> right from Italy, under Austria |
20:01:43 | FromDiscord | <Kiloneie> i didn't either till he gave me a hint xD |
20:02:36 | FromDiscord | <Kiloneie> @Araq which one ? |
20:02:37 | FromDiscord | <Kiloneie> https://cdn.discordapp.com/attachments/371759389889003532/628683197164814357/Capture.PNG |
20:02:59 | Araq | I only know nim-lang/sdl2 |
20:03:06 | FromGitter | <awr1> sdl2_nim has some fixes |
20:03:10 | FromGitter | <awr1> but both should work |
20:03:12 | FromDiscord | <DeltaPHC> `sdl2_nim` is better maintained, IMO |
20:03:18 | FromDiscord | <Kiloneie> hmm okay |
20:03:23 | FromGitter | <alehander42> Kiloneie so its true |
20:03:30 | FromDiscord | <kodkuce> i am Serbia |
20:03:32 | FromGitter | <alehander42> slovenians demand to be called central europeans :P |
20:03:45 | FromDiscord | <Kiloneie> whats the difference between MIT and zlib license ? never heard of zlib before, i mean i did on this discord a few times, no idea |
20:03:46 | FromGitter | <alehander42> i am a lonely bulgarian |
20:04:03 | FromGitter | <alehander42> iirc there were some insane ideas for jugo-bulgarian federation after ww2 |
20:04:06 | FromDiscord | <kodkuce> why so lonely |
20:04:08 | FromGitter | <alehander42> but nothing happened |
20:04:14 | FromDiscord | <Kiloneie> well our GDP is like 3/4 of Croatia and we got 2 million people, they got 11 like lol |
20:04:26 | * | narimiran quit (Ping timeout: 265 seconds) |
20:04:43 | FromGitter | <alehander42> Kiloneie we know you're the powerhouse of the cell |
20:04:48 | FromGitter | <awr1> https://tldrlegal.com/license/zlib-libpng-license-(zlib) |
20:04:58 | FromDiscord | <Kiloneie> also there is no native muslim people here, croatians do have them |
20:05:38 | FromDiscord | <Kiloneie> welp thats a simple license |
20:06:34 | FromGitter | <alehander42> well, i see slovenians and croatians as similar |
20:06:40 | FromGitter | <alehander42> but slovenians are getting too good at volleyball |
20:07:14 | disruptek | it's suspicious, i agree. |
20:07:16 | FromDiscord | <Kiloneie> based on our population, we might be the #1 sports country in the world |
20:07:25 | * | clyybber joined #nim |
20:07:32 | FromDiscord | <Kiloneie> i keep hearing about people winning |
20:07:37 | FromDiscord | <kodkuce> nah Serbia is |
20:07:41 | FromGitter | <alehander42> uruguay are a good contender |
20:08:47 | FromDiscord | <kodkuce> Serbia = best volayball, greate basketball, waterpolo , tenis |
20:09:31 | FromGitter | <alehander42> and you even have strikers in real madrid |
20:09:50 | FromGitter | <alehander42> reminds me of the good times of bg sport |
20:09:54 | FromDiscord | <Kiloneie> do you install a package into nim's folder or project's folder ? i don't really get it |
20:10:05 | FromDiscord | <Kiloneie> probably nim ? |
20:10:43 | FromGitter | <alehander42> you dont install them into folders, i think you install them in `~/.nimble` |
20:10:45 | FromGitter | <alehander42> usually |
20:10:47 | * | shashlick joined #nim |
20:10:49 | * | zyklon joined #nim |
20:10:51 | FromGitter | <alehander42> but i dont know if you can override it |
20:11:10 | FromDiscord | <kodkuce> just nimble install it |
20:11:16 | FromDiscord | <kodkuce> it installs in some repo i think |
20:11:16 | * | uvegbot quit (Quit: Konversation terminated!) |
20:11:24 | FromDiscord | <kodkuce> not project folder |
20:11:25 | FromGitter | <alehander42> kodkuce one thing i dont get is |
20:11:29 | FromDiscord | <Kiloneie> how does the typical install command look like for you ? i typed nimble install sdl2_nim and it told me to check commands |
20:11:30 | FromGitter | <alehander42> how you can use two alphabets |
20:11:41 | clyybber | Araq: Heh, so far the tests are passing: https://github.com/nim-lang/Nim/pull/12321 |
20:11:43 | FromDiscord | <kodkuce> i mostly use latinic cuz PCs |
20:11:54 | FromGitter | <alehander42> yes, even we do very often |
20:11:58 | FromGitter | <alehander42> even if its not official |
20:11:58 | FromDiscord | <kodkuce> but easy duno, ist like 90% same |
20:12:16 | FromGitter | <alehander42> but its funny because you were like, why decide, just support both |
20:12:23 | FromDiscord | <Kiloneie> once you learn the alphabet then you will know the meaning and thats it, probably, idk |
20:12:41 | FromGitter | <alehander42> it just doesnt sound very nationalistic |
20:12:45 | FromGitter | <alehander42> but its a good thing |
20:12:54 | FromDiscord | <Kiloneie> oh wait i forgot to type nimble, my bad |
20:13:40 | FromDiscord | <Kiloneie> so this wouldn't work if i didn't have Git installed? |
20:13:47 | FromDiscord | <Kiloneie> just checking because "video" reasons |
20:13:47 | FromGitter | <alehander42> i think it wont |
20:14:58 | FromGitter | <alehander42> maybe @bobeff knows more, i remember there was something about git vs tar fownloads |
20:15:01 | FromGitter | <alehander42> etc |
20:15:10 | FromGitter | <alehander42> i know only of git repos with packages tho |
20:15:23 | FromDiscord | <Kiloneie> let me uninstall git and retry |
20:16:46 | FromGitter | <deech> Is there a way to statically introspect on the `pragma`s of a `proc. I don't see anything in `typetraits.nim`. |
20:18:04 | disruptek | use a macro? |
20:18:35 | * | Vladar quit (Remote host closed the connection) |
20:18:36 | FromGitter | <deech> That doesn't catch inferred pragmas, right? |
20:18:55 | disruptek | probably not. |
20:18:59 | FromGitter | <deech> Like, `{.raises ... .}` that are not explicitly annotated. |
20:19:04 | FromDiscord | <Kiloneie> Yep... you need it |
20:19:04 | FromDiscord | <Kiloneie> https://cdn.discordapp.com/attachments/371759389889003532/628687342487601162/Capture.PNG |
20:22:12 | Araq | clyybber, it breaks Nimble packages |
20:22:24 | Araq | and only appveyor will tell you this because only appveyor runs these tests |
20:22:26 | * | skoude joined #nim |
20:22:45 | clyybber | Yeah, I'm waiting for it to get "packages=true" queued |
20:23:30 | clyybber | I introduced some procs where csize is replaced by int for backwards compatibility and added deprectated: "csize is now an uint" messages to them. |
20:23:53 | clyybber | So maybe (fingers crossed) they won't fail. |
20:27:20 | * | skoude quit (Ping timeout: 276 seconds) |
20:28:09 | shashlick | @dom96 - ping |
20:30:00 | FromDiscord | <Kiloneie> Huh ? |
20:30:01 | FromDiscord | <Kiloneie> https://cdn.discordapp.com/attachments/371759389889003532/628690094953463818/Untitled.png |
20:32:21 | FromDiscord | <kodkuce> you did nimble install sdl12 or whawerew |
20:32:26 | FromDiscord | <kodkuce> yes i guess |
20:32:31 | FromDiscord | <kodkuce> hmm then duno xD |
20:32:37 | FromDiscord | <kodkuce> i can try on my side same |
20:32:37 | FromDiscord | <Kiloneie> i did nimble install sdl2_nim |
20:32:44 | shashlick | https://github.com/Vladar4/sdl2_nim/blob/master/examples/ex101_init.nim#L7 |
20:32:52 | shashlick | `import sdl2/sdl |
20:33:31 | FromDiscord | <Kiloneie> why did import suggest me sdl2_nim then... ? |
20:33:33 | * | krux02 quit (Remote host closed the connection) |
20:37:42 | FromDiscord | <kodkuce> someone needs to be punished 🙂 |
20:38:44 | FromDiscord | <Kiloneie> With a whip |
20:41:29 | FromDiscord | <kodkuce> is there a reason to use a method insted a proc? |
20:41:48 | FromDiscord | <Kiloneie> ? man, this is a pain in the ass. |
20:41:48 | FromDiscord | <Kiloneie> https://cdn.discordapp.com/attachments/371759389889003532/628693061312053258/Capture.PNG |
20:41:58 | FromDiscord | <Kiloneie> pretty sure it's syntatic sugart |
20:42:04 | FromDiscord | <Kiloneie> syntatic sugar * |
20:42:29 | shashlick | known issue - need devel fix |
20:44:15 | FromDiscord | <Kiloneie> okay so that was probably cause my file was SDL2.nim xD... not it tells me it can't load sdl2.dll... -.- |
20:46:15 | shashlick | https://github.com/nim-lang/Nim/issues/12249 |
20:57:48 | * | nsf quit (Quit: WeeChat 2.5) |
21:00:22 | * | leorize quit (Remote host closed the connection) |
21:01:00 | * | leorize joined #nim |
21:10:27 | FromGitter | <awr1> yes, you need to get a copy of `SDL2.dll` |
21:10:32 | FromGitter | <awr1> and put it in the same folder. |
21:10:47 | FromGitter | <awr1> standard procedure for using SDL2 really. |
21:10:49 | FromDiscord | <Kiloneie> oH.... are there any other instructions ? |
21:11:09 | FromGitter | <awr1> not really, beyond learning how to use SDL2. you can defer to the examples in the `sdl2_nim` repo |
21:12:16 | FromDiscord | <Kiloneie> okay thanks |
21:15:47 | * | birdspider joined #nim |
21:18:51 | * | nixfreak_work quit (Ping timeout: 260 seconds) |
21:25:01 | clyybber | Araq: Regarding csize: I can send out PRs to 3 of the failing packages (the rest I can fix in stdlib). I have the changes prepared, should I PR them? |
21:25:58 | Araq | ok |
21:35:47 | * | solitudesf quit (Ping timeout: 265 seconds) |
21:37:15 | * | asymptotically quit (Quit: Leaving) |
21:53:04 | * | birdspider quit (Read error: Connection reset by peer) |
21:53:42 | * | daddoo joined #nim |
21:54:15 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
21:54:37 | * | Trustable quit (Remote host closed the connection) |
21:54:59 | * | birdspider joined #nim |
22:11:25 | clyybber | Araq: https://github.com/LemonBoy/compactdict is archived, so I can't send a PR. (That wouldn't be a problem, would it use system/ansi_c's definiton of c_memset, but unfortunately it imports it on its own. |
22:11:55 | Araq | fork it and adapt important_packages |
22:12:18 | clyybber | Araq: Cool, thats what I was about to ask :) |
22:20:31 | * | PrimHelios joined #nim |
22:21:46 | PrimHelios | does nim have anything similar to C's assignment expressions? something like `while ((c = getc()) != EOF)` |
22:24:26 | FromDiscord | <treeform> @PrimHelios, I don't think so. That assignment expressions is cause of so many bugs in C. I am glad it's not allowed. |
22:25:15 | PrimHelios | it could probably be more safely implemented in nim though. i'll try my hand at it someday TM |
22:26:31 | FromDiscord | <treeform> also EOF is not a char value so it has crazy types too. |
22:27:05 | FromDiscord | <treeform> getc API is bad in that it returns an int, which you must cast to a char to use. C hides this fact. Its kind of crappy. |
22:27:24 | Araq | PrimHelios: while (; let c = getc(); c) != EOF |
22:27:38 | PrimHelios | @Araq: thanks! |
22:27:58 | Araq | I don't think it's idiomatic though :P |
22:28:24 | PrimHelios | probably not lol. What does the first semicolon do? |
22:28:51 | Araq | ensure a "statment list expression" context |
22:29:04 | clyybber | Araq: AFAIK you can leave it out |
22:29:06 | Araq | probably not required |
22:29:07 | PrimHelios | ah. yeah that looks nasty, i'll stick with idiomatic nim |
22:29:11 | disruptek | kina like a threat to the compiler that araq is in the house. |
22:29:52 | clyybber | PrimHelios: `while (let c = getc(); c != EOF):` doesn't look so bad? |
22:30:09 | Araq | bug ##12291 is personally offending |
22:31:06 | Araq | ah it's generic unsigned ops again |
22:31:41 | * | birdspider quit (Remote host closed the connection) |
22:31:43 | clyybber | https://github.com/nim-lang/Nim/pull/12230 to the rescue |
22:31:48 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
22:32:15 | Araq | true but the root cause is this shit: |
22:32:27 | * | Ven`` joined #nim |
22:32:36 | * | Ven`` quit (Client Quit) |
22:32:45 | Araq | type PosixBullshitT {.importc: "posix_bullshit_t".} = cint |
22:33:21 | Araq | make up your mind, either it's an import from C or it's 'cint' |
22:33:43 | Araq | we need to disallow this junk |
22:35:00 | clyybber | I still don't really get #12291 |
22:35:15 | clyybber | from where does mode_t come from? |
22:36:26 | clyybber | And why does it not exist on macos |
22:37:41 | clyybber | The real problem is that posix is a standard that no one really implements so you can't actually rely on shit |
22:38:08 | disruptek | dom96: regarding #12325, lemme know what you don't understand. |
22:38:50 | dom96 | disruptek, I did. Not sure what else to let you know. I don't understand your use case. |
22:41:16 | disruptek | well, without exposing the procedure, one cannot call it except in the server's event loop. |
22:41:30 | disruptek | the server's event loop crashes when an exception is raised in this proc. |
22:42:15 | disruptek | rather than change the behavior of the stdlib, this solution lets jester write an event loop that won't crash. |
22:42:17 | dom96 | Right, so why not catch that crash and re-run the event loop? |
22:42:36 | disruptek | well, i didn't write jester. |
22:43:06 | disruptek | i personally would rather control my clients directly than have them vanish once one of them dies. |
22:44:54 | dom96 | Do you have a repro showing the sorts of crashes you're seeing? |
22:45:00 | dom96 | It might be better for asynchttpserver itself to handle them |
22:45:01 | disruptek | sure. |
22:45:15 | disruptek | https://github.com/zedeus/jester-example |
22:45:40 | disruptek | it would be better if i, a programmer, could program a solution that makes sense for my needs. |
22:48:21 | * | daddoo quit (Quit: Leaving) |
22:49:04 | dom96 | I understand, but I prefer to make sure there is a good use case before exporting procs that were never written to be used outside the module itself |
22:49:49 | disruptek | if you don't like the interface of processClient, we could always export a different one. |
22:51:24 | disruptek | just, i dunno, tag zeudeus on the pr so they know when it's fixed. |
22:52:27 | shashlick | @dom96 - updated https://github.com/nimble-test/issue280and524/pull/4 |
22:53:16 | clyybber | good night |
22:53:41 | * | clyybber quit (Quit: WeeChat 2.6) |
22:59:26 | * | purigringo joined #nim |
23:00:22 | purigringo | Nim tem alguma relação com o novo cenários das blockchain e dapp? |
23:09:27 | * | purigringo quit (Ping timeout: 260 seconds) |
23:10:28 | FromGitter | <zetashift> purigringo this is an English channel, I only understood nim and blockchain and dapp |
23:11:57 | acidx | they asked if nim has any relationship with the new blockchain and dapp scenarios. it's kind of a "hmm, yeah, yeah, I know some of these words" question |
23:15:29 | FromGitter | <zetashift> It sortof has Status.IM is using Nim for some big projects related to the Ethereum project and writing smart contracts: https://github.com/status-im?language=nim |
23:29:46 | shashlick | i am seeing a weird issue on osx - gorgeEx randomly stops working at the same point |
23:29:52 | shashlick | same thing works on linux fine |
23:30:38 | * | PrimHelios quit (Ping timeout: 276 seconds) |
23:31:15 | FromGitter | <awr1> `gorgeEx` is `staticExec` right? |
23:31:22 | shashlick | no, that's gorge |
23:31:22 | FromGitter | <awr1> or is it somethine else |
23:31:37 | disruptek | george is a monkey. |
23:31:39 | FromGitter | <awr1> what is `gorgeEx` |
23:31:57 | shashlick | gives you the precious return code per the docs |
23:32:52 | shashlick | same issue with gorge |
23:33:05 | FromGitter | <awr1> what are you executing in `gorgeEx`? could be a problem of the calling program and not nim |
23:33:15 | FromGitter | <awr1> *called program |
23:33:31 | shashlick | i have tried different things at the same point, same result |
23:34:10 | FromDiscord | <juan_carlos> Whos George? 😜 |
23:34:58 | disruptek | curious lil fellah. |
23:35:12 | FromGitter | <awr1> compile debug version of nim and see if it still happens |
23:35:35 | FromGitter | <awr1> if it does, try opening gdb and nim and ctrl+cing where it gets stuck and observe the backtrace |
23:36:03 | FromGitter | <awr1> *gdb with nim |
23:36:19 | FromGitter | <awr1> run nim in gdb. |
23:36:20 | FromGitter | <awr1> blegh |
23:36:49 | shashlick | https://travis-ci.org/genotrance/nimarchive/jobs/592122686#L222 <= travis failure log |
23:37:21 | shashlick | fails here - https://github.com/nimterop/nimterop/blob/v020/nimterop/build.nim#L635 |
23:38:33 | shashlick | this test passes though - http://ix.io/1NMl/nim |
23:39:29 | FromGitter | <awr1> confused what's happening here. is this all in static? |
23:39:55 | shashlick | yes code gets called here - https://github.com/nimterop/nimterop/blob/v020/nimterop/build.nim#L835 |
23:40:06 | FromGitter | <awr1> ah okie |
23:41:49 | FromGitter | <awr1> this is a shot in the dark but i wonder if this is a zsh thing |
23:42:09 | shashlick | does osx have zsh? |
23:42:18 | shashlick | how come preceding findExe calls work |
23:42:28 | FromGitter | <awr1> osx always had zsh iirc, but new versions of it use zsh by default |
23:42:50 | shashlick | this laptop uses bash by default looks like |
23:42:59 | * | koranza quit (Ping timeout: 276 seconds) |
23:45:05 | FromGitter | <awr1> hm... |
23:45:22 | FromGitter | <awr1> does this not work as an isolated example? |
23:45:33 | shashlick | this variation also works - http://ix.io/1NMu |
23:45:44 | shashlick | not gotten a mini failure case yet |
23:50:24 | shashlick | okay recreated the issue |
23:50:33 | shashlick | http://ix.io/1NNL |
23:51:16 | shashlick | works on linux, fails on osx |
23:51:36 | shashlick | fails on loop 123 |
23:51:57 | FromGitter | <awr1> yeah works on my linux box with zsh |
23:52:21 | shashlick | Do you have osx to try |
23:52:28 | FromGitter | <awr1> i dont have a mac so no |
23:59:14 | * | go|dfish quit (Ping timeout: 240 seconds) |