<< 05-07-2018 >>

00:03:35*user1101 joined #nim
00:27:35*leorize quit (Ping timeout: 255 seconds)
00:33:40*leorize joined #nim
00:41:20*dddddd quit (Remote host closed the connection)
01:07:26*elrood quit (Quit: Leaving)
01:21:46*craigger quit (Quit: bye)
01:24:26*craigger joined #nim
01:36:55*craigger quit (Quit: bye)
01:38:34FromGitter<gogolxdong> @shashlick ,are you around?
01:40:55*craigger joined #nim
01:41:07*craigger quit (Remote host closed the connection)
01:44:00*craigger joined #nim
01:53:41*craigger_ joined #nim
01:53:46*craigger quit (Ping timeout: 264 seconds)
01:54:21*craigger_ quit (Client Quit)
01:56:21*craigger joined #nim
02:20:21*leorize quit (Ping timeout: 240 seconds)
02:26:58*krux02 quit (Remote host closed the connection)
02:38:27*leorize joined #nim
02:45:10*leorize quit (Read error: Connection reset by peer)
03:09:39shashlick@gogolxdong: what's up
03:28:50*endragor joined #nim
03:52:20TangerHey, anybody have any projects with some beginner/intermediate issues that I could have a crack at? Trawling through the projects on github atm, but if anybody has a suggestion, that would be coolibah
03:53:34FromGitter<Quelklef> I have a dead project
03:54:53FromGitter<Quelklef> that probably needs work if it's gonna be undeaded
03:55:36TangerOh yeah? I'll take a look if you want me to give it a bit of CPR
03:55:50FromGitter<Quelklef> hehehe
03:56:05FromGitter<Quelklef> https://github.com/Quelklef/lilt
03:56:14*mitai42 joined #nim
03:56:28FromGitter<Quelklef> It's a parser generator with some somewhat strange semantics
03:56:40*mitai quit (Read error: Connection reset by peer)
03:56:53TangerStrange usually == fun
03:57:01FromGitter<Quelklef> i like that attitude
03:57:19FromGitter<Quelklef> if you actually get interested in it I'd love to work on it with oyu
03:57:45TangerSweet man, I'll read through the docs and have a peruse through the current code. Thanks
03:57:48FromGitter<Quelklef> the docs are pretty meh tbh so don't hesitate to ask me anything
03:57:49FromGitter<Quelklef> sure
03:58:07FromGitter<Quelklef> Understood if you're not interested, too; I don't think I'd be :P
03:59:16*fjvallarino quit (Remote host closed the connection)
03:59:45*fjvallarino joined #nim
04:04:10*fjvallarino quit (Ping timeout: 260 seconds)
04:13:21FromGitter<gogolxdong> @shashlick , I setup a windows built latest env on my own computer, followed the steps, remembered that there is a koch.exe in my repository
04:23:49*arecaceae quit (Remote host closed the connection)
04:24:12*arecaceae joined #nim
04:36:49*fjvallarino joined #nim
04:37:49*lompik joined #nim
04:52:06shashlick@gogolxdong: are you facing any issues?
05:08:20ashleyk_hello nimbos
05:08:30ashleyk_make anything cool lately?
05:26:44*miran joined #nim
05:40:29*Vladar joined #nim
05:40:32FromGitter<gogolxdong> @shashlick ,yeah , I don't have a koch.exe in my office compute Nim directory.
05:41:48FromGitter<gogolxdong> cannot remember where it came from on my home computer.
05:43:57shashlickyou need to build it
05:44:20shashlicknim c koch
06:06:06TangerQuelklef: Been looking through the code. One thing I don't understand is the ! (Guard) construct. I think defined here: https://github.com/Quelklef/lilt/blob/master/src/lilt/private/lilt.lilt#L52
06:06:35TangerAnd in context of a test: "/ Whitespace no newlines \n __: !newline _"
06:07:01TangerNot sure whether it's a Nim idiom
06:07:04FromGitter<gogolxdong> @shashlick yeah
06:08:07FromGitter<Quelklef> Tanger: The logic is here: https://github.com/Quelklef/lilt/blob/master/src/lilt/private/interpret.nim#L313
06:08:19FromGitter<Quelklef> guard is a little strange and requires thinking about the program iteratively
06:08:29FromGitter<Quelklef> or, more accurately, sequentially
06:08:44FromGitter<Quelklef> `!expr` reads like: *if we match `expr`, abort*
06:09:23TangerAh, sweet. Thanks
06:09:43FromGitter<Quelklef> I think the best explanatory use-case is `string: '"' *[!'"' any] '"'`
06:13:21FromGitter<Grabli66> Hi! What is the actual way to use interfaces in Nim? I found concept, vtables, some macroses. I don't understand, what is the best practice?
06:13:40FromGitter<Quelklef> Nim doesn't have interfaces
06:15:06FromGitter<Grabli66> Good :)
06:15:50FromGitter<Araq> there are macros that implement interfaces for you.
06:16:40shashlickAraq: what time is it there?
06:17:30FromGitter<Quelklef> oh @Araq you mentioned before you want to replace generics with macros sometime down the line in Nim. Is there some term for the strategy that'd be used instead? I want to learn more but I'm about to sleep
06:18:29FromGitter<Grabli66> @Araq Where i can find that macros?
06:18:53FromGitter<Araq> `nimble search interface`
06:19:02FromGitter<Araq> https://github.com/andreaferretti/interfaced
06:19:03FromGitter<Grabli66> Thanks
06:21:49FromGitter<Araq> @Quelklef it's a just a wild idea. in a nutshell ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b3db8fc7b811a6d63d0f235]
06:22:14*miran quit (Ping timeout: 256 seconds)
06:24:14FromGitter<Araq> `Tab` would be an anon, nominal type. but we also need the caching mechanism that generics use
06:27:09FromGitter<Araq> so the template in fact becomes something like `template table(key, val) {.cached.}`
06:34:58FromGitter<Grabli66> I tried concepts. And they are working :)
06:35:28FromGitter<Araq> yeah, this happens more and more :P
06:36:29shashlickaraq: talking about concepts, any idea on this? https://github.com/nim-lang/nim/issues/6691
06:43:42FromGitter<Araq> no
06:45:11FromGitter<Grabli66> @Araq I have a question about destructors. Sometimes I want a possibility to create dynamic libraries with Nim. Can we create dynamic libraries without GC and nimrtl, when destructors will be ready?
06:46:49shashlickaraq: so it is a valid defect then
06:53:58FromGitter<admin0day> hi folks,how to achieve the pointer of C in Nim
06:55:32shashlickhttps://nim-lang.org/docs/system.html#addr,T
06:57:18FromGitter<admin0day> @FromIRC thx , i will check out this later
06:57:29*nsf joined #nim
06:57:38FromGitter<admin0day> funny ,hhhhh
07:05:46FromGitter<alehander42> @krux02 wow that's a good lifehack
07:07:41FromGitter<Araq> @Grabli66 yes
07:13:56shashlickjust commented on 4 compiler crash issues that are potentially fixed - mini yay before I head to bed
07:27:43*user1101 quit (Quit: user1101)
07:30:16FromGitter<Araq> thanks
07:34:35*PMunch joined #nim
07:34:41*nsf quit (Quit: WeeChat 2.1)
07:45:03FromGitter<mratsim> I don’t know if this ships has sailed but, do you guys have thoughts on this particular unhygienic use of template (at least in my opinion): https://github.com/nim-lang/Nim/issues/8208
07:45:45*yglukhov[i] joined #nim
07:46:32PMunchdom96, is there a way to call one task from another using Nimble?
07:53:53PMunchI have two build tasks to build separate components, and I want to build both before my run task
08:08:12FromGitter<Araq> @mratsim would break a ton of code. but I'm not really against it.
08:09:13FromGitter<mratsim> A warning can be added with a long transition period
08:19:33FromGitter<Vindaar> @mratsim I was honestly surprised about this the first time I noticed it's possible. So you have my +1
08:45:21*noonien joined #nim
08:51:40FromGitter<survivorm> @mratsim you have my +1 too
08:52:34FromGitter<mratsim> :partyparrot:
08:52:36*arecaceae quit (Remote host closed the connection)
08:53:00*arecaceae joined #nim
08:55:52FromGitter<Grabli66> It's strange, there is no procedure "groupby" in sequtils. Maybe there is a library or other module with that procedure?
08:56:38FromGitter<mratsim> NimData has it
09:01:23*rosshadden quit (Read error: Connection reset by peer)
09:02:54*rosshadden joined #nim
09:09:19*xet7 joined #nim
09:10:09*pwntus joined #nim
09:10:32*pwntus quit (Changing host)
09:10:33*pwntus joined #nim
09:23:03FromGitter<Grabli66> Great
09:25:03FromGitter<mratsim> Why do I get moderated here: https://forum.nim-lang.org/t/3988
09:29:10FromGitter<Araq> it's a forum bug, I think
09:29:17FromGitter<Araq> I banned the OP
09:32:32FromGitter<mratsim> If you check on the web he also intervened on Crystal (and maybe Rust as well) before Nim
09:33:02FromGitter<Araq> I can imagine.
09:33:21FromGitter<Araq> should they deal with him
09:52:35PMunchWhy did his posts get deleted? That topic is really strange to read now :P
09:53:34FromGitter<kindlychung> ```code paste, see link```
09:53:42FromGitter<kindlychung> Any idea why I got this in gintro?
09:57:22FromGitter<Araq> ah my bad
09:58:33FromGitter<Araq> hmm no difference, I think it's a forum bug :-)
10:00:28FromGitter<Araq> @kindlychung 'gintro' needs to be updated so that it compiles with newer versions of Nim.
10:00:53FromGitter<Araq> in fact, iirc the author of gintro asked for this error message :-)
10:01:21FromGitter<kindlychung> ok.
10:02:57FromGitter<kindlychung> So at the moment we don't have an up-to-date gtk3 wrapper, right?
10:05:17FromGitter<Araq> well try to patch it please
10:05:31FromGitter<Araq> with a bit of luck only a couple of declarations have to be removed
10:06:51*NamPNQ joined #nim
10:15:46Abnegationdoes arraymancer have support for local convolutions?
10:19:54PMunchDoesn't oldgtk3 still work?
10:20:19*Vladar quit (Quit: Leaving)
10:21:11FromGitter<gogolxdong> How does nim forum implement login using karax?
10:22:29PMunchgogolxdong: https://github.com/PMunch/SDLGamelib
10:22:33PMunchWoops, wrong link..
10:22:35PMunchhttps://github.com/nim-lang/nimforum/tree/master/src
10:22:44FromGitter<mratsim> @Abnegation local convolution? like that? https://github.com/edubart/arraymancer-vision/blob/master/src/arraymancer_vision/filters.nim#L22
10:23:31FromGitter<gogolxdong> Great, thanks.
10:24:13FromGitter<mratsim> @Abnegation, you can check the help there as well for convolution: https://mratsim.github.io/Arraymancer/nnp.nnp_convolution.html
10:26:06PMunchgogolxdong, however federico3 have also written a http authentication module: https://github.com/FedericoCeratto/nim-httpauth
10:26:10PMunchWhich might be more apt
10:27:31AbnegationI'm quite new to deep learning and neural networks, it's quite hard for me to guess inputs and outputs sizes, but initially this convolution doesn't seem to be the type of convolution I'm referring too.
10:30:35FromGitter<gogolxdong> I'm fine with the authentication we are using now , but desire how to jump to the content page.
10:32:07Abnegationhow hard would it be to add new types of convolutions for someone using arraymancer? I'm familiar with threading, gpu programming, and stuff, though I'm really not familiar with NIM, I'm not asking for this stuff to be implemented, but rather to ask how hard would it be for a Novice to implement it?
10:32:40*dddddd joined #nim
10:40:45FromGitter<admin0day> hi folks,how can i expression the size_t in C by using the Nim?
10:40:48FromGitter<gogolxdong> oh, I don't think it's the same,but a good material to learn karax.
10:40:50*Vladar joined #nim
10:44:07FromGitter<gogolxdong> login page and dashboard are isolated.
10:48:15Yardanico@admin0day what for?
10:48:55Yardanicothere's uint types with different sizes
10:48:59Yardanicolike uint32/uint64
10:55:46*flipcoder joined #nim
10:55:57FromGitter<alehander42> @Araq do you think the config object outFile should contain the name even with no `--out` ?
10:56:20FromGitter<alehander42> otherwise how should i determine what is the default name
10:56:43FromGitter<alehander42> aah getOutFile
10:56:49FromGitter<alehander42> awesome
10:57:42dom96@admin0day: csize https://nim-lang.org/docs/system.html#csize
10:57:59Yardanicodom96, oh
11:00:00FromGitter<alehander42> so `m.g.config.getOutFile(m.g.config.projectFull, "").rsplit("/", 1)[1]`
11:00:07FromGitter<alehander42> is there a better way to do it
11:01:55FromGitter<alehander42> uh no `if m.g.config.outFile.len > 0: m.g.config.outFile else: m.g.config.getOutFile(m.g.config.projectFull, "").rsplit("/", 1)[1]`
11:11:20*elrood joined #nim
11:12:31*gb00s joined #nim
11:16:46*NamPNQ quit (Remote host closed the connection)
11:18:23*flipcoder quit (Quit: Leaving)
11:25:05FromGitter<mratsim> @abnegation can you show me the convolution you are talking about. I don’t think it’s hard if you have an implementation in say Numpy it straightforward to port
11:26:20FromGitter<kindlychung> after fixing some proc overloading errors, now i keep getting this: ` ... /home/kaiyin/.nimble/pkgs/gintro-#head/gintro/gimpl.nim(78, 41) Error: index out of bounds`
11:27:04FromGitter<kindlychung> (https://files.gitter.im/nim-lang/Nim/yLcp/image.png)
11:27:11federico3did anything change around indexing and bound checking?
11:29:27FromGitter<kindlychung> I couldn't find anything related to indexing in that particular line.
11:33:11Yardanicofederico3, where?
11:33:30Yardanicowell, in devel you can't access null terminator
11:33:36federico3aha!
11:33:48federico3quite a big, breaking change it seems
11:33:58Yardanicofederico3, yeah
11:34:07Yardanicofederico3, there's --laxStrings:on to restore old behaviour
11:34:15Yardanico(for deprecation period)
11:34:45federico3accessing terminator byte in strings was a really ugly wart, so that's progress
11:35:22dom96except that now practically all code is broken
11:35:45Yardanicodom96, well, we can fix it
11:35:49Abnegation
11:35:50Abnegationlocal_conv2d from keras backend https://keras.io/backend/ It's really really slow. Right now it's my bottleneck in my tensorflow implementation mratsim
11:36:10YardanicoAbnegation, you should use @ to ping someone on gitter
11:36:11Yardanico@mratsim
11:36:19PMunchWait, does that mean that reverse indexing changes as well?
11:36:31YardanicoPMunch, it doesn't seem so
11:36:33Abnegationbasically, it's a convolution but 1 set of weights per pixel, and each kernel runs just around one pixel.
11:36:35PMunchSo [^0] is the last character in a string
11:37:10dom96^1 is
11:37:43Abnegationmy question is not so much about slicing with numpy like commands, but rather, how hard would be to implement something at low level that runs fast, but still interacts with the rest of the library.
11:38:19federico3dom96: that's also ugly. Any plan to fix it?
11:39:30FromGitter<mratsim> @Abnegation, I’m checking the implementation here - https://github.com/keras-team/keras/blob/ebdc1c8759f65768212b7e7113b5cae82e9df3d4/keras/backend/tensorflow_backend.py#L4335 ⏎ ⏎ I’m not surprised it’s slow, it’s implemented in Python
11:39:44dom96federico3: no, it's the same as in Python except for the different symbol
11:41:08Abnegationmratsim, would you mind if I dm you for a moment?
11:41:20YardanicoAbnegation, you can DM him on gitter
11:41:21FromGitter<mratsim> I’m not too sure how to implement it with the best efficiency here, probably the im2col algorithm can be extended so it handles unshared weights
11:41:25FromGitter<mratsim> https://github.com/mratsim/Arraymancer/blob/master/src/nn_primitives/fallback/conv.nim
11:41:47FromGitter<mratsim> nop I don’t mind but you need to be on Gitter
11:42:03FromGitter<mratsim> there is a Gitter room for Arraymancer as well ;)
11:48:27AbnegationI messaged you on Gitter)
11:48:48YardanicoAbnegation, are you from Russia by any chance? :P
11:48:49*nsf joined #nim
11:49:21AbnegationNo, I'm not, but I'm no native englishpeaker either.
11:49:39YardanicoAbnegation, because usually only people who speak russian a lot use smiles without eyes
11:49:58Yardanico)
11:50:10Abnegationwithout eyes?
11:50:15YardanicoAbnegation, yep
12:01:58*fvs joined #nim
12:17:41*nasusiro joined #nim
12:35:05*SenasOzys quit (Ping timeout: 240 seconds)
12:35:40FromGitter<kindlychung> So the `$` op for `NimNode` doesn't exist any more?
12:35:55FromGitter<kindlychung> I am looking at some code in gintro here.
12:40:48*SenasOzys joined #nim
12:45:15FromGitter<kindlychung> I've got most of the examples working with nim 0.18.0 now, but the listview example has lots of problems, it seems.
12:46:24*leorize joined #nim
12:47:23PMunchkindlychung, NimNodes have various representations
12:47:38PMunchSo which one should match with $
13:00:45*PMunch quit (Quit: Leaving)
13:07:07*tanger_ joined #nim
13:14:13Abnegationwhat's the best resource to learn nim at its most advanced level in the shorter time, I don't mind not sleeping
13:15:00FromGitter<narimiran> what do you mean by "its most advanced level"?
13:17:01*fjvallarino quit (Remote host closed the connection)
13:17:09*fjvallarino joined #nim
13:20:17YardanicoAbnegation, well, probably reading source code
13:20:20Yardanicothere's also a manual
13:23:00AbnegationWell, I suppose "advanced level would be" become able to read random code with a low chance of being surprised.
13:26:45dom96Depends what you want to use Nim for
13:26:54YardanicoAbnegation, well, probably "Nim in Action" book will be good
13:26:55Yardanicoit covers a lot
13:27:35FromGitter<Araq> also read the manual, people say it's really good (not sure why they say this :P )
13:27:52YardanicoI also mentioned manual, yeah, it contains every advanced feature :)
13:28:31dom96Nim in Action is of course the best :P https://book.picheta.me/
13:30:25Yardanicodom96, it doesn't cover a few very advanced features like converters or term-rewriting macros ;)
13:30:29Yardanicobut yeah, they're rarely useful
13:31:19Yardanicoalso sadly things like {.this: self.} and using statement are not in the book (they can be useful too) :)
13:31:46Abnegationwill give it a deep look this afternoon.
13:35:23dom96Yardanico: 90% of people won't care about those features
13:45:08FromGitter<Araq> I want to remove .this again...
13:45:15FromGitter<Araq> but 'using' is awesome :P
13:45:53dom96'using' should be removed too
13:45:56dom96It can be implemented as a macro
13:47:50FromGitter<Araq> it can't
13:47:54dom96Why?
13:48:55FromGitter<Araq> tbh I don't remember.
13:49:00Yardanico@Araq if you want to remove it - do it now :)
13:49:07Yardanicobecause almost no one knows about it really :D
13:49:38Yardanicowell, it can only help to save a few keystrokes
13:49:55dom96Maybe I should set up a poll to ask people which features they think should be removed/kept in Nim 1.0 ;)
13:50:03FromGitter<Araq> it is used in 'class' macros already... :-(
13:50:13Yardanicooh :(
13:50:36FromGitter<Araq> but we can deprecate it
13:50:44Yardanicosadly github has strange search so I can't search for "{.this"
13:50:49Yardanicobecause it brings results for "this" too
13:51:09dom96GitHub's search is infuriatingly bad
13:51:28Yardanicohttps://help.github.com/articles/searching-code/#considerations-for-code-search
13:51:58YardanicoYou can't use the following wildcard characters as part of your search query: . , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ]. The search will simply ignore these symbols.
13:52:29dom96lol
13:52:54Yardanico@Araq btw, why do you want to remove {.this.} ? because it can lead to bugs?
13:53:34FromGitter<Araq> Python lacks it and survives
13:53:58FromGitter<Araq> and the complexity is better spent for a different builtin rewrite rule
13:54:05Yardanicook then, I agree
13:54:09dom96Python has a magical 'self'
13:54:15FromGitter<Araq> how so?
13:54:29FromGitter<Araq> self.foo + self.bar + self.killmealready is Python.
13:54:42dom96If you're in a class context, no?
13:55:04dom96Oh, you still need to explicitly specify 'self' then
13:55:10dom96yeah, remove it
13:55:21dom96Confused why 'class' macros use this
14:04:56*BitPuffin joined #nim
14:08:13FromGitter<mratsim> this doesn’t work with generics
14:09:06FromGitter<mratsim> strformat as well :/
14:09:36*mitai42 quit (Remote host closed the connection)
14:11:14FromGitter<kayabaNerve> Morning. I'm surprised at how high quality the manual is and refer to it, but read the tutorials, not the manual. I also read Dom's book, and was very pleased with Nim by Example, again for reference. ⏎ ⏎ Read: Tutorials/Dom's Book ⏎ Refer: Manual/Nim by Example [https://gitter.im/nim-lang/Nim?at=5b3e2701e534eb69a5caa928]
14:11:56tanger_++ for Nim In Action
14:14:04Abnegationdom's book
14:14:29FromGitter<kayabaNerve> tanger_: I think you mean inc(Nim In Action)
14:14:33FromGitter<kayabaNerve> So uncivilized.
14:15:04FromGitter<kayabaNerve> Abnegation: Why not call it that? Others have already said its Nim In Action. I made sure not to ping him when I did it.
14:16:38dom96very kind of you :)
14:17:02yglukhov[i]Araq: +1 for deprecating {.this.} :)
14:19:02FromGitter<kayabaNerve> That said, I was working on a book of my own, and he ruined the market :/
14:19:13tanger_Haha
14:21:05FromGitter<kayabaNerve> :P Joking. I wrote it when I was going through a bad time, I got out of that time, and then I stopped writing it. I don't have anything close to sharing.
14:22:11Araqhttp://envisage-project.eu/proving-android-java-and-python-sorting-algorithm-is-broken-and-how-to-fix-it/
14:36:08Araqyay, PR for Ormin has arrived :D
14:44:38*PMunch joined #nim
14:48:02*nsf quit (Quit: WeeChat 2.1)
14:50:40*miran joined #nim
14:54:39*floppydh quit (Quit: WeeChat 2.1)
15:05:26*endragor quit (Remote host closed the connection)
15:05:56*endragor joined #nim
15:07:39*leorize quit (Read error: Connection reset by peer)
15:10:22*leorize joined #nim
15:10:22*endragor quit (Ping timeout: 256 seconds)
15:12:51*SenasOzys quit (Read error: Connection reset by peer)
15:13:06*SenasOzys joined #nim
15:22:59*leorize quit (Ping timeout: 276 seconds)
15:24:55*cryptocat1094 joined #nim
15:26:44*ng0 joined #nim
15:27:35ng0hi, a whle back we started looking into potential replacements for our online irc logs. what is it you use? All I could get out of the server was "Jester"
15:27:49ng0s/we/we at GNUnet/
15:27:53*leorize joined #nim
15:30:20Yardanicong0, it's a custom implementation
15:30:24Yardanicohttps://github.com/nim-lang/nimbot
15:30:29YardanicoNimBot collects all irc logs
15:30:51Yardanicoand for html part - https://github.com/nim-lang/nimbot/blob/master/src/irclogrender.nim
15:31:15ng0ah, written in nim. I did almost bet on it :) my other idea was perl
15:31:21ng0thanks
15:31:27dom96ng0: Should be easy to adjust for your needs :)
15:32:05Yardanicoif anyone is interested: I did a quick port of https://github.com/guptarohit/asciigraph - https://gist.github.com/Yardanico/ed3d8e68910437376a108387c0171bbd should I make a nimble package out of it?
15:32:15Yardanicoit's really just a straightforward port
15:32:22Yardanicogo code maps almost 1:1 to nim code here
15:32:31dom96sure
15:32:49ng0so far we have a strong tendency to botbot.me selfhosted, at least we want something with a search function.. maybe we end up with custom code. what we have right now is horrible (Drupal 7 irc bot)
15:33:29*leorize quit (Read error: Connection reset by peer)
15:34:50dom96hrm, does botbot.me have search?
15:34:55ng0yes
15:35:00ng0as far as I remember
15:35:08Yardanicodom96, yeah, it does
15:35:43Yardanicodom96, btw, does nimble supports package which both provides a binary and a library?
15:35:44dom96Maybe I'm blind, but I don't see a search anywhere
15:36:07ng0oh.. does it? It has been a while since I looked into it
15:36:15ng0we scheduled the move for 2019
15:36:22dom96Yardanico: yes
15:36:29Yardanicodom96, ah, hmm, it doesn't
15:36:37Yardanicoit has endless scroll though
15:36:43*leorize joined #nim
15:36:45*Vladar quit (Quit: Leaving)
15:36:50dom96I dislike endless scroll though :P
15:38:14ng0hm. weird. thanks for making us notice again :D
15:39:01dom96I'm happy to assist if you want to hack NimBot :)
15:39:21ng0being able to search years of logs would be a benefit for the communities depending on our public log service. guess we have to talk about the topic again
15:39:29*leorize quit (Read error: Connection reset by peer)
15:40:32dom96Abusing google for this works pretty well: https://goo.gl/8uJ9LZ
15:40:35ng0I only came across nim because one of my friends and fellow developers started using it, helped debugging it to be functional on Guix. If anything I'm fairly new to this language.
15:41:37ng0I think it should be relatively easy to build a search function. but reinventing the wheel when you don't need to is (sometimes) no fun
15:43:52*leorize joined #nim
15:44:10*Trustable joined #nim
15:48:20ng0I'm not sure if our needs fit into what you target with nimbot. besides gnunet we have around 5 community channels and many years of logs depending on it. search is the number 1 feature everyone misses for finding references, etc. the database is I think in mysql but can be coverted to anything including simple irc log styles. I think we wanted timestamps to be gone as well as join/quit/part messages and other
15:48:22ng0"informational messages".
15:52:23ng0I'll read the source soon and see what could be done and what's already there. I have to get back to work. thanks for the chat :)
16:08:12dom96Sure. Thanks for dropping by. Feel free to ping me if you've got any questions about the source :)
16:08:16*nsf joined #nim
16:08:47ng0ok, thanks
16:08:53dom96This simple PR I just made should fix 4 async issues at once https://github.com/nim-lang/Nim/pull/8209 :D
16:10:12*yglukhov[i] quit (Remote host closed the connection)
16:11:26*leorize quit (Quit: Quit)
16:17:36*yglukhov[i] joined #nim
16:24:50Yardanicooh, parseopt doesn't support things like "-key value" at all? :(
16:25:44*sotrhraven joined #nim
16:26:48FromGitter<Araq> it does
16:26:54FromGitter<Araq> check the devel version.
16:34:57Yardanico@Araq I've meant something like this - https://gist.github.com/Yardanico/844e8aebb6371df4377961b3a6c9f144
16:35:31FromGitter<Araq> I know, check its docs
16:35:49FromGitter<Araq> this feature was recently added, but you need to predeclare which options take arguments
16:41:44*yglukhov[i] quit (Remote host closed the connection)
16:43:37PMunchHmm, what is the actual difference between an int and a cint?
16:47:34FromDiscord<k0pernicus> Sort of `typedef` of an `int`...?
16:47:43FromDiscord<k0pernicus> (I don't see the difference too)
16:56:41FromGitter<Varriount> PMunch: A cint is always 32 bits. An int is the size of a pointer.
16:57:41PMunchWait, always 32 bit?
16:59:52FromGitter<kayabaNerve> Isn't a 64 bit system pointer 64 bits?
17:00:14FromGitter<kayabaNerve> Isn't that the whole point of having a 64 bit system?
17:01:03*SenasOzys quit (Ping timeout: 268 seconds)
17:05:37sotrhravenwell you could check the value of an int. I am new just starting nim.
17:06:18PMunchkaybaNerve, yeah hence a Nim int is 64 bits on a 64 bit system, and 32 bits on a 32 bit system
17:10:14FromGitter<mratsim> in C a int is 32 bit on x86 and x86_64. So Nim int and C int are different, if you want C int in Nim use `cint`or `int32` (though C int might be 16-bit on 16-bit sytems, I’m not sure)
17:12:16sotrhravenis there a proc to check value remeber (I am new)
17:12:26Yardanicosotrhraven, check what?
17:12:32sotrhravenvalue of an int
17:12:37sotrhravenor float
17:12:46sotrhravenlike 32 or 64
17:12:49sotrhravenbit
17:13:13Yardanicoyou can check bytes
17:13:17Yardanico!echo sizeof(int)
17:13:25Yardanico!eval echo sizeof(int)
17:13:27NimBot8
17:13:31Yardanico^64bit
17:14:25sotrhraven8
17:15:13sotrhravencint 4
17:15:17PMunchmratsim, a C int can be different things
17:15:40Yardanico!echo sizeof(cint)
17:15:45Yardanico!eval echo sizeof(cint)
17:15:47NimBot4
17:15:49PMunchIt's a minimum of 16 bit, but as long as it is smaller or equal to a long and bigger or equal to a short it's fine
17:15:54PMunchVaries by implementation
17:18:29sotrhravenso I am on Solus linux amd64
17:18:51Yardanicosotrhraven, it depends on the compiler
17:18:59Yardanicoand you shouldn't use cint in normal nim code
17:19:05Yardanicoyou should use it only when you're interfacing with C
17:19:58sotrhravenok, so different if I was using llvm or js instead of gcc
17:20:54Yardanicosotrhraven, you can't use cint with LLVM (if you mean nlvm) or JS backends
17:21:03Demos[m]it's literally just "int" in C
17:22:08Demos[m]https://en.cppreference.com/w/c/language/arithmetic_types
17:22:55sotrhravencool, good things to know
17:34:15*noonien quit (Quit: Connection closed for inactivity)
17:35:50*yglukhov[i] joined #nim
17:39:32*sotrhraven quit (Quit: Konversation terminated!)
17:49:08*thomasross quit (Remote host closed the connection)
17:49:31*thomasross joined #nim
18:04:00*find0x90 joined #nim
18:04:42*nsf quit (Quit: WeeChat 2.1)
18:10:20*rockcavera quit (Remote host closed the connection)
18:12:50*find0x90 quit (Quit: find0x90)
18:15:48*rockcavera joined #nim
18:19:27*Vladar joined #nim
18:33:39*find0x90 joined #nim
18:42:47*find0x90 quit (Quit: find0x90)
18:43:01*fvs quit (Remote host closed the connection)
18:43:06*fvs` joined #nim
18:44:13*find0x90 joined #nim
19:13:57*find0x90 quit (Quit: find0x90)
19:15:06*yglukhov[i] quit (Read error: Connection reset by peer)
19:15:42*yglukhov[i] joined #nim
19:23:18*fvs` left #nim ("ERC (IRC client for Emacs 25.3.1)")
19:34:18*yglukhov[i] quit (Read error: Connection reset by peer)
19:34:57*yglukhov[i] joined #nim
19:35:55*find0x90 joined #nim
20:01:46*Vladar quit (Quit: Leaving)
20:11:16*find0x90 quit (Quit: find0x90)
20:11:18dom96https://github.com/TechEmpower/FrameworkBenchmarks/pull/3912 🚀
20:14:04FromGitter<mratsim> Next lib should be called HttpWerewolf
20:19:13dom96Maybe WereSocket for a WebSocket implementation
20:20:10*krux02 joined #nim
20:23:51FromDiscord<exelotl> time to read nim book chapter 3
20:24:49FromDiscord<exelotl> 1 and 2 were pretty straightfoward, biggest takeaway for me was the difference between objects and tuples
20:27:42*lompik quit (Ping timeout: 256 seconds)
20:35:18FromGitter<Quelklef> @exelotl and whats the difference between objects and tuples
20:36:54*fjvallarino quit (Remote host closed the connection)
20:37:21*fjvallarino joined #nim
20:38:56FromDiscord<exelotl> objects use nominative typing, so two differently named object types with exactly the same fields in exactly the same order are not considered to be the same type
20:39:43FromGitter<Quelklef> Oh! I thought Nim was totally structurally typed. TIL
20:40:52FromDiscord<exelotl> yeah, and then with tuples being structurally typed, even the names of the fields don't matter. They just have to have the same field types in the same order to be considered the same type
20:41:14FromDiscord<exelotl> yeah, and then with tuples being structurally typed, even the names of the fields don't matter (if they have names). They just have to have the same field types in the same order to be considered the same type
20:41:27*fjvallarino quit (Ping timeout: 245 seconds)
20:46:56dom96yay, my writing is teaching people stuff :D
20:47:17dom96Thank you for picking up a copy exelotl :)
20:55:07*cryptocat1094 quit (Quit: later)
20:59:35*BitPuffin quit (Remote host closed the connection)
21:06:29FromDiscord<exelotl> thank you for writing it :)
21:20:24*miran quit (Quit: Konversation terminated!)
21:22:20*fjvallarino joined #nim
21:22:36PMunchHmm Araq, any examples on using this: https://github.com/Araq/libffi ?
21:32:35*Trustable quit (Remote host closed the connection)
21:44:48*find0x90 joined #nim
21:54:53*PMunch quit (Quit: leaving)
21:59:42*NimBot joined #nim
22:05:17*krux02 quit (Remote host closed the connection)
22:06:29FromGitter<Quelklef> `git config --global user.name` probably
22:07:55*yglukhov[i] quit (Remote host closed the connection)
22:10:23dom96yep
22:21:28*xet7 quit (Quit: Leaving)
22:29:30nasusiroQuelklef and dom96: confirmed
22:29:36nasusirofor a moment I freaked out lol
22:34:58*fjvallarino quit (Remote host closed the connection)
22:35:04*fjvallarino joined #nim
22:40:42CodeVancehow to get the path to a nim package
22:40:55*yglukhov[i] joined #nim
22:45:07dom96nimble path pkg
22:45:21*yglukhov[i] quit (Ping timeout: 248 seconds)
22:49:14*ng0 quit (Quit: Alexa, when is the end of world?)
22:50:22CodeVancenimble.directory isn't working
22:50:22CodeVance400
22:57:36federico3thanks CodeVance
22:57:51*find0x90 quit (Quit: find0x90)
22:58:18CodeVance:)
22:59:47*elrood quit (Quit: Leaving)
23:01:44nasusirodom96: when you run nimble init, it asks you about Package type and you have to choose between lib and bin
23:02:08nasusirowhatever you choose, it creates an src and tests directories
23:02:28nasusirowhy does it do so for a lib?
23:04:27CodeVancenasusiro: bin -> src/packagenamepkg lib src/packagename
23:05:06nasusiroCodeVance: meaning?
23:06:48dom96nasusiro: hrm? It's not just about directories/files
23:06:51dom96Check the .nimble file
23:07:01CodeVancethat a bin package has to have a different package source folder name, or else the binary's name will clash with it on certain os.
23:07:02CodeVancebinary also get sent to the .nimble/tools folder I think
23:07:17CodeVance.nimble/bin
23:07:56*rockcavera quit (Ping timeout: 256 seconds)
23:08:03dom96CodeVance: That's only the case for "hybrid" packages
23:08:05nasusirodom96: I borrowed your book from my university's library and I'm doing the Nimble example from Chapter 5
23:08:24dom96whoa, which uni is this? :O
23:08:51nasusiro:D why are you so interested to know about it?
23:09:22dom96Because it's either my university, or a completely different university library that stocks my book (which is awesome)
23:09:39nasusiroit's one of our public technological university's
23:09:45nasusiro*universities
23:10:07nasusiroanyhow
23:10:25nasusirothe example contains NimbleExample/NimbleExample
23:10:27nasusirocorrect?
23:11:30nasusiroinside the inner NimbleExample, I should have data.nim, math.nim, and private directory with utils.nim
23:11:46nasusiroon the outer NimbleExample I run nimble init
23:11:58nasusiroand asked me about lib or bin
23:11:58dom96nasusiro: I guess you don't want to publicly say your uni, that's okay :)
23:12:02*dom96 was just curious
23:13:04nasusiroI can give you their name, but they have a policy that forbids us from sharing books' title names in public for some reason
23:13:42nasusiroI don't know why is that and also they forbid people from taking pictures with books' title and uploading on FB and Instagram
23:13:46dom96That's odd. But anyway, hrm, it's actually possible that this was broken in the book
23:13:52dom96previous versions of Nimble didn't create those directories
23:14:52nasusirotoo bad this book is not FOSS-ed so we can fix it and keep it updated
23:15:07nasusiroit could attract so many people that are interested in Nim
23:17:04dom96Printed books cannot be edited easily :)
23:17:41nasusiroI meant if it were in a markdown format or even HTML
23:17:42*rockcavera joined #nim
23:19:19dom96There are plenty of guides/manuals/tutorials which are open
23:21:43dom96In any case, I'll look into this. I created an issue as a reminder: https://github.com/dom96/nim-in-action-code/issues/4
23:25:05nasusirocool
23:25:23nasusirobefore I return this book, I will let you know with details and possible errata
23:25:34nasusiroone unfair comparison you did was with C
23:25:39dom96yeah, always helpful
23:25:47nasusiroabout the use of curly braces
23:25:53dom96That doesn't sound like errata :P
23:26:04nasusirothat's part of the details wiseguy :P
23:26:20dom96You can post other errata you find here btw: https://forum.nim-lang.org/t/3716
23:26:45nasusirocool
23:27:36nasusiroby the way dom96, is there anywhere a v1.0 roadmap?
23:28:14FromGitter<honewatson> https://github.com/nim-lang/Nim/milestone/2
23:28:15dom96https://github.com/nim-lang/Nim/milestone/2
23:28:38nasusirothank you both
23:30:24FromGitter<honewatson> Lot of issues relating to Concepts[T] and static[T]
23:33:30FromGitter<honewatson> Sometimes feel like Nim v1 will not be released until the perfect language has been created
23:45:02*dddddd quit (Remote host closed the connection)
23:58:16nasusirodom96: based on this ticket of yours, this "case" isAsync: bool syntax looks new to me. You are not mentioning anything of such syntax in NIA
23:58:34nasusirois it a newly added feature after the book got released?