<< 01-10-2019 >>

00:02:38*traviss joined #nim
00:07:33FromDiscord<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:49FromDiscord<garageagle> Sorry if I'm being vague about what's not working
00:19:50FromDiscord<exelotl> i want to die https://cdn.discordapp.com/attachments/239878713016188939/628385450456907778/unknown.png
00:20:17FromDiscord<exelotl> didn't think that github would record me fiddling with the issue title formatting ;_;
00:21:28lqdev[m]nothing to worry about, github doesn't let you use markdown in titles anyway
00:23:01FromDiscord<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:19yumaikaso/
01:23:06FromGitter<kdheepak> You can use "`" in the title on Github.
01:23:58*sealmove joined #nim
01:24:49FromGitter<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:55disruptekleorize: ##[ ]## multiline comments not identified as such, i think.
01:54:40*leorize quit (Ping timeout: 260 seconds)
01:55:36yumaikasAnyone idling here tonight?
01:55:59shashlickAlways :P
01:56:17yumaikasshashlick: What's shaking?
01:56:31shashlickToo many things
01:56:59yumaikasWhat has you in #nim?
01:57:00shashlickNot enough time
01:57:17shashlickCame here 2 years ago, couldn't log off since then
01:57:52yumaikasYou use nim much?
01:58:30*leorize joined #nim
02:03:20shashlickAll the time pretty much
02:03:29shashlickWhat brings you here
02:04:26yumaikasNim hitting 1.0, tbh
02:05:44yumaikasSo far, the only thing I've written in Nim of consequence is this: https://idea.junglecoder.com/view/idea/277
02:06:06yumaikasI'm thinking about porting a simplified wiki to Jester, however
02:10:22shashlickNice
02:11:23yumaikasWhat 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:11shashlickThe speed
02:18:23shashlickBoth dev and execution speed
02:18:25FromGitter<Varriount> yumaikas: Compilation
02:18:48FromGitter<Varriount> Coming from Python, languages like Nim and Go make distributing applications *so* much easier
02:19:11FromGitter<Varriount> Python's distribution story is... complicated
02:19:56sealmoveoh Varriount hi
02:20:05sealmoveHave you seen this list? https://github.com/oilshell/oil/wiki/ExternalResources
02:20:10yumaikasVarriount: I get that, lol. That's why I worked with Go for so long
02:20:26FromGitter<dawkot> Hmm, does anyone know how to iterate a JS array from nim?
02:20:30yumaikasBut now that Nim is 1.0, I'm ready for generics+GC+easy deploy
02:20:54yumaikasdawkot: What, when compiling Nim -> JS?
02:21:57*owl_000 quit (Ping timeout: 240 seconds)
02:22:11yumaikasdawkot: Or when parsing JSON? Those would be two different contexts, IIRC
02:22:42FromGitter<dawkot> @FromIRC When receiving a JSON that is an array on frontend
02:22:46FromGitter<Varriount> sealmove: What about it?
02:23:24sealmoveI thought you'd find it interesting since you've done work on shells (commandant)
02:23:25yumaikasdawkot: My nick is yumaikas, if you want to ping me
02:23:50FromGitter<Varriount> sealmove: My final University course was more work on Commandant.
02:24:11sealmoveoh great!
02:24:14yumaikasVarriount: Link to Commandant?
02:24:17FromGitter<Varriount> I got to reimplement all the internals. :P
02:24:29FromGitter<Varriount> https://github.com/Varriount/commandant/tree/master/commandant
02:24:35yumaikas(I've done some scripting langauge implementation myself, always curious to see others)
02:24:46sealmoveWas that the npeg re-design?
02:26:13FromGitter<Varriount> Yep
02:27:07FromGitter<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:24FromGitter<Varriount> https://github.com/Varriount/commandant/blob/master/commandant/lexer.nim
02:27:35FromGitter<Varriount> https://github.com/Varriount/commandant/blob/master/commandant/vm/builtins.nim
02:28:34yumaikasVarriout: WHy use NPeg to lex, rather than parse?
02:28:52FromGitter<Varriount> How would I use it to parse?
02:29:17FromGitter<Varriount> NPeg can output data structures, but can't easily carry around the context needed for parsing
02:29:20yumaikasI'm not 100% sure, tbh. I just have heard of using PEG parsers in the past
02:29:41yumaikasSomething something closures
02:30:20yumaikasBut then, I've never written a parser in Nim. Just a very rudimentary one in Go
02:30:27FromGitter<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:37FromGitter<Varriount> Or at least, that's what I have observed.
02:31:31yumaikasYeah, 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:58yumaikasSo, when it comes to PEGs, you probably have more experience than me
02:32:37FromGitter<Varriount> yumaikas: Honestly, the parsing logic wasn't hard. The tokenization logic was more involved
02:33:12FromGitter<Varriount> Although, I will admit I did as much as possible with the tokenization logic that I could.
02:33:44sealmoveIt's natural for a shell language to be difficult to tokenize
02:34:12yumaikasWell, if you don't have control flow yet or major structure to your code yet, parsing won't be as hard
02:34:20sealmoveMost logic should exist there, rather than parsing
02:34:40FromGitter<Varriount> https://github.com/Varriount/commandant/blob/master/commandant/lexer.nim#L223
02:34:42yumaikasand shells are a PITA to tokenize well, if andyc/oilshell are anything to judge by, lol
02:35:21FromGitter<Varriount> I just wanted a shell language that had a simple idea behind it - everything is a command
02:35:42FromGitter<Varriount> No obscure language constructs
02:36:06yumaikasFair enough. Do you have if/then or loops atm?
02:37:07sealmoveVarriount 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:37sealmoveHow 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:51sealmoveyumaikas is right of course :P
02:39:53FromGitter<Varriount> yumaikas: `if` statements, yes. There are `while` loops, but I didn't have time to finish `for` loops.
02:41:12FromGitter<gogolxdong> Is there a GUI library designed for embedded system?
02:41:48FromGitter<Varriount> What kind of embedded system?
02:42:01FromGitter<Varriount> Usually embedded systems don't have screens
02:42:10yumaikasgogolxdong: 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:42FromGitter<gogolxdong> like a GUI runs in 32K memory.
03:06:06FromGitter<gogolxdong> https://github.com/intel/zephyr.js/blob/master/README.md
03:06:22FromGitter<gogolxdong> https://github.com/Samsung/TizenRT
03:12:06FromGitter<gogolxdong> Is it possible for using nim-kernel?
03:19:16*rockcavera quit (Remote host closed the connection)
03:29:54FromGitter<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:52FromGitter<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:36FromGitter<gogolxdong> as a GUI runs in 32K memory
04:02:06zedeusgogolxdong: https://github.com/littlevgl/lvgl
04:02:20xehgogolxdong: 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:23zedeusrequires only 16K memory
04:10:45FromDiscord<Shield> that's amazing
04:11:48*Jjp137 quit (Read error: Connection reset by peer)
04:12:39*Jjp137 joined #nim
04:13:05zedeusyeah, 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:37FromGitter<zacharycarter> doesn't look like nimterop works with newruntime yet because of using regex
04:38:12FromDiscord<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:30xehIs 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:17FromGitter<zacharycarter> xeh: no
04:57:24FromGitter<zacharycarter> the latter
04:57:44FromGitter<zacharycarter> at least as far as I am aware
04:58:04*narimiran joined #nim
04:59:22yumaikasCool, that's nice
04:59:48FromDiscord<Big Chungus> hi
05:00:07*actuallybatman quit (Ping timeout: 265 seconds)
05:01:07FromDiscord<Big Chungus> what do you guys do in this server
05:01:39FromGitter<gogolxdong> I have to admit I dont understand the reason of using GC if there is new runtime.
05:02:43yumaikasgogolxdong: If I wanted to fight to understand variable lifetimes, I'd use rust
05:13:13*navinmistry joined #nim
05:13:36rayman22201Nim 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:37FromDiscord<Rika> @Big Chungus#1480 uh talk about nim what else
05:13:45FromDiscord<Rika> He seems gone
05:16:00FromDiscord<Shield> newruntime still doesn't work with most features/libraries
05:18:38*navinmistry quit (Remote host closed the connection)
05:21:54rayman22201The only feature that doesn't work right now afaik is async.
05:22:20rayman22201But that's a big one obviously
05:23:42rayman22201Araq is also experimenting with a competing manual memory management solution. First one that can support async wins.
05:23:53FromDiscord<Shield> repr doesn't work either, so I assume more stuff requires a bit of work
05:24:42rayman22201The whole thing is definitely still in the alpha experimental phase.
05:26:51AraqShield: 'repr' WILL NOT WORK with it, newruntime has a different, slim form of RTTI
05:26:57Araqand 'repr' uses the old RTTI.
05:27:21Araqthat's not a bug or an oversight, --newruntime is for embedded dev
05:27:47yumaikasAh, so it's not intended as a replacement for the old runtime as such?
05:29:59yumaikasI 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:35rayman22201We 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:34yumaikasAh, 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:06Araqand 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:52yumaikasI suspect async will be hard to untie from the GC, but I've not tried it before
05:34:04Araqv1 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:41yumaikasAraq (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:26yumaikasseq type being something that requires you to move it through a specific set of transformations?
05:35:50Araq'seq' type is simply the most common, useful container
05:36:01Araqand an example for what's possible
05:36:10yumaikasAh, ok
05:36:16yumaikasMakes sense.
05:36:51Araqand btw we have a borrow checker, but it's so elegant that nobody noticed
05:36:58Araq;-)
05:37:02yumaikasLoooool
05:37:25yumaikasBut does it actually scream at you when you make mistakes?
05:37:32*thomasross joined #nim
05:37:46Araqdon't assume we're repeating Rust's mistakes, in #nim we make our own mistakes
05:37:56rayman22201Lol
05:39:16yumaikasAraq: 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:34yumaikasEr, complete may be the wrong wording, total, in the sense of total functions is more what I mean
05:41:28yumaikasHow does your borrow checker deal with linked lists? I recall that being an area of considerable difficulty for rust?
05:42:58Araqyumaikas: that's not the concern of Nim's borrow checker, we use the GC for these
05:43:42yumaikasAraq: what is the concern of Nim's borrow checker, then?
05:44:05Araqhttps://nim-lang.org/docs/manual.html#procedures-var-return-type making the 'var T' return type memory-safe
05:44:06FromDiscord<Shield> which files contain the RTTI implementation? it got me curious
05:44:24AraqShield: compiler/ccgtypes.nim
06:06:22FromDiscord<mratsim> Rust compile-time improved significantly? https://www.reddit.com/r/crystal_programming/comments/da8ylr/compile_speed/f22fxbv/
06:08:36Araqsure, there is no Rust has to compile slowly
06:09:09Araqthe analysis it has to perform are deliberately designed to be "local to the fn only"
06:09:26Araq*no reason
06:13:51*navinmistry joined #nim
06:17:39FromDiscord<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:25FromDiscord<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:50Araqmratsim: araqsgc is 3-4x slower for allocation-heavy code though, currently
06:21:37FromGitter<zacharycarter> what does this error mean: `invalid type: 'Thread' in this context` ?
06:22:20*PMunch joined #nim
06:22:56FromDiscord<mratsim> oh, they said they optimized for functional programming case where you have lots of short-lived allocs
06:23:12FromGitter<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:53clyybberZevv: Good job, you broke the CIs :p
07:02:18Zevvsweet, show me
07:03:06Zevv"you break the build, you stay late"
07:04:47*gmpreussner joined #nim
07:05:59Zevvoh - wait. Does CI use master from nimbles instead of releases?
07:06:12ZevvSorry about that, I didn't realize
07:10:59*ng0 joined #nim
07:13:49PMunchAnything fun happen while I was gone?
07:14:00PMunchSaw my name mentioned a couple of times in the logs :)
07:15:10lqdev[m]I assume you didn't see my new game written in Nim https://github.com/liquid600pgm/memrecall
07:16:23PMunchI didn't!
07:16:38PMunchOh, a jam game, neat!
07:18:59lqdev[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:23lqdev[m]so you need a beefy computer to play this 2D game with simple graphics...
07:20:06PMunchHaha, that is fairly common for these kinds of games :)
07:21:46lqdev[m]what did you expect out of a game made in less than 4 days anyways ;)
07:22:04PMunchYeah that's my point
07:22:24PMunchThis was my last gamejam game: https://github.com/PMunch/TromsoGameJam2017
07:22:28lqdev[m]right
07:22:56PMunchWhere you have beautiful things like this: https://github.com/PMunch/TromsoGameJam2017/blob/master/src/sgtest.nim#L305
07:23:11PMunchScroll to the right to see the horrible horrible mess which that line actually is :P
07:23:43lqdev[m]oh man
07:23:52PMunchYup..
07:23:57Zevvguys these repo's really need a screenshot in the README
07:24:00Zevvthis is no good
07:24:06lqdev[m]even my game doesn't feature lines this long, even though I was on a rush
07:24:09ZevvI now have to clone it all, build it, and *play* it
07:24:24lqdev[m]Zevv: wait a sec, I'll link to the itch page
07:24:38Zevv"I backed this *delicious* cookies. No, you can't smell them"
07:24:55PMunchMy itch page only have the splash screen.. https://pmunch.itch.io/hold-the-line
07:25:27PMunchlqdev[m], that line is from letting WolframAlpha solve a formula
07:25:33Zevvhaha
07:25:55PMunchIt's only used to draw a "realistic" hanging wire from your cursor to a set point on the screen
07:26:36Zevvlqdev[m]: http://ix.io/1Lqp boom
07:28:48lqdev[m]Zevv: 404 not found
07:30:27*navinmistry quit (Remote host closed the connection)
07:30:33PMunchBy the way lqdev[m], you can replace your compilation command with "nimble build"
07:30:46lqdev[m]PMunch: right
07:30:47PMunchThat will pull in all the things you need, and then build it in the local repository
07:30:54*navinmistry joined #nim
07:31:19lqdev[m]Zevv: works now. try doing `nimble install rapid` and add -f to the compile commands
07:31:31lqdev[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:25Zevvno go still :/ Need to $work now first, will check it out later!
07:47:54*asymptotically joined #nim
07:59:41FromDiscord<Shield> odd, the only error in compilation i got was RWave.playing wasn't a public field in rapid
07:59:48FromDiscord<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:57FromDiscord<Rika> how do i get the smallest (non-de/sub)normal float in nim?
08:44:22FromDiscord<mratsim> import fenv or import math should have some stuff related to floats
08:45:50*abm joined #nim
08:47:36FromDiscord<Rika> fenv doesnt have anything for *normal* floats
08:48:24ZevvI believe FLT_MIN should be smallest normal? 1.175494e-38
08:49:22ZevvminimumPositiveValue()
08:49:27FromDiscord<Rika> okay
08:49:29FromDiscord<Rika> thanks
08:50:00Zevv minimumPositiveValue(float)
08:50:02Zevvthat is
08:54:43livcdmratsim: how big of a problem is that rising memory for you ? and how do you solve it ?
08:57:17FromDiscord<mratsim> showstopper, we want our program to be run for months on dedicated hardware
08:57:37FromDiscord<mratsim> so we will have to use a custom memory allocator or memory pool
08:58:08FromDiscord<mratsim> see: https://github.com/status-im/nim-beacon-chain/issues/447
09:00:59*navinmistry joined #nim
09:01:39livcdbut that sounds like a huge problem for everyone ?
09:03:58FromDiscord<mratsim> it might just be fragmentation
09:04:17*navinmistry quit (Remote host closed the connection)
09:04:50FromDiscord<mratsim> anyway, when we consolidate this will be one of the first thing that we investigate
09:05:12Araqlivcd, every allocator has bad allocation patterns
09:05:25Araqbut 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:34FromDiscord<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:50Araqconservatively
09:31:08*navinmistry joined #nim
09:42:58FromDiscord<Rika> how do i make a dbconn to an sqlite file at a certain path
09:47:26Araqhttps://nim-lang.org/docs/db_sqlite.html#basic-usage-opening-a-connection-to-a-database
09:49:59FromDiscord<mratsim> what does conservatively mean >_>
09:52:27FromDiscord<Rika> Araq, i think i found it
09:52:35FromDiscord<Rika> passing a file URI might work
09:57:35Araqmratsim: it means it does this:
09:57:45Araqfor every machine word in the stack:
09:58:11Araq check if its bit pattern looks like an allocator object, if so, trace it
09:58:22Araq*allocated object
10:02:27Araqand it's exactly as expensive at it looks
10:02:57FromDiscord<mratsim> oh, that's mmmmh
10:02:58Araqbetter schedule your GC runs when the stack is small
10:03:19Araqwhich is easy to do unless you write a compiler
10:03:33FromDiscord<mratsim> I don't see how I can do that with out current stack usage
10:03:51Araqwhy not?
10:03:59FromDiscord<mratsim> we have 256-bit signatures coming and going, 256-bit integers coming soon
10:04:49FromDiscord<mratsim> here I identified a big bottleneck in testing due to unittest not wrapping things in procs
10:05:07FromDiscord<mratsim> but I guess we have that issue in more places
10:05:29FromDiscord<mratsim> but I suppose the name of the proc is "mark_*" foo? If so I can grp for it in perf reports
10:06:18AraqI don't see how that matters
10:06:35Araqalso try --gc:boehm and --gc:markAndSweep
10:06:44Araqthe default GC is the slowest (lovely...)
10:10:03FromGitter<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:56leorizedisruptek: fixed
10:34:27*abm joined #nim
10:35:59FromGitter<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:37clyybberAraq: 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:55FromGitter<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:50Araqrdlsf-omg: huh, if it compiles, it's ready for production since it pushes all the work to compiletime
11:48:05Araqbut I never used it in production, unfortunately
11:48:52FromGitter<rdlsf-omg> thx
11:55:29FromGitter<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:10Araqas 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:46Araqif you want to dislike Rust, you need to find some other reasons :P
12:06:23FromDiscord<mratsim> @zetashift, well at least we know that it starts fast :p
12:07:20FromDiscord<mratsim> What I like in Rust is Cargo
12:09:01livcdi think they just dislike that benchmark
12:09:26FromDiscord<mratsim> but it seems like Cargo is starting to suffer the javascript curse
12:09:55FromDiscord<mratsim> lots of libraries with only a couple of commits and then abandonned
12:10:15FromGitter<alehander42> well, i am sure this is true for most package systems
12:10:18FromGitter<alehander42> including nim
12:10:32FromGitter<alehander42> *nervously looking at my own libs*
12:21:52PMunchHmm, can Nim apply -d:danger to blocks of code?
12:22:19*rockcavera joined #nim
12:22:24PMunchEssentially say "I have checked this critical part of the code, and it is safe, now stop checking it on runtime"
12:22:41Araq{.push checks:off.} ... {.pop.}
12:22:47Araqof course it can do that
12:22:50PMunchAh okay, cool :)
12:23:25PMunchYeah 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:06Araqthere is unchecked {} in C#
12:26:54PMunchOh really?
12:27:09PMunchAgain 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:05FromDiscord<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:47PMunchSrMordred, 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:56FromDiscord<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:02Cadeyefficient 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:55FromGitter<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:53FromGitter<alehander42> if you do that, some patterns would start to appear, if it's indented correctly
13:25:31*minierolls joined #nim
13:27:22FromDiscord<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:10disruptekleorize: 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:06FromGitter<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:32FromGitter<dawkot> Or, when I get what I'm sure is a minimal example, it just works
14:45:12lqdev[m]dawkot: are you trying to refer to a proc parameter in another parameter's default value?
14:47:42FromGitter<dawkot> @FromIRC No. This is the best that I could come up with https://pastebin.com/F14QTcSH
14:47:50FromGitter<dawkot> @lqdev[m]
14:48:15FromGitter<dawkot> But it's incomplete, somehow, because the example works...
14:51:17leorize@dawkot: if it's an internal error, it's a bug
14:51:23FromGitter<dawkot> Nevermind, I know why it compiles... there are no fields so some of the code doesn't make it
14:51:42disruptekzedeus ping
14:52:06disruptekdo we have a pr or issue for the async exception issue?
14:52:35leorizedawkot: 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:44zedeusdisruptek:hi
15:01:53*sagax quit (Quit: Konversation terminated!)
15:02:14*sagax joined #nim
15:03:34disruptekdo we have a pr or issue for the async exception issue?
15:07:19zedeusnot yet, did you figure something out?
15:09:47*nsf joined #nim
15:10:01FromDiscord<A.N.Bockanov> Wow that's awesome. two chats in different apps chained
15:10:43AraqI think it's 3 or 4
15:10:55disruptekzedeus: 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:32FromDiscord<A.N.Bockanov> I've never seen something like it
15:11:34Araqjust fix it already
15:11:38*navinmistry quit (Remote host closed the connection)
15:12:01Araqdisruptek: 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:34disruptekit could break someone who is expecting to catch an exception.
15:12:47*navinmistry quit (Remote host closed the connection)
15:12:49disruptekor do you just want a PR to expose it?
15:13:00Araqwhatever you think it best
15:13:00disrupteknot really sure which fix you want. 😉
15:13:12disruptekwe expose it.
15:13:15AraqI want Nim to evolve more quickly
15:13:20disrupteknoted.
15:13:53zedeushttpbeast handles cancelled requests just fine, so I'm not sure if this would be a jester or an asynchttpserver issue
15:14:11disruptekit's asynchttpserver, unfortunately.
15:16:25zedeusalright, I'll make an issue later, busy right now
15:16:32Araqty!
15:17:36disruptekalready submitted the pr.
15:17:57FromGitter<dawkot> Can someone please provide a workaround for this? https://github.com/nim-lang/Nim/issues/12323
15:18:29FromGitter<dawkot> I just want to convert an int to whatever ordinal type the variable is
15:19:13narimiranyou don't use the provided template and you want quick fix? no can't do
15:19:46narimiranpeople, using the issue template really helps us a lot when dealing with bugs. please use them
15:20:47FromGitter<dawkot> I got the impression that even some major contributors weren't using them
15:20:58FromGitter<dawkot> Whatever, I'll keep that in mind
15:21:11narimiranquod licet Iovi, non licet bovi ;P
15:21:36narimiranjoking aside, *everybody* should use templates
15:22:28FromDiscord<Kiloneie> templates are great, save time.
15:22:38Araqdawkot: don't use typeof()?
15:23:06FromGitter<dawkot> @FromIRC This is just a minimal example, I use distinct ints
15:23:10FromGitter<dawkot> whoops
15:23:24FromGitter<dawkot> @Araq
15:24:46*floppydh quit (Quit: WeeChat 2.6)
15:25:33*LargeEpsilon_ quit (Ping timeout: 265 seconds)
15:26:24FromDiscord<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:25disruptekguess the pr didn't submit after all.
15:31:16*koranza joined #nim
15:31:21leorize@Kiloneie: did you, uh, remind people to click the bell on your channel?
15:32:24FromDiscord<Kiloneie> i am honestly never gonna do that, because almost every youtuber ever, spams that into your head. It feels annoying.
15:32:48FromDiscord<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:50leorizewell they do it because people wouldn't be notified for your new videos otherwise
15:33:57FromDiscord<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:18leorize"subscibe" now only means "recommend" instead of "notify me"
15:34:31FromDiscord<Kiloneie> well subscribing shows an icon that there is new content on the left of your youtube page.
15:34:37FromDiscord<Kiloneie> i never press bell on anyone...
15:34:39disruptekyou're overthinking it. you cannot draw conclusions for such a small sampling.
15:34:49narimirandon't obsess so much about meaningless numbers ;)
15:34:54FromDiscord<Kiloneie> probably xD
15:35:07FromDiscord<Kiloneie> i mean i don't, but sometimes i do xD
15:35:21leorizeit only appears if your videos have a good click through rate
15:35:36leorizeor else other subscriptions will take its place
15:35:51narimiranwell, if by "sometimes" you mean "every day" ;) because i see the same comments by you every day
15:36:14FromDiscord<Kiloneie> no... last one was like 3 days ago maybe
15:36:17FromDiscord<Kiloneie> D:
15:36:31leorizealso your initial surge of views is probably due to the 1.0 release
15:36:42FromDiscord<Kiloneie> probably.
15:37:48FromDiscord<Kiloneie> probably also because what the actual audience of Nim is so far
15:38:14FromDiscord<Kiloneie> should be seeing higher numbers in a couple of months, especially once i complete the beginner series
15:39:00FromDiscord<Kiloneie> The first video actually has the worst click trough rate yeah.
15:39:30*ehmry quit (Remote host closed the connection)
15:39:42FromDiscord<Kiloneie> I am rambling, mute myself.
15:41:16*ehmry joined #nim
15:45:28*Vladar quit (Remote host closed the connection)
15:48:02narimiranif someone wants an easy PR for Hacktoberfest: https://github.com/nim-lang/Nim/issues/12326
15:48:05FromDiscord<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:14FromDiscord<Shield> there's a reason why everybody is forced to do it
15:49:36FromDiscord<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:30FromDiscord<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:22FromDiscord<Shield> add it in like the last 5 seconds of the video, it's less annoying that way
15:54:58FromDiscord<Kiloneie> Hmmm.... shady stuff. okay
15:55:12*navinmistry joined #nim
15:55:19FromDiscord<Kiloneie> i knew about the 3 videos a day limit, but not this
15:55:54FromDiscord<Shield> yup, youtube is very shady
15:56:08FromDiscord<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:13FromDiscord<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:37FromDiscord<SrMordred> @Kiloneie twitch? 🙂
16:27:40FromDiscord<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:56FromDiscord<Kiloneie> just nothing advanced D:
16:28:35FromDiscord<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:02FromDiscord<Shield> one of which was never finished
16:29:19FromDiscord<Kiloneie> I should definitely do something like that, i love games D:.
16:29:40FromDiscord<Kiloneie> i think i will try to make a space invaders in the console, if that is even possible.
16:32:11FromDiscord<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:51disruptekchild porn is illegal in my country.
16:36:02FromDiscord<Kiloneie> oO
16:36:34FromDiscord<Shield> D:
16:37:51FromDiscord<Rika> what
16:38:40disrupteki know, they're pretty strict about it. 🙁
16:39:17FromDiscord<Kiloneie> well twitch is will ban even for the slightest crap.
16:40:12FromDiscord<Rika> wha
16:40:47narimirandisruptek: a question about your PR#12325: should changes in API be backported? :/
16:41:17narimirani can imagine a scenario where this breaks code
16:41:19disrupteki guess there's a remote chance that we nameclash.
16:42:03*zyklon quit (Read error: Connection reset by peer)
16:42:46disruptekit would have to also have the same signature, and it's not possible to reimplement this proc in user code.
16:44:55disruptekis that the same scenario you're imagining?
16:45:12narimiranyep
16:45:17*owl_000 quit (Ping timeout: 240 seconds)
16:45:35narimirani still think this is not a (critical) bugfix, so it should be part of 1.1
16:45:52narimiranalso, the addition should be mentioned in the changelog
16:46:16narimiran(i'll write the same on github, so others can comment)
16:46:50disruptekcool.
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:40FromDiscord<Lunar> So is the team who created Nim on here? If so, what are their names?
17:17:00ZevvAraq is the Nimmeister
17:17:49Araqdom96 is also around, and maybe @zah
17:17:51ZevvThen there are a few underlings helping out; there's Dom96, the keeper of the stdlib
17:18:40Zevvnah, that came out not so nice, "underlings", sorry about that
17:19:43FromDiscord<Rika> cool bois would be a better term 😛
17:20:02disrupteki think the preferred term is `minions`.
17:20:14FromDiscord<SrMordred> `nimions`
17:20:22disruptekbingo.
17:20:34FromDiscord<Shield> perfect
17:21:03Zevv\o/
17:23:51FromDiscord<Rika> wow that was absolutely perfect
17:28:22*Ven`` joined #nim
17:28:35FromDiscord<Lunar> When doing ```Nim
17:28:35FromDiscord<Lunar> var userInput:string = stdlib.readLine()```Is there anyway I can print text into the console like Java can?
17:28:35FromDiscord<Lunar> ```java
17:28:36FromDiscord<Lunar> import Java.utils.Scanner;
17:28:36FromDiscord<Lunar> class main {
17:28:36FromDiscord<Lunar> public static void main (String[] args) {
17:28:38FromDiscord<Lunar> Scanner userInput = new Scanner(System.in);
17:28:40FromDiscord<Lunar> System.out.println(userInput.readLine("What's 1+2");
17:28:41FromDiscord<Lunar> }
17:28:42FromDiscord<Lunar> }
17:28:44FromDiscord<Lunar> ```
17:29:25disruptek!eval echo "some text"
17:29:28NimBotsome text
17:29:31disruptekplease use a pastebin service next time.
17:29:34narimiranhttps://nim-lang.github.io/Nim/tut1.html#the-first-program
17:29:39narimiranliterally the first example
17:39:39*LargeEpsilon quit (Ping timeout: 240 seconds)
17:40:22FromDiscord<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:21nixfreak_workHello 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:36nixfreak_workI do have mingw-w64 installed
17:49:09ZevvDo you know the exact compiler path of your mingw toolchain?
17:49:39nixfreak_workhmm
17:49:51Zevvhint: it is not /usr/bin/x86_64-w64-mingw32-gcc :)
17:50:00nixfreak_workyeah I see it
17:51:13ZevvI 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:27Zevvthese compilers come in a thousand flavours, and they are all named slightly different
17:51:51nixfreak_workyep that's what I was missing , just needed a little nudge thanks
17:51:57Zevvyw
17:52:25Zevvand welcome to Nim!
17:52:34nixfreak_workthanks
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:46FromGitter<awr1> what do you use for the discord bridge?
18:04:04FromGitter<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:00FromGitter<awr1> also i agree with you @Kiloneie, don't do the obnoxious youtuber intro outro stuff
18:21:16FromDiscord<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:03FromDiscord<Kiloneie> 6 seconds intro and like 8-9 outro, that should be like... great...
18:31:28FromDiscord<Kiloneie> Here we go again !
18:31:28FromDiscord<Kiloneie> https://youtu.be/RkZoHdmoKNs
18:34:34FromDiscord<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:29FromGitter<awr1> what is your next topic?
18:44:00AraqKiloneie: you should show how to setup SDL2 and draw some graphics
18:44:20Araqit's 2019, I'm sick and tired of this terminal shit
18:44:50ZevvPort Nim to the NeXT :)
18:44:51FromGitter<awr1> yeahhhhh i will kinda agree with that
18:47:06FromGitter<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:12FromGitter<awr1> but of course not everybody wants to do game-y things
18:48:21Araqbut beginners usually do
18:48:31Araqgaming is what draws people into programming
18:48:45Araqoften, not always, of course
18:49:12disruptekmy early gaming/coding draw was MUDs though. unsexy terminal gaming. 😁
18:50:02FromGitter<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:25FromGitter<awr1> (tutorials for beginners to programming in general)
18:51:16Araqyeah
18:51:33euantorAccording 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:46euantorMicrosoft docs: https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types
18:51:53euantorIs there a reaosn for this, or is it a bug?
18:52:09euantorI'm surprised it hasn't been spotted before now if it is a bug
18:52:24Araqeuantor, legacy but tbh I was sure we changed these things
18:52:55Araqwell 'bug', using unsigned for sizes is a bug, albeit a bug widely regarded as "good"
18:53:05euantorYeah, `handle` is also defined as `int` when it's actual `PVOID`
18:53:12FromGitter<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:25euantorIt causes issues for my serial library ;)
18:53:28Araqit breaks tons of code
18:53:40FromGitter<awr1> i should have assumed as much.
18:53:42euantorhttps://github.com/euantorano/serial.nim/issues/24
18:54:05FromGitter<awr1> i still have oldwinapi imports that i should fix
18:54:49euantorI'll open an issue for it anyway
18:55:32FromDiscord<Kiloneie> Soon
18:55:49FromGitter<awr1> @Kiloneie what are you going to do your next chapter on? i assume custom types?
18:56:00FromDiscord<Kiloneie> loop ?
18:56:01FromGitter<awr1> or loops
18:56:48FromDiscord<Kiloneie> araq wants flashy... yeah i do too...
18:57:38FromDiscord<Kiloneie> im not really planning this stuff, i just do somehing
18:57:45FromDiscord<kodkuce> asyncdispatch server broken or not?
18:58:11FromGitter<awr1> maybe you should do one tutorial on using nimble and show how to get sdl2
18:58:16FromDiscord<kodkuce> i wanted to continue work on my poker server
18:58:43FromDiscord<Kiloneie> okay , gotta teach myself nimble first D:
18:59:52FromGitter<awr1> how do you install nim in your tutorial? did you use choosenim?
19:00:10FromDiscord<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:01FromDiscord<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:52FromDiscord<kodkuce> @Kiloneie you plan to make game dev turtorilas?
19:24:01FromDiscord<Kiloneie> one day
19:24:34FromDiscord<Kiloneie> i haven't done it in years, never done it in an actual programming language, so this is gonna be tough
19:25:27FromDiscord<kodkuce> duno i used unity3d and godot, even erned some money freelancing
19:25:58FromDiscord<kodkuce> my main issue is writing custom serwer atm duno how to connect webscokets with my game logic
19:27:00FromDiscord<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:16FromDiscord<Kiloneie> i am a lot more competant than i was before
19:27:25FromDiscord<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:08FromDiscord<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:43FromDiscord<Kiloneie> i still gotta teach beginners to programming and Nim how to do it, i could probably mix and match it
19:34:31FromDiscord<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:30FromDiscord<exelotl> but I was thinking something more informative than a progress update, so I guess this isn't what I mean
19:37:37FromDiscord<Kiloneie> idk for starters i will try to make a starship game, which are simplest,
19:37:56FromDiscord<Kiloneie> with it teach people while loops, for loops etc
19:38:13FromDiscord<Kiloneie> i really wouldn't do it this soon if Araq wasn't so pushy xD
19:40:57FromDiscord<Kiloneie> is having the Git program a requirement to use Nimble ?
19:43:53FromGitter<awr1> more or less
19:44:01FromGitter<awr1> it also works with Hg iirc
19:46:47FromDiscord<kodkuce> if using Godot it should be easy, tought duno if GDnative stll works with nim
19:47:45FromDiscord<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:27FromDiscord<kodkuce> GDScript is easy too just i dont like ti
19:49:31FromDiscord<kodkuce> GDScript is easy too just i dont like it
19:49:48FromDiscord<Kiloneie> it's pretty similar to Nim
19:49:52FromDiscord<Kiloneie> and python...
19:50:18FromDiscord<kodkuce> ye but it dosent exist anywhere for anything else
19:50:18*traviss joined #nim
19:50:43FromGitter<awr1> imo choosenim is easiest.
19:50:46FromDiscord<Kiloneie> yeah, but Nim does 😛
19:51:04FromGitter<awr1> and if you want to start programming you should have git installed anyway
19:51:07FromDiscord<Kiloneie> i haven't used choosenim, i heard about it days after i made my first video
19:52:13FromDiscord<Kiloneie> meh, it looks like just another way of installing Nim, although with version control extras
19:53:55FromDiscord<kodkuce> so when did you stat Nim, i think i am not anymore bigest newb xD
19:54:26FromDiscord<Kiloneie> 2 months ago ? something like that
19:54:43narimiranbtw, we could now have ex-Yu Nim meeting :)
19:54:46FromDiscord<Kiloneie> i found it a week before my 3 week holidays from work
19:54:58FromDiscord<Kiloneie> then i decided i have enough savings to quit and start making videos for Nim
19:55:44FromDiscord<kodkuce> who else ex-yu
19:55:52FromDiscord<Kiloneie> So right now i am trying to make this Nim videos to be my job
19:55:55narimiranyou, me, Kiloneie
19:56:07FromDiscord<kodkuce> K, from?
19:56:13narimiranmore like "ex Kraljevina SHS" :D
19:56:35narimirani'm H, you two are one S each
19:56:59FromDiscord<Kiloneie> oh that's what you meant
19:57:21FromDiscord<Kiloneie> i still have some dishes with yugoslavia written on the bottom xD
19:57:23FromDiscord<Kiloneie> ancient
19:59:08FromDiscord<exelotl> @kodkuce I tried the godot-nim stub with the latest godot release and it seemed to work
19:59:26FromDiscord<kodkuce> thats nice 🙂
19:59:42FromDiscord<exelotl> didn't do anything substantial with it though x)
20:00:06FromDiscord<Kiloneie> Is this the correct SDL2 ?
20:00:07FromDiscord<Kiloneie> https://cdn.discordapp.com/attachments/371759389889003532/628682568644034572/Capture.PNG
20:00:16FromDiscord<exelotl> it's a matter of preference
20:00:38FromDiscord<exelotl> I like that one more, it has better docs and it's closer to the C API
20:00:47lqdev[m]narimiran, kodkuce, Kiloneie: what's ex-yu?
20:00:55FromDiscord<Kiloneie> ex Yugoslavia
20:01:06FromDiscord<Kiloneie> that big country that used to exist in the Balkans
20:01:19FromDiscord<Kiloneie> my country Slovenia is central europe though
20:01:28lqdev[m]yeah, I know, just didn't know what the abbreviation meant
20:01:30FromDiscord<Kiloneie> right from Italy, under Austria
20:01:43FromDiscord<Kiloneie> i didn't either till he gave me a hint xD
20:02:36FromDiscord<Kiloneie> @Araq which one ?
20:02:37FromDiscord<Kiloneie> https://cdn.discordapp.com/attachments/371759389889003532/628683197164814357/Capture.PNG
20:02:59AraqI only know nim-lang/sdl2
20:03:06FromGitter<awr1> sdl2_nim has some fixes
20:03:10FromGitter<awr1> but both should work
20:03:12FromDiscord<DeltaPHC> `sdl2_nim` is better maintained, IMO
20:03:18FromDiscord<Kiloneie> hmm okay
20:03:23FromGitter<alehander42> Kiloneie so its true
20:03:30FromDiscord<kodkuce> i am Serbia
20:03:32FromGitter<alehander42> slovenians demand to be called central europeans :P
20:03:45FromDiscord<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:46FromGitter<alehander42> i am a lonely bulgarian
20:04:03FromGitter<alehander42> iirc there were some insane ideas for jugo-bulgarian federation after ww2
20:04:06FromDiscord<kodkuce> why so lonely
20:04:08FromGitter<alehander42> but nothing happened
20:04:14FromDiscord<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:43FromGitter<alehander42> Kiloneie we know you're the powerhouse of the cell
20:04:48FromGitter<awr1> https://tldrlegal.com/license/zlib-libpng-license-(zlib)
20:04:58FromDiscord<Kiloneie> also there is no native muslim people here, croatians do have them
20:05:38FromDiscord<Kiloneie> welp thats a simple license
20:06:34FromGitter<alehander42> well, i see slovenians and croatians as similar
20:06:40FromGitter<alehander42> but slovenians are getting too good at volleyball
20:07:14disruptekit's suspicious, i agree.
20:07:16FromDiscord<Kiloneie> based on our population, we might be the #1 sports country in the world
20:07:25*clyybber joined #nim
20:07:32FromDiscord<Kiloneie> i keep hearing about people winning
20:07:37FromDiscord<kodkuce> nah Serbia is
20:07:41FromGitter<alehander42> uruguay are a good contender
20:08:47FromDiscord<kodkuce> Serbia = best volayball, greate basketball, waterpolo , tenis
20:09:31FromGitter<alehander42> and you even have strikers in real madrid
20:09:50FromGitter<alehander42> reminds me of the good times of bg sport
20:09:54FromDiscord<Kiloneie> do you install a package into nim's folder or project's folder ? i don't really get it
20:10:05FromDiscord<Kiloneie> probably nim ?
20:10:43FromGitter<alehander42> you dont install them into folders, i think you install them in `~/.nimble`
20:10:45FromGitter<alehander42> usually
20:10:47*shashlick joined #nim
20:10:49*zyklon joined #nim
20:10:51FromGitter<alehander42> but i dont know if you can override it
20:11:10FromDiscord<kodkuce> just nimble install it
20:11:16FromDiscord<kodkuce> it installs in some repo i think
20:11:16*uvegbot quit (Quit: Konversation terminated!)
20:11:24FromDiscord<kodkuce> not project folder
20:11:25FromGitter<alehander42> kodkuce one thing i dont get is
20:11:29FromDiscord<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:30FromGitter<alehander42> how you can use two alphabets
20:11:41clyybberAraq: Heh, so far the tests are passing: https://github.com/nim-lang/Nim/pull/12321
20:11:43FromDiscord<kodkuce> i mostly use latinic cuz PCs
20:11:54FromGitter<alehander42> yes, even we do very often
20:11:58FromGitter<alehander42> even if its not official
20:11:58FromDiscord<kodkuce> but easy duno, ist like 90% same
20:12:16FromGitter<alehander42> but its funny because you were like, why decide, just support both
20:12:23FromDiscord<Kiloneie> once you learn the alphabet then you will know the meaning and thats it, probably, idk
20:12:41FromGitter<alehander42> it just doesnt sound very nationalistic
20:12:45FromGitter<alehander42> but its a good thing
20:12:54FromDiscord<Kiloneie> oh wait i forgot to type nimble, my bad
20:13:40FromDiscord<Kiloneie> so this wouldn't work if i didn't have Git installed?
20:13:47FromDiscord<Kiloneie> just checking because "video" reasons
20:13:47FromGitter<alehander42> i think it wont
20:14:58FromGitter<alehander42> maybe @bobeff knows more, i remember there was something about git vs tar fownloads
20:15:01FromGitter<alehander42> etc
20:15:10FromGitter<alehander42> i know only of git repos with packages tho
20:15:23FromDiscord<Kiloneie> let me uninstall git and retry
20:16:46FromGitter<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:04disruptekuse a macro?
20:18:35*Vladar quit (Remote host closed the connection)
20:18:36FromGitter<deech> That doesn't catch inferred pragmas, right?
20:18:55disruptekprobably not.
20:18:59FromGitter<deech> Like, `{.raises ... .}` that are not explicitly annotated.
20:19:04FromDiscord<Kiloneie> Yep... you need it
20:19:04FromDiscord<Kiloneie> https://cdn.discordapp.com/attachments/371759389889003532/628687342487601162/Capture.PNG
20:22:12Araqclyybber, it breaks Nimble packages
20:22:24Araqand only appveyor will tell you this because only appveyor runs these tests
20:22:26*skoude joined #nim
20:22:45clyybberYeah, I'm waiting for it to get "packages=true" queued
20:23:30clyybberI 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:53clyybberSo maybe (fingers crossed) they won't fail.
20:27:20*skoude quit (Ping timeout: 276 seconds)
20:28:09shashlick@dom96 - ping
20:30:00FromDiscord<Kiloneie> Huh ?
20:30:01FromDiscord<Kiloneie> https://cdn.discordapp.com/attachments/371759389889003532/628690094953463818/Untitled.png
20:32:21FromDiscord<kodkuce> you did nimble install sdl12 or whawerew
20:32:26FromDiscord<kodkuce> yes i guess
20:32:31FromDiscord<kodkuce> hmm then duno xD
20:32:37FromDiscord<kodkuce> i can try on my side same
20:32:37FromDiscord<Kiloneie> i did nimble install sdl2_nim
20:32:44shashlickhttps://github.com/Vladar4/sdl2_nim/blob/master/examples/ex101_init.nim#L7
20:32:52shashlick`import sdl2/sdl
20:33:31FromDiscord<Kiloneie> why did import suggest me sdl2_nim then... ?
20:33:33*krux02 quit (Remote host closed the connection)
20:37:42FromDiscord<kodkuce> someone needs to be punished 🙂
20:38:44FromDiscord<Kiloneie> With a whip
20:41:29FromDiscord<kodkuce> is there a reason to use a method insted a proc?
20:41:48FromDiscord<Kiloneie> ? man, this is a pain in the ass.
20:41:48FromDiscord<Kiloneie> https://cdn.discordapp.com/attachments/371759389889003532/628693061312053258/Capture.PNG
20:41:58FromDiscord<Kiloneie> pretty sure it's syntatic sugart
20:42:04FromDiscord<Kiloneie> syntatic sugar *
20:42:29shashlickknown issue - need devel fix
20:44:15FromDiscord<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:15shashlickhttps://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:27FromGitter<awr1> yes, you need to get a copy of `SDL2.dll`
21:10:32FromGitter<awr1> and put it in the same folder.
21:10:47FromGitter<awr1> standard procedure for using SDL2 really.
21:10:49FromDiscord<Kiloneie> oH.... are there any other instructions ?
21:11:09FromGitter<awr1> not really, beyond learning how to use SDL2. you can defer to the examples in the `sdl2_nim` repo
21:12:16FromDiscord<Kiloneie> okay thanks
21:15:47*birdspider joined #nim
21:18:51*nixfreak_work quit (Ping timeout: 260 seconds)
21:25:01clyybberAraq: 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:58Araqok
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:25clyybberAraq: 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:55Araqfork it and adapt important_packages
22:12:18clyybberAraq: Cool, thats what I was about to ask :)
22:20:31*PrimHelios joined #nim
22:21:46PrimHeliosdoes nim have anything similar to C's assignment expressions? something like `while ((c = getc()) != EOF)`
22:24:26FromDiscord<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:15PrimHeliosit could probably be more safely implemented in nim though. i'll try my hand at it someday TM
22:26:31FromDiscord<treeform> also EOF is not a char value so it has crazy types too.
22:27:05FromDiscord<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:24AraqPrimHelios: while (; let c = getc(); c) != EOF
22:27:38PrimHelios@Araq: thanks!
22:27:58AraqI don't think it's idiomatic though :P
22:28:24PrimHeliosprobably not lol. What does the first semicolon do?
22:28:51Araqensure a "statment list expression" context
22:29:04clyybberAraq: AFAIK you can leave it out
22:29:06Araqprobably not required
22:29:07PrimHeliosah. yeah that looks nasty, i'll stick with idiomatic nim
22:29:11disruptekkina like a threat to the compiler that araq is in the house.
22:29:52clyybberPrimHelios: `while (let c = getc(); c != EOF):` doesn't look so bad?
22:30:09Araqbug ##12291 is personally offending
22:31:06Araqah it's generic unsigned ops again
22:31:41*birdspider quit (Remote host closed the connection)
22:31:43clyybberhttps://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:15Araqtrue but the root cause is this shit:
22:32:27*Ven`` joined #nim
22:32:36*Ven`` quit (Client Quit)
22:32:45Araqtype PosixBullshitT {.importc: "posix_bullshit_t".} = cint
22:33:21Araqmake up your mind, either it's an import from C or it's 'cint'
22:33:43Araqwe need to disallow this junk
22:35:00clyybberI still don't really get #12291
22:35:15clyybberfrom where does mode_t come from?
22:36:26clyybberAnd why does it not exist on macos
22:37:41clyybberThe real problem is that posix is a standard that no one really implements so you can't actually rely on shit
22:38:08disruptekdom96: regarding #12325, lemme know what you don't understand.
22:38:50dom96disruptek, I did. Not sure what else to let you know. I don't understand your use case.
22:41:16disruptekwell, without exposing the procedure, one cannot call it except in the server's event loop.
22:41:30disruptekthe server's event loop crashes when an exception is raised in this proc.
22:42:15disruptekrather than change the behavior of the stdlib, this solution lets jester write an event loop that won't crash.
22:42:17dom96Right, so why not catch that crash and re-run the event loop?
22:42:36disruptekwell, i didn't write jester.
22:43:06disrupteki personally would rather control my clients directly than have them vanish once one of them dies.
22:44:54dom96Do you have a repro showing the sorts of crashes you're seeing?
22:45:00dom96It might be better for asynchttpserver itself to handle them
22:45:01disrupteksure.
22:45:15disruptekhttps://github.com/zedeus/jester-example
22:45:40disruptekit 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:04dom96I 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:49disruptekif you don't like the interface of processClient, we could always export a different one.
22:51:24disruptekjust, i dunno, tag zeudeus on the pr so they know when it's fixed.
22:52:27shashlick@dom96 - updated https://github.com/nimble-test/issue280and524/pull/4
22:53:16clyybbergood night
22:53:41*clyybber quit (Quit: WeeChat 2.6)
22:59:26*purigringo joined #nim
23:00:22purigringoNim tem alguma relação com o novo cenários das blockchain e dapp?
23:09:27*purigringo quit (Ping timeout: 260 seconds)
23:10:28FromGitter<zetashift> purigringo this is an English channel, I only understood nim and blockchain and dapp
23:11:57acidxthey 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:29FromGitter<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:46shashlicki am seeing a weird issue on osx - gorgeEx randomly stops working at the same point
23:29:52shashlicksame thing works on linux fine
23:30:38*PrimHelios quit (Ping timeout: 276 seconds)
23:31:15FromGitter<awr1> `gorgeEx` is `staticExec` right?
23:31:22shashlickno, that's gorge
23:31:22FromGitter<awr1> or is it somethine else
23:31:37disruptekgeorge is a monkey.
23:31:39FromGitter<awr1> what is `gorgeEx`
23:31:57shashlickgives you the precious return code per the docs
23:32:52shashlicksame issue with gorge
23:33:05FromGitter<awr1> what are you executing in `gorgeEx`? could be a problem of the calling program and not nim
23:33:15FromGitter<awr1> *called program
23:33:31shashlicki have tried different things at the same point, same result
23:34:10FromDiscord<juan_carlos> Whos George? 😜
23:34:58disruptekcurious lil fellah.
23:35:12FromGitter<awr1> compile debug version of nim and see if it still happens
23:35:35FromGitter<awr1> if it does, try opening gdb and nim and ctrl+cing where it gets stuck and observe the backtrace
23:36:03FromGitter<awr1> *gdb with nim
23:36:19FromGitter<awr1> run nim in gdb.
23:36:20FromGitter<awr1> blegh
23:36:49shashlickhttps://travis-ci.org/genotrance/nimarchive/jobs/592122686#L222 <= travis failure log
23:37:21shashlickfails here - https://github.com/nimterop/nimterop/blob/v020/nimterop/build.nim#L635
23:38:33shashlickthis test passes though - http://ix.io/1NMl/nim
23:39:29FromGitter<awr1> confused what's happening here. is this all in static?
23:39:55shashlickyes code gets called here - https://github.com/nimterop/nimterop/blob/v020/nimterop/build.nim#L835
23:40:06FromGitter<awr1> ah okie
23:41:49FromGitter<awr1> this is a shot in the dark but i wonder if this is a zsh thing
23:42:09shashlickdoes osx have zsh?
23:42:18shashlickhow come preceding findExe calls work
23:42:28FromGitter<awr1> osx always had zsh iirc, but new versions of it use zsh by default
23:42:50shashlickthis laptop uses bash by default looks like
23:42:59*koranza quit (Ping timeout: 276 seconds)
23:45:05FromGitter<awr1> hm...
23:45:22FromGitter<awr1> does this not work as an isolated example?
23:45:33shashlickthis variation also works - http://ix.io/1NMu
23:45:44shashlicknot gotten a mini failure case yet
23:50:24shashlickokay recreated the issue
23:50:33shashlickhttp://ix.io/1NNL
23:51:16shashlickworks on linux, fails on osx
23:51:36shashlickfails on loop 123
23:51:57FromGitter<awr1> yeah works on my linux box with zsh
23:52:21shashlickDo you have osx to try
23:52:28FromGitter<awr1> i dont have a mac so no
23:59:14*go|dfish quit (Ping timeout: 240 seconds)