<< 21-02-2018 >>

00:00:37dom96not a stable one
00:19:38*byte512_ joined #nim
00:22:38*byte512 quit (Ping timeout: 256 seconds)
00:29:42GitDisc<treeform> What should I use instead? "Warning: random is deprecated [Deprecated]"
00:38:06*derlafff quit (Remote host closed the connection)
00:38:23*derlafff joined #nim
01:10:05*JacobEdelman quit (Excess Flood)
01:10:25*JacobEdelman joined #nim
01:13:46FromGitter<zetashift> @treeform rand() : https://forum.nim-lang.org/t/3486
01:13:55FromGitter<zetashift> second last post
01:15:54FromGitter<zetashift> ``````
01:32:34*MJCaley joined #nim
02:03:10*vivus joined #nim
02:04:09*yglukhov joined #nim
02:08:35*yglukhov quit (Ping timeout: 240 seconds)
02:37:02*SenasOzys_ quit (Remote host closed the connection)
02:44:52*MJCaley quit (Quit: MJCaley)
02:52:48*chemist69 quit (Ping timeout: 256 seconds)
02:56:33FromGitter<zacharycarter> @mratsim thanks for the game engine links - found some new stuff :)
02:56:58FromGitter<zacharycarter> @Yardanico I did not see that - that stinks though :/
03:06:21*chemist69 joined #nim
03:06:42*endragor joined #nim
03:18:55*vlad1777d quit (Ping timeout: 248 seconds)
03:19:18*arnetheduck quit (Ping timeout: 252 seconds)
03:24:55*vivus quit (Quit: Leaving)
03:32:11*arnetheduck joined #nim
03:40:26GitDisc<treeform> @zetashift thanks!
03:41:14*instrud quit (Ping timeout: 276 seconds)
04:09:14*arthurz joined #nim
04:29:23arthurzHi, are there any #nim test frameworks?
04:30:22*dddddd quit (Remote host closed the connection)
04:51:36*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
04:53:09*Senketsu quit (Remote host closed the connection)
04:59:44*arthurz quit (Quit: Leaving)
05:06:10*Senketsu joined #nim
05:39:26*nsf joined #nim
05:47:19*endragor quit (Remote host closed the connection)
06:03:42*BitPuffin joined #nim
06:09:23*instrud joined #nim
06:19:40*tefter quit (Remote host closed the connection)
06:22:51*endragor joined #nim
07:24:24FromGitter<honewatson> What sort are you after?
07:34:18*enthus1a1t joined #nim
07:35:41*solitudesf joined #nim
07:36:21*enthus1ast quit (Ping timeout: 264 seconds)
07:57:40*RushPL quit (Remote host closed the connection)
07:58:50*RushPL joined #nim
08:01:49*gokr joined #nim
08:10:11*yglukhov joined #nim
08:16:41*qwert-san is now known as qwertfisch
08:31:26*yglukhov quit (Remote host closed the connection)
08:36:20*xkapastel quit (Quit: Connection closed for inactivity)
08:36:58*Yardanico_ joined #nim
08:42:16FromGitter<mratsim> There is unittest and "when isMainModule: doAssert"
08:43:17*Yardanico_ quit (Read error: Connection reset by peer)
08:46:45*floppydh joined #nim
08:47:45*rokups joined #nim
08:48:23*PMunch joined #nim
09:09:25*Arrrr joined #nim
09:33:36*j_rod_s quit (Read error: Connection reset by peer)
09:35:57*solitudesf quit (Ping timeout: 256 seconds)
09:50:10*sendell joined #nim
09:55:45*SenasOzys joined #nim
09:59:07*j_rod_s joined #nim
10:01:20*kier quit (Remote host closed the connection)
10:01:57*kier joined #nim
10:05:48*derlafff quit (Remote host closed the connection)
10:06:10*derlafff joined #nim
10:40:40*Vladar joined #nim
10:48:33dom96Any of you guys want to help write a FOSDEM recap article? :)
10:50:59FromGitter<mratsim> what help do you need?
10:53:21*yglukhov joined #nim
11:00:48*yglukhov quit (Remote host closed the connection)
11:03:52*yglukhov joined #nim
11:10:16FromGitter<krux02> if there a fosdem video updloaded somewhere?
11:10:23FromGitter<krux02> I want to see it
11:17:48PMunchdom96, I already tried to write up my common-questions post. But managed to hit the wrong keyboard shortcut and closed the window without saving :(
11:18:04PMunchWhat kind of recap were you thinking?
11:22:16FromGitter<ChristianWitts> @krux02 https://fosdem.org/2018/schedule/
11:23:17PMunchAll the talks are also on YouTube
11:25:16*vlad1777d joined #nim
11:25:32*gokr left #nim (#nim)
11:25:57FromGitter<Bennyelg> this is the nimorm to use?
11:25:58FromGitter<Bennyelg> https://github.com/nanoant/nim-orm
11:25:59FromGitter<Bennyelg> ?
11:27:29dom96Not really sure what kind of recap. Just trying to let others know how things went I suppose
11:27:33dom96The common questions are a good idea
11:27:46dom96Maybe you'd be up for writing them up again? And saving them this time? :)
11:29:25PMunchYeah, I was actually thinking of it the other day
11:35:19dom96awesome :)
11:37:02*yglukhov quit (Remote host closed the connection)
11:42:28PMunchJust logged an error report with the CMS as well to let them know they should include an auto-save feature :P
11:49:35dom96Here is one recap that somebody wrote: https://kopano.io/chocolates-and-conversations-at-fosdem-2018/
12:00:41*yglukhov joined #nim
12:02:32planetis[m]how 'moigagoo' made commits without a PR and f* sh* up? https://github.com/nim-lang/Nim/commits/devel/lib/pure/collections/tables.nim
12:04:10dom96what did he f* up?
12:05:37*yglukhov quit (Remote host closed the connection)
12:06:07planetis[m]toCountTable
12:06:36planetis[m]smth as simple...
12:08:21dom96elaborate
12:08:23dom96is it now broken?
12:08:58*yglukhov joined #nim
12:09:44planetis[m]yes it doen't compile.
12:09:49planetis[m]i made a PR
12:09:50*Snircle joined #nim
12:10:57planetis[m]btw how he made changes without a pull request?
12:12:33dom96I guess he has commit access
12:18:33dom96anyway, I merged your PR
12:20:34planetis[m]thx dom
12:22:00*yglukhov quit (Remote host closed the connection)
12:25:38*yglukhov joined #nim
12:25:51*yglukhov quit (Remote host closed the connection)
12:28:33*vlad1777d quit (Ping timeout: 264 seconds)
12:31:14*SenasOzys quit (Ping timeout: 260 seconds)
12:34:25enthus1a1tPMunch: i want to report about my cms search, we have played with couchecms but where not really happy with it. So we've choosen bolt-cms. If you have to build something for a customer (and there is no apropriate nim cms ;) ) try bolt!
12:35:41enthus1a1ta bolt-cms nim clone would be it
12:36:42PMunchHmm, interesting
12:37:08PMunchWhat didn't you like with CouchCMS and how does Bolt compare?
12:39:04enthus1a1tbolt uses twig templateing (which is in fact a jinja2 clone), everything is much clearer (and more mature), the multilang support is better, the model system is better ...
12:39:09*SenasOzys joined #nim
12:39:53PMunchModel system?
12:40:56enthus1a1tit looks a little bit like ormin, you define your model which gets created on the db and defines the rendering in the admin panel
12:41:23PMunchAh, so it's a bit more manual that Couch in that regard
12:41:31PMunchI can see how that would be nice
12:41:54PMunchCouch does have a bit of a "magic" feel to it
12:42:10PMunchYou don't always know 100% if something is going to do what you think it will or not :P
12:46:36PMunchWhen I was loooking for a CMS last time I was actually considering to just write my own
12:46:53enthus1a1ti where too...
12:47:26PMunchHmm
12:47:32PMunchMaybe a CMS creator is the answer
12:47:56PMunchEveryone eventually considers writing their own CMS, so maybe writing something that makes it easier to write CMS'es is the answer
12:48:23enthus1a1ti've started a jinja2 clone but it lacks control features like for and if
12:48:54enthus1a1tthats because i've never written a complete language parser yet...
12:48:56PMunchMan, the wib-space moves too fast to just dip in and out of :P
12:49:03PMunchNever even heard of Jinja
12:49:11PMunchAnd now there's a sequel?
12:50:03enthus1a1ti think the template inheritance is very good in jinja
12:50:42*Arrrr quit (Read error: Connection reset by peer)
12:51:38PMunchOh wait, I was playing around with Flask, so apparently I've used Jinja2 :P
12:51:48enthus1a1tyes
12:52:21enthus1a1tand twig is the php version of it (and nimWebTemplates was my attempt to clone it)
13:00:35*nc-x joined #nim
13:02:35dom96well, there you go
13:03:17PMunchHuh?
13:07:54*nc-x quit (Quit: Page closed)
13:09:53dom96oh right, I muted webchat
13:09:58dom96because troll
13:10:03dom96sorry nc-x
13:10:08dom96<nc-x> dom96, planetis[m]: Here is the counttable PR by moigagoo https://github.com/nim-lang/Nim/pull/6977
13:10:13dom96This is what nc-x said
13:10:24dom96please use gitter instead if you can
13:10:48FromGitter<nc-x> Okay 😄 👍
13:16:09*dddddd joined #nim
13:23:57dom96You guys have any ideas how to better solve this? https://github.com/nim-lang/Nim/pull/7149
13:26:01FromGitter<mratsim> kill http with fire? :trollface:
13:27:56dom96I could maybe make the API better by using iterators
13:28:04Araqhmm my OSX cannot write to my external hard disk
13:28:06dom96but that would just build over the callbacks
13:28:35FromGitter<mratsim> @Araq, that’s FAT (pun intended)
13:28:45Araqno, NTFS
13:28:55dom96OSX cannot write to NTFS IIRC
13:29:19AraqOSX is pure shit.
13:29:26dom96er... MS patents probably prevent it
13:29:27FromGitter<mratsim> ntfs-3g works, availaible in homebrew casks
13:29:42dom96So actually, MS sucks
13:29:44Araqdom96: Linux can do it
13:30:05FromGitter<mratsim> the guy who did it exposed himself to a lawsuit
13:30:28dom96out of the box? doubt it
13:30:42FromGitter<mratsim> but it does through ntfs-3g like in OSX. The only issue is that the rtfs-3g driver are huge CPU hogs
13:31:17Araqdom96: pretty sure, out of the box but I haven't run Linux for quite some time
13:31:24livcdyeah i remember installing ntfs-3g on osx when i needed to do it
13:31:40Araqit fails to boot in my VM and I can't be bothered to reinstall it
13:31:59Araqntfs-3g: OsxfuseRequirement unsatisfied!
13:31:59AraqYou can install with Homebrew-Cask:
13:31:59Araq brew cask install osxfuse
13:32:01AraqYou can download from:
13:32:03Araq https://osxfuse.github.io/
13:32:31Araqthank god we have 'brew' otherwise I would ... need to ... do the same.
13:33:38dom96Better than "Cannot install due to unknown error"
13:36:01Araqit's not my fault return values and errno can disagree
13:36:28dom96Oh, I wasn't making a dig on Nim there
13:37:10dom96Ugh, these http client streaming semantics are difficult.
13:37:17Araqin fact, errno is an abomination ;-)
13:37:33Araqso ... I got ntfs-3g
13:37:45Araqnow what? 'cp -r ' fails anyway
13:37:57dom96What should happen if the user makes a request without reading the body, then makes another request?
13:38:05dom96Should the body be read automatically and discarded?
13:38:12dom96Should the body be read automatically and kept?
13:38:37Araqshouldn't I use 2 request objects for 2 requests?
13:38:58dom96You don't use request objects
13:39:04dom96They are returned by the `request` proc
13:39:10dom96You use an HttpClient object
13:39:21dom96And there are times when it is reused
13:39:28Araqyes, that API is bad :-)
13:39:38dom96oh of course.
13:39:42dom96So we need to rewrite httpclient
13:39:43dom96okay
13:39:49Araqnah
13:39:52dom96I'll just close my PR and allow you to do that
13:39:52Araqnot rewrite
13:40:18Araqwell you asked for our opinion
13:40:34Araqnot fair to get upset about it
13:40:48FromGitter<Vindaar> @Araq: how did you mount the drive? Normally on Linux if you mount an ntfs drive as ⏎ ``mount -t ntfs-3g /dev/sda1 /mnt/Data"`` ⏎ it automatically mounts it with read write access
13:40:55Araqand I argued against this API before anyway
13:40:58FromGitter<Vindaar> Nevermind the "
13:41:44dom96Araq: I'm still waiting for you to explain what is bad about it
13:42:46dom96Also, I asked a very specific question
13:42:53dom96You chose to say the whole thing is bad
13:43:32Araqwell you yourself just told us why it's bad
13:43:51Araqit is stateful
13:43:58Araqsometimes it's re-used.
13:44:27Araqhow to pass HTTP headers wasn't obvious to me
13:44:39Araqthat would be another point about it.
13:45:37Araqproc httpRequest(method: GET/PUT, headers, url, proxies, followRedirects): Request
13:45:56dom96Okay, so it seems you don't understand why it's stateful
13:46:49Araqwould be my "natural" API, probably with even more parameters because HTTP is awful junk
13:47:59*chemist69 quit (Ping timeout: 255 seconds)
13:48:22*chemist69 joined #nim
13:49:06dom96This is really a minor detail
13:49:09dom96that we can easily improve
13:49:32Araqso why is it stateful?
13:49:52dom96Because you don't want to reconnect to google.com for each request
13:49:58dom96or any other website
13:50:08dom96most requests have a couple of redirects
13:50:37dom96Users also often request multiple resources from the same website
13:50:49dom96Reconnecting would be very slow
13:51:47Araqok but don't store the return value in there
13:52:02Araqthe return value should be returned
13:52:34Araq(or passed via 'result: var Request' as an optimization)
13:52:53dom96well I was wrong
13:52:55dom96there is no Request
13:52:58dom96There is only a Response
13:53:03dom96You've dreamt it up
13:53:20Araqno, it was actually a typo
13:53:47dom96I'm not storing Response anywhere
13:54:25Araqok, so there is no problem?
13:54:25dom96!eval import httpclient, typetraits; var x = newHttpClient(); echo(type(x.request))
13:54:27NimBotCompile failed: in.nim(1, 68) Error: type mismatch: got (HttpClient)
13:54:47dom96There is a problem
13:55:00dom96You still haven't answered my question
13:55:00FromGitter<andreaferretti> !eval import httpclient, typetraits; var x = newHttpClient(); echo(type(x.response))
13:55:03NimBotCompile failed: in.nim(1, 68) Error: undeclared field: 'response'
13:55:16FromGitter<andreaferretti> just checking :-)
13:55:36dom96!eval import httpclient, typetraits; var x = newHttpClient(); echo(type(x.request("google.com")))
13:55:38Araqwell rephrase your question
13:55:38NimBotCompile failed: in.nim(1, 76) Error: type mismatch: got (type Response)
13:56:26dom96Should the Response object store the read body forever
13:56:30dom96or should it be discarded
13:57:19dom96To be honest I think the former option is better
13:58:13Araqthe response object offers some way to lazily read the data, no?
13:58:30Araqif I discard it, well it should not read anything and be discarded
13:58:58dom96The data needs to be read before a new request is made
13:59:12dom96I can't make a new request until the data is read
13:59:14dom96That's the problem
14:00:12FromGitter<andreaferretti> many libraries offer a simple api that reconnects each time
14:00:42FromGitter<andreaferretti> or you can opt-in in a more complex and subtle api to first establish a connection and then reuse it
14:00:50FromGitter<andreaferretti> as many times as needed
14:01:15FromGitter<andreaferretti> the former being implemented on top of the latter
14:02:11Araqmount -t ntfs-3g /Volumes/Elements/ ~/projects/elements/
14:02:11Araqmount: exec /Library/Filesystems/ntfs-3g.fs/Contents/Resources/mount_ntfs-3g for /Users/andreasrumpf-mac/projects/elements: No such file or directory
14:02:31Araqbut that is a valid directory
14:02:51dom96A separate problem is that async/sync will behave differently (sync will not read the body, but async will)
14:03:10dom96But we can solve that later by extending the functionality of FutureStream
14:04:39Araqwell the library should just fail when misused
14:04:58Araqif I make another request and the old one is still pending, that's my fault
14:05:25Araqreading data that I didn't ask for can have unforeseen consequences
14:05:50dom96ok
14:06:33dom96That might turn out to be quite painful
14:06:38dom96but we'll be able to change it if it is
14:08:00Araqtrue
14:13:59FromGitter<Vindaar> I hardly know anything about OSX, but shouldn't the /Volumes directory already refer to a disk that was already mounted? So that the error is not actually referring to your projects/elements but rather volumes/elements
14:14:51FromGitter<Vindaar> At least that's what I gather from looking at https://github.com/osxfuse/osxfuse/wiki/NTFS-3G the
14:16:39dom96mounting in your ~/projects dir... that looks risky
14:19:12enthus1a1tmany reconnects and https is bad
14:27:01dom96so what's better, an iterator or a procedure that takes two callbacks?
14:28:23dom96if an iterator even works...
14:28:39Araqa closure iterator would work
14:29:12*yglukhov joined #nim
14:29:42dom96yeah, but the idea would be to allow: for data in response.bodyStream:
14:33:09dom96tests already fail because of this new error
14:33:50*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
14:33:53*yglukhov quit (Ping timeout: 255 seconds)
14:34:04*MJCaley joined #nim
14:34:57*Vladar quit (Remote host closed the connection)
14:36:07FromGitter<tim-st> not sure if I'm doing a beginner mistake, but when I add a `var m: MyType` to a `seq[MyType]` and after that do `m = newMyType()` this changes all previous elements in seq to be always the last, do I need deepCopy for this?
14:41:18FromGitter<zacharycarter> so with the anonymous gist deprecation incoming - do we make users login to use the gist feature?
14:41:25FromGitter<zacharycarter> or do we find an alternative
14:41:27FromGitter<zacharycarter> for the playground
14:42:09PMunchHmm, make users log in but add pastebin support?
14:42:12PMunchOr ix.io
14:45:30dom96make users login
14:46:23PMunchOr have a user for playground with an optional login to your own user?
14:47:27FromGitter<zacharycarter> the user for an app thing doesn't work out too great in practice :/
14:47:58FromGitter<zacharycarter> I'll just make users log in for now - if we want to add more integration points later and I have time, I will
14:50:44FromGitter<mratsim> The playground should make it easy to try out Nim even as a beginner without a github
14:50:58FromGitter<mratsim> maybe Gitlab as something equivalent? or bitbucket?
14:51:20FromGitter<zacharycarter> well it still will
14:51:27FromGitter<zacharycarter> I just mean you'll have to log in to use the gist functionality
14:52:00FromGitter<mratsim> @tim-st I suppose MyType is a reference type, if so all `s` in your seq will point to the same data as s
14:52:41*Vladar joined #nim
14:52:45*solitudesf joined #nim
14:53:14*endragor quit (Remote host closed the connection)
14:53:40*endragor joined #nim
14:53:43FromGitter<mratsim> If you want your type to work like integers, float, etc, use an `object`. If you want your type to work like object in Python or Java (i.e. assignment doesn’t copy) use a `ref object`
14:53:57*xkapastel joined #nim
14:53:59FromGitter<tim-st> Thanks, I now built a minimum example with my use case, it works there, maybe I have a bug
14:54:12FromGitter<tim-st> it's a var tuple
14:54:40FromGitter<mratsim> of what?
14:57:44FromGitter<tim-st> the fields are int, string, seq, hashset, bool did you mean this?
14:57:57*endragor quit (Ping timeout: 240 seconds)
14:58:49FromGitter<tim-st> no wrong tuple, my use case had the fields int, string, bool
15:01:56FromGitter<tim-st> proc test(section: var MwSection, dest: var MwText) = ⏎ dest = newMwText() ⏎ section.texts.add(dest)
15:13:26*yglukhov joined #nim
15:17:53*yglukhov quit (Ping timeout: 248 seconds)
15:24:29FromGitter<mratsim> strange, all those should copy on assignment
15:27:57FromGitter<tim-st> Thought so, too. I even tested it via echo every tuple before new assignment (and these are correct). I'm searching for possible bug for a few hours now :(
15:32:58PMunchYeah that is strange
15:50:03*Arrrr joined #nim
15:53:15*miran joined #nim
15:57:34FromGitter<sclee15> Is there any weekly update newsletter for nim community?
15:57:53FromGitter<tim-st> Ok, I found it. It was a bug/mistake; I didnt used `var a=b` but just `a=b` :\ . Thanks for your help
16:00:11dom96sclee15: nope, would be great if someone started one though :)
16:05:01*miran quit (Quit: Konversation terminated!)
16:07:15*miran joined #nim
16:08:52PMunchNewsletter? What would that contain?
16:09:14miran"nim v1.0 will be released soon (TM)"
16:09:30PMunchJust that statement, released weekly :P
16:09:38miranexactly!
16:17:06*athenot joined #nim
16:17:18*gokr joined #nim
16:22:10livcdi watched a video of araq from 015 where he said 1.0 will be released soon :D
16:22:20livcd2015*
16:22:23*gokr quit (Read error: No route to host)
16:24:19*yglukhov joined #nim
16:24:52PMunchI talked to him about it during FOSDEM and the plan was already to release earlier. But then "just one more fix" led to it being how it is now. Honestly though Nim has been in "1.0" for a long time, only difference is that fixes don't get backported so you get a fix and possibly have to change something
16:28:27*yglukhov quit (Ping timeout: 240 seconds)
16:30:57*kunev quit (Ping timeout: 264 seconds)
16:33:25*kunev joined #nim
16:35:33FromGitter<mratsim> @PMunch, I like “This week in Rust” https://this-week-in-rust.org/blog/2018/02/20/this-week-in-rust-222/
16:39:12PMunchHmm, that might be cool
16:40:29Araqwe had that and it dropped off or something
16:40:58FromGitter<mratsim> I don’t think there are enough people doing weekly blog post to feed the beast
16:41:14PMunchMaybe do a bi-weekly thing`
16:41:22PMunchOr tri-weekly?
16:41:37Araqjust write an article and post it on the website
16:41:44*floppydh quit (Quit: WeeChat 2.0.1)
16:42:09Araqwe need less of "let's copy Rust" and more of "hey, look, I copied what Rust does"
16:42:35Araqbe a doer.
16:42:40mirancan we get 0.18 for a start? ;)
16:43:28miranpeople are saying "use devel rather than stable" - this screams to me that new version is ready
16:43:38Araqthere is a regression I must fix
16:43:44FromGitter<krux02> A long time ago I posted a "I copied in nim what Go does" :P
16:44:22FromGitter<mratsim> I would love to have 0.18 now. The devel bug fixes / features I am relying on are starting to pile up
16:44:43Araqcan't release with this codegen regression :-(
16:45:39Demos[m]I made a long post on the forums about using nim to write "system" packages and libraries on linux. Please tell me why I'm an idiot for even thinking this stuff is a good idea ;^)
16:46:28AraqI never say "idiot" to anybody. I tell people when they are doing stupid things.
16:46:28*Trustable joined #nim
16:46:42Araqgeniuses can do stupid things from time to time.
16:46:59Araqand so can everybody else.
16:47:16Araqtoday I tried to use my HD on OSX. that was stupid too.
16:47:19*kier quit (Ping timeout: 260 seconds)
16:47:24Araqshould have known.
16:47:28Araq;-)
16:47:57FromGitter<mratsim> Using Windows is stupid imo ;)
16:48:18PMunch.DS_STORE
16:48:31PMunchOr whatever the name of those horrid OSX cache files are
16:48:39FromGitter<mratsim> thumbs.db says hi
16:48:43dom96Anybody that uses proxies? Maybe you could figure out these problems? https://github.com/nim-lang/nimble/issues/86#issuecomment-367378546
16:49:19PMunchDemos[m], why would that be a bad idea?
16:50:19FromGitter<mratsim> He is setting his expectations low to avoid being disappointed
16:51:24PMunchHaha, well I'm off work now
16:51:30PMunchSo I'll be on later
16:51:31*PMunch quit (Quit: Leaving)
16:51:37*miran quit (Quit: Konversation terminated!)
16:56:18*gokr joined #nim
16:59:09*yglukhov joined #nim
16:59:44subsetparkdom96: I use a proxy and it works fine for me
17:00:52dom96maybe it's a recent regression
17:01:08dom96are you running latest Nimble?
17:01:35Demos[m]Holy wars are very easy to get into in packaging and package manager debates
17:02:12FromGitter<mratsim> I think it just has to do with being human ;)
17:03:05FromGitter<mratsim> completely offtopic: https://www.youtube.com/watch?v=Dyr1hYfuqJI
17:03:54*yglukhov quit (Ping timeout: 265 seconds)
17:04:31*kier joined #nim
17:13:46*miran joined #nim
17:22:46*chemist69 quit (Ping timeout: 256 seconds)
17:25:09*chemist69 joined #nim
17:26:32*miran quit (Quit: Konversation terminated!)
17:26:39bl4rkis there a way to use the dotnet api from nim?
17:27:06subsetparkdom96: trying again after `nimble install nimble@#head`
17:28:14subsetparkhmm - now it fails for different reasons :)
17:28:24subsetpark" Error: Nimble cannot find Nim's standard library." ?
17:28:26subsetpark:)
17:28:38dom96Make sure you're compiling with Nim devel
17:28:45dom96to test it properly
17:29:11subsetparkwhith choosenim, right?
17:29:53dom96sure, that works
17:34:14subsetparkok - the version of nimble installed by choosenim works (it's the same version as above). after updating and installing devel with choosenim and then rerunning nimble install nimble@#head, i get the same error as above.
17:39:39dom96okay, so solve that error
17:39:50dom96and check if 'refresh' fails with your proxy
17:47:03*miran joined #nim
17:53:06*sendell quit (Remote host closed the connection)
17:59:05*Arrrr quit (Ping timeout: 268 seconds)
18:02:30*MJCaley quit (Quit: MJCaley)
18:03:32*JacobEdelman quit (Remote host closed the connection)
18:04:09*PMunch joined #nim
18:13:28*yglukhov joined #nim
18:17:51*yglukhov quit (Ping timeout: 256 seconds)
18:19:46*Vladar quit (Quit: Leaving)
18:54:20*yglukhov joined #nim
18:57:44*yglukhov quit (Remote host closed the connection)
19:03:53*athenot quit (Ping timeout: 255 seconds)
19:05:52*athenot joined #nim
19:20:44*miran quit (Quit: Konversation terminated!)
19:27:19GitDisc<treeform> Why did nimrod dropped the rod in the name? What was the reason for it? Just curious?
19:28:27FromGitter<barcharcraz> Your not from the US are you
19:28:42FromGitter<barcharcraz> It’s a synonym for “idiot” in the US
19:28:52FromGitter<barcharcraz> because of bugs bunny
19:29:04dom96https://news.ycombinator.com/item?id=8351773
19:30:46*BitPuffin quit (Remote host closed the connection)
19:31:13dom96Ahh, it's nice to go through Nimble issues as most of them have been fixed and just need closing :)
19:45:04*miran joined #nim
19:55:45*Pisuke quit (Read error: Connection reset by peer)
19:56:50*Pisuke joined #nim
19:57:47*rokups quit (Quit: Connection closed for inactivity)
20:01:18*Gnjurac joined #nim
20:01:47Gnjurachi does nim work on rpi3 cuz its ARM and do all libs work too , i want to use sqlite
20:05:18dom96yes
20:05:35dom96works perfectly
20:14:15FromGitter<krux02> bl4rk: I am not familiar with .net, but when dotnet can expose a C api, nim can bind to that C api.
20:15:25FromGitter<krux02> the problem with dotnet is, it is like java, a virtual machine. So I think you would also need to manage the VM instance.
20:18:17Gnjuracty
20:18:37*JacobEdelman joined #nim
20:18:57Gnjuraci personaly am learning Nim to in future abandone C#
20:19:18Gnjuracand cuz i like to learn new stuff
20:19:37FromGitter<krux02> not sure if you can abandon anything when you learn Nim.
20:20:19FromGitter<krux02> I recommend when you learn Nim, to also know how to program in C, or at least to understand C code.
20:21:24FromGitter<zetashift> I reaaaaaaaaaaaaaalllllllllllllyyy want to avoid learning C
20:21:38FromGitter<zetashift> I had fun with learning Rust though if that counts for anything
20:21:41FromGitter<krux02> Simply because nim compiles to C. There are more C and C++ experts than there are Nim experts. When there is a library you want to bind to, it probably has C bindings.
20:22:29FromGitter<krux02> it is not a necessety to know C when you isolate yourself to do only Nim. But here and there the Nim fluffyness breaks and then it is really helpful to know C.
20:22:39FromGitter<krux02> Btw C is a much smaller language than Nim.
20:24:02FromGitter<krux02> well if you have fun learnig Rust it at least means you had fun learning a programming language, and in my opinion that is good.
20:24:15mirankrux02: at which level should a nim devel know C? just the basics? more advanced stuff?
20:24:55FromGitter<krux02> miran: well it depends on how much you need C in your Nim programming excourse.
20:25:32FromGitter<krux02> but I think basics is fine
20:25:42FromGitter<krux02> know structs and pointers and pointer arithmetic
20:26:12miranany C source you would recommend for learning?
20:26:15FromGitter<krux02> and then you will see that most C features are perfectly mapped to nim features
20:26:23FromGitter<krux02> no not really.
20:26:51FromGitter<krux02> It is too long ago that I learned C, so I can't provide learning material.
20:26:58dom96I disagree, you don't need to learn C to use Nim
20:27:30FromGitter<krux02> dom96: you might disagree. But I needed my C knowledge a lot to use Nim.
20:27:50dom96It helps, but let's not scare beginners away by making them think that they need it :)
20:28:12dom96If you're not going to be wrapping things then it's not really needed.
20:28:42FromGitter<krux02> well we can settle that at some point it is really helpful to know C and one should learn at least some basics.
20:29:02FromGitter<krux02> it's not like using emacs without knowing emacs-lisp :P
20:29:33FromGitter<krux02> But I wouldn't say you need to be an expert.
20:44:44*SenasOzys quit (Ping timeout: 260 seconds)
20:47:40FromGitter<zetashift> I use spacemacs from time to time without knowing emacs-lisp too
20:47:56FromGitter<zetashift> that being said using that made lisp a lot less scary then I thought it would be
20:48:45FromGitter<zetashift> also I'd find fully Nim libs more pleasant than C ports as long they are not too much reinvent-the-wheel-y
20:49:33FromGitter<zetashift> @miran the 'The C Programming Language' is afaik one of the most recommended books out there for C
20:49:45miranK&R book?
20:49:50FromGitter<zetashift> yeah
20:50:12miranjust started reading it few days ago....
20:50:30FromGitter<zetashift> I actually study medicine so I don't have a lot of free time to learn programming so I learn bit by bit
20:51:20FromGitter<krux02> @zetashift I think spacemacs is better to use without knowing emacs-lisp than raw emacs. Raw emacs is just a punch in your face and you have to punch back with emacs-lisp knowledge to make it a usable editor.
20:51:57FromGitter<zetashift> yeah I had a phase where I just was configuring vim instead of actually programming
20:52:48FromGitter<krux02> I hate it when I need to configure my editor.
20:53:49FromGitter<krux02> not only do I need to fix it, but also do I think that this is configured wrong for everybody else who is using that editor and I am just creating a solution here in my little island of my computer and it will help nobody out there. It really makes me a bit depressive from time to time.
20:54:37*Snircle joined #nim
20:55:06FromGitter<zetashift> Sounds like you just really want things your way, which isn't a bad thing in cases
20:55:48FromGitter<krux02> well sometimes there are only two ways to do it. My way and the wrong way :P
20:56:54FromGitter<krux02> and yea I want things my way. For example currently I work so that I can write arbitrary shaders in Nim.
20:57:30FromGitter<zetashift> arbitrary shaders? Something for GLSL?
20:57:33FromGitter<krux02> yes
20:57:50FromGitter<zetashift> sounds like a boon for everyone working with shaders and nim
20:58:05FromGitter<krux02> yea not yet.
20:58:23FromGitter<krux02> But my goal is a but further.
20:58:46FromGitter<zetashift> aim high :D
20:59:23FromGitter<krux02> My goal is for anyone who want to write shader in general, even in a bigger c++ project. They would rather write the shader part in Nim and then interface the rest of the project with Nim, than to have the hassle of binding glsl and c++
21:00:08FromGitter<krux02> that is one reason why I want GC to be gone from seq and string types
21:01:11FromGitter<krux02> I definitively want to attract generally people who want to write shaders. And they should see that in Nim it simply works best.
21:03:27*Gnjurac quit (Quit: Leaving)
21:05:14PMunchkrux02, learning C is a good idea in general to understand how computers work
21:05:24PMunchHelps with most languages
21:05:51FromGitter<krux02> PMunch: I agree
21:06:11GitDisc<Nufflee> helooo everyone
21:06:48FromGitter<krux02> well C does not tell you how computers work, but most features are very low level and mapps directly to computer instructions
21:07:00FromGitter<krux02> Nufflee: oooleh!
21:08:12GitDisc<Nufflee> woah, can you see my discord messages on gitter?
21:08:17FromGitter<krux02> PMunch: but C macros don't really help to understand how computers work.
21:08:26FromGitter<krux02> yes I can
21:08:30FromGitter<krux02> I am on gitter
21:08:37GitDisc<Nufflee> thats cool hha
21:08:45PMunchIt maps over to IRC as well :)
21:09:04FromGitter<krux02> but what is gitdisc?
21:09:09FromGitter<krux02> I have to find out
21:09:42FromGitter<Nufflee> aaand now im on gitter
21:09:59*Trustable quit (Remote host closed the connection)
21:10:11FromGitter<krux02> you are welcome
21:10:20FromGitter<krux02> now you can see my funny face :P
21:10:56FromGitter<Nufflee> yes i can hah
21:11:08PMunchkrux02, C macros don't help with understanding anything :P
21:11:39PMunchNufflee, only one platform to go and you have full coverage!
21:11:52PMunchOr do we have any more bots here?
21:12:38*SenasOzys joined #nim
21:15:48FromGitter<zetashift> Slack next?
21:16:07bl4rkI was asking about dotnet because I am doing some research into running Powershell using C#, using Runspace https://msdn.microsoft.com/en-us/library/ee706556(v=vs.85).aspx
21:16:21FromGitter<zetashift> @krux02 aren't the GCless types quite far away?
21:16:31bl4rkI don't think that you can access this from C though
21:17:57*miran quit (Quit: Konversation terminated!)
21:18:41FromGitter<krux02> @zetashift I have no idea what GCless is
21:19:05FromGitter<zetashift> that the seq and string types aren't cleaned up by the GC
21:19:35bl4rkbut this stuff is in System.Management.Automation.dll I should be able to use that from Nim right?
21:19:40FromGitter<zetashift> bl4k you could get freaky with: https://github.com/jboy/nim-pymod and http://ironpython.net/
21:19:49FromGitter<zetashift> but that's just me being stupid ;P
21:21:23*Quantem joined #nim
21:24:59FromGitter<mratsim> @bl4rk ifthere is no C++ or C interface you can’t interface it with Nim unfortunately
21:33:39FromGitter<krux02> @zetashift: In Nim string and seq have value semantc, like std::string and std::vector in c++. C++ doesn't need a GC to implement std::string and std::vector, so Nim would not need a GC to implement string and seq.
21:34:18FromGitter<krux02> @mratsim you can alwas write a C interface wrapper
21:35:16FromGitter<krux02> it would probably A C interface for the C# API, then a Nim binding for this C interface, and then a Nim wrapper for the bindings to make the library usable
21:35:44FromGitter<krux02> lot's of layes of inderection. Lots of work. lots of things that might go wrong
21:35:47FromGitter<krux02> but possible
21:36:25FromGitter<Nufflee> what does "Nothing to build. Did you specify a module to build using the `bin` key in your .nimble file?" mean?
21:36:52FromGitter<krux02> @Nufflee depends on the context
21:37:07FromGitter<krux02> maybe you are missing a bin key in your .nimble file?
21:37:23FromGitter<Nufflee> and what do i make it point to? my main nim file?
21:37:32FromGitter<krux02> yes
21:38:13bl4rkhmm it looks like you can use it from c++ after all
21:38:15bl4rkhttps://stackoverflow.com/questions/19634220/c-and-powershell
21:38:41FromGitter<Nufflee> now my build fails with this Error: Could not read package info file in F:\PROJECTS\Nim\Geam\Geam.nimble; ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5a8de6e08f1c77ef3a3a7228]
21:38:55FromGitter<Nufflee> on the line that says `bin = "Geam.nim"`
21:39:31FromGitter<krux02> well it says it want's a seq[string] so give it a seq[string]
21:39:40FromGitter<krux02> bin = @["Geam.nim"]
21:39:44FromGitter<Nufflee> ah
21:39:46FromGitter<Nufflee> thanks
21:40:45FromGitter<krux02> ok I am offline, bye people
21:44:35*Quantem quit (Quit: Page closed)
21:44:46*Quantem joined #nim
21:47:47*PMunch quit (Quit: leaving)
21:51:52*solitudesf quit (Quit: solitudesf)
21:52:09*nsf quit (Quit: WeeChat 2.0.1)
21:55:14*SenasOzys quit (Remote host closed the connection)
21:55:42*SenasOzys joined #nim
22:14:50*Quantem quit (Quit: Going offline, see ya! (www.adiirc.com))
22:19:10*MJCaley joined #nim
22:53:21*kunev quit (Ping timeout: 248 seconds)
23:03:04*vlad1777d joined #nim
23:19:46*Quantem joined #nim
23:42:08*somedude joined #nim
23:46:35*somedude quit (Ping timeout: 260 seconds)
23:54:53*endragor joined #nim
23:58:52*MJCaley quit (Ping timeout: 256 seconds)
23:59:33*endragor quit (Ping timeout: 256 seconds)