<< 07-10-2020 >>

00:00:02*noonien joined #nim
00:03:05*nature quit (Ping timeout: 240 seconds)
00:07:57*a_chou quit (Remote host closed the connection)
00:08:13*a_chou joined #nim
00:16:41FromDiscord<treeform> Zevv, what treeform chroma stuff do you want to do?
00:37:18FromDiscord<Avatarfighter> Disruptek are you still alive it has mangling killed u
00:37:28FromDiscord<Avatarfighter> or has*
00:38:08disruptekyeah, i'm dead.
00:39:49FromDiscord<Elegant Beef> I'd say "shame, he will be remembered", but let's be honest he had it coming
00:41:05FromDiscord<Avatarfighter> psh
00:41:09FromDiscord<Avatarfighter> speak for yourself
00:41:21FromDiscord<Avatarfighter> Disruptek has mangled where no man has mangled before
00:41:59disruptekdisruptek has tampered in god's domain and paid a heavy price.
00:43:36FromDiscord<Elegant Beef> what's the mangling about anywho?
00:44:52*rockcavera quit (Remote host closed the connection)
00:50:34disruptekare you familiar with seppuku?
00:51:33FromDiscord<Avatarfighter> 😐
00:52:50FromDiscord<Elegant Beef> I havent tried it myself if that's what you mean
00:54:32disruptekmangling is a pr i've been working on for months.
00:55:11disruptekinstead of generating c code that holds name_hash symbol names, it composes names that don't include the lengthy hashes.
00:55:47disruptekit's something of a prerequisite for incremental compilation; that we have stable names.
00:58:04FromDiscord<Elegant Beef> Ah that's what i imagined it was but was uncertain
00:59:24FromDiscord<iWonderAboutTuatara> Does ufcs allows f a, b?
00:59:39FromDiscord<iWonderAboutTuatara> Iirc throws a compile error
00:59:41FromDiscord<iWonderAboutTuatara> Don't remember though, not home ATM
01:00:23FromDiscord<Elegant Beef> That's the command call syntax
01:00:32FromDiscord<Elegant Beef> Are you asking if you can do it with multiple params?
01:00:33disruptekthat feature is provided by the `command syntax`.
01:03:05FromDiscord<iWonderAboutTuatara> Yeah with multiple params
01:04:15FromDiscord<iWonderAboutTuatara> Disruptek: wasn't able to find anything on that, is it a nimble package?
01:04:44FromDiscord<Elegant Beef> https://nim-lang.org/docs/manual.html#procedures-command-invocation-syntax
01:04:44disruptekno, it's a form of invocation syntax.
01:05:17*a_chou quit (Ping timeout: 258 seconds)
01:06:16FromDiscord<Elegant Beef> What you hit was↵> This command invocation syntax also works for expressions, but then only a single argument may follow.
01:06:45disruptekthat's not strictly true.
01:07:38FromDiscord<iWonderAboutTuatara> I thought so
01:07:48FromDiscord<iWonderAboutTuatara> It has to reduce to 1 arguement
01:08:36FromDiscord<iWonderAboutTuatara> Also
01:08:38FromDiscord<iWonderAboutTuatara> https://plugins.jetbrains.com/plugin/15128-nim
01:08:47FromDiscord<iWonderAboutTuatara> Very good news, hopefully will lead to more adoption
01:09:07FromDiscord<Elegant Beef> echo for instance can be used with multiple arguements, so it's not exactly an issue
01:13:34*hyiltiz quit (Ping timeout: 256 seconds)
01:15:45*hyiltiz joined #nim
01:15:45*hyiltiz quit (Changing host)
01:15:45*hyiltiz joined #nim
01:22:53FromDiscord<Elegant Beef> What's the current ballthrob with name mangling anywho?
01:25:09*rockcavera joined #nim
01:41:25*apahl quit (Ping timeout: 240 seconds)
01:43:41*apahl joined #nim
01:48:15*qeeg joined #nim
02:00:32FromDiscord<iWonderAboutTuatara> True
02:00:37FromDiscord<iWonderAboutTuatara> Weird
02:00:42FromDiscord<iWonderAboutTuatara> What is echo?
02:06:47FromDiscord<Elegant Beef> the standard way to writing to the stdout
02:08:59FromDiscord<Elegant Beef> Should note that you can use multiple arguments in anything that isnt an expression so a normal proc/template/macro call
02:11:50*a_chou joined #nim
02:17:08PrestigeIs there a way to select an iterator to used based on a condition, if I have two that I'd like to use?
02:17:25disrupteklike, an if expr?
02:17:30PrestigeRight
02:18:06disruptekno.
02:18:14Prestigedang.
02:21:27PrestigeI can basically do this: https://play.nim-lang.org/#ix=2zX5 but I was wanting a way where it would be reusable, i.e. create a new iterator when I call myIter
02:22:32disruptekwhy can't you return an iterator?
02:23:01Prestigefrom where?
02:23:12disrupteksome proc.
02:25:29Prestigehm I guess I can if I store it in a var, if I try to inline it with a for loop I get an error when passing a variable to it
02:26:11disruptekanother tool at your disposal is for loop macros.
02:31:43PrestigeLooks like the proc can't be nested or I also get an error. Interesting
02:31:52PrestigeWorks top-level, though
02:38:32PrestigeYeah maybe I could create a macro for it. Seems overkill, wish there was a more simple way
02:39:07*vicfred quit (Quit: Leaving)
02:39:19PrestigeThis is what I ended up doing (the template used in the following proc): https://github.com/avahe-kellenberger/nimdow/blob/tags/src/nimdowpkg/monitor.nim#L410
02:40:03*vicfred joined #nim
02:46:39PrestigeAh i found out a way to do this with a template that's much easier.
02:47:00*vicfred quit (Quit: Leaving)
02:48:31*JustASlacker joined #nim
02:59:12FromDiscord<iWonderAboutTuatara> @Elegant Beef no no I know that lmao but is it a proc, macro, what
02:59:21FromDiscord<iWonderAboutTuatara> Or is it compiler magic
02:59:37FromDiscord<Elegant Beef> It's just how the command syntax works
02:59:47FromDiscord<Elegant Beef> When it's not an expression you can pass n number of arguements
03:06:37FromGitter<iffy> I'm been given some JSON which includes a float. Any chance I could get the float as the original string to avoid precision problems? `assert $(parseJson("8.11").getFloat()) == "8.11"` fails
03:08:55FromGitter<iffy> `$parseJson("8.11")` returns `8.109999999999999` also
03:11:23FromGitter<iffy> hmmm... looks like by the time it's converted to a JsonNode the string it was parsed from is gone. I may have to manually parse the JSON string
03:11:54FromDiscord<flywind> !eval import json; echo parseJson("8.11").getFloat == 8.11
03:11:59NimBottrue
03:15:03FromGitter<iffy> I agree that that is true, but I'm trying to make a new JSON string (after doing some transforms) that passes the float along unchanged.
03:16:14FromGitter<iffy> `fmt(thenum:.2f}` works for 8.11; any kind of guarantee that it will work for all floats?
03:17:28disrupteki guarantee it won't.
03:18:15FromGitter<iffy> that's just as good :) k, I'll find another way
03:30:07*arecacea1 quit (Remote host closed the connection)
03:30:54*arecacea1 joined #nim
03:31:16FromGitter<iffy> actually, bizarrely, it works for all values I'm concerned about (floats with a maximum of two decimal places up to 1,000,000.00 -- these floats represent money). I imagine if I wanted to preserve more decimal places, it wouldn't work.
03:32:02disruptekit's a cardinal rule: don't attempt to represent money with floats.
03:32:15disruptekthis is not how floats work.
03:33:16FromGitter<iffy> yes, I agree; I'm getting floats from a third party and I emit the money as a string
03:33:31*noonien quit (Quit: Connection closed for inactivity)
03:33:32FromGitter<iffy> if I could control the third party, I would tell them to use strings
03:33:39FromDiscord<Rika> Floats are a representation of data
03:33:45FromDiscord<Rika> Floats are not the data
03:33:49disruptekgive me their names. i will make them pay.
03:33:49FromDiscord<Rika> You are getting decimals
03:33:56disruptekI WANT NAMES.
03:34:00FromGitter<iffy> :)
03:34:03FromDiscord<Rika> Oh, you actually are getting floats?
03:34:08FromDiscord<Rika> That's just horrible
03:36:02FromGitter<iffy> Well, I'm getting JSON "numbers" so actually, you're right Rika, I'm not getting floats. I'm getting JSON strings and when I parse the JSON, std/json immediately converts them to floats
03:36:40disruptekyou can confirm that the parse is okay by regenerating and comparing the strings, but that's about the best you can do.
03:39:01FromDiscord<Rika> Maybe you can monkey patch stdlib json with an extra proc
03:39:09FromGitter<iffy> yep, that's how I've come to conclude that it will work for my use case. Would it be worth making a JSON parser that ...
03:39:24FromGitter<iffy> does stdlib have Decimals?
03:39:43FromDiscord<Rika> i dont think so
03:41:54FromGitter<iffy> I wonder if there's a backward-compatible change I could make to std/json to make both getStr and getFloat work on a JsonNode that was once a JSON number. Probably it would mean introducing a new getter like getNumberString (or something less verbose)
03:42:32FromDiscord<Rika> uh
03:42:49FromDiscord<Rika> JsonNodes that store numbers store it as a float automatically
03:42:58FromDiscord<Rika> so you have to monkey patch the parsing somehow
03:43:22FromDiscord<Rika> to instead parse numbers as strings... BUT then you have to somehow figure out how to distinguish a string string from a number string
03:44:31disruptekhonestly, i would plan for this not to work.
03:44:52FromGitter<iffy> for changing std/json or for fmt"{mynum:.2f}"?
03:44:58FromDiscord<Rika> i think it would be best to use an external library and modify that or make your own i feel
03:48:09disruptekhey maybe you can solve the problem with bigint parsing while you're at it.
03:48:57FromGitter<iffy> Rika: right here, parseJson already distinguishes floats from strings: https://github.com/nim-lang/Nim/blob/version-1-2/lib/pure/json.nim#L786 so I think my change (whether in stdlib or my own lib) would be to change newJFloat to take a string rather than a float. Or maybe make newJNumber that takes a string. And you can call getFloat or getNumberStr on that.
03:51:12FromGitter<iffy> disruptek: does nim stdlib have bigints?
03:51:27disrupteknope.
03:58:22*arecacea1 quit (Remote host closed the connection)
03:58:56*arecacea1 joined #nim
04:06:02*supakeen quit (Quit: WeeChat 2.9)
04:06:32*supakeen joined #nim
04:10:07*hyiltiz quit (Ping timeout: 240 seconds)
04:11:58*JustASlacker quit (Ping timeout: 258 seconds)
04:15:02*hyiltiz joined #nim
04:15:02*hyiltiz quit (Changing host)
04:15:02*hyiltiz joined #nim
04:15:36*vicfred joined #nim
04:49:36*JustASlacker joined #nim
04:52:59*narimiran joined #nim
04:55:10*Q-Master quit (Quit: Ушел)
05:00:48*JustASlacker quit (Ping timeout: 260 seconds)
05:03:37*solitudesf joined #nim
05:21:45FromDiscord<impbox> @dom96 finally grabbed your book, really good stuff! ^_^
05:34:56*nyd joined #nim
05:38:14*casaca quit (Remote host closed the connection)
05:39:12*casaca joined #nim
05:58:21*waleee-cl quit (Quit: Connection closed for inactivity)
06:11:46*tane_ joined #nim
06:14:18*leorize quit (Remote host closed the connection)
06:14:18*opal quit (Read error: Connection reset by peer)
06:15:54*opal joined #nim
06:16:36*PMunch joined #nim
06:17:06*leorize joined #nim
06:22:56FromDiscord<alehander42> @haxscramper ys
06:23:11FromDiscord<alehander42> i do plan on at least trying that a bit later
06:23:30FromDiscord<alehander42> but the idea was that it might be based on z3 (i want to try the other option eventually)
06:31:42FromDiscord<PizzaFox> where can i learn about reading lots and lots of files with multithreading in nim
06:32:11*letto_ quit (Read error: Connection reset by peer)
06:33:49*letto joined #nim
06:49:41FromDiscord<lqdev> multithreading isn't suited very well for I/O
06:49:44FromDiscord<lqdev> async is
06:50:00FromDiscord<lqdev> but afaik nim doesn't provide async file reading capabilities yet
06:56:14FromDiscord<PizzaFox> ok well if there isnt good support for it
06:56:24FromDiscord<PizzaFox> you can simply use the less cool method
06:56:56FromDiscord<PizzaFox> of somehow telling a bunch of threads what files they should read
06:58:39FromDiscord<PizzaFox> the first (very bad) idea i have is to have (for simplicity's sake) 16 threads recursively walking `~/my_dir`
06:58:49FromDiscord<PizzaFox> each thread hashes every file it encounters
06:59:13FromDiscord<PizzaFox> and if the first character of the file hash (parsed as hex) == thread id they read that file
06:59:27FromDiscord<PizzaFox> (edit) '(very bad)' => '(and also very, very inefficient)'
07:00:01supakeenerm
07:00:38FromDiscord<PizzaFox> i said it was very very inefficient
07:00:52FromDiscord<PizzaFox> you are already doing 16x the amount of reads on every file
07:00:56FromDiscord<PizzaFox> but i am pretty sure that would work
07:01:12FromDiscord<PizzaFox> if only there were a more elegant way to decide if a thread should read a file
07:03:35supakeenGenerally if you want to pretend you have async io you use a threadpool that you submit to "please read file xyz for me" and then you get the result a bit lter.
07:04:57FromDiscord<PizzaFox> just looking at the docs for threadpool
07:05:14supakeenThe concept :)
07:05:21FromDiscord<PizzaFox> no
07:05:29FromDiscord<PizzaFox> threadpool
07:05:32FromDiscord<PizzaFox> the stdlib lib
07:06:44*cornfeedhobo quit (Ping timeout: 265 seconds)
07:10:45FromDiscord<PizzaFox> behold
07:10:46FromDiscord<PizzaFox> sent a code paste, see https://play.nim-lang.org/#ix=2zXH
07:12:21FromDiscord<Vindaar> sent a long message, see http://ix.io/2zXI
07:13:03*vicfred quit (Quit: Leaving)
07:13:28FromDiscord<PizzaFox> i have read a bit about HDDs vs. lots of IO threads
07:14:06FromDiscord<PizzaFox> it is worth noting i have not benchmarked (or even written) the single threaded code
07:15:08FromDiscord<PizzaFox> although the thing i read about HDDs is if you are jumping to different positions in the same file, i haven't seen what happens if you are reading a bunch of files top->bottom
07:15:24Yardanicoit's the same, but worse
07:15:27FromDiscord<PizzaFox> oh
07:15:30FromDiscord<Vindaar> Well, the HDD still can only read a single file at the same time 🙂
07:15:45Yardanicoyeah, 4K performance on SATA HDDs is sub 1MB
07:16:43FromDiscord<PizzaFox> the plan is to read a bunch of files and do cpu heavy tasks on the stream of bytes
07:17:19FromDiscord<Vindaar> single thread, memory map the files, do heavy work, profit?
07:17:35FromDiscord<PizzaFox> if the cpu heavy task to significantly longer than the performance cost of reading many files in threads it would be worth multithreading though, right?
07:18:17FromDiscord<Vindaar> no, split I/O from compute. Have one thread for the I/O which passes to a (possibly multithreaded) worker
07:19:45FromDiscord<PizzaFox> ok what if i told you the worker was also going to write to the file it was reading from
07:20:18FromDiscord<Vindaar> to the same file?
07:20:23FromDiscord<PizzaFox> yees
07:20:32FromDiscord<PizzaFox> read the bytes -> do things to the bytes -> write the bytes
07:21:42FromDiscord<Vindaar> then probably do batch processing of data. read a bunch (memory map them), perform changes to the memory mapped files, flush the whole batch of modified files back to disk. Something along those lines
07:22:22FromDiscord<PizzaFox> that sounds right
07:23:28FromDiscord<PizzaFox> sent a long message, see http://ix.io/2zXN
07:23:38FromDiscord<PizzaFox> no penalty from hdd needle going ape mode
07:23:39FromDiscord<Vindaar> in case you want some inspiration from someone who also just learned by doing, this is specifically what I was talking about before: https://github.com/Vindaar/TimepixAnalysis/blob/master/Analysis/ingrid/raw_data_manipulation.nim
07:25:27*a_chou quit (Ping timeout: 240 seconds)
07:25:35FromDiscord<Vindaar> Also, I don't know the details, but check out some of @brentp's repos: https://github.com/brentp↵He's doing genomics and deals with large amounts of data I assume. I only know that his tools are fast compared to other non Nim alternatives. Maybe there is something to learn there?
07:26:35FromDiscord<Vindaar> sent a long message, see http://ix.io/2zXO
07:26:55FromDiscord<Vindaar> essentially I would read as much as you can, given your RAM limitations
07:27:01FromDiscord<PizzaFox> surely reading multiple files will make hdd needle mad
07:27:11FromDiscord<Vindaar> not in parallel!
07:27:18*mmohammadi98126 joined #nim
07:27:49FromDiscord<Vindaar> just so that you don't also hop between I/O ⇔ compute every couple of ms
07:28:49FromDiscord<PizzaFox> ugh this is complicated
07:28:53FromDiscord<Vindaar> yes, it is
07:29:08FromDiscord<Vindaar> that's why you should keep it simple 🙂
07:29:17FromDiscord<PizzaFox> singular thread with 64GB ram allocated
07:29:25FromDiscord<PizzaFox> read the entire file into memory
07:29:33FromDiscord<PizzaFox> no more stream bullshit
07:29:38FromDiscord<Vindaar> like how large are your files 👀
07:29:45FromDiscord<PizzaFox> not big lol
07:31:18FromDiscord<Vindaar> The point is simply 1. you obv. don't want to run into RAM problems (remember you not only need RAM to memory map the files, but also do computations. Depending on how complicated that is, that can be a lot) and 2. as I said, you don't want to stop reading after each file. If possible keep reading for as long as possible uninterrupted
07:31:55FromDiscord<Vindaar> anyway, gotta focus on work right now 🙃
07:32:29FromDiscord<PizzaFox> thanks for your hepl
07:32:31FromDiscord<PizzaFox> (edit) 'hepl' => 'help'
07:32:35FromDiscord<PizzaFox> much 2 think about
07:35:30Oddmongeri have a problem with vim , the plugin zah /
07:36:06Oddmongerthe plugin zah / nim.vim is hanging with my .nims in same directory
07:36:23Yardanicowell, I've heard that people use neovim with alaviss's plugin nowadays :)
07:36:41Oddmongerbefore searching more (it's surely my fault), i'd like to know if it's a faq :) (i have searched and found nothing)
07:36:52Oddmongerah the alaviss plugin, yes
07:37:00Oddmongerhas it syntastic support ?
07:37:03Yardanicoof course?
07:37:08Yardanicohttps://github.com/alaviss/nim.nvim
07:39:24Oddmongerok let's try it, the other one is not maintened anymore
08:01:19Oddmongerah yes, nice plugin indeed, adopted :)
08:13:44*cornfeedhobo joined #nim
08:19:29*mmohammadi981266 joined #nim
08:20:53*mmohammadi98126 quit (Ping timeout: 260 seconds)
08:26:07*mmohammadi981266 quit (Ping timeout: 258 seconds)
08:29:12YardanicoI guess I'll stream some ircord development today
08:29:13Yardanico~ystream
08:29:14disbotystream: 11Stream at https://twitch.tv/yardanico, voice chat either on Mumble (mumble://uberalles.mumbl.io/) or in Discord (https://discord.com/invite/ezDFDw2) -- Yardanico
08:29:15Yardanicoand maybe more
08:31:06*mmohammadi981266 joined #nim
08:50:51FromDiscord<enthus1ast> does one know how to properly setup nim/llvm/clang on freebsd? The default llvm90 installation seems to miss limits.h
08:51:20FromDiscord<enthus1ast> i've installed nim and llvm90 with pkg
08:55:53*hnOsmium0001 quit (Quit: Connection closed for inactivity)
09:06:05Oddmongerwith Alaviss vim's plugin, is it possible to have error messages when saving an incorrect thing ?
09:06:51Oddmongerwhen i type, it highlight things like "pr oc", but when i save i don't have the syntastic check i had with my previous plugin
09:07:22Oddmonger(for exemple when forgetting the '=' after a proc def)
09:08:26*mmohammadi981266 quit (Ping timeout: 256 seconds)
09:09:26Oddmongerah funny, it highlights global variables, as it were an error
09:13:03*Vladar joined #nim
09:18:07FromDiscord<enthus1ast> i've now fixed the limits.h error but now it does not find syslimits.h .... no wonder why nobody uses freebsd
09:18:23Yardanicoweird
09:18:30YardanicoI never had any issues with nim on freebsd
09:18:38FromDiscord<enthus1ast> syslimits.h is not on the filesystem
09:18:39YardanicoI've ran it on my PC for some time to test it out
09:18:49*mmohammadi981266 joined #nim
09:19:11FromDiscord<enthus1ast> which compiler have you used?
09:19:21Yardanicoboth gcc and clang iirc
09:20:40FromDiscord<enthus1ast> my installation of llvm90 does not ship with limits.h, so i've reconfigured nim to use gcc and added the missing include path
09:21:04FromDiscord<enthus1ast> i must say this is a FreeNAS installation, no idea if this differs from "normal" freebsd
09:21:50FromDiscord<enthus1ast> when it works fine for your @Yardanico then i guess it does
09:34:31*abm joined #nim
09:42:15FromDiscord<dom96> > @dom96 finally grabbed your book, really good stuff! ^_^↵@impbox yay thx ❤️
09:46:53YardanicoI wonder if there's a way to only enable an experimental feature if it exists?
09:46:55Yardanicofor example for {.experimental: "strictFuncs".}
09:46:58FromDiscord<mratsim> interpreters - virtual-machines channel? or any other name that would encompass VM, emulation, JIT, building a languages on top of Nim? https://forum.nim-lang.org/t/6871#43154
09:47:12Oddmongerleorize[m]1: can you tell me how to use syntastic with nim language plugin for vim, please ?
09:47:47Oddmongeri've followed the wiki step by step
09:47:47FromDiscord<Yardanico> @mratsim so interpreters?
09:48:24FromDiscord<mratsim> I guess so
09:48:52FromDiscord<mratsim> with a subtitles about everything else I mentioned for topic
09:50:13FromDiscord<lqdev> @leorize now you have another person interested in error reporting in nim.nvim :)
09:51:30*idf left #nim ("ERC (IRC client for Emacs 27.1)")
09:52:11Yardanicooh I found solution to my problem
09:52:20Yardanicobut it's not documented afaik
09:52:21Yardanicohttps://github.com/nim-lang/Nim/commit/887987bb1aa27e8fe7dae3a5835b90c76b9fbb12
09:52:31Yardanicoso every experimental feature has the symbol defined like nimHasStrictFuncs
09:52:39Yardanicosince 0.19
10:01:29YardanicoAraq: is this supposed to work? because it does for me on latest devel https://play.nim-lang.org/#ix=2zYn
10:01:50Yardanicobut if I do "let m = x" and only then m.data = "hello", compiler catches it
10:06:59Yardanicohttps://github.com/nim-lang/Nim/issues/15508
10:07:01disbotstrictFuncs doesn't seem to catch simple ref mutation ; snippet at 12https://play.nim-lang.org/#ix=2zYo
10:20:20Araqthat's a showstopper
10:27:54*leorize quit (Remote host closed the connection)
10:28:39*leorize joined #nim
10:31:39*tane_ quit (Quit: Leaving)
10:52:08*nyd quit (Ping timeout: 256 seconds)
11:06:00Araqnarimiran, can you finish
11:06:02Araqhttps://dev.azure.com/nim-lang/255dfe86-e590-40bb-a8a2-3c0295ebdeb1/_apis/build/builds/8440/logs/109
11:06:18Araqhttps://github.com/nim-lang/Nim/pull/15506
11:06:19disbotdocgen: improve alignment of comments (still not perfect)
11:06:33Araqas you can see in the logs, some tests need to be patched too
11:06:53narimiranAraq: finish #15506? yes, let me see what's breaks
11:06:54disbothttps://github.com/nim-lang/Nim/pull/15506 -- 3docgen: improve alignment of comments (still not perfect)
11:07:17Araqtests\errmsgs\tunknown_named_parameter.nim
11:11:09*Trustable joined #nim
11:20:22*gangstacat_ is now known as gangstacat
11:23:03*Trustable quit (Remote host closed the connection)
11:24:58*nyd joined #nim
11:26:23*Trustable joined #nim
11:36:00narimiranAraq: that's some azure-specific line breaking happening. locally the current version is fine :/
11:36:38*Trustable quit (Remote host closed the connection)
11:37:42*Trustable joined #nim
11:38:03narimirani can push the fix, but i'm still wondering how come suddenly "proc rsplit(s: string; seps: set[char] = Whitespace; maxsplit: int = -1): seq[string]" is split in two lines
11:42:26narimiranscratch that. i had an old version of nim. i can reproduce it.
11:42:35*Trustable quit (Remote host closed the connection)
11:43:33*Trustable joined #nim
11:48:43FromDiscord<Clyybber> Araq: assigns generated for copies in sink params need to trigger generating typeattachedops
11:57:12*a_b_m joined #nim
11:59:12Yardanicoyeah we found an issue on stream :D
12:00:08*abm quit (Ping timeout: 256 seconds)
12:01:39Yardanicohttps://github.com/nim-lang/Nim/issues/15510
12:01:41disbot[ARC] Type-bound assign op is not being generated ; snippet at 12https://play.nim-lang.org/#ix=2zYT
12:01:43*luis joined #nim
12:01:44Yardanicoit seems to be related to named tuples
12:06:01*supakeen quit (Quit: WeeChat 2.9)
12:06:38*supakeen joined #nim
12:06:47Yardanicoyay found one more arc bug
12:11:01Yardanicohttps://github.com/nim-lang/Nim/issues/15511
12:11:04disbot[ARC] Crash when adding openArray proc argument to a local seq ; snippet at 12https://play.nim-lang.org/#ix=2zYW
12:16:30*NimBot joined #nim
12:24:20*mmohammadi981266 quit (Quit: I quit (╯°□°)╯︵ ┻━┻)
12:30:17FromDiscord<Yardanico> @mratsim would you be happy with "lang-dev" name for language/VM/etc development?
12:30:19FromDiscord<Yardanico> or maybe "langdev" ?
12:30:26FromDiscord<Yardanico> since I'll also need to bridge it to IRC 🙂
12:33:54*BitPuffin quit (Quit: killed)
12:33:54*GitterIntegratio quit (Quit: killed)
12:33:54*hnOsmium0001[m] quit (Quit: killed)
12:33:54*jaens[m] quit (Quit: killed)
12:33:55*k0mpjut0r quit (Quit: killed)
12:33:55*leorize[m] quit (Quit: killed)
12:33:58*guelosk[m] quit (Quit: killed)
12:34:01*leorize[m]1 quit (Quit: killed)
12:34:06*lnxw37d4 quit (Quit: killed)
12:34:07*reversem3 quit (Quit: killed)
12:34:12*VijayMarupudi[m] quit (Quit: killed)
12:34:15*unclechu quit (Quit: killed)
12:34:16*MTRNord[m]1 quit (Quit: killed)
12:34:16*solitudesf1 quit (Quit: killed)
12:34:16*planetis[m] quit (Quit: killed)
12:34:17*stisa[m] quit (Quit: killed)
12:34:18*brainbomb[m] quit (Quit: killed)
12:34:18*ee7[m] quit (Quit: killed)
12:34:19*silvernode[m] quit (Quit: killed)
12:38:57*luis quit (Quit: luis)
12:39:14*luis joined #nim
12:40:00*luis quit (Client Quit)
12:40:12*luis joined #nim
12:43:26*stisa[m] joined #nim
12:59:14Yardanicoweird nim projects day 531:
12:59:15Yardanicohttps://github.com/asiekierka/voirc
12:59:21Yardanicovoice over IRC
13:00:24FromDiscord<Rika> interesting
13:00:30FromDiscord<Rika> that is very odd
13:00:44FromDiscord<mratsim> @Yardanico lang-dev is cool
13:01:03Araqer, VMs have little to do with lang-dev
13:04:00*luis quit (*.net *.split)
13:04:00*stisa[m] quit (*.net *.split)
13:04:03*casaca quit (*.net *.split)
13:04:05*FromDiscord quit (*.net *.split)
13:04:05*ldlework quit (*.net *.split)
13:04:08*enthus1ast quit (*.net *.split)
13:04:14*casaca joined #nim
13:04:15*luis joined #nim
13:04:41*FromDiscord joined #nim
13:06:07*stisa[m] joined #nim
13:06:53*ldlework joined #nim
13:09:21*enthus1ast joined #nim
13:11:37Yardanicobut seems like we want a lang-dev + language VMs channel :P
13:13:57FromDiscord<lqdev> o shit asie uses nim
13:14:28FromDiscord<lqdev> asiekierka's the same person who created foamfix and fabric for minecraft
13:24:17*jaens[m] joined #nim
13:24:18*k0mpjut0r joined #nim
13:24:18*lnxw37d4 joined #nim
13:24:18*leorize[m]1 joined #nim
13:24:18*MTRNord[m] joined #nim
13:24:18*Helios joined #nim
13:24:18*GitterIntegratio joined #nim
13:24:18*reversem3 joined #nim
13:24:18*leorize[m] joined #nim
13:24:18*planetis[m] joined #nim
13:24:18*brainbomb[m] joined #nim
13:24:19*unclechu joined #nim
13:24:19*codic joined #nim
13:24:19*BitPuffin joined #nim
13:24:19*hnOsmium0001[m] joined #nim
13:24:24*silvernode[m] joined #nim
13:24:24*ee7[m] joined #nim
13:24:24*solitudesf1 joined #nim
13:24:25*VijayMarupudi[m] joined #nim
13:24:26*guelosk[m] joined #nim
13:25:47FromDiscord<mratsim> lang-dev might be about DSL though
13:26:22FromDiscord<mratsim> interpreters is likely the best all around
13:30:38FromDiscord<flywind> I have made a simple plugin to make `prologue` web framework support `route pragma`, how can I arrange code to make it look better?
13:30:48FromDiscord<flywind> sent a code paste, see https://play.nim-lang.org/#ix=2zZm
13:31:50FromDiscord<haxscramper> DSL is barely even mentioned here, while we have multiple different /language implementations/ and "interpreters" is a subset of topics related to language development
13:32:07FromDiscord<haxscramper> So `lang-dev` seems appropriate
13:32:44FromDiscord<Rika> lang-dev will be mistaken for nim language development
13:32:47FromDiscord<haxscramper> Because people also might be interested in parsers, JIT, type inference, just algorithms in general, recommendations etc.
13:33:08FromDiscord<lqdev> maybe `#languages`
13:33:15FromDiscord<haxscramper> > lang-dev will be mistaken for nim language development↵@Rika Well, actually I see no problem with it. `#main` is mostly "how-do-i-do-X" and questions
13:33:55FromDiscord<haxscramper> With nim development mixed in
13:34:09FromDiscord<lqdev> or maybe just a general `#showcase` channel?
13:34:17FromDiscord<Rika> it will lead to certain people (who you already say are a minority) to not post
13:35:53FromDiscord<haxscramper> Well, maybe putting adequate pinned message like "implementing programming language in nim" on channel will solve the issue?
13:36:05FromDiscord<lqdev> channel topic is a thing
13:36:40FromDiscord<mratsim> personally I care more about interpreters, JIT and VM design not language
13:36:54FromDiscord<lqdev> #hpc
13:37:08FromDiscord<haxscramper> I personally care more about parsers and DSL?
13:37:20FromDiscord<mratsim> yes so not the same channel/goal
13:37:48FromDiscord<mratsim> HPC is something different @lqdev, HPC is parallelism, GPU computing scientific computing
13:37:57FromDiscord<haxscramper> Well, having `#interpreters` and `#parsers` is overkill (we are not LLVM) so why not just do `lang-dev`?
13:38:14FromDiscord<lqdev> ik mratsim, was just proposing another channel related to your field
13:38:26FromDiscord<mratsim> lang-dev does not cover emulation for example while it's covered by interpreters
13:38:33FromDiscord<lqdev> but imo having so many topical channels is quite overkill
13:38:33FromDiscord<mratsim> science already covers HPC
13:38:37FromDiscord<lqdev> 99% of the time they'll be dead
13:38:44FromDiscord<lqdev> it's better to have a single #showcase channel
13:38:55FromDiscord<lqdev> and perhaps a #discussion channel
13:39:08FromDiscord<lqdev> for discussing about stuff from #showcase
13:39:59*luis quit (Quit: luis)
13:40:00FromDiscord<mratsim> also parsers is not just for language dev, stuff like npeg, regex or even SQL can go there.
13:40:15*luis joined #nim
13:40:36FromDiscord<haxscramper> Altgough I also think that `nim-lang-development` is a good idea too, since compiler-related questions (for people who are interested in starting with compiler development), **nim** design discussions etc. should not be all mixed with general questions. So `lang-dev` would be confused with `nim-lang-dev`
13:40:43FromDiscord<mratsim> virtual-machines is also something that could work for everything
13:41:34FromDiscord<lqdev> guys, too many channels will make the server hard to navigate
13:41:50FromDiscord<mratsim> I don't think we've reached too many
13:42:05FromDiscord<lqdev> yeah, but look at rust's server. it's a mess
13:42:14FromDiscord<lqdev> i like the modesty of our server :)
13:42:25FromDiscord<haxscramper> I think DSL/VM/JIT/interpreters/parsers/codegen should be in one channel and **nim-specific** language development in another.
13:42:34FromDiscord<haxscramper> Latter one is just IMO
13:42:40FromDiscord<mratsim> but I think it's important that categories/domain with a lot of interest have their own channels
13:43:00FromDiscord<mratsim> I agree @haxscramper , my only issue is with the name
13:43:24FromDiscord<mratsim> codegen is a good one?
13:43:36FromDiscord<mratsim> or code-exec? :p
13:44:17FromDiscord<haxscramper> `DSL-VM-JIT-interpreters-parsers-codegen `
13:44:25FromDiscord<lqdev> #languages and #interpreters.
13:44:26FromDiscord<Rika> make it longer
13:44:44FromDiscord<lqdev> if you really want to have so many topical channels that will probably be dead most of the time
13:44:48FromDiscord<haxscramper> We can go full-on elisp on names
13:44:51FromDiscord<Rika> #domain-specific-languages-virtual-machines-interpreters-parsers-codegen
13:44:52FromDiscord<Rika> xddddddd
13:45:09supakeen`lang-dev[T: nim]`
13:45:12FromDiscord<mratsim> it's not just languages, it's also emulation
13:45:28FromDiscord<mratsim> or even say npeg
13:46:17FromDiscord<Rika> wanna just call it #compiler-theory or something
13:46:25FromDiscord<haxscramper> `<placeholder-name> [1]`↵↵`[1] to be decided`
13:46:58FromDiscord<mratsim> but a JIT is not only about theory but architecture constraints
13:47:10FromDiscord<mratsim> or emulation
13:47:36FromDiscord<lqdev> #languages-and-interpreters
13:47:56FromDiscord<lqdev> then you're fulfilling all the categories
13:47:57FromDiscord<Rika> mratsim you cannot capture the whole essence of a channel in a few words
13:48:05FromDiscord<lqdev> with just a single channel
13:48:13FromDiscord<mratsim> sounds OK
13:48:16FromDiscord<haxscramper> I agree too
13:48:33FromDiscord<mratsim> @Rika doesn't mean I can't try
13:48:50FromDiscord<mratsim> "science" does capture everything 😉
13:49:07FromDiscord<lqdev> perhaps shorten it to #langs-and-interpreters to fit neatly in the sidebar
13:49:20FromDiscord<haxscramper> Just name channel `_` or `*` or `.*`
13:49:22FromDiscord<mratsim> langs-and-VMs
13:49:34FromDiscord<lqdev> you can't have capital letters btw
13:49:43FromDiscord<lqdev> so #langs-and-vms
13:49:47*luis quit (Quit: luis)
13:49:57FromDiscord<lqdev> or #languages-and-vms
13:50:03*luis joined #nim
13:51:13FromDiscord<mratsim> ```↵#languages-and-vms↵Writing your (pick 10) language, DSL, emulator, VM, JIT, interpreter, parser, codegen in Nim↵```
13:51:31FromDiscord<lqdev> sounds good to me.
13:52:52FromDiscord<haxscramper> How long pinned message can be? Maybe add links to all 'getting stsrted' nim modules like npeg etc.? So people won't ask over and over
13:53:38FromDiscord<mratsim> They aren't visible on IRC and people don't read them but they might help for a "getting started" if we remind people
13:53:42FromDiscord<Rika> no one actually reads pins
13:53:59FromDiscord<lqdev> channel topics on the other hand, are quite descriptive and visible by default
13:54:13FromDiscord<Rika> not a lot of people read those either
13:54:18FromDiscord<Rika> theyre not visible on mobile
13:54:21FromDiscord<Rika> lots of people on mobile
13:54:30FromDiscord<Rika> though i guess thats rarer for a programming discord
13:54:41*muffindrake joined #nim
13:56:24FromDiscord<haxscramper> Also interop with C/C++ is a thing that people as a lot about
13:57:19*letto quit (Quit: Konversation terminated!)
13:59:12*letto joined #nim
14:00:41FromDiscord<mratsim> true
14:01:04FromDiscord<mratsim> @Yardanico you have your name and topic https://discordapp.com/channels/371759389889003530/371759389889003532/763398026323558450
14:02:08*waleee-cl joined #nim
14:10:32*kungtotte quit (Ping timeout: 256 seconds)
14:12:19FromDiscord<lqdev> disruptek: i managed to install nimph without any issues, do you consider that a success?
14:12:25FromDiscord<lqdev> am i the first one?
14:14:32*Q-Master joined #nim
14:26:18*Q-Master quit (Quit: Ушел)
14:26:33*Q-Master joined #nim
14:28:36*Helios quit (Quit: authenticating)
14:28:45*Helios joined #nim
14:29:16*Helios quit (Client Quit)
14:29:25*Helios joined #nim
14:29:32*vicfred joined #nim
14:33:04disruptekprobably.
14:33:21disrupteki'd buy a lottery ticket if i were you.
14:33:45FromDiscord<lqdev> holy shit dude
14:36:12disrupteksmells like it's that time of the month again.
14:36:39disruptekshower day.
14:41:51Zevvfunny thing is, I can only smell myself after I've showered
14:41:53Zevvnever before
14:48:16disruptekyou have to develop the habit of poor hygiene.
14:48:48disruptekno country for the dilettante, zevv.
14:51:50*luis quit (Quit: luis)
14:52:04*luis joined #nim
14:53:02*a_b_m quit (Read error: Connection reset by peer)
14:53:32Zevvmy habits are just fine
14:58:00*antranigv_ is now known as antranigv
15:04:35*JustASlacker joined #nim
15:08:02*codic quit (Quit: Idle for 30+ days)
15:20:26*a_chou joined #nim
15:22:34*mmohammadi981266 joined #nim
15:31:59*Jesin quit (Ping timeout: 260 seconds)
15:36:09*Kaivo quit (Ping timeout: 260 seconds)
15:38:45*Kaivo joined #nim
15:39:31disruptekshashlick: what's a combination of nimgit2/nimterop/gittyup that works right now?
15:40:03FromDiscord<shashlick> latest? 😄
15:40:33disrupteki was afraid you'd say that. 🙄
15:41:27disruptekv0.6.12 doesn't work but v0.6.11 does.
15:41:40disruptek/home/adavidoff/nims/lib/system/fatal.nim(49, 5) Error: unhandled exception: /home/adavidoff/git/nimph/deps/pkgs/nimterop-0.6.9/nimterop/build/tools.nim(198, 12) `findFile(check, path, regex = regex).len != 0` make failed [AssertionDefect]
15:41:44disruptek/home/adavidoff/git/gittyup/gittyup.nim(38, 42) Error: undeclared identifier: 'git_strarray'
15:41:55disrupteki know it looks like an unrelated error.
15:42:32disrupteki mean, it's unrelated but i can sometimes get it to work.
15:43:49disruptekin .11 but not .12, that is.
15:45:30FromDiscord<kodkuce> i hate this async errors
15:45:31FromDiscord<kodkuce> Error: unhandled exception: File descriptor not registered.
15:45:53FromDiscord<kodkuce> @treeform i kill you :), am again fighting this ws thingy
15:47:13FromDiscord<kodkuce> Exception type: [ValueError]
15:47:28FromDiscord<kodkuce> will put evrything in try error
15:47:47disruptekwhen in doubt, comment it out.
15:47:59disruptekjust delete any code you don't understand.
15:48:11FromDiscord<lqdev>
15:50:05FromDiscord<kodkuce> somethign is crashing my webscokets i only hope its nor arm64 related
15:51:22narimiranguys, a brand new Nim 1.4-RC is here: https://github.com/nim-lang/nightlies/releases/tag/2020-10-07-version-1-4-3b901d1e361f49d48fb64d115e42c04a4a37100c
15:51:25narimiranplease give it a try and report any regressions
15:51:50*luis quit (Quit: luis)
15:55:20*hnOsmium0001 joined #nim
15:55:25disruptekpushed and tagged in gitnim.
15:56:34disrupteklooks like it breaks nimcrypto?
15:56:39*Trustable quit (Read error: Connection reset by peer)
15:57:03disruptekoh, i guess this is a problem in 1.2.7 also.
15:57:15*Trustable joined #nim
15:59:21*abm joined #nim
16:05:27FromDiscord<shashlick> disruptek: 0.6.12 introduced a second binary - loaf
16:05:37FromDiscord<shashlick> nim c nimterop/loaf
16:05:41FromDiscord<shashlick> nimble buildLoaf
16:06:55disrupteksonuvabitch
16:07:08FromDiscord<kodkuce> hmm i think i wraped all in try except
16:07:09FromDiscord<shashlick> i need to auto-compile if not present still
16:07:34disrupteksemver ftw
16:09:01FromDiscord<shashlick> it's not a new feature really
16:09:14disrupteki don't care what it is. it broke me.
16:09:25*apahl quit (Ping timeout: 240 seconds)
16:09:26FromDiscord<shashlick> cannot rely on posix find working everywhere consistently
16:09:48disruptekhmm, it still doesn't work.
16:09:48FromDiscord<shashlick> okay i'll add the auto-compile
16:10:40*apahl joined #nim
16:11:16disruptekthat won't help me.
16:11:44*waleee-cl quit (Quit: Connection closed for inactivity)
16:12:34*epfnair joined #nim
16:17:25*nyd quit (Quit: nyd)
16:17:52*krux02 joined #nim
16:18:33FromGitter<iffy> I'm back on my JSON float problem (I have a workaround, so I'm just brainstorming at this point). How does Python able to format 8.11 as a string? The internal float representation of 8.11 is 01000001000000011100001010001111 in Python (and in Nim) which is actually 8.1099996... yet in Python `print(8.11)` shows 8.11 and `print(8.10999965667724609375)` shows 8.109999656677246.
16:18:42FromGitter<iffy> What magic is Python doing and can I help Nim do that same magic?
16:18:58disruptek!issue ryu
16:18:58disbothttps://github.com/nim-lang/Nim/issues/13365 -- 3stdlib needs ryu for compact and performant float to string 7& 4 more...
16:20:01FromGitter<iffy> perfect, thank you!
16:21:29disruptekleorize has from-scratch version, clyybber has his own port, and i abandoned my port when we had three people writing ryu. as a result, we have no port.
16:23:00FromDiscord<shashlick> disruptek: why won't it help you - you don't use nimble so the binaries don't get compiled
16:23:19disruptekbecause it doesn't work after compiling the binary manually.
16:23:28FromDiscord<shashlick> how about a snippet
16:23:36disrupteka what?
16:23:49FromDiscord<shashlick> output of the failure
16:24:19FromDiscord<shashlick> also, you have nimterop-0.6.9 in your previous output
16:24:28disruptekit's just a directory name.
16:24:38FromDiscord<shashlick> the version is not material?
16:24:53disruptekthe version is, but the name of the directory is not.
16:24:53*luis joined #nim
16:25:11FromGitter<iffy> disruptek: so what you're saying is, I should start my own port? :P
16:25:26disruptekyep.
16:25:38disruptekshashlick: https://asciinema.org/a/vECFb63S2gv1wQ6JNxJgZ4uiZ
16:27:08FromDiscord<shashlick> don't you use jbb now? why is it making libgit2
16:27:24disruptekjbb doesn't work, as you know.
16:27:39FromDiscord<shashlick> why not
16:27:51FromDiscord<kodkuce> sent a code paste, see https://play.nim-lang.org/#ix=2A0v
16:28:03FromDiscord<shashlick> i built 1.0.x binaries for libgit2 for nimph
16:28:05disruptekdude. we've been through this. the certificate mismatch.
16:28:25disrupteki believe it's something to do with the url.
16:30:20FromDiscord<kodkuce> https://pastebin.com/UvrvNAKb
16:30:30FromDiscord<kodkuce> that asnwer for me?
16:30:37FromDiscord<kodkuce> oh not for him :(
16:31:26disruptekkodkuce: catching exceptions in async is a dark art. you have to check the exception status manually in the future.
16:32:20FromDiscord<kodkuce> how
16:32:41disruptekby checking to see if it's finished and if an error was raised, etc.
16:33:49disrupteki want a new drug.
16:34:12FromDiscord<kodkuce> i want a suicide gun to end this pain
16:34:21FromDiscord<kodkuce> how to check that
16:34:26FromDiscord<Yardanico> @disruptek it's not a pain
16:34:28FromDiscord<Yardanico> It's quite easy
16:34:52disruptekwhat is?
16:34:54FromDiscord<kodkuce> waitFor server.serve(Port(lport), process_player_ws) to do var zz = server.serve(Port(lport), process_player_ws)
16:34:55FromDiscord<Yardanico> Check finished and then failed
16:35:14disruptekyes, but good luck getting the access you need in someone else's async code.
16:35:14FromDiscord<Yardanico> both are procs that take a future
16:35:47FromDiscord<kodkuce> you mean to kill treeform
16:36:03disrupteki can't afford to kill treeform.
16:36:08disrupteki only target foreigners.
16:36:16disruptekdon't piss in your own pool.
16:36:29FromDiscord<Yardanico> well you know yourself that there's a limit to criticising stuff just because you are bored
16:36:40FromDiscord<Yardanico> otherwise people will get confused
16:36:48disruptekwhat the fuck are you talking about?
16:38:21FromDiscord<treeform> what the fuck are YOU talking about?
16:38:38disruptekasync exceptions and how to capture them.
16:38:56FromDiscord<treeform> with try catch, duh
16:39:38FromDiscord<Yardanico> Starts in https://discord.com/channels/371759389889003530/371759389889003532/763426788541464646
16:40:15FromDiscord<treeform> @kodkuce put try catch around your ws handler code...
16:42:39FromDiscord<treeform> put try catch around your reading or writing to websocket code
16:42:50FromDiscord<treeform> if you want higher granularity
16:43:59*nature joined #nim
16:43:59FromDiscord<kodkuce> sorry was afk big bloop :P , i put try catch evrywhere i think
16:44:12FromDiscord<treeform> that is the way
16:44:31FromDiscord<treeform> (edit) 'that' => 'this'
16:44:38FromDiscord<kodkuce> https://pastebin.com/5SV8Z69K
16:44:53FromDiscord<treeform> "Pastebin’s SMART filters have detected potentially offensive or questionable content ahead."
16:44:57FromDiscord<treeform> what are you trying to pull?
16:45:08FromDiscord<kodkuce> pastebin is gey
16:45:54FromDiscord<Yardanico> It is
16:45:57FromDiscord<kodkuce> did you open it or do i need to reposete somwere else
16:46:02FromDiscord<Yardanico> I'm not sure why are you using it in 2020
16:46:17FromDiscord<treeform> I did open it
16:46:26FromDiscord<Rika> "smart" filters
16:46:28FromDiscord<kodkuce> see evrything is in try execpt
16:46:32FromDiscord<treeform> it was very offensive so I closed it
16:47:57FromDiscord<kodkuce> what lol
16:48:09FromDiscord<treeform> in sendAll, I would acctually put it around every players send
16:48:17FromDiscord<treeform> right now you have it in like the wrong place around your program
16:48:26FromDiscord<treeform> and around the whole for loop
16:48:31FromDiscord<treeform> if one client send fails they all fail
16:48:42FromDiscord<treeform> you need to know when 1 client fails
16:48:46FromDiscord<treeform> so that you can probably disocnnect them
16:48:52FromDiscord<treeform> and stop sending them updates
16:49:21FromDiscord<kodkuce> i head before only on placess where i tough i need but it was crashing and crashing so i litterly put try on frist line of exceptin
16:49:43FromDiscord<treeform> basically just like with everything else every send and read can fail
16:49:50FromDiscord<treeform> thats how I/O works
16:49:56FromDiscord<treeform> I tried to make it work like everything else does
16:50:20*a_b_m joined #nim
16:50:34FromDiscord<treeform> I usually end up creating like a safeSend() function that try catch every send
16:50:36*waleee-cl joined #nim
16:50:41FromDiscord<treeform> then if it fails it disconnects the player
16:50:48FromDiscord<treeform> and is a noop for disconnected players
16:50:58FromDiscord<kodkuce> hmm literly duno what you talking about, i just on evr proc droped first line try: code except: getCurrentExcept() and it does not it crasshes out of it
16:51:18FromDiscord<treeform> but it has special logic in the safeSend, that disconnects the players and does the cleanup
16:51:44FromDiscord<kodkuce> if p.conn != nil and p.conn.readyState == Open:↵ await p.conn.send( $data )
16:51:59FromDiscord<kodkuce> i too check if nill and conn readyState for sending
16:52:04FromDiscord<treeform> I am saying your try/catch is in the wrong place
16:52:20FromDiscord<treeform> where it would crash your whole program or stop sending updated to everyone at once
16:52:25FromDiscord<treeform> you need it closer to sending
16:53:17FromDiscord<kodkuce> i did not have it accross whole process before, just added it cuz i was GRRR trying to find what is crashing it
16:53:22FromDiscord<kodkuce> to see where it excepts
16:53:28FromDiscord<PizzaFox> sent a code paste, see https://play.nim-lang.org/#ix=2A0B
16:53:30*abm quit (Ping timeout: 265 seconds)
16:55:29FromDiscord<treeform> @kodkuce I would do some thing like this: https://play.nim-lang.org/#ix=2A0D
16:55:53FromDiscord<Yardanico> @PizzaFox well, you can literally use diskpart itself
16:56:01FromDiscord<Yardanico> But really you would want to use win api
16:56:02FromDiscord<treeform> @PizzaFox I doubt there is a nim wrapped API for this on windows.
16:56:05FromDiscord<PizzaFox> sad
16:56:14*idf joined #nim
16:56:18FromDiscord<PizzaFox> i think diskpart requires admin so maybe i wont use that
16:56:32FromDiscord<Avatarfighter> Ello everyone
16:56:36FromDiscord<treeform> Ello
16:56:38FromDiscord<PizzaFox> can i just try reading `[A-Z]:\dir\file.txt`
16:56:45FromDiscord<Rika> hello man who is learning how to read
16:56:47FromDiscord<PizzaFox> (edit) 'can i just try reading ... `[A-Z]:\dir\file.txt`' => 'can i just try readingevery drive'
16:56:52FromDiscord<Avatarfighter> @Rika ❤️
16:56:53FromDiscord<Yardanico> disk is not guaranteed to have a volume on Windows
16:56:55FromDiscord<kodkuce> @treeform will add that safe send but dont think it will help me at all
16:57:10FromDiscord<Yardanico> It depends on your task
16:57:10FromDiscord<PizzaFox> hmmmmm is there some windows C function i can use then
16:57:13FromDiscord<PizzaFox> (edit) 'hmmmmm is there some windows ... C' => 'hmmmmm is there some windowsapi'
16:57:17FromDiscord<Rika> check the windows docs
16:57:18FromDiscord<Yardanico> What do you want to do
16:57:33FromDiscord<Yardanico> Yeah check msdn
16:57:46FromDiscord<Yardanico> And use https://github.com/khchen/winim
16:57:49FromDiscord<treeform> @kodkuce actually I think I would do some thing like this: https://play.nim-lang.org/#ix=2A0F
16:57:52FromDiscord<PizzaFox> just want to list all the drives
16:57:54FromDiscord<Rika> see yall gtg xd
16:58:01FromDiscord<Rika> dont ping me avatar xdddd
16:58:07idfatRika
16:58:13FromDiscord<treeform> listing all drives I think would be possible
16:59:09FromDiscord<treeform> @PizzaFox maybe https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getlogicaldrives
16:59:35FromDiscord<treeform> https://github.com/khchen/winim/blob/d300192c588f73dddef26e3c317f148aa23465c3/winim/inc/winbase.nim#L1742
16:59:38FromDiscord<PizzaFox> seems right, lemme investigate
16:59:54FromDiscord<treeform> import winim, GetLogicalDrives() ... profit?
17:00:27FromDiscord<PizzaFox> lemme try this rq
17:01:14FromDiscord<PizzaFox> lol it works first try no way
17:01:25FromDiscord<PizzaFox> sent a code paste, see https://play.nim-lang.org/#ix=2A0N
17:02:36FromDiscord<PizzaFox> i wonder if that works with network drives or whatever, docs indicate its only for drives A-Z
17:02:47FromDiscord<kodkuce> any specific reason why you added that player.remove to disconnct player, for me this error happends anyway only when i close connections to players
17:04:54FromDiscord<Avatarfighter> I'm trying to extract item name and price from non-standard user-formatted text. Does anyone know any strategies I could use to identify the item and/or the price?
17:07:00FromDiscord<Yardanico> https://wit.ai/ is one of the possible ways but it's an online api
17:07:30FromDiscord<Avatarfighter> oof
17:11:29*epfnair quit (Quit: Leaving)
17:11:50*noonien joined #nim
17:12:03*leorize quit (Ping timeout: 240 seconds)
17:18:35FromDiscord<kodkuce> still getting this discriptor error
17:21:07FromDiscord<kodkuce> and i did wrap it
17:25:11FromDiscord<kodkuce> http://ix.io/2A10
17:25:57FromDiscord<kodkuce> gona learn rust cuz this xD
17:27:04FromDiscord<kodkuce> @Yardanico how to do read future of serwer.serve , when i put await it crys async when i dont it crys too
17:27:59*arecacea1 quit (Remote host closed the connection)
17:28:24FromDiscord<kodkuce> https://media.discordapp.net/attachments/371759389889003532/763452682643308564/2020-10-07_192549.png
17:28:31FromDiscord<kodkuce> https://media.discordapp.net/attachments/371759389889003532/763452706177679400/2020-10-07_192609.png
17:28:41*luis quit (Read error: Connection reset by peer)
17:28:47*arecacea1 joined #nim
17:28:52*luis joined #nim
17:29:10disrupteks/await/waitfor/
17:30:16FromDiscord<kodkuce> oh got it other one error is frowm trying to echo it
17:30:37*Jesin joined #nim
17:30:56*a_b_m quit (Quit: Leaving)
17:40:29FromDiscord<kodkuce> Error: expression 'waitFor serve(server, Port(lport), process_player_ws, "")' has no type (or is ambiguous)
17:41:02FromDiscord<kodkuce> var ggg:AsyncHttpServer = waitfor server.serve(Port(lport), process_player_ws
17:41:09FromDiscord<kodkuce> its a void or what?
17:41:26FromDiscord<Yardanico> ugh
17:41:37FromDiscord<Yardanico> you don't need to assign it to a variable
17:41:50disruptekit's Future[void]
17:42:36*luis_ joined #nim
17:42:50*luis quit (Read error: Connection reset by peer)
17:42:50*luis_ is now known as luis
17:43:14FromDiscord<kodkuce> then i duno how to solve this file discriptor thing
17:44:43FromDiscord<kodkuce> like is it possible to do with that that i am proxying it on nginx or cuz i am running it on rpi4 cuz i think it worked before i try to host it
17:45:59FromDiscord<kodkuce> https://media.discordapp.net/attachments/371759389889003532/763457100478677022/2020-10-07_194344.png
17:47:22*luis quit (Client Quit)
17:47:34*luis joined #nim
18:00:54*a_chou quit (Quit: a_chou)
18:02:27FromDiscord<kodkuce> 😢
18:02:30FromDiscord<Yardanico> @disruptek you're famous by the way
18:02:33FromDiscord<Yardanico> https://www.reddit.com/r/nim/comments/j6p3ze/descend_into_madness
18:02:45FromDiscord<kodkuce> so close yet so long
18:02:48leorize[m]1@kodkuce this looks like a double close
18:03:11FromDiscord<kodkuce> hmm will check
18:03:59FromDiscord<kodkuce> ```↵ if game.players[0].conn != nil and game.players[0].conn.readyState == Open:↵ game.players[0].conn.close()↵```
18:04:30FromDiscord<kodkuce> hmm tough i can do liek separe proc for duno some wier reson
18:04:45FromDiscord<kodkuce> but only place where i call close is this
18:05:07FromDiscord<kodkuce> and i kinda check to only do that if its in readyStateOpen
18:06:55leorize[m]1does websocket.nim try to close it as well?
18:09:14FromDiscord<kodkuce> hmm will just comment out close and see if it errors
18:11:36FromGitter<matrixbot> `ergpopler` lol
18:11:39FromGitter<matrixbot> `ergpopler` matrix gang
18:11:47FromDiscord<Avatarfighter> @Yardanico I was just about to put that reddit post here ahah
18:12:26FromGitter<matrixbot> `ergpopler` matrix da new IRC according to mozilla take dat
18:12:29FromGitter<matrixbot> `ergpopler` gagag
18:12:36FromGitter<matrixbot> `ergpopler` ergpopler: ergpopler ergpopler ergpopler ergpopler ergpopler
18:13:37FromDiscord<kodkuce> leorize yes it dies on close
18:13:46FromDiscord<kodkuce> at least now i nerrowed it down
18:13:56FromDiscord<kodkuce> so meyeb cuz client closes connection too
18:14:08FromDiscord<kodkuce> and backend trys to close on allreayd closed connection
18:14:21FromDiscord<kodkuce> but i am checking with if
18:14:34FromDiscord<kodkuce> so there must be some other magic involved
18:14:47leorize[m]1the fd is controlled by you only
18:14:58leorize[m]1it doesn't matter if the other side closed it
18:15:17FromDiscord<kodkuce> ok that should narrow it down even more
18:16:20leorize[m]1the stacktrace mentions websocket, so maybe take a look there?
18:17:54FromDiscord<Rika> Who the heck wad that pop dude
18:17:59FromDiscord<Rika> Was*
18:23:05*arecacea1 quit (Remote host closed the connection)
18:23:44*arecacea1 joined #nim
18:26:15FromDiscord<PizzaFox> how can i iterate over `'A'..'Z'`, but get the ordinal value of the letters where `A` is `0`
18:26:33FromDiscord<PizzaFox> or rather, is there cool nim syntax for this
18:28:21solitudesf0..25, pretty cool
18:28:25FromDiscord<PizzaFox> sent a code paste, see https://play.nim-lang.org/#ix=2A1n
18:28:28FromDiscord<PizzaFox> no way
18:28:35FromDiscord<PizzaFox> i could be using numbers
18:28:42FromDiscord<PizzaFox> this is a bad look for me
18:29:14idf'A'ord..'Z'.ord
18:29:16idflol
18:29:20idf*'A'.ord
18:29:29FromDiscord<Yardanico> there is "cool syntax" for that, but there is no pairs iterator for a set
18:29:37FromDiscord<Yardanico> which would yield idx, item pairs
18:29:41FromDiscord<haxscramper> https://play.nim-lang.org/#ix=2A1o
18:29:47solitudesf'A'.ord is 65
18:29:57idfno way
18:30:03FromDiscord<Yardanico> @haxscramper yes I just mean that it's not available by default 🙂
18:30:20idfI wonder what 'B'.ord is
18:30:27FromDiscord<Yardanico> 65 + 1
18:30:28FromDiscord<juan_carlos> `enumerate()`
18:30:34FromDiscord<Rika> Not 66
18:30:54FromDiscord<haxscramper> !eval echo 'B'.ord
18:30:56NimBot66
18:30:57FromDiscord<PizzaFox> sent a code paste, see https://play.nim-lang.org/#ix=2A1p
18:31:05FromDiscord<Yardanico> @juan_carlos not released yet
18:31:08idfi think the bot is broke
18:31:11idfcant be 66
18:32:15FromDiscord<PizzaFox> why wouldnt it be 66
18:32:37FromDiscord<Yardanico> it cant be
18:32:40FromDiscord<Yardanico> that's impossible
18:32:43FromDiscord<PizzaFox> javascript says its also 66
18:32:59idfjavascript is always wrong
18:33:09FromDiscord<PizzaFox> well then both nim and javascript are wrong
18:33:12FromDiscord<Rika> Have you seen javascript be right
18:33:14FromDiscord<PizzaFox> `'B'.charCodeAt(0)`
18:33:15FromDiscord<haxscramper> `man ascii` says that it is `102 66 42 B` for `Oct Dec Hex Char`
18:33:22FromDiscord<PizzaFox> >66
18:33:23FromDiscord<Yardanico> we were joking
18:33:27FromDiscord<Yardanico> meh
18:33:32FromDiscord<Yardanico> you guys are no fun
18:33:33FromDiscord<Rika> Lol
18:33:36idfi was not
18:33:36FromDiscord<PizzaFox> i just want to iterate for gods sake
18:33:53FromDiscord<Yardanico> @PizzaFox just do it your way
18:33:58FromDiscord<Yardanico> or wait for 1.4 and use enumerate
18:34:00FromDiscord<Yardanico> http://nim-lang.github.io/Nim/enumerate.html
18:34:02FromDiscord<Rika> What's wrong with your solution
18:34:05FromDiscord<PizzaFox> nothing
18:34:11FromDiscord<PizzaFox> maybe there is cleaner method idk
18:34:15FromDiscord<Rika> Well right now it's the best one
18:34:18FromDiscord<Rika> Until 1.4
18:35:05FromDiscord<PizzaFox> i will never use 1.4
18:35:27FromDiscord<Yardanico> ok
18:35:43*JustASlacker quit (Quit: Leaving)
18:36:29*arecacea1 quit (Remote host closed the connection)
18:37:07*arecacea1 joined #nim
18:37:09FromDiscord<Rika> Why?
18:37:16FromDiscord<PizzaFox> 4 is unlucky number
18:37:20FromDiscord<Rika> Lol
18:37:52*luis quit (Quit: luis)
18:38:08*luis joined #nim
18:38:59*luis quit (Client Quit)
18:39:15*luis joined #nim
18:43:22solitudesf4 sounds like death in chinese
18:43:24PMunchThis is actually a thing in Asian countries
18:43:38PMunchWe skipped version 4 of the software I work on for my job
18:43:56Prestigehuh that's interesting
18:44:10solitudesfhttps://en.wikipedia.org/wiki/Tetraphobia
18:44:35FromDiscord<Rika> I only see it in Chinese Korean and Japanese
18:47:57*apahl quit (Ping timeout: 260 seconds)
18:48:41FromDiscord<PizzaFox> think i found a nim bug but want to verify
18:48:49*apahl joined #nim
18:48:52FromDiscord<PizzaFox> in the cool windows paths look like `C:\dir\file.txt`
18:49:05FromDiscord<PizzaFox> nim doesnt seem to properly handle top level paths
18:49:13FromDiscord<Yardanico> wdym?
18:49:32FromDiscord<PizzaFox> sent a code paste, see https://play.nim-lang.org/#ix=2A1z
18:49:35FromDiscord<PizzaFox> err this is a bad snippet
18:50:16FromDiscord<PizzaFox> ok possibly i am an idiot
18:52:23FromDiscord<PizzaFox> ok maybe i was lying about a bug
18:53:02FromDiscord<Avatarfighter> Feature*
18:53:34narimiran@PizzaFox you can easily change nim version to whatever you like ;)
18:53:53FromDiscord<PizzaFox> well maybe i simply do not want to change it what about that
18:53:57FromDiscord<PizzaFox> i like my stable nim very much
18:54:15narimiranso you can be at nim 2.71.8, while all others are at 1.4
18:54:23FromDiscord<Yardanico> well 1.4 will become stable very very soon
18:56:44FromGitter<ynfle> When will 1.4 be on `choosenim`?
18:56:51FromDiscord<Yardanico> it's not released yet
18:56:55narimiranonce it is officially released
18:57:02FromDiscord<Yardanico> it will be on choosenim when it gets released on day 1
18:57:30FromGitter<ynfle> What's the release sched?
18:57:50narimiranwe just released a release candidate
18:58:02narimiranif everything goes according to plan, it is a matter of days
18:58:12FromGitter<ynfle> 👍
18:58:57*xet7 quit (Quit: Leaving)
19:05:27PMunchHmm, what would be the best way to format a string given a format string from the user?
19:05:56PMunchstrformat only works with string literals..
19:05:58*superbia joined #nim
19:07:41*xet7 joined #nim
19:19:09*leorize joined #nim
19:21:18PMunchNo suggestions?
19:21:51FromDiscord<Avatarfighter> Do you have an example of what your trying to do?
19:22:12FromGitter<ynfle> use a template and have the variable be a literal
19:22:29PMunchWell I have a bunch of variables, and I want the user to be able to supply a format string of how they want them written
19:22:32FromGitter<ynfle> You can definitely do it as a macro & I think as a template
19:23:00PMunchThese are the values I have: `appName: string, replacesId: uint32, appIcon, summary, body: string, actions: seq[string], hints: Table[string, DbusValue], expireTimeout: int32`
19:23:02FromDiscord<Yardanico> he wants to do it at runtime
19:23:04PrestigeYeah a template should work
19:23:09FromDiscord<Yardanico> nim runtime
19:23:17FromDiscord<Yardanico> when the binary is running brr
19:23:22Prestigeah
19:23:23PMunchA template obviously won't work because the user of my program will supply the format on runtime
19:24:18Prestigecould still do a macro?
19:24:24Prestigeor does that not work
19:24:58FromGitter<ynfle> https://play.nim-lang.org/#ix=2A1K
19:25:02FromGitter<ynfle> Macro version
19:25:04*leorize quit (Remote host closed the connection)
19:25:31FromGitter<ynfle> Oh nvm misunderstood
19:25:43Prestigehttps://play.nim-lang.org/#ix=2A1L ye no worky
19:25:49PMunchMacros run on compile-time..
19:26:33FromDiscord<Yardanico> xddd
19:28:08FromGitter<ynfle> If it's a basic string with just `{}` etc, then you could parse it with `parseutils`
19:29:18FromDiscord<shashlick> disruptek: my travis matrix didn't test gittyup on devel - probably why that job didn't fail
19:29:34FromDiscord<shashlick> it did fail on 1.0.x and 1.2.x so I thought it was a devel issue
19:30:50*leorize joined #nim
19:33:42PMunchI just did a simple multiReplace
19:34:21PMunchNow I just need to figure out something clever for `actions` and `hints`
19:37:01*abm joined #nim
19:38:03*leorize quit (Ping timeout: 240 seconds)
19:38:06FromDiscord<Elegant Beef> Pmunch why not use the strutils `%`
19:38:57*luis quit (Quit: luis)
19:39:11PMunchHmm, guess I could
19:39:13*luis joined #nim
19:39:19PMunchDon't see much benefit though..
19:40:01FromDiscord<Elegant Beef> I mean it's practicallly the same as multireplace
19:41:05FromDiscord<Elegant Beef> So there really isnt any benefit over multireplace, since you have to document the numbers and their coresponding value instead of just `$body` or whatever scheme you use
19:42:33FromDiscord<Elegant Beef> oh i guess you can do key replacements with `%` aswell
19:43:13FromDiscord<Elegant Beef> Although i feel the key replacement should be an `openarray[(string, string)]`
19:51:11PMunchHmm, damn it
19:52:15PMunchUrgency in the notification hints are sent as a byte, would be nice if the user could replace that with a string..
19:53:26PMunchI guess I could have it pass in an array of values..
19:55:16*superbia quit (Quit: WeeChat 2.9)
19:56:49*PMunch quit (Quit: leaving)
20:00:48*sealmove joined #nim
20:00:59sealmoveyo, I made this little tool https://github.com/sealmove/oblivion
20:01:29FromDiscord<shashlick> disruptek: https://github.com/JuliaLang/julia/issues/13399
20:21:30FromDiscord<Avatarfighter> sealmove: nice !
20:22:04FromDiscord<Avatarfighter> Is it possible to override a proc in another module ?
20:24:24FromDiscord<Yardanico> depends on what do you mean by "override"
20:24:35FromGitter<ynfle> For the same type or the different type?
20:24:35FromDiscord<Yardanico> if the module doesn't provide a way for that - I don't think so
20:24:59FromDiscord<Avatarfighter> sorry I keep forgetting to say what im trying to do. Im trying to modify how socket.send works
20:25:22FromDiscord<Avatarfighter> nvm
20:26:11FromDiscord<Avatarfighter> I just realized how I can do what I was trying to do
20:26:21FromGitter<ynfle> 👍
20:26:43*mmohammadi981266 quit (Quit: I quit (╯°□°)╯︵ ┻━┻)
20:29:01*sealmove quit (Ping timeout: 264 seconds)
20:31:18*dv-^_^4 joined #nim
20:31:27*vicfred quit (Quit: Leaving)
20:31:28*junland_ joined #nim
20:31:31*junland quit (Quit: %ZNC Disconnected%)
20:31:31*nikita` quit (Ping timeout: 240 seconds)
20:31:32*jken quit (Remote host closed the connection)
20:31:42*jken_ joined #nim
20:31:45*dv-^_^ quit (Read error: Connection reset by peer)
20:31:59*nikita` joined #nim
20:32:05*oculux quit (Ping timeout: 240 seconds)
20:32:42*oculux joined #nim
20:32:46*nisstyre quit (Ping timeout: 240 seconds)
20:33:44*nisstyre joined #nim
20:37:17*dv-^_^4 is now known as dv^_^
20:43:45*luis quit (Quit: luis)
20:43:58*luis joined #nim
20:50:56FromDiscord<kodkuce> just to report i am still trying to proper close wihout crash
20:53:28*Trustable quit (Remote host closed the connection)
21:00:23*narimiran quit (Ping timeout: 260 seconds)
21:11:11FromDiscord<kodkuce> tryed adding awiat sleeps too
21:12:54FromDiscord<Elegant Beef> What's happening?
21:13:27FromDiscord<kodkuce> i am diying form inside
21:13:30FromDiscord<dom96> huh. TIL that someone from JetBrains is working on a Nim plugin for IntelliJ https://www.reddit.com/r/nim/comments/j5ckln/jetbrains_is_working_on_an_official_nim_plugin/
21:14:04FromDiscord<kodkuce> f wasted 8 hours trying to prevent a crash on ws.close
21:14:23Yardanico@dom96 a bit outdated info :)
21:14:28Yardanicoyou're late :P
21:14:49FromDiscord<dom96> I mean... it's not like we're in a race here
21:15:00Yardanicobut yeah, it seems like a nice thing although 1) it's not open source so the community couldn't improve it 2) i hope they'll use nimsuggest
21:15:01*cornfeedhobo quit (Quit: ZNC - https://znc.in)
21:15:20FromDiscord<dom96> No need to gloat
21:15:32Yardanicoi'm not doing that :)
21:15:33FromDiscord<dom96> 😛
21:16:36*nature quit (Ping timeout: 256 seconds)
21:16:59*Vladar quit (Quit: Leaving)
21:17:31FromDiscord<kodkuce> i newer used jetbrains
21:17:47FromDiscord<kodkuce> what it has better then vscode?
21:18:05FromDiscord<kodkuce> except that its not free from what i remmebrer
21:18:18Yardanicowell, they have a few community editions and it's free for students
21:18:25Yardanicothey're full-blown heavy java-based IDEs
21:18:30ldleworkFor C# it has ReSharper
21:18:36Yardanicohave tons of features you might (not) need
21:18:43ldleworkWhich is probably the most advanced IDE-language runtime ever made
21:18:58*solitudesf quit (Ping timeout: 246 seconds)
21:19:00ldleworkThough you can get it in VisualStudio too
21:19:16Yardanicowell, ReSharper is the VS extension
21:19:20YardanicoRider is the standalone C# ide
21:19:32ldleworkYeah but it's the ReSharper engine in Rider that gives it all the same functionality
21:19:36ldleworkIt's just not an extension
21:20:33ldleworkAlso Rider never felt like a heavy IDE, but that might just be hardware catching up with IDEs
21:20:36FromDiscord<dom96> we really really need a good LSP implementation for all of our sanity
21:20:43ldleworkbut maybe you mean heavy in terms of functional surface
21:20:46FromDiscord<dom96> nimsuggest just isn't a good enough target IMO
21:20:48ldleworkin which case, definite yes
21:21:04ldleworknim LSP would be welcome for sure
21:22:03Yardanicowell if you mean that nimsuggest's interface is not some standard, then yes
21:22:12Yardanicowe have nimlsp which is based on nimsuggest and provides an LSP server implementation
21:22:19ldleworkoh neat
21:22:29Yardanicohttps://github.com/PMunch/nimlsp
21:22:58ldleworkfor some reason I had trouble adding Nim to my Tower of Babix project but I can't remember why
21:23:25ldleworkI think it was actually something to do with the Nim support on NixOS rather than Emacs though
21:25:33*cornfeedhobo joined #nim
21:27:12FromDiscord<dom96> Would be nice if the VS Code extension used nimlsp I suppose
21:27:32ldleworkhttps://github.com/dustinlacewell/tower-of-babix btw
21:27:39FromDiscord<shashlick> @dom96 - while you are here - https://github.com/dom96/choosenim/pull/225
21:27:40disbotStatic build with musl
21:27:41FromDiscord<impbox> whoa, nim 1.4? is there and overview of what's going into 1.4 somewhere?
21:27:53FromDiscord<mratsim> @impbox devel changelog
21:28:27ldleworkhi impbox
21:28:42FromDiscord<impbox> ahoy
21:28:48FromDiscord<Yardanico> @impbox I made my own kinda-promotional short description for some of new stuff 🙂
21:28:49FromDiscord<Yardanico> ahem
21:28:52FromDiscord<Yardanico> sent a long message, see http://ix.io/2A2i
21:28:53FromDiscord<impbox> looking for more roadmap level type thing
21:28:58FromDiscord<impbox> @Yardanico thanks
21:29:02ldleworkimpbox how are things? how are your projects?
21:29:13FromDiscord<Yardanico> https://github.com/nim-lang/RFCs/milestone/1
21:29:16FromDiscord<Yardanico> for the general roadmap
21:29:41FromDiscord<impbox> @idlework[irc] not bad, busy with day job so my projects have been a bit neglected lately
21:30:11FromDiscord<mratsim> I think the roadmap will likely eat into Q1 2021
21:30:14FromDiscord<Yardanico> yeah
21:30:22FromDiscord<dom96> @shashlick hate to be annoying, but this adds more nimterop :/
21:30:32FromDiscord<Yardanico> but https://github.com/nim-lang/RFCs/issues/178 is actually being implemented
21:30:33disbotlent/var/openArray inside objects/containers
21:30:45FromDiscord<Yardanico> I mean they it is already in devel
21:30:48FromDiscord<Yardanico> (edit) removed 'they'
21:31:00ldleworkimpbox typical!
21:31:03ldlework:)
21:31:04FromDiscord<Yardanico> https://nim-lang.github.io/Nim/manual_experimental.html#view-types
21:31:36FromDiscord<impbox> been trying to hire another coder to help with the project so i'm less drained
21:31:42FromDiscord<impbox> but the hiring process is even more draining =p
21:32:39FromDiscord<mratsim> you need a plumber then
21:34:38ldleworkimpbox what's the project?
21:34:46FromDiscord<kodkuce> some game?
21:35:22FromDiscord<impbox> yeah a game in Unity https://store.steampowered.com/app/1175770/TopplePOP_Bungee_Blockbusters/
21:35:44FromDiscord<impbox> been working on Switch port
21:36:19FromDiscord<kodkuce> that looks nice
21:36:48FromDiscord<shashlick> @dom96 :S
21:36:49FromDiscord<kodkuce> i would love to work on that but i am uber newb just to know :)
21:37:24FromDiscord<kodkuce> tough duno what problem you have you allready bulded most of the game
21:37:46FromDiscord<impbox> yeah it's 90% done, the other 10% will take a lot of work =)
21:37:48FromDiscord<dom96> @shashlick I commented on the PR, I cannot build it :/
21:38:23FromDiscord<impbox> online multiplayer hopefully (originally intended as a local multiplayer only, but in covidworld we need online multiplayer)
21:39:21FromDiscord<kodkuce> hmm i am multypery uber uber newb, only multyplyer game i got working is this atm and it has no sync just reading ws and sending
21:39:30FromDiscord<kodkuce> and atm its crashing on close for some reason
21:39:32FromDiscord<kodkuce> xD
21:39:38FromDiscord<dom96> @impbox what are your plans for marketing? Know of any interesting communities where you plan to share the game to give it traction?
21:40:02FromDiscord<impbox> not really my area, but it's probably the most important area =)
21:40:12FromDiscord<impbox> having a hard time getting it noticed unfortunately
21:40:36FromDiscord<impbox> looking to get a publisher
21:40:40FromDiscord<shashlick> @dom96 - nimterop is downloading glibc binaries - why is https://github.com/dom96/choosenim/pull/225/files#diff-f1891b718d0be6b084684d5d3b5f5a81R3 not taking effect?
21:40:40disbotStatic build with musl
21:40:42FromDiscord<impbox> to handle marketing side of things
21:40:50FromDiscord<shashlick> I don't have WSL to try
21:41:20FromDiscord<dom96> I recently saw this game called shapez.io on HN, amazed by the number of people in their Discord. It appears they are doing lots of giveaways and in general getting the people there involved in as many things as possible.
21:41:35FromDiscord<dom96> Definitely takes work but seems like the way to go. Of course, getting that initial number of people isn't easy
21:41:41FromDiscord<shashlick> wait, you are still using 0.6.11 of nimterop - you need 0.6.12 - i guess i should bump choosenim's require statement
21:42:48FromDiscord<dom96> lock files couldn't come soon enough 🙂
21:43:08FromDiscord<shashlick> actually, choosenim depends on nimterop indirectly - nimarchive has "requires nimterop >= 0.6.6"
21:43:26FromDiscord<shashlick> just update nimterop and retry
21:43:36*luis quit (Quit: luis)
21:43:53*luis joined #nim
21:44:19*luis quit (Client Quit)
21:44:33*luis joined #nim
21:45:27FromDiscord<kodkuce> Error: type mismatch: got <tuple of (Opcode, string)> but expected 'Future[tuple of (Opcode, string)]'
21:45:39FromDiscord<kodkuce> hmm am i blind?
21:45:51Yardanicoare you trying to await an already awaited variable?
21:46:22FromDiscord<dom96> @kodkuce `Future` is the mismatch
21:46:39FromDiscord<kodkuce> gpt it
21:46:46FromDiscord<dom96> @shashlick yep, that worked. Can you add a `nimterop` requires into choosenim's .nimble file?
21:46:46FromDiscord<kodkuce> ty
21:47:01FromDiscord<dom96> @shashlick ideally just depend on a concrete version to emulate lock files
21:47:09FromDiscord<dom96> instead of a range
21:50:49FromDiscord<dom96> btw I just did `choosenim update #devel` and got "Already built". Does choosenim only rebuild if the version of the archive changes?
21:52:01FromDiscord<shashlick> that's downloading a nightly build
21:52:39FromDiscord<shashlick> and some nightlies have changed so we need some choosenim updates - macos has a binary build now
21:53:50FromDiscord<dom96> yes, but I should be able to update to the latest nightly build, no?
21:56:08FromDiscord<shashlick> it might not be detecting the latest nightly
21:56:15FromDiscord<shashlick> what's the hash
21:56:59FromDiscord<kodkuce> ok so i check if ws.tcpSocket.isClosed() and its not but when i close it i get crash even sends all wraped with async
21:57:17FromDiscord<kodkuce> not async wraped with *try exectp
21:57:29FromDiscord<dom96> @shashlick the strange thing is I see: `Extracting nim-1.3.7-linux_x64.tar.xz`
21:58:09FromDiscord<dom96> @kodkuce the socket can get closed at any time, just handle the error
21:59:42FromDiscord<shashlick> then it's showing already built cause you are downloading a nightly which already has the binaries
21:59:47FromDiscord<shashlick> nothing is rebuilt
21:59:53FromDiscord<shashlick> if you want latest commit, use --latest
22:00:06FromDiscord<dom96> but I downloaded this nightly a while ago
22:00:10FromDiscord<dom96> why isn't there a newer one?
22:00:43FromDiscord<shashlick> you just said it downloaded the updated xz
22:01:04FromDiscord<shashlick> already built just means it didn't need to bootstrap
22:01:05FromDiscord<dom96> I ran `choosenim #devel` at some point in the past
22:01:16FromDiscord<dom96> I just today tried `choosenim update #devel`
22:01:22FromDiscord<dom96> I expected it to update to whatever the latest nightly is
22:01:24FromDiscord<dom96> instead it did nothing
22:01:39FromDiscord<dom96> (well, it downloaded the same archive it already had apparently)
22:01:44FromDiscord<dom96> (but that's it)
22:03:20FromDiscord<dom96> The `devel` that I have installed has 2020-07-29 as the compilation date, so it's pretty old
22:03:38FromDiscord<dom96> so I'm really confused why choosenim isn't downloading a newer nightly
22:04:25*dsrw quit (Quit: ZNC 1.7.5+deb4 - https://znc.in)
22:04:29FromDiscord<kodkuce> i have try catch
22:04:34*dsrw joined #nim
22:04:44FromDiscord<Vindaar> > The `devel` that I have installed has 2020-07-29 as the compilation date, so it's pretty old↵eh, if that's true that might explain that I still get travis failures on plotly's travis
22:05:53FromDiscord<shashlick> leorize's new nightlies might have changed the tag format or something else
22:06:26*hecanjog quit (Ping timeout: 240 seconds)
22:06:45*WilhelmVonWeiner quit (Ping timeout: 240 seconds)
22:06:49FromDiscord<Firefell> Hello, I finished the Windows setup for choosenim (https://github.com/dom96/choosenim/pull/202). Can someone test it and give me feedback ? I can share a link to dowload the setup.
22:06:49disbotCreate Windows setup file
22:07:33*hecanjog joined #nim
22:07:46*WilhelmVonWeiner joined #nim
22:08:10FromDiscord<j$> http://rosettacode.org/wiki/Polymorphism#Nim↵can someone help me understand what about this is polymorphism?
22:08:11*WilhelmVonWeiner is now known as Guest19493
22:08:48FromDiscord<shashlick> @dom96 - i just tried on linux and `choosenim devel` installed the build from today
22:08:56FromDiscord<shashlick> what OS you testing on
22:09:01FromDiscord<dom96> Ubuntu (WSL)
22:09:14*snowolf quit (Remote host closed the connection)
22:09:54FromDiscord<Firefell> > Ubuntu (WSL)↵@dom96 the best Windows feature 🙂
22:10:03FromDiscord<shashlick> makes no sense
22:10:19FromDiscord<shashlick> so what does it do when you run choosenim update devel
22:10:19FromDiscord<dom96> https://media.discordapp.net/attachments/371759389889003532/763523625932292126/unknown.png
22:10:22*snowolf joined #nim
22:10:32FromDiscord<Elegant Beef> j$ did you read the requirement?↵> Create two classes Point(x,y) and Circle(x,y,r) with a polymorphic function print, accessors for (x,y,r), copy constructor, assignment and destructor and every possible default constructors
22:11:02FromDiscord<dom96> same for just `devel` (without the `#`)
22:11:08FromDiscord<shashlick> is it really switching to it?
22:11:18FromDiscord<Elegant Beef> In nim that's just declaring two types and you've technically fullfiled it all
22:11:20FromDiscord<dom96> I'm really confused where it gets the `nim-1.3.7` from
22:11:33FromDiscord<dom96> I don't see that in the github nightly releases
22:11:49FromDiscord<shashlick> it finds the latest nightly
22:11:59FromDiscord<shashlick> https://github.com/dom96/choosenim/blob/920ba98a4f669ed2db7ff488daf97b85950dce61/src/choosenimpkg/utils.nim#L120
22:12:12FromDiscord<shashlick> i don't think it is switching to it
22:13:05FromDiscord<shashlick> well, it switches for me - i'm not sure what's going on
22:13:36FromDiscord<Firefell> The Windows setup can be donwload here https://drive.google.com/file/d/1MX5xOr2bYISTngshQxvtGQk4NHgALSDp/view?usp=sharing. It's not a virus. I swear.
22:14:38FromDiscord<Elegant Beef> Why not just use git releases
22:14:51FromDiscord<shashlick> @Firefell if https://github.com/dom96/choosenim/pull/225 goes through, choosenim won't need the ssl dll files anymore on windows
22:14:52disbotStatic build with musl
22:18:52FromDiscord<Firefell> > @Firefell if https://github.com/dom96/choosenim/pull/225 goes through, choosenim won't need the ssl dll files anymore on windows↵@shashlick So much time to find these dlls in the travis env to nothing 😦 I will remove dlls after the merge.
22:18:52disbotStatic build with musl
22:19:20FromDiscord<shashlick> sorry :1
22:19:49FromDiscord<Firefell> no it's a good thing
22:22:38FromDiscord<dom96> @shashlick you're right, it didn't switch
22:22:39FromDiscord<kodkuce> @dom96 http://ix.io/2A2u here look i am using try catching but it excapes with crash so around line 578 i try to close it as soon as that heppends it crashes, and it crashhses i think somwere line 244 in that callback proc
22:23:28FromDiscord<kodkuce> here error output https://pastebin.com/43B1nky1
22:24:03FromDiscord<kodkuce> i literaly duno what else to do then to rewrite all form start, or learn rust xD
22:24:18FromDiscord<kodkuce> but no really i wasted like 8hours trying to figure oh this
22:26:20FromDiscord<dom96> whoa, you really are making your job harder with this code. You've got too much going on, the code itself is too convoluted, but since you're struggling with just the closing of the socket you should really isolate this logic into the simplest possible code and get it working there
22:27:23FromDiscord<kodkuce> i dont see it too much confulated i basicly have gamlogic loop and async callback proc for webscokets
22:27:40FromDiscord<shashlick> @dom96 - i updated the choosenim requires - its building
22:27:50FromDiscord<kodkuce> issue is whenewer i close from gamelogick loop it crashes my game
22:28:04FromDiscord<dom96> @shashlick I could have sworn that update implicitly switched to that version in choosenim
22:28:30FromDiscord<shashlick> i just tested that and it worked
22:28:35FromDiscord<shashlick> it did switch for me
22:29:02FromDiscord<dom96> @kodkuce you've got nesting of 10 levels in some cases (!)
22:30:28FromDiscord<Firefell> genotrance == @shashlick ?
22:31:14FromDiscord<Yardanico> yes
22:31:21FromDiscord<dom96> @shashlick hmmm, are you on the devel channel when you do that though?
22:31:33FromDiscord<dom96> Looking at the code it only switches when on that channel
22:31:45FromDiscord<Firefell> ok 🙂
22:32:59FromDiscord<shashlick> ya i'm on the devel channel
22:33:02FromDiscord<shashlick> makes sense
22:33:06FromDiscord<kodkuce> where do i have nesting of 10 lvls, i think i am blind of exousted
22:33:07FromDiscord<shashlick> i have never used channels
22:33:17FromDiscord<dom96> @shashlick think we should change these semantics?
22:33:24FromDiscord<kodkuce> i did just simple forloops frm what i see
22:33:33FromDiscord<shashlick> it sure is confusing
22:33:36FromDiscord<Yardanico> @kodkuce that is nesting
22:33:42FromDiscord<Yardanico> every new indentation level = nesting
22:33:46FromDiscord<dom96> @shashlick okay, I'll make a quick PR
22:33:55FromDiscord<shashlick> but if you say update - it doesn't really mean switch
22:33:57FromDiscord<kodkuce> ye but i did mayne 1 for loop in second not 10 for sure
22:34:25FromDiscord<Yardanico> 12-level nesting here https://media.discordapp.net/attachments/371759389889003532/763529690534117376/unknown.png
22:34:25FromDiscord<shashlick> tho i prefer it should switch or at least say it isn't switching for some reason
22:34:34FromDiscord<Yardanico> I really recommend you to try to separate stuff into different procs
22:35:20FromDiscord<Firefell> good night
22:35:45Yardanicogood day/night from me too
22:36:11FromDiscord<dom96> @shashlick yeah, I think if you're updating it's likely you want to switch to it as well.
22:36:27FromDiscord<dom96> hmm
22:37:27FromDiscord<dom96> trying to think if there are cases where this behaviour would be annoying
22:38:01*disrupteq joined #nim
22:38:50FromDiscord<kodkuce> @Yardanico 2 for loops and 3ifs?
22:39:17FromDiscord<Yardanico> @kodkuce proc/case/if/for/try
22:39:23FromDiscord<Yardanico> All of that is nesting
22:39:54FromDiscord<Yardanico> Anyway, as I said, good night, your code is your code
22:40:30FromDiscord<kodkuce> but anyway i stil dont get why it crashes on close when its in try expect
22:40:35FromDiscord<kodkuce> good night
22:40:44FromDiscord<kodkuce> tommorow i continuo my cry xD
22:44:17*luis quit (Quit: luis)
22:44:35*luis joined #nim
22:57:42FromDiscord<shashlick> @dom96 - the choosenim musl PR is green
22:58:03FromDiscord<Avatarfighter> if I use a lock in an async proc will my entire program block?
22:58:08*bunbunbunbunny joined #nim
22:58:29FromDiscord<shashlick> wish there was an easy way to download binaries built by travis without having to post a release
23:01:23FromDiscord<dom96> @Avatarfighter yep
23:02:11FromDiscord<dom96> @shashlick wish there was a nice way to grab the Nim commit that the nightly was built on, except for parsing the tag name (which may change :/)
23:02:23*leorize joined #nim
23:02:39FromDiscord<Avatarfighter> Im debating rate limiting http requests with a queue or a lock
23:05:44FromDiscord<dom96> @shashlick https://github.com/dom96/choosenim/pull/226
23:05:44disbotNightly update improvements
23:06:10FromDiscord<dom96> I merged your PR
23:06:19*disrupteq quit (Ping timeout: 245 seconds)
23:06:34FromDiscord<dom96> @Avatarfighter just use a counter 🙂
23:06:54FromDiscord<Avatarfighter> smart
23:11:04*NimBot joined #nim
23:16:18*bunbunbunbunny quit (Quit: leaving)
23:29:23*leorize quit (Ping timeout: 240 seconds)
23:37:41*luis quit (Quit: luis)
23:48:06FromDiscord<shashlick> Awesome printing the url in debug mode
23:57:05*leorize joined #nim