<< 19-06-2020 >>

00:03:51shashlickdisruptek does git-nim need nimgit2?
00:07:29*adnan338 quit (Read error: Connection reset by peer)
00:07:54*lritter quit (Ping timeout: 240 seconds)
00:08:53*lritter joined #nim
00:15:17FromDiscord<Rika> @Luk nim can get a 150 byte hello world btw
00:17:43Yardanicowell that's with pretty ugly code
00:18:04FromDiscord<Rika> Well he argued v has an 186 byte hello world
00:18:08Yardanicolmao
00:18:41FromDiscord<willyboar> how much ugly?
00:18:49Yardanico150 bytes?
00:18:50FromDiscord<Rika> Make your own syscall ugly
00:18:56Yardanicomanually calling linux syscalls
00:19:02Yardanicoand embedding hello world string in the elf header directly
00:19:05Yardanicowith custom linking
00:19:24FromDiscord<Rika> basically impractical levels of ugly lmao
00:19:39FromDiscord<Rika> also is volt the web server or was that something else
00:19:54Yardanicoidk
00:20:02FromDiscord<willyboar> volt is slack client i thikn
00:20:09FromDiscord<Rika> ah
00:20:11FromDiscord<willyboar> the server is ruby
00:20:36FromDiscord<Rika> i mean, there was a vlang webserver that "beat nim" but it was just a binding to another webserver in c
00:21:02Yardanicowe dont want to have a vlang day today in chat
00:21:07Yardanicolets have a "pre nim-conf" day instead
00:21:13Yardaniconimconf is on 20th of June if you forgot
00:21:19Yardanicowe have interesting talks
00:21:28FromDiscord<Rika> huh
00:21:30FromDiscord<Rika> its the 19th
00:21:37oddpIs there a talk schedule?
00:21:49Yardanicooddp: it should be published today (19th), a bit late, yes :P
00:21:56oddpAlright.
00:22:05FromDiscord<willyboar> well the only V framework in the benchmark is no.165
00:24:09Yardanicolemme see how much can I get helloworld down to
00:24:20Yardanicoiirc it was around 5kb
00:24:34Yardanicowithout changing nim source code, fully static build (with musl)
00:24:46FromDiscord<SeanOMik> How would I make a `nim` code block for the documentation generator?
00:25:03FromDiscord<willyboar> ##
00:25:05Yardanicohttps://github.com/Yardanico/nim-mathexpr/blob/master/src/mathexpr.nim#L14
00:25:51FromDiscord<willyboar> everything inside ## supports rst i think
00:25:57Yardanicoyes, for the docgen
00:26:01Yardanicoalso limited markdown
00:26:35FromDiscord<Rika> ah
00:27:20FromDiscord<SeanOMik> I try that but it looks like this: https://media.discordapp.net/attachments/371759389889003532/723333051182219335/unknown.png
00:27:25FromDiscord<Rika> can someone explain to me why this has a `RootEffect`? i still dont know... https://play.nim-lang.org/#ix=2pvs
00:27:37Yardanico@SeanOMik you need to have an empty line before the code block I think
00:27:42Yardanicoshow the source comment :)
00:27:52FromDiscord<SeanOMik> I was just about to
00:27:59FromDiscord<SeanOMik> sent a code paste, see http://ix.io/2pym
00:28:09FromDiscord<SeanOMik> (edit) 'http://ix.io/2pym' => 'http://ix.io/2pyn'
00:28:11FromDiscord<SeanOMik> Oops
00:28:13FromDiscord<SeanOMik> I ediited
00:28:21FromDiscord<SeanOMik> I forgot about IRC, sorry
00:28:25Yardanicoits okay
00:28:32Yardanico@Rika because test.a could be *any* iterator
00:28:44FromDiscord<SeanOMik> Awesome
00:28:55FromDiscord<SeanOMik> I added a line after `Examples` and its working now
00:28:57FromDiscord<SeanOMik> Thanks
00:29:18Yardanicoalso you can have runnableExamples if your code examples are self-contained (runnableExamples will test your code examples when you run nim doc)
00:29:31FromDiscord<SeanOMik> Oh
00:29:33FromDiscord<SeanOMik> Thats kind of cool
00:29:44FromDiscord<SeanOMik> I may use that for other places
00:29:46FromDiscord<SeanOMik> But thanks!
00:30:11Yardanico@Rika you can have this to force user to not have any tags in their call
00:30:12Yardanicohttps://play.nim-lang.org/#ix=2pyo
00:30:19FromDiscord<Rika> Yardanico huh? is there a way for me to not have a root effect then? and while were at it why is it a RootEffect and not a specific effect
00:30:30Yardanicobecause the compiler doesn't know what the user will provide
00:30:36Yardanicoit can be literally any iterator with that type
00:30:40Yardanicoso it's a RootEffect
00:30:49FromDiscord<Rika> i see
00:30:54*fredrikhr quit (Ping timeout: 240 seconds)
00:30:54FromDiscord<Rika> so it can do anything
00:30:54Yardanicoanyway why are you curious about effect system? :)
00:31:08FromDiscord<Rika> because i'm writing something for a `Stream`
00:31:09FromDiscord<Rika> lol
00:31:12Yardanicohah
00:32:15*pietroppeter quit (Quit: Connection closed for inactivity)
00:40:34*krux02 quit (Remote host closed the connection)
00:44:51*dddddd quit (Ping timeout: 260 seconds)
00:45:33*endragor joined #nim
00:46:26disruptekshashlick: nah.
00:56:43shashlickOk was wondering
00:57:31*vicfred_ joined #nim
01:00:13*vicfred quit (Ping timeout: 264 seconds)
01:00:53FromDiscord<Rika> why does time effect exist........
01:01:00Yardanicofor time travel
01:05:13disruptekfor reproducible builds.
01:05:39disruptekshashlick: it's not even 100 lines of code i don't think.
01:06:58FromDiscord<Rika> yardanico: is there a way to "bypass" or "ignore" just this single effect
01:07:09FromDiscord<Rika> since i dont understand why it exists
01:08:26YardanicoI don't think you can "ignore" it
01:08:38Yardanicowell not without some hacks at least
01:09:12Yardanicolike casting
01:09:22Yardanicoin your first example - https://play.nim-lang.org/#ix=2pyv
01:10:00FromDiscord<Rika> hmm
01:10:03FromDiscord<Rika> let me test that
01:11:46Yardanicoignore the {.tags: [].} in the testp
01:11:48Yardanicoforgot to remove it
01:12:10Yardanicoyou can also do something like this when assigning a custom proc for streams
01:12:48Yardanicomystream.setPositionImpl = cast[typeof(Stream.setPositionImpl)](myproc)
01:12:53Yardanicobut be careful :P
01:13:10disruptekleorize: builds seem great; can i have stable urls?
01:13:54FromDiscord<Rika> looks like it works
01:16:14*lritter quit (Ping timeout: 240 seconds)
01:16:21Yardanicoasyncdispatch does this a bit too
01:16:45*mfx joined #nim
01:17:13FromDiscord<Rika> feels like im walking on a tightrope
01:17:31Yardanicoah sorry not asyncdispatch, asyncmacro
01:17:48Yardanicoe.g. https://github.com/nim-lang/Nim/blob/version-1-2/lib/pure/asyncmacro.nim#L49
01:20:23FromDiscord<Rika> i feel like i just wrote a horrible piece of code, not in terms of writing, but conceptually
01:27:41shashlickdisruptek: git-nim still doesn't run for me
01:30:48*mfx quit (Quit: Leaving)
01:31:30*oddp quit (Ping timeout: 258 seconds)
01:34:59*bung joined #nim
01:39:22*bung quit (Ping timeout: 256 seconds)
01:40:06disruptekshashlick: cannot imagine why, but did you follow the directions?
01:40:16disruptekit has you build your own binary in the third step.
01:40:35shashlicki can do that - i just pulled latest and git-nim was still there so i tried running it
01:40:58disruptekah. i figure that if you cannot build something, there's no point in proceeding.
01:41:46disruptekit's odd that a static binary doesn't work, though.
01:43:16shashlickso bug - if you try git-nim 1.2.2, error: Your local changes to the following files would be overwritten by checkout:
01:43:17shashlick bin/git-nim
01:43:42disruptekthe .gitignore is supposed to prevent that.
01:44:15disrupteki guess we just remove it entirely.
01:44:35shashlicki guess your changes need to propagate to all branches
01:44:38disruptekbut, i really want the branches to follow the binaries. hmm.
01:45:06shashlickwhy not have gitnim in a separate repo and have a bootstrap that loads it - submodules or something else
01:45:16disruptekbecause that misses the point.
01:45:29disruptekthe whole idea is that it matches the compiler.
01:45:35disruptekand the architecture.
01:45:38shashlickbut the nuisance of having to update git-nim in every branch
01:45:51disruptekis nothing compared to supporting infinite configurations.
01:45:51shashlickbut you are expecting the user to compile it now
01:45:58disrupteksure.
01:46:03disruptekseems reasonable, right?
01:46:09disruptekthey do have a working nim compiler.
01:46:25shashlickis it really going to get complex enough to have compatibility challenges across nim versions?
01:46:36disrupteki know a guy i can ask.
01:46:50disruptekshashlick: is choosenim too complex?
01:47:09disrupteklet me put that another way...
01:47:25disruptekshashlick: is there a good reason for the failure of choosenim to support osx for ... so many weeks?
01:48:00disruptekalso, the idea here is that someone else will make it better by forking my shit.
01:48:09disruptekand someone else will fork /that/ fork.
01:48:24shashlickwho's comparing this with choosenim
01:48:37disruptek👍this guy👍
01:51:24*endragor quit (Remote host closed the connection)
01:51:33*endragor joined #nim
01:51:46shashlickhow's nimph doing these days
01:51:56disruptekoh yeah, real good.
01:53:03disruptekwill bundle it in git nim eventually.
01:53:53*chemist69 quit (Ping timeout: 246 seconds)
01:56:03disrupteki think we just omit the binary. seems like the reasonable move, right?
01:56:08*chemist69 joined #nim
02:01:28shashlicki disagree, rather have the binary built like nim itself
02:01:58disruptekwell, i'm not gonna impl that. maybe if we wait around long enough, someone smart can do it.
02:02:48shashlickwe will figure out a musl based nimph eventually
02:03:03shashlicktrusting leorize, we can get it in a couple hours
02:04:01disruptekhopefully.
02:04:37disruptekbut, i think people should be able to build their own without much trouble.
02:07:18shashlickmaybe nimterop will work eh
02:09:06disruptekwe may as well bundle it.
02:09:30disruptekcurrent version does not include the binary but does ignore said binary.
02:09:51shashlicki'm still working on libdir support
02:09:57shashlicksome random CI issues
02:10:20shashlicktakes a few days to write most of the code, then weeks to please all OS and configs
02:10:21shashlicktorture
02:10:58disruptekwell, i will probably write a new ci based on these distributions.
02:11:26disruptekit will be zig-based, though, so i have to work through testing that stuff first.
02:11:29shashlickits not really a CI problem
02:11:37disrupteki mean, it is for me.
02:11:39shashlickjust that dealing with C libraries across OS is a nightmare
02:14:01*willyboar quit ()
02:15:39disrupteki think we just distribute binaries. done.
02:15:46FromDiscord<Zed> disruptek, How do you find zig? last i heard was that it was super immature
02:15:56disruptekdon't know, don't care.
02:16:06FromDiscord<Zed> Wren looks interesting as well
02:16:09disrupteki mean, i build it.
02:16:14disruptek!repo euwren
02:16:25FromDiscord<Rika> bot ded
02:16:26disruptekdisbot is dead.
02:16:31FromDiscord<Zed> rip
02:16:35disruptekhe's moving.
02:16:39FromDiscord<Rika> disruptek killed disbot
02:17:38*Senny joined #nim
02:31:05*Senny quit (Ping timeout: 272 seconds)
02:37:16*unknown__ quit (Quit: Leaving)
02:37:29*disruptek quit (Quit: bye)
02:38:21*disruptek joined #nim
02:38:56*brainbomb quit (Quit: Leaving.)
02:45:01FromDiscord<Skaruts> has the zip module changed to require zlib1.dll?
02:45:34FromDiscord<Skaruts> I'm compiling an older project, and I never needed that before, but now it isn't running because of that
02:47:56FromDiscord<Luk> morning
02:51:47*muffindrake quit (Ping timeout: 260 seconds)
02:52:00leorizedisruptek: stable links? like a link to the latest nightlies?
02:52:31FromDiscord<SeanOMik> Is there a method that I could use to get a file extension?
02:52:36FromDiscord<SeanOMik> From a `FileStream`
02:52:52FromDiscord<Rika> dont think so
02:52:58leorizeI don't think you can, FileStream don't store the filename
02:53:05FromDiscord<Rika> i dont think you can get the original file name from a File
02:53:11FromDiscord<SeanOMik> Okay
02:53:19FromDiscord<SeanOMik> Well I have a string for the filename
02:53:24FromDiscord<SeanOMik> So I could calculate it myself
02:53:37leorizeos.getFileExt
02:53:40FromDiscord<SeanOMik> Is there a method similar to `find_last_of` from C++?
02:53:41*muffindrake joined #nim
02:53:43FromDiscord<SeanOMik> Okay
02:53:57leorizeor splitFile() can also get you the extension
02:55:04FromDiscord<SeanOMik> I'll have to use `splitFile()`
02:55:10FromDiscord<SeanOMik> `getFileExt()` doens't exist
02:55:20FromDiscord<SeanOMik> I dont see it anywhere on the docs either
02:55:26FromDiscord<SeanOMik> Thanks
02:55:41FromDiscord<SeanOMik> (edit) '`splitFile()`' => '`splitPath()`'
02:55:54leorizeah yea, there's only this: https://nim-lang.org/docs/os.html#searchExtPos%2Cstring :P
03:13:52FromDiscord<SeanOMik> Is there a way I could pass a mutable reference to something through a proc's parameters?
03:14:39leorizeuse `var` parameters
03:14:41FromDiscord<Rika> add var before the type?
03:19:12FromDiscord<SeanOMik> Awesome, thanks
03:34:01*exelotl joined #nim
03:34:10*FromDiscord quit (Remote host closed the connection)
03:34:24*opDispatch quit (Quit: Konversation terminated!)
03:34:26*FromDiscord joined #nim
03:39:38*FromDiscord quit (Remote host closed the connection)
03:39:53*FromDiscord joined #nim
03:44:28*FromDiscord quit (Remote host closed the connection)
03:44:44*FromDiscord joined #nim
04:03:45FromGitter<ynfle> Where can I find the release notes on v1.2.2?
04:06:02*supakeen quit (Quit: WeeChat 2.8)
04:06:41*supakeen joined #nim
04:14:42Prestigehttps://nim-lang.org/blog/2020/06/17/version-122-released.html
04:14:58FromGitter<ynfle> 👍
04:22:14*waleee-cl quit (Quit: Connection closed for inactivity)
04:23:01*bung joined #nim
04:27:49*bung quit (Ping timeout: 264 seconds)
04:40:04*narimiran joined #nim
04:44:27FromGitter<timotheecour> tests/async/t7758.nim is super flaky and breaks CI in many PR's ; can anyone please review https://github.com/nim-lang/Nim/pull/14721 ?
04:56:58*nsf joined #nim
05:00:35leorize@timotheecour why the `let t = 40`?
05:01:11FromGitter<timotheecour> to refer to `t` in the comment
05:01:37leorizeyou can make a const with a meaningful name and refer to it instead...
05:05:30FromGitter<timotheecour> done PTAL
05:06:20leorizeplease make whatever constable const
05:10:50FromGitter<timotheecour> done
05:15:37*NimBot joined #nim
05:17:26*mfx joined #nim
05:26:41*mfx quit (Quit: Leaving)
05:29:01*vicfred_ quit (Ping timeout: 264 seconds)
05:29:47shashlickConan and http://binarybuilder.org have been a mixed bag - Conan windows builds are vc++ so link doesn't work with some static libs
05:30:12shashlickWhereas http://binarybuilder.org doesn't have static libs for some libs
05:30:28shashlickAnd both don't always have the latest versions
05:30:48*vicfred_ joined #nim
05:32:05*rokups joined #nim
05:33:48*solitudesf joined #nim
05:35:58*kenran joined #nim
05:55:46FromDiscord<Technisha Circuit> If i have a type with some values, am i able to directly modify the values in the type? Let's say `Foo` was the type with `bar` as a method (i think that's the correct term), and `bar` returns a string, could i just do `Foo.bar = "newValue"`?
05:56:15FromDiscord<Technisha Circuit> This is an initialized type btw
05:58:59FromDiscord<Rika> type, or instance?
05:59:14FromDiscord<Rika> bar is a method, or a field?
05:59:21FromDiscord<Rika> you can directly modify fields yes
05:59:27FromDiscord<Rika> (if it's var)
06:07:07FromDiscord<Technisha Circuit> Instance and field
06:07:10FromDiscord<Technisha Circuit> Yeah :P
06:07:11FromDiscord<Technisha Circuit> Thanks
06:10:12FromDiscord<Technisha Circuit> Why does Nim not allow the use of `__` in proc names?
06:12:03FromDiscord<Rika> because of how its parsed i assume
06:12:32FromDiscord<Rika> feel like compilation would be a bit slower if it allowed that
06:18:02*tdc joined #nim
06:19:32FromDiscord<Technisha Circuit> Oh okay
06:20:21FromDiscord<Elegant Beef> I'd say the best reason is it looks bad 😄
06:20:32FromDiscord<Elegant Beef> The others are complementary to that arguement
06:22:13FromDiscord<Rika> argument has no e before the u
06:22:29FromDiscord<Rika> *after
06:23:32FromDiscord<Elegant Beef> Like i can spell
06:24:18FromDiscord<Technisha Circuit> https://www.urbandictionary.com/define.php?term=arguement&amp=true↵arguement - Urban Dictionary
06:25:21PrestigeGray and grey always mess me up
06:25:54FromDiscord<Technisha Circuit> Grey is how i spell it :p
06:26:29FromDiscord<Technisha Circuit> Is it better to deal with the loaded json data from parseJson or is it better to deal with the data as a nim type when possible?
06:27:04FromDiscord<Technisha Circuit> (edit) 'Is it better to deal with the loaded json data from parseJson or is it better to deal with the data as ... a' => 'Is it better to deal with the loaded json data from parseJson or is it better to deal with the data asan instance of' | removed 'nim'
06:27:10FromDiscord<Elegant Beef> What?
06:27:28FromDiscord<Elegant Beef> It's clearly better to get the data in your prefered type
06:27:31FromDiscord<Technisha Circuit> No idea 😅
06:27:46FromDiscord<Elegant Beef> If you're relying on jsonNodes for all your logic, you dun goofed imo
06:28:09FromDiscord<Technisha Circuit> I mean is it better to marshal the data and then edit it like that or should i always deal with the raw JSON data?
06:28:58FromDiscord<Technisha Circuit> (edit) 'data?' => 'data when possible?'
06:29:04*fredrikhr joined #nim
06:29:49*bung joined #nim
06:30:14*silvernode joined #nim
06:30:47silvernodeSo I know there is 'openArray' but what about 'openSeq'?
06:31:00FromDiscord<Elegant Beef> that's pointless
06:31:11FromDiscord<Elegant Beef> procs that take sequences dont care about length
06:31:19silvernodeok
06:31:44FromDiscord<Elegant Beef> Openarray is basically saying that it'll take either an array of X type or a sequence
06:31:58FromDiscord<Elegant Beef> So you dont need a proc for each array[length,T]
06:32:15silvernodegot you
06:33:36silvernodeI'm still trying to figure out cmdline args and I had it working until I made some other procs to make the code a bit nicer. Seems like now that I put the args code in a proc, I can no longer append multiple args to the end of the list in the cmdline
06:33:37FromDiscord<Rika> i also like saying judgment has no e after the g
06:34:04silvernodeI think I should just use a cmdline library
06:34:13FromDiscord<Elegant Beef> No clue, sounds weird
06:35:11silvernodeI'm just trying to do manually what cligen is designed to do
06:35:35PrestigeCan always share code snippets here
06:36:07silvernodePrestige: Normally I do but this code is split between several files
06:36:54silvernodeI can share the project though https://github.com/silvernode/tuxn/tree/master/src
06:37:02silvernodeit's a package manager wrapper
06:37:24FromDiscord<Cut a weeb and a pedo bleeds> Can you do this in your .nimble file? ```backend = if filename == "frontend": "js" else: "c"```
06:37:38silvernodeI usually rewrite tux whenever I learn a new language since it is a good project to practice with
06:39:49silvernodeThe usage should be: tuxn i i3-gaps xterm mc
06:40:17silvernodebut when I do something like that, the program is only reading up to i3 in that example
06:40:32silvernodei3-gaps*
06:50:21PrestigeAre there any Nim t-shirts? I need a shirt.
06:51:06*nikita` joined #nim
06:52:30PrestigeOh I found https://teespring.com/shop/nimlang1
06:54:14*silvernode quit (Ping timeout: 240 seconds)
06:55:27FromDiscord<Elegant Beef> No long sleever shirts 0/10
06:55:30FromDiscord<Elegant Beef> (edit) 'sleever' => 'sleeve'
06:55:33*marnix joined #nim
06:56:24FromDiscord<Rika> > long sleeved shirts
06:56:29FromDiscord<Elegant Beef> Our those even official
06:56:37FromDiscord<Rika> prolly bootleg
06:56:44FromDiscord<Elegant Beef> Long sleeve is right
06:56:55FromDiscord<Elegant Beef> Dont fucking try to correct me there bud
06:57:04PrestigeYeah probably bootleg
06:57:11PrestigeWe need some Nim merch
06:57:33FromDiscord<Elegant Beef> I say we need a less child murderer mascot, just so it can be more cheerful
06:59:02FromDiscord<Elegant Beef> Go encourage official nim merch
06:59:59FromDiscord<Rika> @Elegant Beef im not
07:00:07FromDiscord<Rika> im saying > imagine liking long sleeved shirts
07:00:17FromDiscord<Elegant Beef> ah
07:00:20FromDiscord<Elegant Beef> Imagine not
07:00:30FromDiscord<Rika> i live in a *tropical country*
07:00:31FromDiscord<Elegant Beef> I can leave my house in -10 and not be cold
07:00:36PrestigeLet's get everyone on board, open an issue on GitHub about merch
07:01:03FromDiscord<Elegant Beef> I also sweat a lot and most of my long sleeve shirts are vastly thicker so i dont have huge sweatstains in my armpits
07:02:23*vikfret joined #nim
07:02:48FromDiscord<Elegant Beef> Well prestige dont forget stickers, people love stickers
07:03:23PrestigeNim shorts (gym shorts)
07:04:36FromDiscord<Rika> i hate stickers
07:04:44FromDiscord<Rika> i would love an acrylic keychain though
07:04:56FromDiscord<Luk> Wallpapers
07:05:05FromDiscord<Luk> Made with nim
07:06:12PrestigeI'd get a t-shirt and a hoodie
07:06:43FromDiscord<Technisha Circuit> Is it possible to use GitHub actions to compile Nim code for me and publish the binaries as releases?
07:06:44PrestigeAnd definitely a cape if they were still in style
07:06:46*skrzyp joined #nim
07:07:07FromDiscord<Rika> yes it is possible
07:07:10FromDiscord<Rika> no i do not know how
07:07:29FromDiscord<Rika> theres prolly an example in the nim github wiki
07:07:38FromDiscord<Technisha Circuit> O oki
07:07:56FromDiscord<Elegant Beef> Travis CI can be used
07:08:02FromDiscord<Elegant Beef> Get me a nim keycap for super
07:08:24FromDiscord<Elegant Beef> And a rust one for delete
07:08:24FromDiscord<Rika> ooh keycaps
07:08:28FromDiscord<Rika> LMAO
07:08:31FromDiscord<Elegant Beef> Just so i can delete rust
07:08:41FromDiscord<Rika> but that implies you touching the rust logo...
07:08:48FromDiscord<Rika> do you really wanna touch that 😛
07:09:15FromDiscord<Elegant Beef> I mean the rust logo sucks
07:09:17FromDiscord<Elegant Beef> So not really
07:09:23FromDiscord<Elegant Beef> Their mascot is a better logo than the official one
07:10:10FromDiscord<Elegant Beef> Rust on a metal gear, exactly what you dont want, fragments of metal in the cogs
07:10:10FromDiscord<Luk> I hate llvm languagrs
07:10:17FromDiscord<Luk> (edit) 'languagrs' => 'languages'
07:10:17FromDiscord<Elegant Beef> Im indifferent
07:11:07FromDiscord<Rika> i just dont like the syntax
07:11:13FromDiscord<Rika> dont really mind if its llvm or not
07:11:30PrestigeOh man I'd love a Nim keycap
07:11:54FromDiscord<Luk> I compile a lot... LLVM needs some over 90GiBs
07:11:57FromDiscord<Technisha Circuit> Nim phonecase-
07:13:14FromDiscord<Elegant Beef> Yea rust reads like sandpaper
07:13:19FromDiscord<Elegant Beef> It's one reason i didnt attempt to learn it
07:13:23FromDiscord<Elegant Beef> It just doesnt look fun to write
07:13:36FromDiscord<Rika> i'd prolly prefer c to rust...
07:13:40FromDiscord<Zed> same, i couldn't get past the syntax
07:14:03FromDiscord<Elegant Beef> I have no interest in learning C/C++/Rust
07:14:09FromDiscord<Elegant Beef> It's all the same offending syntax to me
07:14:19FromDiscord<Zed> i quite like braces syntax
07:14:24FromDiscord<Elegant Beef> That's not the issue
07:14:25PrestigeSame
07:14:41FromDiscord<Elegant Beef> The issue is the use of annoying symbols and keywords
07:14:53FromDiscord<Zed> im attempting to implement braces in nim, it's interesting
07:14:54FromDiscord<Rika> &&::<><{}@][[]
07:15:08FromDiscord<Rika> did i scare you beef
07:15:08FromDiscord<Zed> somtimes they make sense
07:15:13FromDiscord<Elegant Beef> Yes rika you did
07:15:18PrestigeIf you get that working let me know Zed
07:15:20FromDiscord<Rika> "the horror!"
07:15:32FromDiscord<Elegant Beef> Yea im actually having a heart attack
07:15:34FromDiscord<Elegant Beef> Oh im dead
07:15:35FromDiscord<Elegant Beef> Shit
07:15:45FromDiscord<Zed> *children screaming*
07:17:11FromDiscord<Zed> Prestige, https://github.com/Zed-Inc/nim_braces
07:17:23FromDiscord<Zed> still a work in progress
07:17:59*vikfret quit (Ping timeout: 246 seconds)
07:18:07FromDiscord<Zed> but you can change the json file to have whatever you want as a closing/opening symbol
07:18:10*vicfred_ quit (Ping timeout: 256 seconds)
07:18:11PrestigeExciting stuff, I hope you get it working
07:18:13FromDiscord<Rika> > pushed binary to repo
07:18:15FromDiscord<Rika> :thonk:
07:18:31FromDiscord<Zed> yup
07:18:37FromDiscord<Zed> much sense
07:18:47FromDiscord<Luk> Lel
07:18:55FromDiscord<Zed> i've done most of it half asleep ok
07:19:49FromDiscord<Zed> there's so many mistakes :/
07:20:36FromDiscord<Elegant Beef> Now the question is, do you have a way to remove the braces and output proper nim code?
07:20:50FromDiscord<Zed> that's what it does
07:20:54FromDiscord<Elegant Beef> Ah
07:21:00FromDiscord<Rika> lol
07:21:01FromDiscord<Elegant Beef> Thought you modified the compiler to parse this directly
07:21:09FromDiscord<Zed> no
07:21:15FromDiscord<Zed> how smart do you think i am
07:21:18FromDiscord<Rika> did you even read the embed
07:21:21FromDiscord<Elegant Beef> Nope
07:21:24FromDiscord<Zed> dont
07:21:30FromDiscord<Zed> full of spelling mistakes
07:21:38FromDiscord<Luk> "&&::<><" =opening bracket↵"{}@][[]" = closing bracket
07:21:39FromDiscord<Elegant Beef> I dont read text from sites
07:21:48FromDiscord<Zed> ok
07:21:49FromDiscord<Elegant Beef> Gooberment could change it
07:22:11FromDiscord<Elegant Beef> I get my information directly from the chickens ass
07:22:30FromDiscord<Zed> sent a code paste, see https://discordapp.com/channels/371759389889003530/371759389889003532/723437535488901170
07:22:35FromDiscord<Zed> @Luk
07:22:44FromDiscord<Zed> ok beef
07:22:51FromDiscord<Luk> Hah
07:23:01FromDiscord<Elegant Beef> Im going to "accidently" let my lawnmower run me over
07:23:02FromDiscord<Elegant Beef> bbs
07:23:07FromDiscord<Zed> ok
07:24:05FromDiscord<Rika> beef's...↵*out of luk*
07:25:10FromDiscord<Luk> Nimimalism
07:26:07ZevvZed: I patched the parser a few weeks ago to parse braces
07:26:19Zevvit's crap but it kinda works :)
07:27:23PrestigeI need some braces in my life Zevv don't hold out
07:29:30Araqhi Zevv, what's wrong with CPS?
07:29:45FromDiscord<Elegant Beef> They always take kids away from their parents
07:29:53FromDiscord<Elegant Beef> Ill see myself out
07:31:19FromDiscord<Elegant Beef> I'd like to point out that all the work that went into nim, led up to that shitty joke
07:32:19FromDiscord<Rika> now leave thanks
07:33:01FromDiscord<Elegant Beef> It's better for everyone's health if i dont
07:33:21PrestigeAraq: thoughts on Nim merch?
07:34:18FromDiscord<Luk> If nim gets stickers and other merch I'll use it
07:35:19FromDiscord<Elegant Beef> `template sticker()=discard`↵There equally as useful as a sticker
07:37:55AraqPrestige, you can get stickers and T-shirts
07:38:03Araqbut I cannot remember the link... ping dom96
07:38:28FromDiscord<Elegant Beef> @dom96 you have been summoned!
07:38:31Prestigehttps://teespring.com/shop/nimlang1 is the only thing I've found
07:39:05PrestigeNomc
07:39:21PrestigeNim conf 2020 would be a cool shirt as well
07:40:38FromDiscord<impbox> hmm can I exit an iterator early?
07:41:14FromDiscord<Rika> what do you mean?
07:41:38FromDiscord<impbox> like return / break without yielding an item and end the iteration
07:41:52FromDiscord<Rika> just stop yielding?
07:42:12FromDiscord<Rika> when you get to the end of the iterator itll "stop"
07:42:56FromDiscord<impbox> yeah, but i want to end it early
07:43:21FromDiscord<Rika> then break out of the while loop thats keeping you in the iterator
07:43:29FromDiscord<impbox> it's not in a loop
07:43:42FromDiscord<Rika> then how are you staying in the iterator
07:43:49solitudesfadd iterator body to `block` and use break.
07:45:15FromDiscord<impbox> solitudesf thanks!
07:45:40FromDiscord<impbox> @Rika i wanted to exit before the loop started
07:45:46FromDiscord<Rika> i see
08:01:19*rokups quit (Quit: Connection closed for inactivity)
08:04:00*pietroppeter joined #nim
08:06:23bungis there simple way turn parser ast node to formated code ?
08:09:20*haxscramper joined #nim
08:10:41haxscramperIf you are talking about `PNode` you can use `renderer.$` to convert it to string. Example: https://play.nim-lang.org/#ix=2pzq
08:10:54*fredrikhr quit (Ping timeout: 240 seconds)
08:14:19bungso its tied to specific parser? am wondering some like algorithm that can be used in common parsers
08:16:45*matti quit ()
08:17:41*matti joined #nim
08:17:47FromDiscord<Zed> i think it would be interesting to see machine learning in compilers and parsers for source code
08:19:11haxscramperYou mean pretty-printing any AST back to working code? I guess it is possible to implement in principle but I don't know of any library/tool which actually does this. All of them are specific to ast/language.
08:20:36bungyeah, it can be done but it also need write grammar since it doesnot know the source language
08:21:57haxscramperWhat does `ObservableStores` warning mean? I haven't found anything concrete as to what can cause it.
08:23:11*PMunch joined #nim
08:25:31Araqhaxscramper, it's an edge case caused by the interaction of exceptions and NVRO
08:26:04Araqwe tried to disable NVRO but now code relies on it
08:26:48Araqand so instead we produce a warning. There is an RFC about it too, so far without any consensus
08:27:39Araqthe problem is that you can observe stores to 'result' when an exception is raised.
08:28:07AraqIMHO that's a feature. Others think it's a bug. :P
08:35:01*waleee-cl joined #nim
08:40:46PrestigeThat sounds useful
08:43:11PMunchNVRO?
08:43:35AraqNVRO: turn x = f() into f(addr x)
08:44:02Araqto avoid stack slot copies
08:44:45FromDiscord<Zed> What is a complex statement?? vscode is giving me this error on my proc
08:46:17Araqa complex statement is one that can contain other statements
08:46:33Araqfor instance, 'if' is complex, 'return' isn't
08:47:03AraqI should have used "nestable statement" instead
08:47:31PMunchAh, I see
08:48:36PrestigePMunch: I've fixed most of the issues I was having with steam and other weird applications btw
08:48:48PMunchPrestige, oh cool!
08:48:58PMunchWhat was the issue Steam was giving you?
08:49:11PMunchOr rather, what was the fix, I know the issues..
08:49:51PrestigeSometimes it would just resize itself for no reason, I ended up figuring out how to better handle configurerequest events
08:50:52PrestigeWhat issue were you having?
08:56:13haxscramperSo `ObservableStores` triggers when I have an expression which can raise an exception _and_ I'm assigning value of the expression to variable? In this example: https://play.nim-lang.org/#ix=2pzv it triggers for `r1` but not for `r2` - because second one is annotated with `{.raises: [].}`. Is this correct or I'm missing something?
08:58:01haxscramperAnd why it is called either `NVRO` or `NRVO` in the RFC? There are differences between these two or it's just a typo?
09:00:19Araqtypo
09:00:41Araq.raises: [] is only affecting the analysis when you use --panics:on
09:03:05PMunchPrestige, all sorts of stuff
09:03:20PMunchWindows being blocked by other windows that have disappeared and such.
09:04:52Prestigehmm
09:05:34PrestigeI don't use many applications other than a terminal or a browser so I haven't had much to test
09:06:32PMunchHaha, ditto
09:06:57PMunchWell, terminal, browser, and HexChat
09:07:42PrestigeIf you get the chance to try it out let me know what you think - trying to polish a few things before I add more features
09:09:05*Trustable quit (Remote host closed the connection)
09:10:43*Trustable joined #nim
09:15:17narimiranyoutube playlist for NimConf 2020, happening tommorrow (26 hours from now): https://www.youtube.com/playlist?list=PLxLdEZg8DRwTIEzUpfaIcBqhsj09mLWHx
09:15:25narimiranyou can already click on 'set reminder' for the videos you would like to be notified before they air
09:23:45PMunchHype!
09:25:03FromDiscord<Technisha Circuit> Is there any other JSON modules that isn't packedjson or the stdlib json?
09:25:18FromDiscord<Technisha Circuit> Just curious
09:25:22FromDiscord<Rika> status' json serialize?
09:25:23FromDiscord<Technisha Circuit> Before anyone asks why
09:25:28FromDiscord<Rika> or whatever the name was
09:25:32FromDiscord<Technisha Circuit> Oh?
09:25:37*oddp joined #nim
09:26:01FromDiscord<Technisha Circuit> https://github.com/status-im/nim-json-serialization↵this one?
09:26:01Araqthere is always regex-json which uses regexes to parse json
09:26:12FromDiscord<Technisha Circuit> Oh god
09:26:20FromDiscord<Technisha Circuit> Wouldn't that be slower?
09:26:21Araq(I'm kidding)
09:26:22FromDiscord<Technisha Circuit> Like
09:26:25FromDiscord<Technisha Circuit> Way slower
09:26:26FromDiscord<Technisha Circuit> Oh
09:26:34FromDiscord<Technisha Circuit> Maybe i should make it a thing....
09:26:54Araqhere is what the world needs:
09:26:55FromDiscord<Rika> :thonk: what's bad about packedjson?
09:27:06FromDiscord<mratsim> it's not in the stdlib?
09:27:10Araqa regex based parser for json that transforms json into xml
09:27:23FromDiscord<mratsim> I'm sure someone wrote that in Java
09:27:57Araqbecause then you can use xpath to transform it into something else. and you can spend time on important questions such as "is whitespace part of the xml tree?"
09:28:11FromDiscord<Rika> lmao
09:28:18FromDiscord<Technisha Circuit> I'm just curious :P
09:28:45*haxscramper quit (Ping timeout: 258 seconds)
09:29:00Araqand also "how come I use a format for semi-structured data for my database table dumps?"
09:29:37FromDiscord<mratsim> why dump, it should be your database
09:30:12Araqbecause the world hates databases, we should grep on fragile text files instead
09:30:42Araqand be concerned with floating point parsing roundtrip problems, escape sequences and quoting hell
09:34:13*kenran quit (Ping timeout: 246 seconds)
09:42:48*tane joined #nim
09:47:43*njoseph quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
09:47:49*njoseph joined #nim
09:48:06Araqmuhaha I wrote functizer.nim
09:58:43*brainbomb joined #nim
09:58:46*krux02 joined #nim
10:00:12*endragor quit (Remote host closed the connection)
10:00:39*endragor joined #nim
10:06:32*endragor quit (Ping timeout: 256 seconds)
10:16:08Zevvwhich does what exactly
10:19:18*endragor joined #nim
10:24:26*Trustable quit (Remote host closed the connection)
10:25:30*Trustable joined #nim
10:26:30FromDiscord<spook> sent a code paste, see https://discordapp.com/channels/371759389889003530/371759389889003532/723483836972924949
10:26:56FromDiscord<spook> (edit) 'http://ix.io/2pzJ' => 'http://ix.io/2pzI'
10:27:46*bacterio quit (Ping timeout: 246 seconds)
10:27:58FromDiscord<Recruit_main707> what are you returning?
10:28:14FromDiscord<spook> I was going to return wins
10:28:34FromDiscord<Recruit_main707> that seq needs would need to be seq[aType], or int in your case
10:29:43FromDiscord<spook> sent a code paste, see http://ix.io/2pzM
10:29:57FromDiscord<Rika> what is `wins+`?
10:30:02ZevvAraq: you made up a word. 0 hits on the googles for "functizer"
10:30:05FromDiscord<spook> it's a counter
10:30:08FromDiscord<Rika> thats invalid nim
10:30:09FromDiscord<Rika> no
10:30:12FromDiscord<Rika> the + part
10:30:17FromDiscord<Rika> what does `wins+` do?
10:30:21FromDiscord<Rika> do you mean `inc wins`
10:30:30FromDiscord<spook> increase wins by 1
10:30:32FromDiscord<Rika> yeah
10:30:36FromDiscord<Rika> its not wins+ then
10:30:40FromDiscord<Rika> its `inc wins`
10:31:22*bacterio joined #nim
10:32:04FromDiscord<Vindaar> I get 2 hits for functizer. But pretty weird to type something resembling a word with only 9 characters into google and getting barely any results
10:32:39FromDiscord<Rika> @spook did that solve your problem?
10:33:19FromDiscord<spook> yes, just had to import systems ^.^
10:33:20FromDiscord<spook> ty
10:33:36FromDiscord<Rika> huh? you dont need to import system @spook
10:35:02FromDiscord<spook> oh I didn't
10:35:11FromDiscord<InventorMatt> Is there a way to make a string type that only allows certain characters?
10:35:32FromDiscord<Rika> like what characters
10:36:03FromDiscord<spook> thanks for the help
10:36:08FromDiscord<Rika> yw
10:36:47FromDiscord<InventorMatt> Just + - 0
10:36:50krux02InventorMatt: well you can make a distinct string and modify the `add` proc to check on the appended charactor.
10:37:11FromDiscord<Rika> does & use add?
10:37:21krux02no
10:37:25krux02I don't think so
10:37:34*nsf quit (Quit: WeeChat 2.8)
10:38:02FromDiscord<InventorMatt> I was thinking about that but couldn't someone convert a string into that distinct type anyways?
10:38:17krux02but if you append two strings with the correct characters, it should be ok.
10:39:12FromDiscord<Rika> @InventorMatt people can always cast it too if its a separate type
10:39:32krux02I personally would prefer to just implement a check that ensures that the right characters are used. And call this check at strategic points in your application.
10:40:34krux02The reason for that is, tacking on `add` and distinct string works pretty well for this specific problem.
10:40:57krux02But for more complex constraints on strings, it doesn't work anymore that easy.
10:41:28FromDiscord<InventorMatt> I am trying to make a proc that converts a string of balanced ternary back into an integer. So I want to make sure that it'll use the correct values so compile time errors can occur
10:41:36FromDiscord<ikrima> is there a way to specify a constraint on a variant type in nim?
10:42:28FromDiscord<ikrima> I've tried various formulations with the typeclass syntax but can't manage
10:42:36FromDiscord<Rika> if it's just 3 elements then maybe do a seq[enum], matt
10:42:50FromDiscord<Rika> ikrima what constraint we talkin bout?
10:43:00krux02InventorMatt, well you can use seq['0'..'2']
10:44:02FromDiscord<ikrima> @Rika i have an ast node object variant. for some nodes, i want to constrain what type of children they may have
10:45:17FromDiscord<Rika> i dont think thats possible
10:45:48FromDiscord<ikrima> 👍 good to know
10:47:32*neceve_ joined #nim
11:04:01FromDiscord<Cut a weeb and a pedo bleeds> dear nimfriends, can you switch `backend` in the .nimble file based on the filename?
11:07:11*dddddd joined #nim
11:08:08FromDiscord<Vindaar> ^person: you realize that there's probably plenty of people you'd probably consider a "weeb" in this very room, right? just saying...
11:09:16FromDiscord<😬🤣> fixed
11:14:23*waleee-cl quit (Quit: Connection closed for inactivity)
11:17:36alehander92_i really want to ban you for this username
11:17:58alehander92_:P
11:18:35alehander92_otherwise why in nimble and not in nims?
11:26:04*waleee-cl joined #nim
11:35:39FromDiscord<😬🤣> @alehander92_ because I didn't know I can just `setCommand "js"` and nimble will behave 😬
11:40:01alehander92_ahh i dont think ive used that stufvf
12:06:01*supakeen quit (Quit: WeeChat 2.8)
12:06:34*supakeen joined #nim
12:08:05FromDiscord<Recruit_main707> msgpack is nuts, but also very wonky :/
12:08:07*vsantana joined #nim
12:29:47*Kaivo quit (Quit: WeeChat 2.8)
12:30:45FromDiscord<Recruit_main707> is there a compact function that does the same as strutils.toHex(), without making the output twice as long as the input??
12:31:06PMunchWhat?
12:31:18PMunchYou know that's how hex works right?
12:32:29FromDiscord<Recruit_main707> bruh, lapsus there, but, you know leaving aside that dumb question, something that can convert a binary string into a format that doesnt make it larger?
12:33:56FromDiscord<Rika> what
12:34:06PMunchvar x = z
12:34:08PMunchThere you go
12:34:11FromDiscord<Rika> lol
12:34:24FromDiscord<Rika> binary strings are as small as they can be, unless you mean compression
12:35:08FromDiscord<Recruit_main707> binary strings dont work well when interoping
12:35:15*brainbomb1 joined #nim
12:35:19FromDiscord<Rika> why
12:35:31PMunchRecruit_main707, depends on what you're interoping with..
12:36:14FromDiscord<Recruit_main707> python, maybe im doing something wrong, but i guess the issue is that there are null characters as data, and that makes it think the string ends there
12:36:51FromDiscord<Recruit_main707> i have an idea that could work though...
12:37:48PMunchThat's probably easier to handle on the Python side..
12:38:07*brainbomb quit (Ping timeout: 258 seconds)
12:38:15PMunchhttps://docs.python.org/3/library/struct.html
12:40:34*lritter joined #nim
12:43:30*kenran joined #nim
12:53:39FromDiscord<Shucks> ssshh
12:54:22FromDiscord<Shucks> disruptek might be here
12:55:48PMunchHuh?
12:56:05PMunchHot tip, when you want to avoid someone, don't ping them :P
12:56:51FromDiscord<Shucks> Oh, nice idea
13:00:46*leorize quit (Remote host closed the connection)
13:01:15*leorize joined #nim
13:01:51FromDiscord<Rika> tfw irc
13:03:11AraqZevv, it's a litte tool I wrote that turns 'proc' into 'func'
13:03:25Araqin preparation for https://github.com/nim-lang/RFCs/issues/234
13:06:00FromDiscord<willyboar> maybe we need a hackernews post for the conf
13:06:13FromDiscord<dom96> yes, join #nimconf
13:06:16FromDiscord<dom96> we should decide on a title
13:21:55FromDiscord<willyboar> https://news.ycombinator.com/item?id=23573938 vote please
13:23:30FromDiscord<dom96> Please don't ask for upvotes on HN
13:23:39FromDiscord<dom96> they have algorithms that detect voting rings...
13:23:53FromDiscord<dom96> you'll end up having that post demoted
13:24:08FromDiscord<djazz> Yeah, asking for votes is against rules
13:24:21FromDiscord<djazz> And i wont create an account just to vote heh
13:26:07FromDiscord<willyboar> (edit) removed ' vote please'
13:32:50FromDiscord<lqdev> the stdlib has Options but it doesn't have Results?
13:33:19FromDiscord<Rika> yes
13:34:35FromDiscord<dom96> if you want to boost something, then RT this: https://twitter.com/nim_lang/status/1273972374694768645 🙂
13:36:29planetis[m]i cant change the url
13:36:47FromDiscord<djazz> Imo, change the name of the Nim twitter to Nim programming language, ”Nim language” sounds odd
13:37:29Araqit's also a language for human beings
13:37:33planetis[m]i posted this yesterday: https://news.ycombinator.com/item?id=23564668
13:37:51marnixAraq +1 :-)
13:39:03FromDiscord<djazz> Hehe
13:39:21FromDiscord<djazz> Fair
13:39:22FromDiscord<willyboar> planetis hackathon will not take a place 😦
13:39:47FromDiscord<willyboar> next year maybe
13:39:52planetis[m]:(
13:44:14*marnix quit (Ping timeout: 240 seconds)
13:50:50*marnix joined #nim
13:57:46*leorize_ joined #nim
13:58:03*leorize quit (Ping timeout: 240 seconds)
14:09:54*PMunch quit (Quit: leaving)
14:15:59FromDiscord<Recruit_main707> setting openArray[byte] as the return type of a function throws me errors, i thought it was possible, wasnt it?
14:16:34Araqnope, requires our borrowing RFC
14:20:50*clemens3 joined #nim
14:23:15*ftsf joined #nim
14:26:44FromDiscord<Technisha Circuit> Anyone know of a cli text editor with a liveshare-like feature?
14:27:50AraqLynx
14:28:47FromDiscord<Technisha Circuit> Thanks
14:29:18*disruptek quit (Quit: bye)
14:30:41FromDiscord<Zed> simple dumb question
14:31:10FromDiscord<Zed> wait never mind
14:35:44FromDiscord<Shucks> Does defer gets called on a uncaught exception?
14:38:44FromDiscord<Rika> afaik yes
14:40:33*disruptek joined #nim
14:42:22*silvernode joined #nim
14:43:12*silvernode quit (Client Quit)
14:48:36*disruptek quit (Quit: bye)
14:50:11*kenran quit (Quit: leaving)
14:53:25*disruptek joined #nim
14:55:58*disruptek quit (Client Quit)
14:57:40FromDiscord<lqdev> it does
14:58:27*disb0t joined #nim
14:58:59*disruptek joined #nim
15:00:15*disbot quit (Quit: Bye)
15:00:15*disb0t is now known as disbot
15:02:46*Vladar joined #nim
15:03:58*haxscramper joined #nim
15:08:46haxscramperUnless I wrap my macro call in `block` I'm getting `indentation error` - what can cause this? I compared generated AST to expected AST - they are identical. If I add `block` error disappears. Writing the same code manually does not give any errors. Code example with all tested cases - https://play.nim-lang.org/#ix=2pB4
15:10:22*marnix quit (Ping timeout: 260 seconds)
15:15:46*marnix joined #nim
15:18:04FromDiscord<Jasper> Variadic branch macros can't be used as expressions. Also your thing will not work in generics/templates currently.
15:24:06*marnix quit (Ping timeout: 258 seconds)
15:24:54*bung quit (Ping timeout: 240 seconds)
15:26:01*vicfred joined #nim
15:32:08*haxscramper quit (*.net *.split)
15:32:09*vsantana quit (*.net *.split)
15:32:09*bacterio quit (*.net *.split)
15:32:09*narimiran quit (*.net *.split)
15:32:09*Jjp137 quit (*.net *.split)
15:32:17*Amun_Ra quit (*.net *.split)
15:32:17*unclechu quit (*.net *.split)
15:32:17*sepples quit (*.net *.split)
15:32:17*leorize_ quit (*.net *.split)
15:32:17*opal quit (*.net *.split)
15:32:17*BitPuffin quit (*.net *.split)
15:32:17*k0mpjut0r quit (*.net *.split)
15:32:17*khanate[m]0 quit (*.net *.split)
15:32:17*salotz[m] quit (*.net *.split)
15:32:17*watzon quit (*.net *.split)
15:32:17*koltrast_ quit (*.net *.split)
15:32:27*haxscramper joined #nim
15:32:27*leorize_ joined #nim
15:32:27*vsantana joined #nim
15:32:27*bacterio joined #nim
15:32:27*narimiran joined #nim
15:32:27*Jjp137 joined #nim
15:32:27*Amun_Ra joined #nim
15:32:27*opal joined #nim
15:32:27*BitPuffin joined #nim
15:32:27*k0mpjut0r joined #nim
15:32:27*khanate[m]0 joined #nim
15:32:27*salotz[m] joined #nim
15:32:27*watzon joined #nim
15:32:27*sepples joined #nim
15:32:27*koltrast_ joined #nim
15:33:29*opal quit (Max SendQ exceeded)
15:34:52*opal joined #nim
15:35:48*sendell quit (Ping timeout: 240 seconds)
15:35:51*BitPuffin quit (Ping timeout: 244 seconds)
15:35:52*k0mpjut0r quit (Ping timeout: 244 seconds)
15:35:52*khanate[m]0 quit (Ping timeout: 244 seconds)
15:36:07*planetis[m] quit (Ping timeout: 240 seconds)
15:36:16*skrylar[m] quit (Ping timeout: 244 seconds)
15:36:17*codic quit (Ping timeout: 244 seconds)
15:36:18*bolti[m] quit (Ping timeout: 260 seconds)
15:36:18*neceve quit (Ping timeout: 260 seconds)
15:36:22*salotz[m] quit (Ping timeout: 244 seconds)
15:36:22*watzon quit (Ping timeout: 244 seconds)
15:36:49*ftsf quit (Ping timeout: 246 seconds)
15:38:20*oneark quit (Ping timeout: 244 seconds)
15:38:51*dzamo[m]1 quit (Ping timeout: 246 seconds)
15:40:06*theelous3 joined #nim
15:45:37ZevvIs there some way we can put up a post for nimconf on HN and make sure it ranks high for a few hours?
15:46:40Zevvit's not fair play, but with a bit of effort from people here on irc we might be able to move it up by having a lot of comments in
15:46:49*bung joined #nim
15:48:57FromDiscord<Rika> Doubt
16:02:20*disruptek quit (Read error: Connection reset by peer)
16:02:20*disbot quit (Read error: Connection reset by peer)
16:04:57*disruptek joined #nim
16:07:04*disbot joined #nim
16:08:03FromDiscord<djazz> I’m reading the Nim in Action book by @dom96 to prepare for the conf 😄
16:09:18*nsf joined #nim
16:16:57FromDiscord<Clyybber> Zevv: Theres this one https://news.ycombinator.com/item?id=23573938
16:22:01*noonien quit (Quit: Connection closed for inactivity)
16:24:23*waleee-cl quit (Quit: Connection closed for inactivity)
16:33:47*Senny joined #nim
16:35:21disruptek!mem
16:35:22disbot total: 24383488; free: 6762496; owned: 15762576; max: 24383488
16:38:16*Senny quit (Ping timeout: 244 seconds)
16:44:35*Yardanico left #nim ("https://quassel-irc.org - Chat comfortably. Anywhere.")
16:44:36*Yardanico joined #nim
16:51:05Yardanicowait I completely forgot, where's the full-yellow nim logo version?
16:51:31Yardanicoit's not in https://github.com/nim-lang/assets but I used it before (e.g. created an emote on nim discord), but I forgot where I took it from
16:51:47alehander92_lets play fair
16:51:51alehander92_otherwise cool stuff
16:53:13*Trustable quit (Remote host closed the connection)
16:59:17*ChanServ quit (shutting down)
17:01:35FromDiscord<Shucks> nimpretty acts pretty unpretty
17:04:10Yardanicoah found it https://nim-lang.org/assets/img/logo.svg
17:05:05*pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
17:05:40*pbb joined #nim
17:11:41*Demos[m] joined #nim
17:14:48*NimBot joined #nim
17:20:39*haxscramper quit (Remote host closed the connection)
17:45:50*nsf quit (Quit: WeeChat 2.8)
17:46:27*codic joined #nim
17:46:27*unclechu joined #nim
17:46:27*khanate[m]0 joined #nim
17:46:27*k0mpjut0r joined #nim
17:46:27*dzamo[m] joined #nim
17:46:27*BitPuffin joined #nim
17:46:27*planetis[m] joined #nim
17:46:27*nerdrat[m] joined #nim
17:46:27*sendell joined #nim
17:46:27*neceve joined #nim
17:46:27*bolti[m] joined #nim
17:46:27*salotz[m] joined #nim
17:46:27*oneark joined #nim
17:46:27*watzon joined #nim
17:46:27*GitterIntegratio joined #nim
17:46:33*skrylar[m] joined #nim
17:59:43FromDiscord<dakyskye> Hey. I `startProcess` with `poEvalCommand` option, but killing that process turns it into a zombie
17:59:50FromDiscord<dakyskye> Is there any way to kind of disown it?
18:00:59AraqpoEvalCommand is a security risk, please try to avoid it
18:01:33FromDiscord<dakyskye> But otherwise it does not seem to start any of my process
18:01:37FromDiscord<dakyskye> Let me try again, just to make sure,
18:06:47FromDiscord<Recruit_main707> ```nim↵stdout.writeLine((result[8..^1]).cstring == ppacket)↵stdout.writeLine($(result.cstring) == ppacket)
18:07:33FromDiscord<Recruit_main707> whoops
18:11:57FromDiscord<Recruit_main707> https://play.nim-lang.org/#ix=2pBE↵cleaned that comment above, why does this happen, i presume the string contains null characters, but how can i avoid this happening?
18:12:34Yardanicoconvert it to seq[byte] instead of string?
18:12:36Yardanicoor seq[char]
18:12:48FromDiscord<Recruit_main707> but interoping...
18:13:04Yardanico?
18:13:44Yardanicoboth c and nim strings are null-terminated
18:14:00FromDiscord<Recruit_main707> i need to return `result.cstring` essentially, but as you see, it doesnt work when converting it back to a nim string
18:15:27Yardanicowell if you have stuff after a null character it's not gonna be there anymore :P
18:16:27FromDiscord<Recruit_main707> maybe returning an array of bytes then?
18:16:39Yardanicowhat are you returning to?
18:16:41Yardanicoto C? to python?
18:17:01FromDiscord<Recruit_main707> its the same basically
18:17:14*bung quit (Ping timeout: 240 seconds)
18:18:25*chemist69 quit (Remote host closed the connection)
18:18:48*chemist69 joined #nim
18:26:38*casaca joined #nim
18:26:39*casaca quit (Excess Flood)
18:28:26*bung joined #nim
18:30:44*vicfred_ joined #nim
18:32:52*bung quit (Ping timeout: 246 seconds)
18:33:12FromDiscord<codic> I'm trying to get every *n*th element of a seq in nim, like for example, in python i could do `thing[::-n]`. is there an equivalent for nim?
18:33:13*vicfred quit (Ping timeout: 246 seconds)
18:33:42Yardanicosmall for loop will do
18:37:06*Supersphere1 joined #nim
18:39:04FromDiscord<mratsim> minus?
18:39:19Yardanico@mratsim well yeah python has that
18:39:25Yardanicopython slices have start/stop/step
18:39:32Yardanico- is reversed
18:39:32*Supersphere1 quit (Killed (Sigyn (Stay safe off irc)))
18:39:42FromDiscord<mratsim> but minus is for reverse iteration
18:39:45*leorize_ is now known as leorize
18:39:50FromDiscord<mratsim> yes
18:39:55Yardanicowell yes, but it's still a for loop in the end:P
18:39:57Yardanicowith countdown
18:41:12FromDiscord<mratsim> you can filter with i mod n == 0 as well
18:41:29FromDiscord<codic> so can you give an example?
18:41:44leorize@codic basically: for i in countup(low(thing), high(thing), n)
18:42:48Yardanico@codic https://play.nim-lang.org/#ix=2pBQ
18:43:24Yardanicoyou can create a small iterator and a procedure for this of course
18:44:09leorizenot sure if something like this already exists in narimiran itertools
18:44:15leorize!repo itertools
18:44:15disbothttps://github.com/narimiran/itertools -- 9itertools: 11Nim rewrite of a very popular Python module of the same name. 15 61⭐ 5🍴
18:44:35FromDiscord<codic> ah, thanks
18:44:38Yardanicoyeah, islice
18:44:41Yardanicofrom itertools
18:44:52Yardanicoah wait it's not reversed hmm
18:52:16FromDiscord<codic> wait wait wait
18:52:25Yardanico?
18:52:49FromDiscord<codic> nvm
18:52:53Yardanicolol
18:53:01Araqomg 16 hours left
18:53:06*Araq is excited
18:53:09Yardanicome2 :P
18:53:20FromDiscord<codic> i'm trying to port `def palindrome1(text): return text==text[::-1]`, lemme see↵NimConf?
18:53:34Yardanico@codic you don't need a loop for that
18:53:43Yardanicohttps://nim-lang.org/docs/algorithm.html#reversed%2CopenArray%5BT%5D%2CNatural%2Cint
18:53:53leorizethat's inefficient as hell...
18:53:54FromDiscord<codic> ah
18:53:59Yardanicoleorize: yes that's true :P
18:54:17FromDiscord<codic> so i can do what? `return text.reversed == text`?
18:54:36Yardanicoyes
18:54:37leorizeyea, but use the result variable please
18:54:42FromDiscord<codic> yeah of course
18:55:54*nsf joined #nim
18:59:29Araqunicode.reverse ?
19:00:31FromDiscord<codic> i used algorithm.reversed
19:00:51Araqyou cannot reverse unicode via 'algorithm'
19:00:57FromDiscord<Yardanico> ah right it won't work for utf-8 strings
19:01:12AraqPython's won't work either btw
19:01:24Araqunicode is -er- special
19:04:06*waleee-cl joined #nim
19:06:08*casaca joined #nim
19:06:28FromDiscord<Yardanico> Actually seems like it would work in Python 3
19:06:55*bung joined #nim
19:10:04FromDiscord<codic> ah
19:10:18FromDiscord<codic> quick question btw, where is nimbase.h located on a choosenim installation?
19:11:19*bung quit (Ping timeout: 260 seconds)
19:11:50AraqYardanico: it cannot because of "combining characters"
19:12:04FromDiscord<Yardanico> Ohhh
19:12:04Araqunicode is really hard and utf-32 doesn't help
19:13:18shashlickcodic: ~/.choosenim/toolchains/nim-xxx/lib
19:14:34FromDiscord<codic> ah
19:15:05*bung joined #nim
19:19:34*bung quit (Ping timeout: 260 seconds)
19:22:43*bung joined #nim
19:28:34*bung quit (Ping timeout: 240 seconds)
19:29:45*bung joined #nim
19:31:08FromDiscord<mratsim> Oh, our collegues just demo-ed a Nim desktop app: https://drive.google.com/file/d/1zrYkkwHGg3TvORSR3qT6jQJ2qYbgBkk1/view↵It's only been a month since they started writing Nim (unedited video)
19:33:25supakeenmratsim: That looks cool!
19:33:47FromDiscord<slymilano> looks cool, is that a native mac app written in Nim or some kind of electron hybrid?
19:34:00Yardanicoit's QML iirc
19:34:14Yardanicoisn't it https://github.com/status-im/nim-status-client ?
19:34:20*bung quit (Ping timeout: 256 seconds)
19:35:36FromDiscord<slymilano> I've never worked with QT so this is a native app, right?
19:35:40Yardanicoyes of course
19:36:51*bung joined #nim
19:37:15FromDiscord<djazz> That looks good!
19:37:56FromDiscord<djazz> I have looked at qml, but couldnt exactly figure out how you were supposed to structure your code for it.
19:38:06FromDiscord<djazz> And style it.
19:43:14*bung quit (Ping timeout: 258 seconds)
19:43:15FromDiscord<mratsim> @Yardanico, yes it's nim-status-client
19:45:44*bung joined #nim
19:47:39FromDiscord<Recruit_main707> i have a dumb idea, but how feasible is to recreate the nim string structure in python, so that i can return actual nim strings?
19:47:58Yardanicowell the structure itself is easy
19:48:13FromDiscord<mratsim> if python can print C-string it can print nim-strings
19:48:32FromDiscord<mratsim> maybe nimporter deals with that
19:48:46Yardaniconah isn't nimporter just precompiling extensions
19:48:53FromDiscord<Recruit_main707> > well the structure itself is easy↵where is it?
19:48:55Yardanicoit doesn't add any functionality for the interop itself on top of nimpy
19:50:24FromDiscord<Recruit_main707> bruh xD https://media.discordapp.net/attachments/371759389889003532/723625747901841460/unknown.png
19:50:35Yardanicowhy not use arc :P
19:51:14Yardanicofor arc it's in https://github.com/nim-lang/Nim/blob/devel/lib/system/strs_v2.nim#L12
19:51:24FromDiscord<mratsim> @Recruit_main707 Nim strings are easy, it's a pointer to length, reserved: int and buffer: UncheckedArray[char]
19:51:39FromDiscord<mratsim> and the buffer if allocated is nul-byte terminated like c-strings
19:51:46*bung quit (Ping timeout: 260 seconds)
19:52:02Araqactually under arc it's different, but roughly speaking you're correct
19:52:27FromDiscord<Recruit_main707> ok
19:59:03*bung joined #nim
20:00:37*vikfret joined #nim
20:02:23FromGitter<bung87> slymilano https://github.com/bung87/crowngui
20:03:04FromGitter<bung87> you can check my version or !repo nimwebgui
20:03:06YardanicoI'm really excited for https://github.com/treeform/fidget :P
20:03:12Yardanicothere's a talk about it on nimconf too
20:03:26*bung quit (Ping timeout: 260 seconds)
20:04:45*Senny joined #nim
20:06:05*bung joined #nim
20:06:09FromGitter<bung87> seems has a big picture
20:10:27*bung quit (Ping timeout: 258 seconds)
20:11:15*Demos[m] left #nim ("Kicked by @appservice-irc:matrix.org : Idle for 30+ days")
20:13:28FromDiscord<willyboar> fidget and nico
20:14:57*nerdrat[m] quit (Quit: Idle for 30+ days)
20:17:48*bung joined #nim
20:17:48*kungtotte_ quit (Read error: Connection reset by peer)
20:19:33*kungtotte joined #nim
20:20:23FromGitter<bung87> havnt seen a cross mobile platform framework in nim
20:21:06leorizecross platform and mobile don't go well together :P
20:21:13leorizebut yes we do have one iirc
20:21:25FromDiscord<willyboar> well i played a game made with nico in mobile
20:21:26leorize!repo wiish
20:21:28disbothttps://github.com/iffy/wiish -- 9wiish: 11Why Is It So Hard (to make a cross-platform app)? 15 40⭐ 2🍴 7& 17 more...
20:22:06leorize!repo nimx
20:22:07disbothttps://github.com/yglukhov/nimx -- 9nimx: 11GUI library 15 653⭐ 57🍴 7& 2 more...
20:22:15leorize^ that should work too I think
20:22:49FromDiscord<mratsim> did someone ever manage to compile the falcon game
20:24:15*bung quit (Ping timeout: 258 seconds)
20:24:27Yardanicoi didn't try :P
20:25:35FromGitter<bung87> oh thanks , someone really have such big goal
20:30:59*bung joined #nim
20:32:52Yardanicowhat would be a good way to add timeout for threads (I'm calling into a .so library, the main call is blocking so the thread will block, and if that call doesn't complete the thread will just block forever) ?
20:33:16Yardanicosomehow store time since thread started and in one "observer" thread kill other bad threads?
20:33:26FromDiscord<willyboar> Yardanico where is your talk? 😛
20:33:33FromDiscord<mratsim> you don't timeout threads
20:33:39Yardanicowell I have to :(
20:33:52FromDiscord<mratsim> spawn on a threadpool dedicated to blocking calls
20:34:17FromDiscord<mratsim> otherwise you need to send a sigkill signal from a monitoring thread
20:35:06*brainbomb1 quit (Quit: Leaving.)
20:35:10FromDiscord<mratsim> I suggest you don't use time as a source of truth either but something that is more core to your application, like the number of event loop you did for example
20:35:20FromDiscord<mratsim> time is a bit "non-deterministic"
20:35:28FromDiscord<mratsim> and non-portable
20:35:50Yardanicowell that lib is only available for windows and linux anyway :D
20:36:08leorizewell if you want to timeout you can use thread cancellation
20:36:15leorizenot that I recommend it
20:36:37leorizeusually if you need to kill a thread you're doing it wrong
20:37:07Yardanicoit's for scanning routers (yes, i'm only doing it for education, there's an original windows tool which this lib was created for), and this lib also has a linux version
20:37:17Yardanicoand the lib itself doesn't check IP addresses or doesn't have timeouts for network requests
20:37:26Yardanicoso if I pass it a non-working IP it'll just stall forever for this thread
20:37:43Yardanicoand it's closed source of course
20:38:25leorizemaybe you'll need a different entry point
20:38:38Yardanicothe scanning itself os done by 3 calls to the lib
20:38:44leorizeor you can just use thread cancellation, it works great for thir stuff
20:38:47leorizethis*
20:38:55YardanicoPrepareRouter which "prepares" the object internally, ScanRouter which does the scanning, FreeRouter to actually free the object
20:39:02Yardanicothere's also StopRouter
20:39:06Yardanicoso I don't actually need thread cancellation sorry
20:39:09YardanicoI can use StopRouter
20:39:15Yardanicojust need to be careful to not mess things up
20:39:56Yardanicofunny fact is that the lib itself is written in Delphi Pascal :P
20:40:23leorizewith a C API?
20:40:28FromDiscord<Recruit_main707> whats an UncheckedArray[T] traduced to in C?
20:40:32leorizewell that's rarely seen :P
20:40:38Yardanicoleorize: yeah, it exposes a relatively small "C API"
20:40:46Yardanicowith quotes because it's kinda win32-api inspired
20:40:54Yardanicoand uses utf16 internally too (I'm really thankful we have WideCString)
20:41:12leorize@Recruit_main707 uncheckedArray[T] => T[] in C
20:41:36FromDiscord<Recruit_main707> thx
20:42:24leorizeYardanico: eh, win32-api inspired and don't have Ex calls to hook on? :P
20:42:59Yardanicoif you're curious that's the entire API described in delphi, although there are docs to make more sense of it ofc https://gist.github.com/Yardanico/2ef0cd330814a600086b528bc4faa789
20:43:03FromGitter<matrixbot> `Zoom` Hey guys, do you know if the author of NiGui (trustable-code) appears here?
20:43:08Yardanicothey do
20:43:10Yardanico!seen trustable-code
20:43:11disbottrustable-code never seen.
20:43:14Yardanico!seen trustable
20:43:15disbotTrustable quit 73 hours ago and last spoke 14 weeks ago
20:43:27Yardanicoyou might also open an issue in the repo
20:43:43leorize@Zoom join us here on IRC @ #freenode_#nim:matrix.org
20:44:02Yardanicothe (roughly) same file in nim is https://gist.github.com/Yardanico/11709df8a3681ac891ac18e750439d66
20:44:06leorizehow come everyone keeps getting in via the gitter portal...
20:44:07FromGitter<matrixbot> `Zoom` I've looked up the name already
20:45:12*Zoom[m] joined #nim
20:45:51FromGitter<matrixbot> `Zoom` Oh, thanks. That's what I found in Matrix search
20:46:16leorizesomeone probably linked the gitter room there then
20:46:25leorizewhich is kinda weird given how you must be the admin to do so
20:47:23leorizeYardanico: eh, looks like it's not really pascal code
20:47:32leorizejust a header
20:47:40Yardanicowell the lib itself is 100% in delphi :)
20:47:40Zoom[m]Actually, Gitter room shows more users in Matrix and has more avatars :P
20:48:24Yardanicoe.g. from the "strings liblibrouter.so"
20:48:25Yardanico"TDelphiReader.ReadString: WideString and UTF8String are not implemented yet"
20:48:33Yardanico"TTiffImage - Lazarus LCL: 1.6.4.0 - FPC: 3.0.2"
20:49:02leorizeit's generous for them to even give you a header then :P
20:49:16Yardanicowell yeah, they also give some docs for the API
20:49:19leorizeusually they would throw you .ppu (pascal unit) file which are compiled headers
20:49:22Yardanicolol
20:50:29leorizeI guess they don't want to leak implementation details so they resorted to a super simple C API
20:50:36Yardanicoyeah
20:51:05Yardanicobecause the lib itself has tons of exploits/backdoor creds for different routers
20:51:27leorizethis is why I'm glad that I use openwrt on my routers :P
20:51:31Yardanicohaha
20:51:40Yardanicowell even Mikrotik had a huge exploit a while ago
20:52:00Yardanicoand that lib has it as wel
20:53:34*narimiran quit (Ping timeout: 240 seconds)
20:54:01leorizefwiw pascal bool should be as big as our bool
20:54:09Yardanicowell it doesn't seem so
20:54:12Yardanicoit's actually an int32
20:54:21Yardanicothe api docs also provide C++ definitions
20:54:34Yardanicoand it's "BOOL Enabled;"
20:55:05leorizehttps://freepascal.org/docs-html/current/prog/progsu157.html#x201-2060008.2.3
20:55:14Yardanicowell idk :P
20:55:18Yardanicohttps://i.imgur.com/g60lrAU.png
20:55:43leorizehave you checked what BOOL means? :P
20:55:50Yardanicoyes
20:55:56Yardanicoin win32api it's C's int
20:56:13Yardanicohttps://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types
20:56:19leorizethey didn't define their own BOOL, right? :P
20:56:22Yardanicothey did
20:56:26Yardanico" A Boolean variable (should be TRUE or FALSE).
20:56:26YardanicoThis type is declared in WinDef.h as follows:
20:56:26Yardanicotypedef int BOOL;"
20:56:31Yardanicooh sorry for multiline
20:56:39leorizeI don't mean win32, I mean librouter
20:56:48Yardanicowell I don't know :P
20:56:50YardanicoI just know that it's 4 bytes
21:09:43shashlickanyone has windows with nim setup for some tests?
21:09:58*willyboar joined #nim
21:13:08FromDiscord<Recruit_main707> is it long? :P
21:13:37FromDiscord<Recruit_main707> if its copy paste and run i can try, but im lazy and coding rn
21:14:24shashlicktesting nimterop / nimarchive / choosenim
21:14:39FromDiscord<Recruit_main707> i only have nimterop
21:14:55shashlickits all branches so will have to clone new stuff
21:15:37shashlickdo you have bash
21:15:44shashlickgit-bash
21:16:09shashlickneed to just run https://github.com/genotrance/travister/blob/master/test.sh
21:17:15FromDiscord<djazz> nimarchive?
21:18:03shashlicklibarchive wrapper
21:18:29Prestige
21:18:37Prestigewoops
21:24:00*vicfred_ quit (Quit: Leaving)
21:27:49*solitudesf quit (Ping timeout: 264 seconds)
21:43:53*Vladar quit (Quit: Leaving)
21:48:52*surma quit (Ping timeout: 246 seconds)
21:49:08*surma joined #nim
21:51:13*tdc quit (Ping timeout: 264 seconds)
21:52:29*letto quit (Quit: Konversation terminated!)
22:00:50*vikfret quit (Quit: Leaving)
22:03:30*willyboar quit (Remote host closed the connection)
22:04:05*willyboar joined #nim
22:10:28*unknown__ joined #nim
22:10:40*letto joined #nim
22:10:46*vsantana quit (Quit: leaving)
22:46:00Yardanicowait we have a sums module? https://nim-lang.org/docs/sums.html
22:46:04Yardaniconever seen that one lol
23:03:22*Senny quit (Ping timeout: 260 seconds)
23:11:34PrestigeI'm working with a clib that has a pointer to the start of an array (ptr cint) and I'm wanting to get elements by index. What is the syntax for that?
23:12:09Prestigedo I like, cast to a cint with (val.unsafeAddr + index) ?
23:15:07*tane quit (Quit: Leaving)
23:16:08*casaca quit (Remote host closed the connection)
23:18:14Prestigebasically trying to do pointer arithmetic
23:26:21*nikita` quit (Quit: leaving)
23:32:51*vicfred joined #nim
23:34:32*neceve_ quit (Ping timeout: 256 seconds)
23:39:40*nsf quit (Quit: WeeChat 2.8)
23:48:14FromGitter<awr1> what would be an easy way to determine if an object type contains a field?
23:48:17FromGitter<awr1> there's concepts but meh
23:56:30FromDiscord<Yardanico> @Prestige cast it to UncheckedArray[cint]
23:56:39*willyboar quit ()
23:56:52FromDiscord<Yardanico> @awr1 well one of the ways is to use "compiles" from system module
23:57:00FromDiscord<Yardanico> Or write a small macro
23:57:25FromGitter<awr1> i ended up using a concept
23:57:45FromGitter<awr1> my concern is kind of over the stability of concepts
23:59:36*krux02 quit (Remote host closed the connection)