<< 16-02-2020 >>

00:00:01*junland_ quit (Quit: %ZNC Disconnected%)
00:00:32FromDiscord<clyybber> @Elegant Beef is it a hyena or a dog?
00:00:42FromDiscord<Elegant Beef> my PFP?
00:00:45FromDiscord<clyybber> ye
00:00:52FromDiscord<Elegant Beef> it's a doggo
00:01:00FromDiscord<Kiloneie> Cooperation is the key through these things. Don't quote me on this xD...
00:01:01FromDiscord<clyybber> pet him for me will ya?
00:01:23FromDiscord<clyybber> > Cooperation is key
00:01:27FromDiscord<clyybber> Google probably
00:01:31FromDiscord<Elegant Beef> https://streamable.com/wsm6v
00:01:41FromDiscord<Elegant Beef> that's what he thinks about your hyena comment
00:01:48*junland joined #nim
00:02:18FromDiscord<clyybber> looks like hes thinking about *other* things
00:02:31FromDiscord<Kiloneie> No no no google. If you say google, you made them money, like i just did... All money...
00:02:52FromDiscord<clyybber> type google create money
00:03:01FromDiscord<clyybber> why does google not pay me to type google??
00:03:03FromDiscord<Elegant Beef> Dogs had to seperate length leashes, so he wanted toy
00:03:12FromDiscord<Elegant Beef> Dogs had two seperate length leashes, so he wanted toy
00:03:49FromDiscord<clyybber> where do you live where its daytime rn?
00:04:03FromDiscord<Elegant Beef> Canuckistan
00:04:26FromDiscord<Elegant Beef> How do you figure it's daytime?
00:04:43FromDiscord<clyybber> 11pm is daytime
00:04:46FromDiscord<clyybber> alright!
00:04:56FromDiscord<Elegant Beef> it's 5pm right now
00:05:08FromDiscord<clyybber> ok calculator
00:05:22FromDiscord<Kiloneie> Random probably, it's 1:04 in my place gmt+1, central Europe.
00:05:24FromDiscord<Elegant Beef> Im in middle of nowhere Canada
00:05:24FromDiscord<clyybber> @Elegant Beef you might be neighbours with disruptek
00:05:32FromDiscord<clyybber> hes in some wilderness too
00:05:45FromDiscord<clyybber> probably getting his packets delivered by the moose mail
00:05:53FromDiscord<Elegant Beef> Could you imagine if disruptek live near me, i'd cry
00:05:53FromDiscord<clyybber> and I'm talking TCP packets
00:05:56FromDiscord<clyybber> those are heavy
00:05:58FromDiscord<Elegant Beef> imagine being close to that guy
00:06:14FromDiscord<clyybber> well, its just a computer with disbot written all over it
00:06:23FromDiscord<Elegant Beef> true
00:06:24FromDiscord<clyybber> disruptek is just the name of the vm
00:06:27FromDiscord<Kiloneie> Probably Oregon, if my USA knowledge is correct.
00:06:47FromDiscord<Elegant Beef> If he's in the same timezone, oregon,wyoming,colorado, and montana
00:06:49FromDiscord<Elegant Beef> i believe
00:07:12FromDiscord<clyybber> @Kiloneie same here
00:07:19FromDiscord<clyybber> we must be neighbours!!!
00:07:23FromDiscord<clyybber> how exciting!
00:07:28*krux02 quit (Remote host closed the connection)
00:07:47*Guest81820 quit (Ping timeout: 260 seconds)
00:08:16FromDiscord<Elegant Beef> Where are you located clyybber
00:08:20FromDiscord<Elegant Beef> Germ any?
00:08:21FromDiscord<clyybber> bavaria
00:08:28FromDiscord<clyybber> don't you dare us call germany
00:08:30FromDiscord<clyybber> jk lol
00:08:41FromDiscord<Elegant Beef> i didnt
00:08:43*dadada_ joined #nim
00:08:44FromDiscord<Elegant Beef> I called it germ any
00:08:51FromDiscord<clyybber> im not a germ
00:08:54FromDiscord<clyybber> and I'm not any
00:08:58FromDiscord<clyybber> rude.
00:09:21FromDiscord<Elegant Beef> sorry aboot that eh?
00:09:35FromDiscord<clyybber> I bin a rengschburger du oida hundskriapl
00:09:39*ftsf joined #nim
00:09:52FromDiscord<Elegant Beef> Uhoh is that declaration of a 3rd war you want to lose?
00:09:58FromDiscord<Kiloneie> i am Slovenia any day, figure that one out xD...
00:10:21FromDiscord<clyybber> @Kiloneie Nice, I was in slovenia once
00:10:28FromDiscord<clyybber> but only drove through
00:10:35FromDiscord<clyybber> the muesli I bought there was nice tho
00:10:50FromDiscord<Elegant Beef> Solvenia, most well known for being the homeland of the current US first lady 😄
00:11:27FromDiscord<Elegant Beef> *Feel free to take shots at my moose ridden, maple soaked country*
00:11:46FromDiscord<clyybber> I wouldn't dare shoot a moose
00:11:53FromDiscord<clyybber> much less a maple
00:14:25*Hideki_ joined #nim
00:14:36*clyybber quit (Quit: WeeChat 2.7)
00:14:53FromDiscord<Kiloneie> That is cheap you know, Slovenia is probably one of the most natural contries available. Seriously, if you want nature, it's right here, not that me the computer freak cares too much xD...
00:15:32FromDiscord<Elegant Beef> I mean Canada is massive so we've got nature too, just spreadout 😛
00:19:29FromDiscord<clyybber> @Kiloneie Yeah, the landscape was beautiful
00:19:55FromDiscord<clyybber> wish I'd have been able to stay there a while
00:19:57FromDiscord<Kiloneie> It's probably similar, most of our country is in industry, it's crazy how industry is going here right now, like it's on nitro. Really fast, probably worth investing.
00:20:31FromDiscord<Elegant Beef> Yea im in town of less then 10k, i've got got quite a bit of farm fields and trees near me
00:20:48FromDiscord<clyybber> I'm in a village 😄
00:20:54FromDiscord<clyybber> less than 3k
00:20:56FromDiscord<Elegant Beef> It's basically a rest stop for oil families
00:21:04FromDiscord<clyybber> probably less than 1k even
00:21:09*ptdel quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
00:21:16FromDiscord<Kiloneie> There is less than 200 in mine xD
00:21:19FromDiscord<Elegant Beef> Yea but you're in europe so you can walk 10 m and be in a town 😄
00:21:23FromDiscord<Kiloneie> Weak :P
00:21:31FromDiscord<clyybber> @Elegant Beef true that
00:21:42FromDiscord<clyybber> learn to ride a moose dude
00:21:51FromDiscord<Elegant Beef> Nearest larger settlement near me is ~40km away with ~12k people
00:22:12FromDiscord<Elegant Beef> Nearest large city is 300km away
00:22:33FromDiscord<Kiloneie> None here, just maybe 1 bear and some deer xD
00:22:37FromDiscord<Elegant Beef> you guys could probably go to most mainland cities in 300km 😄
00:22:43*dadada_ quit (Ping timeout: 260 seconds)
00:22:44FromDiscord<Elegant Beef> We've got mice, and also deer
00:22:48FromDiscord<Elegant Beef> or is it meese
00:22:50FromDiscord<Elegant Beef> 😄
00:23:10FromDiscord<clyybber> meese dont know
00:23:12FromDiscord<Kiloneie> Canada xD
00:23:37FromDiscord<Kiloneie> Probably a bigger natural park than our entire country
00:23:42*dadada_ joined #nim
00:23:45FromDiscord<clyybber> @Elegant Beef tu es *elegant boeuf* ?
00:23:59FromDiscord<Elegant Beef> Not a canadien
00:24:01FromDiscord<Elegant Beef> But i can read that
00:24:11FromDiscord<Elegant Beef> no im not
00:24:19FromDiscord<Elegant Beef> je suis elegant beef
00:24:25FromDiscord<clyybber> buttery smooth escape
00:24:33FromDiscord<clyybber> I'll let it slip
00:25:05FromDiscord<Elegant Beef> one of my national parks is 6,600km^2
00:25:14FromDiscord<Elegant Beef> one of my provinces national parks is 6,600km^2
00:25:16FromDiscord<Kiloneie> Yeah that french is very soft, i can read it.xD.
00:25:33FromDiscord<clyybber> damn, thats amazing
00:25:34FromDiscord<Kiloneie> Omg that park is huge
00:25:48FromDiscord<Elegant Beef> I mean i took FSL courses in middle school but they taught dick all
00:25:50FromDiscord<Elegant Beef> Yea
00:26:29FromDiscord<Elegant Beef> Look at this density
00:26:29FromDiscord<Elegant Beef> https://cdn.discordapp.com/attachments/371759389889003532/678396744236531773/iu.png
00:26:39FromDiscord<clyybber> same here, only I hated french
00:26:42FromDiscord<Elegant Beef> those two dark spots are 50% of the population
00:26:48FromDiscord<clyybber> until I didn't have to learn it anymore
00:26:51FromDiscord<Elegant Beef> the other 50% lives in the remainder
00:26:52FromDiscord<clyybber> now I kinda like it
00:27:07FromDiscord<clyybber> lol
00:29:16FromDiscord<Kiloneie> Omg it's like some reich map
00:29:29FromDiscord<Kiloneie> xD Nazi :P
00:29:29*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:29:39FromDiscord<clyybber> wait wut
00:29:50FromDiscord<Elegant Beef> We do have confederate flags up here, but never seen a nazi flag
00:30:26FromDiscord<Kiloneie> Joke guys xFD
00:30:37FromDiscord<clyybber> I know, no one here is serious
00:30:42FromDiscord<clyybber> except for disruptek
00:30:48FromDiscord<clyybber> hes so serious hes dead
00:31:10FromDiscord<Elegant Beef> I wasnt joking about the confederate flag
00:31:21FromDiscord<Elegant Beef> in the middle of canada, a US civil war flag
00:31:26FromDiscord<Kiloneie> Noone would actually put nazi blshitt here, over the fact most of it is wrong
00:32:06FromDiscord<Kiloneie> Except tank techiniques
00:32:14FromDiscord<Kiloneie> xD joke
00:32:54FromDiscord<clyybber> wunderwaffe
00:33:11FromDiscord<clyybber> @Elegant Beef you mean like southern cross?
00:33:16FromDiscord<clyybber> that would be.. ironic
00:33:41FromDiscord<Elegant Beef> yes
00:33:49FromDiscord<Elegant Beef> in the middle of canada the stars and bars
00:33:51FromDiscord<clyybber> lol
00:34:03FromDiscord<Elegant Beef> Im not even near the border
00:34:12FromDiscord<Elegant Beef> im ~1k away from the border
00:34:19FromDiscord<Elegant Beef> im ~1000k away from the border
00:34:47FromDiscord<Kiloneie> How big is Canada anyways? I have a friend there in Quebec.
00:34:51FromDiscord<Elegant Beef> big
00:35:00FromDiscord<clyybber> que?
00:35:05FromDiscord<Elegant Beef> It's the second largest country by landmass
00:35:07FromDiscord<clyybber> bec.
00:35:49FromDiscord<Elegant Beef>
00:35:49FromDiscord<Elegant Beef> https://cdn.discordapp.com/attachments/371759389889003532/678399094925819905/Canada20over20Europe20size20comparison.png
00:36:22FromDiscord<Elegant Beef> It's like the size of the EU with the population of half of germany
00:37:02FromDiscord<Kiloneie> SounDs half German
00:37:28*dadada_ quit (Ping timeout: 265 seconds)
00:38:29FromDiscord<Kiloneie> Not to be rude, but my country is going exponential in industry, should probably invest xD...
00:38:38FromDiscord<clyybber> stonks
00:38:44*dadada_ joined #nim
00:39:07FromDiscord<clyybber> I just hope it doesn't ruin your flora and fauna
00:39:20FromDiscord<clyybber> what kind of industries btw?
00:42:24FromDiscord<Kiloneie> Military pistols, / probably guns, medicine Krka which is probably in most Slavic countries, Revoz of Renault etc... Huge...
00:42:49shashlick@deech - https://github.com/nimterop/nimterop/blob/master/nimterop/build.nim#L256
00:43:00FromDiscord<clyybber> ah yeah krka is a big name
00:43:14FromDiscord<Kiloneie> It is actually too big for my country, but it is not too big.
00:44:43FromDiscord<Kiloneie> They are incredibly weird in their employment procedures, i seriously do not reccommend.
00:44:59FromDiscord<clyybber> every big company is eventually
00:45:23FromDiscord<clyybber> its bad
00:45:47FromDiscord<Kiloneie> I was at their employment procedure, but they were incredibly personnal.
00:46:14FromDiscord<clyybber> probably trying to see if you are willing to do things that are ethically debatable
00:46:58FromDiscord<Kiloneie> 0 % reccomendation unlesy you enjoy being a slave...
00:47:55shashlickRemember mercaptor
00:52:49*dadada_ quit (Ping timeout: 272 seconds)
00:53:52*dadada joined #nim
00:54:15*dadada is now known as Guest93387
00:56:14FromDiscord<Kiloneie> Do you seriously mean Mercator?...
00:56:57*abm quit (Quit: Leaving)
01:05:06FromDiscord<clyybber> gn8 peeps
01:05:58disrupteqpeace
01:06:02shashlickProbably, too lazy to check
01:07:26*Guest93387 quit (Ping timeout: 265 seconds)
01:08:44*dadada_ joined #nim
01:10:15*Trustable quit (Remote host closed the connection)
01:27:14FromGitter<Varriount> If anyone here lives on the east coast of the US, we might be able to meet up
01:27:55FromGitter<Varriount> I've met with zaharycarter (and Araq at a convention). It would be great to meet another Nim developer in person
01:58:02*dadada_ quit (Ping timeout: 240 seconds)
01:58:43*Hideki_ quit (Remote host closed the connection)
02:00:34*Hideki_ joined #nim
02:05:39*Hideki_ quit (Ping timeout: 272 seconds)
02:10:10shashlickNext time I'm visiting the area, sure
02:13:39*Hideki_ joined #nim
02:19:03*marmotini_ joined #nim
02:20:11*chemist69 quit (Ping timeout: 246 seconds)
02:22:20*chemist69 joined #nim
02:22:45*voltist joined #nim
02:24:01*marmotini_ quit (Ping timeout: 272 seconds)
02:25:52voltistIs there a proc in the standard library that converts iterators into seqs?
02:28:14disrupteqsequtils.toSeq
02:34:40disruptekhmm, nimph doesn't seem to work with git.sr.ht links.
02:38:46disruptekhere's another fun one: Uppernamed package /directories/ confuse nimph because it's not clear that `import FeedNim` is equivalent to `import feednim`. 🤦
02:42:26disruptekthe filenames of all .nim/.nimble files are CaseSensitive. oi what does it all mean?
02:44:07disruptekthen the import in the package imports `feednim/atom`, which doesn't work because... case sensitive fs.
02:44:48disruptekmaybe modules need to be case-insensitive because people cannot be.
02:46:21disruptekeh or it's a code defect.
02:52:03disruptek`nimph fork` to the rescue.
02:54:43*Hideki_ quit (Remote host closed the connection)
03:08:27*voltist quit (Ping timeout: 240 seconds)
03:11:49disruptekalehander: https://www.reddit.com/r/ProgrammingLanguages/comments/f4gfum/pattern_matching_in_your_language/
03:18:20FromDiscord<Elegant Beef> Soo generic return types?
03:20:57FromDiscord<Elegant Beef> i get you can do
03:20:57FromDiscord<Elegant Beef> `name*[T]() T`
03:21:02FromDiscord<Elegant Beef> but issue with passing in a type value
03:22:09FromDiscord<Elegant Beef> `getEntity(0).getComponent(MoveUpper)` something that allows this basically
03:31:47*muffindrake quit (Ping timeout: 272 seconds)
03:33:45*muffindrake joined #nim
03:36:12FromGitter<Varriount> Elegant Beef: You can also pass in typedesc parameters
03:36:32FromDiscord<Elegant Beef> uhh
03:36:53FromDiscord<Elegant Beef> I completely understand but you can elaborate for my friend in the back of the class?
04:12:47FromGitter<Varriount> https://nim-lang.org/docs/manual.html#special-types-typedesc-t
04:12:55FromGitter<Varriount> Elegant Beef ^
04:16:31FromDiscord<Elegant Beef> Thank you
04:16:33FromDiscord<Elegant Beef> Works perfectly
04:40:48*marmotini_ joined #nim
04:41:53shashlicklibclang is overrated
04:44:31leorizeit's the only one in it's game that support every crazy C stuff people can write
04:44:53FromDiscord<Elegant Beef> so im looking at https://nim-lang.org/docs/manual.html#type-relations and it seems you have to implement your own methods to check if a type is convertable to another type?
04:45:11leorizeno
04:45:17leorizeit's a specification
04:45:33FromDiscord<Elegant Beef> Like i have a subtype B that inherits from A, and i just want to see if B is of a specific type
04:45:49FromDiscord<Elegant Beef> It's stored as type A so...
04:45:55*marmotini_ quit (Ping timeout: 260 seconds)
04:46:49FromDiscord<Elegant Beef> > The following section defines several relations on types that are needed to describe the type checking done by the compiler.
04:46:49FromDiscord<Elegant Beef> Did not read that cause i skipped the first lines
04:48:02FromGitter<deech> shashlick, does it handle proxy server auth?
04:48:49FromDiscord<Elegant Beef> so how can you check if a type is explcitly convertible?
04:51:11*LER0ever joined #nim
04:58:42FromDiscord<Elegant Beef> *Atleast i hope try catching isnt the solution*
05:23:22shashlickdeech: nope, if configured for the underling tool sure
05:24:24shashlickleorize: I'll agree for clang but libclang isn't the full ast
05:24:42shashlickDoesn't inspire migrating from tree-sitter
05:24:49shashlickWhat more do I really get
05:24:59shashlickLooking at ANTLR4
05:25:04shashlickSeems far cooler
05:26:20shashlickWill be ideal if I can get preprocessor info also in the ast
05:27:00shashlickThen we can create wrappers that can work cross platform
05:28:00shashlicktree-sitter croaks on that so I have to use gcc -E
05:47:17*fvs joined #nim
05:54:12*dddddd quit (Ping timeout: 248 seconds)
06:16:34*noonien quit (Quit: Connection closed for inactivity)
06:29:51*marmotini_ joined #nim
06:34:52*marmotini_ quit (Ping timeout: 268 seconds)
06:45:45*marmotini_ joined #nim
06:46:40*tefter joined #nim
06:54:02*marmotini_ quit (Ping timeout: 240 seconds)
07:15:51FromDiscord<Winton> I have been asked the question several of my partner if with Nim is so good to make sales system?
07:16:12FromDiscord<Winton> all done desk
07:16:41FromDiscord<Winton> If you have a tool to carry out these projects for companies
07:20:08FromGitter<Varriount> Winton: Well, it depends on the requirements of the system
07:21:50FromGitter<Varriount> Elegant Beef: I'm guessing here - you have a container or structure full of "ref object" types, and need to turn them back into their proper types?
07:24:07FromDiscord<Elegant Beef> yes
07:24:30FromDiscord<Winton>
07:24:30FromDiscord<Winton> https://cdn.discordapp.com/attachments/371759389889003532/678501941726281728/maxresdefault.jpg
07:24:31FromDiscord<Elegant Beef> right now im just try catching
07:25:29FromDiscord<Elegant Beef> Nim should be capable to do that it has all the required tools to make GUI and data, but if it's a case of effort i'd assume nim would require more work
07:25:34FromDiscord<Winton> I went to a company to talk about Nim and they asked me if this language has a library and the ability to handle eg ... hospitality system or super market system etc ...
07:25:35FromDiscord<Elegant Beef> But im also a novice
07:25:36FromDiscord<Elegant Beef> so 😄
07:26:09FromDiscord<Elegant Beef> Well C/C++ should have a library to support that so you could argue nim does
07:26:35FromDiscord<Winton> This company manages great software to make, hostel, supermarket, bank system in short I told him that I would find out this case
07:26:51FromDiscord<Winton> This company manages great software to make, hostel, supermarket, bank system in short I told him that I would find out this case
07:27:00FromDiscord<Winton> they use pure C#
07:27:47FromDiscord<Winton> @Elegant Beef haa Ok no problem. I just have 2 months using nim
07:28:01FromDiscord<Elegant Beef> Well nim can use C++/C libraries and also make GUI applications through a multitude of graphics toolkits, so it's technically capable
07:28:20FromDiscord<Elegant Beef> Assuming there is a C or C++ library you want to use, or make your own
07:28:29FromDiscord<Winton> https://github.com/filcuc/nimqml
07:28:36FromDiscord<Winton> https://github.com/oskca/webview
07:29:27FromDiscord<Winton> I'm going to take a look at that and thank you very much we hope you like it
07:29:37FromDiscord<Elegant Beef> I think it's more a case of "do they want nim, and the implications of using a relatively unknown language"
07:29:53FromDiscord<Elegant Beef> > I'm going to take a look at that and thank you very much we hope you like it
07:29:54FromDiscord<Elegant Beef> huh?
07:34:04FromDiscord<Winton> we'll see what happens
07:46:12FromGitter<Varriount> Elegant Beef: are all possible types known, or is the number unknown?
07:47:26FromDiscord<Elegant Beef> unknown
07:48:30FromGitter<Varriount> Then you either want to go with using methods, or embedding procedure references in the structure
07:48:32FromDiscord<Winton> we must always give the opportunity to something new
07:49:09FromDiscord<Elegant Beef> embedding procedure references in the structure?
07:49:12FromDiscord<Winton> I like to program in C # and I had not tried another language because they didn't attract my attention but I met Nim and well I really feel comfortable and it's easy
07:49:31FromDiscord<Elegant Beef> I mean right now im using trycatch for getting components from entity
07:49:36FromDiscord<Winton> to differences of C / C ++ / Rust /
07:49:52FromDiscord<Elegant Beef> Yea im in a similar boat
07:50:01FromDiscord<Elegant Beef> most of my coding experience is C# specifically game related
07:50:03FromGitter<Varriount> If you don't know the types ahead of time, how are you using try/catch?
07:50:25FromDiscord<Elegant Beef> `try: T(object)`
07:50:30FromDiscord<Elegant Beef> basically
07:50:54FromGitter<Varriount> Yes, but you have a variable number of `T`?
07:50:58FromDiscord<Winton> > most of my coding experience is C# specifically game related
07:50:58FromDiscord<Winton> @Elegant Beef 😮
07:51:20FromDiscord<Elegant Beef> I mean T is variable but it's only one in this case
07:51:25FromDiscord<Winton> My world is to create desktop business software
07:51:33FromDiscord<Elegant Beef> Im getting components on an entity
07:51:40FromDiscord<Elegant Beef> so im getting all or first of a T
07:52:22FromDiscord<Winton> although I want to give it a spin using nim more in the future it is faster and as time progresses it is progressing
07:52:44FromDiscord<Elegant Beef> This is the current method
07:52:44FromDiscord<Elegant Beef> https://hastebin.com/otewodibop.md
07:52:58FromDiscord<Elegant Beef> Yea i'd really like to use nim for gamedev
07:53:03FromDiscord<Elegant Beef> It has some nice features/logic
07:53:21FromDiscord<Winton> 👌
07:53:23FromGitter<Varriount> https://nim-lang.org/docs/manual.html#types-procedural-type
07:53:55FromDiscord<Elegant Beef> Yea im already using that
07:54:15FromDiscord<Elegant Beef> but you may want cross component communication
07:54:21*fvs quit (Quit: leaving)
07:54:54FromDiscord<Elegant Beef> and communicating to a Component level component is quite useless when it's more of an abstract object
07:55:56FromGitter<Varriount> https://nim-lang.org/docs/manual.html#generics-is-operator
07:56:12FromGitter<Varriount> Although that's at compile time
07:56:58FromDiscord<Elegant Beef> I've still not got around to thinking about difference between runtime and compile time
07:57:19FromGitter<Varriount> And finally, https://nim-lang.org/docs/typeinfo.html
07:58:32FromDiscord<Elegant Beef> uhh
07:58:35FromDiscord<Elegant Beef> pfffft
07:58:36FromDiscord<Elegant Beef> uhhh
07:59:18FromDiscord<Elegant Beef> Could be im tired, or im a dullard i dont see how these exactly help
08:00:00*gmpreussner quit (Quit: kthxbye)
08:01:15FromGitter<Varriount> Though, that doesn't work with gc:arc
08:04:57*gmpreussner joined #nim
08:06:46Araqyeah, don't use tyepinfo
08:09:47FromDiscord<Elegant Beef> So what's the alternative for passing the type?
08:10:17Araqthinking about the problem in a completely different way
08:10:49Araqtypes do model what is invariant, if you pass them around, you're misusing them
08:11:42FromDiscord<Elegant Beef> My C# mind says you're wrong 😄
08:11:52FromDiscord<Elegant Beef> But my willingness to learn says ok
08:12:06*arecaceae quit (Remote host closed the connection)
08:12:30*arecaceae joined #nim
08:12:37FromDiscord<Elegant Beef> Hell generic C# functions make you do `FuncName<ReturnType>(params);`
08:13:28FromDiscord<Rika> Just because it's possible doesn't mean it's proper
08:13:58FromDiscord<Elegant Beef> The C# thing is propre
08:13:59FromDiscord<Elegant Beef> The C# thing is proper
08:14:15FromDiscord<Elegant Beef> But again coming from C# there are things that dont make a lot of sense that i've got to learn
08:14:43FromDiscord<Rika> Okay let me understand your problem first
08:15:21FromDiscord<Elegant Beef> I have a list of components which are the base types, i want to get only components that are actually a specific type
08:16:24*dadada joined #nim
08:16:37FromDiscord<Rika> What is in entity.components
08:16:46FromDiscord<Elegant Beef> it's a sequence of components
08:16:47*dadada is now known as Guest82791
08:16:48FromDiscord<Rika> Like, the type implementation
08:17:02FromDiscord<Elegant Beef> !repo nimcs
08:17:03disbothttps://github.com/beef331/nimcs -- 9nimcs: 11Nim ECS 15 1⭐ 0🍴
08:17:05FromDiscord<Elegant Beef> here is the source
08:17:10FromDiscord<Elegant Beef> easier than explaining everything
08:17:18FromDiscord<Elegant Beef> should be in entity.nim
08:18:49FromDiscord<Rika> Just read it
08:19:15FromDiscord<Elegant Beef> inb4 *it's the worst code i've ever seen* 😛
08:20:05Araqa "proper" ECS doesn't use inheritance and no dynamic binding
08:20:09*solitudesf joined #nim
08:20:27FromDiscord<Elegant Beef> Well that's an observer based ECS
08:21:12FromDiscord<Elegant Beef> Some of this code is just placeholder for testing
08:22:10FromDiscord<Elegant Beef> and what do you mean dynamic binding?
08:24:56Araq onCreated* : proc(comp: Component)
08:24:56Araq update* : proc(comp : Component, deltaTime : float32)
08:24:56Araq onDestroy* : proc(comp: Component)
08:25:11FromDiscord<Elegant Beef> I mean the overarching ECS seems fine, need to make systems instead of using the ECS, but get component will still be needed to check if the components are the required ones
08:25:24skrylar[m]:think:
08:25:28FromDiscord<Elegant Beef> This is mostly based off the described system on the wikipedia
08:25:35skrylar[m]Depending on what you mean by dynamic binding, yes i think i've seen some that do
08:25:44skrylar[m]although that was in that the components were dynamically attached
08:25:48Araqyeah, just forget wikipedia
08:26:16Araqor alternatively don't write an "ECS", write something that makes sense
08:28:07FromDiscord<Elegant Beef> idk i can justify both dynamic binding and inheritance, but that's because of unity
08:29:13skrylar[m]closures somewhat remove the need for inheritance
08:29:26FromDiscord<Elegant Beef> Well i only use inheritance from component
08:29:45FromDiscord<Elegant Beef> And i guess systems would use inheritance
08:30:04FromDiscord<Elegant Beef> That's a relatively laxed version and is more like an abstract class then true inheritance
08:30:17FromDiscord<Elegant Beef> Component/System would be more like templates
08:30:29FromDiscord<Elegant Beef> dont know if that's the approriate term for nim
08:32:45FromDiscord<Elegant Beef> The way i see it is there would be a entity handler which stores references to entities, and instantation of entities/components, then your system iterates over those checking if entities have the required components and then do what they want
08:33:25skrylar[m]there's usually only one entity and all the special stuff goes in components
08:33:39FromDiscord<Elegant Beef> yea i know that
08:33:41skrylar[m]well one type of entity
08:33:48FromDiscord<Elegant Beef> yea there is no inheritance for entity
08:34:00FromDiscord<Elegant Beef> it's just a named object with an index for the array
08:34:06FromDiscord<Elegant Beef> it's just a named object with an index for the sequence
08:34:30FromDiscord<Elegant Beef> Components is where inheritance is currently for adding functionality, mostly just for testing
08:34:42skrylar[m]i want to say rimworld just does a linear scan when finding components and a lot of them do it that way, but i'm not certain
08:35:01FromDiscord<Elegant Beef> but you you want to store components in a bucket and get their true types for any system
08:35:07FromDiscord<Elegant Beef> so inhertiance makes sense
08:35:10FromDiscord<Elegant Beef> or an interface
08:35:18FromDiscord<Elegant Beef> so inheritance makes sense
08:35:34FromDiscord<Elegant Beef> a linear scan?
08:36:25skrylar[m]what i did in some cbor code was have an object for ex. writing and it just has a closure that takes a command code for writing/close/flush and there's no subclassing or anything, you just write one function
08:36:48skrylar[m]but i dunno what this ecs is specifically for so
08:37:01FromDiscord<Elegant Beef> for me it's primarly for gamedev
08:37:20FromDiscord<Elegant Beef> so many components/systems
08:39:34FromDiscord<Elegant Beef> To stop checking every single frame if an entity has the required components, i'd use a callback that systems subscribe to, check if the changes allow it to use then add the entity index to an int set for usable entity
08:39:46FromDiscord<Elegant Beef> It's atleast good enough for the people i hangout with
08:39:58skrylar[m]i guess so.
08:40:28FromDiscord<Elegant Beef> Im clearly the wrong person to be writting a ECS
08:41:01skrylar[m]it's just a methodology to get around having game objects with crazy inheritance trees so.
08:41:13skrylar[m]really anything with get/set entity is "an ecs"
08:41:36FromDiscord<Elegant Beef> Yea im basing it of the wikipedia article with my own variations
08:41:44FromDiscord<Elegant Beef> which apparently are un nim like 😄
08:42:39skrylar[m]altho having inherited stuff is sort of anti-ecs, so anything more than just being a base type for components to deal with type safety in the background is un-ecslike :)
08:43:13FromDiscord<Elegant Beef> *so are you saying what im doing is un ecslike?*
08:43:54skrylar[m]yes but whatever works works
08:45:29FromDiscord<Elegant Beef> I mean i am basically just using inheritance to have commonalities with the components/systems
08:45:56FromDiscord<Elegant Beef> so im only encouraging a 1 layer deep inheritance
08:48:00*nsf joined #nim
08:49:29FromDiscord<Elegant Beef> I'd ideally use interfaces to really encourage the composition over inheritance
08:50:14FromDiscord<Elegant Beef> But ill continue working on this, at worse i learn more nim, and get a shitty ECS 😄
08:50:32skrylar[m]theres not really much to them
08:50:34AraqECS = struct of arrays instead of arrays of struct + plus buzzwords from the OO people who never understand anything
08:51:13skrylar[m]those smalltalk guys made some fun toys
08:51:19FromDiscord<Elegant Beef> Uhh
08:51:33FromDiscord<Elegant Beef> What Araq
08:51:33Araqin order to re-compute the 'struct' aspect (Player/Unit/Enemy) you need an ID mechanism. And that's about it, ymmv
08:51:51FromDiscord<Elegant Beef> how does an int give you a type?
08:52:35skrylar[m]in some of the silly ones its just a seq[Component] and when you ask for a component it just walks the seq type checking
08:52:54FromDiscord<Elegant Beef> Hmm
08:52:58FromDiscord<Elegant Beef> I sense im being mocked
08:53:15Araqforget about the types, a monster has a position, velocity etc and has an ID, so you tell the system "ID == 4 just died" and all the position/velocity/etc "subsystems" must update their data
08:53:34AraqI'm not mocking you at all.
08:53:52FromDiscord<Elegant Beef> but the systems need to know what objects they work on
08:54:14FromDiscord<Elegant Beef> which can only be got by knowning the componets either on added or calculated
08:54:24FromDiscord<Elegant Beef> calculated on the fly*
08:54:36Araqwell every system works on a single type, e.g. Position (= Vector3)
08:54:46FromDiscord<Elegant Beef> Not true
08:55:20FromDiscord<Elegant Beef> Rendering requires creation of a matrix, which needs position,scale, and the entities parent versions
08:55:30FromDiscord<Elegant Beef> it also needs a mesh
08:55:32FromDiscord<Elegant Beef> and a renderer
08:55:37skrylar[m]i think that was an example
08:55:57FromDiscord<Elegant Beef> Well still you need to know the entity has the type
08:56:01skrylar[m]position is always weird cause depending on the engine it either lives in the physics component or it lives in its own transform component
08:56:10skrylar[m]i think godot does it with the transform component
08:56:16FromDiscord<Elegant Beef> Same with unity
08:56:28FromDiscord<Elegant Beef> but transform is forced on Game objects
08:56:33Araqtype Entity = distinct int # the ID
08:56:53FromDiscord<Elegant Beef> Of the entity
08:57:08FromDiscord<Elegant Beef> are you hardcoding your entities and their types?
08:57:17FromDiscord<Elegant Beef> their components*
08:57:21skrylar[m]i should duck back out of this tho
08:57:38FromDiscord<Elegant Beef> i mean im just trying to understand 😄
08:58:35FromDiscord<Elegant Beef> Like by definition of the ECS entities have compoonent stored on/with them, which are checked by systems
08:58:55FromDiscord<Elegant Beef> I dont quite understand how you can avoid the check of types
08:59:21Araqoh I don't but in a nutshell: I model the "types" as set[enum]
08:59:32FromDiscord<Elegant Beef> so manually?
08:59:56Araq"manually", "hard coded", yes yes.
09:00:01FromDiscord<Elegant Beef> And how about their data,how do you hold those?
09:01:32Araqwhere they belong, in the sub-systems
09:01:48FromDiscord<Elegant Beef> So you're going to hold data inside the systems
09:02:05FromDiscord<Elegant Beef> which are large bodies that control all entities
09:02:59Araqno idea what you're talking about
09:03:25FromDiscord<Elegant Beef> Let's say you have a renderer system, which looks for a mesh
09:03:34FromDiscord<Elegant Beef> You have that enum on the entity so it knows it has to render it
09:03:41FromDiscord<Elegant Beef> how do you get the actual mesh it's supposed to render
09:04:22Araqno, the renderer system doesn't "look for a mesh", it has an array of meshes to render
09:04:38FromDiscord<Elegant Beef> That's just not how the system is supposed to work
09:04:42FromDiscord<Elegant Beef> I mean it'd work
09:04:51FromDiscord<Elegant Beef> but now your data isnt in components and they're just flags
09:04:57FromDiscord<Elegant Beef> components are both flags and dataholders
09:05:03*Araq sighs
09:05:40FromDiscord<Elegant Beef> Yea me big dumb OOP man
09:05:40FromDiscord<Elegant Beef> 😄
09:07:30Araqyou store the data as separate arrays, the rest follows from that
09:07:41FromGitter<Varriount> Elegant Beef: An entity has a "mesh ID" component (or member, etc). When the render system is processing entities, it uses that ID to determine the mesh
09:08:02FromDiscord<Elegant Beef> I got that
09:08:18FromDiscord<Elegant Beef> but the component should hold the data, not the entity or the system
09:08:27FromDiscord<Elegant Beef> The component should have the id for the resource in memory
09:08:32Araqnot necessarily, ideally the subsystems don't care about entity IDs at all
09:09:19Araqthe ID mechanism is used to keep the separate arrays coherent so that e.g. a monster that died doesn't continue to walk around
09:09:21*Guest82791 quit (Ping timeout: 272 seconds)
09:09:42*jjido joined #nim
09:10:04Araqit's like a column based database
09:10:16FromGitter<Varriount> Araq: Ah, you're using the concept where each system has its own array of entities
09:10:28*dadada joined #nim
09:10:58FromDiscord<Elegant Beef> Well i am to, on component add revaluate if the entity can be used by the system, add it to a list if it can
09:11:09FromDiscord<Elegant Beef> Well i am to, on component add/remove/entity destroyed revaluate if the entity can be used by the system, add it to a list if it can
09:11:28Araqgotta go, bbl
09:11:29FromDiscord<Elegant Beef> then go through the list getting the data from the entity and doing what you need
09:11:32FromDiscord<Elegant Beef> Buh bye
09:11:37FromDiscord<Elegant Beef> sorry for irritating you 😄
09:11:58Araqno worries. ECS is becoming the new "model view controller"
09:12:07FromGitter<Varriount> I gotta sleep. Good night
09:12:16FromDiscord<Elegant Beef> I still think im going to follow my way and you can dislike me from across the court
09:12:18FromDiscord<Elegant Beef> buh bye
09:12:22FromDiscord<Elegant Beef> im also outta here
09:12:37Araqnobody ever understood what MVC was about and eventually we replaced it the frontend vs backend
09:12:39Araq:P
09:17:03*tefter quit (Ping timeout: 268 seconds)
09:29:32*tane joined #nim
09:33:45*lritter joined #nim
09:37:05*JustASlacker joined #nim
09:44:11*lritter quit (Ping timeout: 268 seconds)
09:48:50*lritter joined #nim
10:03:05skrylar[m]ergh. i really expected to be able to stick an importc on individual enums to sanitize their names
10:07:09*marmotini_ joined #nim
10:11:23*Hideki_ joined #nim
10:20:02*solitudesf quit (Ping timeout: 240 seconds)
10:20:31*JustASlacker quit (Ping timeout: 260 seconds)
10:59:57*JustASlacker joined #nim
11:15:12*nsf quit (Quit: WeeChat 2.7)
11:26:09*JustASlacker quit (Ping timeout: 272 seconds)
11:28:36dadadathere should be a way to use gccgo compiled go modules in nim
11:29:06dadadaat least if I'm not mistaken they shouldn't be much different from c libraries?!
11:29:34dadadaand as the go ecosystem is pretty great, this would matter a lot
11:37:33*tane quit (Quit: Leaving)
11:39:25*krux02 joined #nim
12:04:48*dddddd joined #nim
12:20:10lqdev[m]dadada: you could probably import symbols from them using importc, but I'm not sure how the go runtime would be handled
12:26:41*JustASlacker joined #nim
12:29:42*tane joined #nim
12:42:13FromGitter<Varriount> dadada: Go/C interop is tricky, and full of rules
12:48:50FromDiscord<exelotl> Go/C interop is horrifying, it's one of the reasons I switched to Nim
12:51:54FromGitter<gogolxdong> Why does finalize result of std/sha1 is different from openssl SHA1_Final?
13:01:40*tefter joined #nim
13:04:31FromGitter<gogolxdong> never mind.
13:07:03*nsf joined #nim
13:08:56*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:10:22dadadaVarriount, exelotl: the night is dark and full of terrors
13:31:14*marmotini_ quit (Ping timeout: 240 seconds)
13:31:29*jjido joined #nim
13:33:49*marmotini_ joined #nim
13:34:53*marmotini_ quit (Remote host closed the connection)
13:39:34*chenhq2005 joined #nim
13:43:44*chenhq2005 quit (Client Quit)
13:44:27*chenhq2005 joined #nim
13:45:07FromDiscord<sveri> Hi, I used the vscode nim plugin. Is there a way to ignore warnings / errors in a file or per line?
13:45:16FromDiscord<sveri> Hi, I use the vscode nim plugin. Is there a way to ignore warnings / errors in a file or per line?
13:46:13FromDiscord<Rika> pragmas
13:46:21*Hideki_ quit (Remote host closed the connection)
13:47:06FromDiscord<exelotl> https://nim-lang.github.io/Nim/manual.html#pragmas-disabling-certain-messages
13:47:14*Hideki_ joined #nim
13:47:17FromDiscord<Rika> and this too https://nim-lang.org/docs/manual.html#pragmas-compilation-option-pragmas
13:48:08FromDiscord<exelotl> you can use a `config.nims` or `nim.cfg` file to disable some warning for the whole project
13:49:10*abm joined #nim
13:49:22*MarderIII joined #nim
13:49:35FromDiscord<Rika> ~~can we promote hints into warnings/errors?~~
13:49:49FromDiscord<Rika> specific ones
13:51:49*Hideki_ quit (Ping timeout: 272 seconds)
13:53:26FromDiscord<sveri> @Rika Thanks, one step into the right direction. If I understand this correctly I put them on the top of a nim file and it accounts for the whole file, right?
13:53:33FromDiscord<Rika> yes
13:53:36FromDiscord<sveri> Is it possible to disable this for specific lines of code?
13:53:41FromDiscord<Rika> if you want sections, use the push and pop pragmas
13:53:46FromDiscord<Rika> https://nim-lang.org/docs/manual.html#pragmas-push-and-pop-pragmas
13:53:47*dadada quit (Ping timeout: 260 seconds)
13:54:11*solitudesf joined #nim
14:00:26FromDiscord<sveri> Hm, it seems like this is a problem only for the vs code plugin. I have a function that is used as a callback on thread creation. It is reported as unused by the vs code plugin, but not by the compiler.
14:01:52FromDiscord<sveri> Anyway, thanks for teaching me about the hint / push / pop pragmas 🙂
14:03:02FromDiscord<exelotl> oh yeah specifically for unused warnings, there's a {.used.} pragma you can attach to the variable/procedure
14:03:35*natrys joined #nim
14:03:36*dadada joined #nim
14:04:00*dadada is now known as Guest34874
14:04:36FromDiscord<sveri> Ah, that's even better, this is recognized by the plugin 🙂
14:09:14FromDiscord<Rika> ~~i think you can push pop the used pragma too so~~
14:14:23*Hideki_ joined #nim
14:20:51*chenhq2005 quit (Read error: Connection reset by peer)
14:28:54FromDiscord<Rika> huh, what would `The semaphore timeout period has expired.` mean when using asyncdispatch
14:38:40*MarderIII is now known as warkruid
14:53:14*LER0ever quit (Remote host closed the connection)
15:12:27*Hideki_ quit (Remote host closed the connection)
15:12:43*warkruid quit (Quit: Leaving)
15:13:36*Hideki_ joined #nim
15:17:38*Hideki_ quit (Ping timeout: 240 seconds)
15:20:21*Hideki_ joined #nim
15:26:51Guest34874is there a whitepaper/pdf that sums up nim nicely?
15:26:53*Guest34874 is now known as dadada
15:38:43ZevvRika: funny, that does not come from nim, afaik
15:40:21FromDiscord<Rika> searched it, its from somewhere in windows
15:40:36FromDiscord<Rika> odd that it's the message i got from an exception, wonder what happened
15:41:51*marmotini_ joined #nim
15:42:22FromDiscord<Rika> https://hastebin.com/raw/wiqowohuqo hmm
15:51:34dadadanim's wikipedia page could use some love, I'm seeing to it
15:54:37dadada"to see to sth" means "to look after sth"
15:55:11FromDiscord<Rika> why even use an alternate way to say something if you gotta explain it
15:55:29dadadawell, it didn't really appear alternative to me when I first typed it
15:55:46dadadathen I remembered that I learned this through listening to a lot of English podcasts
15:56:21dadadaand that not everyone in here might have acquired those nuances
15:56:44dadadaso I tried to clear it up for them
15:58:35FromDiscord<Rika> i see
16:04:17*couven92 joined #nim
16:09:37*fvs joined #nim
16:20:20*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:35:15*ftsf quit (Ping timeout: 260 seconds)
16:44:19*actuallybatman joined #nim
16:47:19FromDiscord<exelotl> got my textadept just right :D
16:47:19FromDiscord<exelotl> https://cdn.discordapp.com/attachments/371759389889003532/678643577844138003/unknown.png
16:48:41FromDiscord<exelotl> improved the Nim syntax highlighting and made a VS Code like theme
16:52:47FromDiscord<exelotl> I also added a module someone made to get nimsuggest working, but it needs some love
16:56:26disrupteki like the fold indicators.
16:56:33FromGitter<reversem3_twitter> Does anyone of if there is python to nim module? Calling python in nim?
16:56:41disruptekseveral.
16:56:47disruptek!repo python
16:56:49disbothttps://github.com/nim-lang/python -- 9python: 11 15 28⭐ 9🍴 & 29 more...
16:56:59disrupteklook at that, python.
16:57:02FromGitter<reversem3_twitter> Thanks
16:57:49FromGitter<reversem3_twitter> !repo python3
16:57:50disbothttps://github.com/matkuki/python3 -- 9python3: 11Python 3 wrapper for Nim 15 12⭐ 1🍴 7& 5 more...
16:58:05disruptekpreconditions for nigel. i think they want to be a tree.
16:58:47FromDiscord<Recruit_main_70007> this is for creating nim libraries for python i believe
16:59:53disruptekjoin irc and send a /msg disbot !repos python
16:59:58*sagax quit (Remote host closed the connection)
17:00:39disruptekor search github manually: language:nim python
17:01:12FromGitter<reversem3_twitter> Ok
17:02:58*tefter quit (Quit: WeeChat 2.7)
17:03:22*LER0ever joined #nim
17:08:37*LER0ever quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:27:09dadadaI put a reference to nim on python's wikipedia page ... don't know why noone bothered to do this before me :D
17:29:04*FromDiscord <Recruit_main_70007> its free real state
17:30:19dadadaexactly
17:31:17FromDiscord<Rika> let's see if it got edited out quick
17:31:40dadadaso far they only moved it into alphabetical order
17:31:46dom96I did, it gets removed :)
17:31:55dadadawhy?
17:33:15dom96who knows, people dislike niche things
17:34:14dadadawhen did that happen last time?
17:34:19disruptekthat sentence needs a period in any event.
17:34:33dadadathen edit it :D
17:34:37disrupteknah.
17:35:55*MarderIII joined #nim
17:36:34dadadais there a page that shows all the companies using Nim? that would be free advertisement for both the companies and NIm
17:36:58FromDiscord<Recruit_main_70007> ive seen that somewhere
17:37:01*MarderIII quit (Client Quit)
17:37:08FromDiscord<Rika> only status is large enough to help afaik
17:37:10dadadawell, I could understand if you'd only give away this "real esate" for some donations
17:37:21*MarderIII joined #nim
17:37:34dadadareal estate
17:41:31*nsf quit (Quit: WeeChat 2.7)
17:44:05*xet7 quit (Quit: Leaving)
17:44:06*MarderIII quit (Quit: Leaving)
17:44:15disrupteknaysayers: aws lambda's tree tier does not expire after a year.
17:44:26*MarderIII joined #nim
17:44:39*MarderIII is now known as warkrkuid
17:45:22*xet7 joined #nim
17:46:40*sagax joined #nim
17:57:17*SyrupThinker joined #nim
18:04:14FromGitter<Varriount> There was quite the fight to get an article on Wikipedia in the first place
18:04:53*NimBot joined #nim
18:06:41*sigmapie8 joined #nim
18:06:56dadadaperceptions change, Nim is now beyond 1.0
18:07:10dadada4 speeches at fosdem
18:07:33FromGitter<Varriount> Nah, it was more because of a lack of secondary sources
18:07:58*actuallybatman quit (Read error: No route to host)
18:07:58dom96yep
18:07:59FromGitter<Varriount> Well, secondary sources that were counted as secondary sources, anyway
18:08:07dom96the article itself was removed like 5 times
18:09:14FromGitter<Varriount> There are certain subjects that just aren't covered by Wikipedia-approved secondary sources. Programming languages and tools are one of them
18:09:35FromGitter<Varriount> Or at least, not covered often
18:10:20dadadahmm, isn't a primary source more important?
18:10:33dadadalike from the horses mouth?
18:10:59dadadahorse's mouth
18:11:00dom96no, because it's not reliable
18:11:13dom96I could make any sorts of claims about Nim
18:11:17dom96and so could Andreas
18:11:21disruptekthe whole idea is to archive facts for which "it is known."
18:11:27dom96You need primary sources and secondary sources that back up those claims
18:12:00dadadaya
18:19:30*jjido joined #nim
18:26:03*abm quit (Ping timeout: 272 seconds)
18:30:15*warkrkuid quit (Remote host closed the connection)
18:30:43*warkrkuid joined #nim
18:31:46*ptdel joined #nim
18:31:55*JustASlacker quit (Ping timeout: 265 seconds)
18:36:26*couven92 quit (Ping timeout: 240 seconds)
18:36:47*sigmapie8 quit (Ping timeout: 240 seconds)
18:37:09*sigmapie8 joined #nim
18:45:33*JustASlacker joined #nim
18:46:43*vivus joined #nim
18:49:06disruptekpassword123
18:49:10disruptekoops
18:49:32Yardanicodisruptek: I only see ***********
18:49:41disruptekssshhhh
18:49:47disruptekyou'll draw attention to it.
18:50:14dom96/ns identify dom96 hunter123
18:50:29disrupteksee what you've done?
18:51:05disrupteknow my ashley madison account is compromised.
18:52:02*JustASlacker quit (Ping timeout: 240 seconds)
19:01:26FromGitter<deech> dom96, does Git dependency, eg. `requires = "foo#head"` also clone submodules in `foo`?
19:05:26FromGitter<deech> Looks like it does, https://github.com/nim-lang/nimble/blob/master/src/nimblepkg/download.nim#L28. Neat!
19:06:13dom96yep, it should
19:07:03*marmotini_ quit (Quit: Leaving...)
19:08:46*JustASlacker joined #nim
19:09:28*marmotini_ joined #nim
19:18:50*tefter joined #nim
19:21:22*abm joined #nim
19:27:49*warkrkuid quit (Quit: Leaving)
19:31:45*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:47:33FromGitter<deech> I'm sure I'm missing something in the Nimble docs but is there a way to have custom project specific build flags, eg. something like `--myproject:staticbuild` which sets the`staticbuild` flag for the `myproject` dependency?
19:48:07dom96nope, that's not a feature that is supported
19:48:12*jjido joined #nim
19:48:21dom96not something that we considered tbh
19:50:43*nsf joined #nim
19:51:34FromGitter<deech> Is there some other way to get options down to dependencies?
19:51:45disruptekyes, define them yourself.
19:52:04FromGitter<deech> I don't understand.
19:52:21disruptekdefine them in your project's configuration.
19:52:31disrupteksomeproject.nim.cfg, ideally.
19:54:40disruptek~motd is Tell me a story about when your instinct, your "programmer's spidey sense", saved your bacon. Or worse...
19:54:40disbotmotd: 11Tell me a story about when your instinct, your "programmer's spidey sense", saved your bacon. Or worse...
19:55:23FromGitter<deech> So if `projectA` depends on `projectB` I have a file called `projectB.nim.cfg` in `projectA` that sets custom options for just that dependency?
19:55:31disrupteknope.
19:55:40FromGitter<deech> That's what I want.
19:55:47disruptekwell, that's not a feature of the compiler.
19:57:23disruptek~features is begin in the unfortunate state of /unimplemented/
19:57:23disbotfeatures: 11begin in the unfortunate state of /unimplemented/
20:02:58*sigmapie8 quit (Quit: Leaving)
20:05:27*gendarme joined #nim
20:07:33FromDiscord<Recruit_main_70007> How can I import a namespace as in this example, but from a dll?
20:07:33FromDiscord<Recruit_main_70007> https://nim-lang.org/docs/manual.html#importcpp-pragma-namespaces
20:08:55*theelous3 joined #nim
20:09:04FromDiscord<Recruit_main_70007> (Pls @ in response if you are from discord, or @ me if they have answered, I am very busy)
20:12:25*gendarme quit (Remote host closed the connection)
20:12:50*gendarme joined #nim
20:17:25*gendarme quit (Remote host closed the connection)
20:17:50*gendarme joined #nim
20:18:37dom96bah, why does Nim define `main` to take 3 arguments
20:18:41dom96that's not portable!
20:21:28nisstyreWhy is there not a proc to just get the current DateTime in UTC?
20:21:47dom96isn't there?
20:22:12nisstyreno, not as far as I can tell
20:22:15nisstyrehttps://nim-lang.org/docs/times.html#utc%2CDateTime
20:22:19nisstyreutc takes a DateTime object
20:22:24nisstyreso you need to have constructed it first
20:22:39dom96now().utc()?
20:23:01nisstyreyeah that seems to work
20:23:06nisstyrefor some reason I thought now() returned Time
20:25:48*noonien joined #nim
20:29:29*nsf quit (Quit: WeeChat 2.7)
20:34:08disruptekthat's +1 for bad spidey senses.
20:34:30disruptek+2 if you count dom's main().
20:37:07*lritter quit (Quit: Leaving)
20:49:49*sekao joined #nim
20:50:42sekaois epochTime() good enough to use for quick and dirty performance tests or is there something better? i just want to know approx. how long a function takes to run
20:51:06disruptek!repo disruptek/criterion
20:51:07disbotno results 😢
20:51:17disruptekwell, it's a fork of an archived repo.
20:51:27Zevvsekao: use cpuTime()
20:51:32disruptekif it's too complex, then cpuTime.
20:52:08sekaogreat ill check it out
21:10:34*sekao quit (Remote host closed the connection)
21:15:22disrupteki want a command-line tool that can give me a histogram for fileLastModified over time, given any directory.
21:27:08SyrupThinkerSounds pretty simple to write, *he said, choking on all the special cases*
21:28:14FromDiscord<Recruit_main_70007> why is dynlib giving an error here:
21:28:14FromDiscord<Recruit_main_70007>
21:28:15FromDiscord<Recruit_main_70007> const rlbotdll: string = "RLBot_Core_Interface.dll"
21:28:15FromDiscord<Recruit_main_70007>
21:28:15FromDiscord<Recruit_main_70007>
21:28:15FromDiscord<Recruit_main_70007> type rlbot {.importc, dynlib: rlbotdll.} = object
21:28:15FromDiscord<Recruit_main_70007>
21:28:17FromDiscord<Recruit_main_70007> invalid pragma: dynlib: rlbotdll
21:28:43disruptek~pastes
21:28:44disbotno footnotes for `pastes`. 🙁
21:28:46disruptek~paste
21:28:47disbotpaste: 11a frowned-upon behavior in chat; please use a service such as https://play.nim-lang.org/ or http://ix.io/ or https://gist.github.com/ and supply us a URL instead. -- disruptek
21:29:21FromDiscord<Recruit_main_70007> https://play.nim-lang.org/#ix=2bUb
21:29:55FromDiscord<Recruit_main_70007> throws:
21:29:55FromDiscord<Recruit_main_70007> `Error: invalid pragma: dynlib: rlbotdll`
21:34:49*Jesin quit (Quit: Leaving)
21:37:03*solitudesf quit (Ping timeout: 268 seconds)
21:37:22*Jesin joined #nim
21:37:38*gpb joined #nim
21:39:43FromGitter<Varriount> Recruit_main_70007: You can't import a type from a dll
21:40:19*gpb quit (Remote host closed the connection)
21:41:55*gendarme quit (Remote host closed the connection)
21:42:35*gendarme joined #nim
21:43:50*natrys quit (Ping timeout: 268 seconds)
21:48:31FromDiscord<clyybber> dom96: Time for a forum rebuild?
21:49:25disruptekwhy so serious?
21:53:05FromDiscord<Recruit_main_70007> Varriount, ok thanks
21:54:03FromDiscord<clyybber> disruptek: supp
21:54:24disrupteksup dawg
21:56:39*couven92 joined #nim
21:57:18*natrys joined #nim
22:08:47FromDiscord<Elegant Beef> So my ECS seems to be now properly ECSd, it
22:08:55FromDiscord<Elegant Beef> it's a miracle what working on something does
22:11:33*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:13:59FromDiscord<Elegant Beef> Also didnt realize i didnt need to check for types when adding components
22:14:08dom96clyybber: sure, time which I will hopefully find tomorrow
22:14:28FromDiscord<Elegant Beef> If the type isnt convertable to Component the compiler complains, which was unexpected to see
22:16:23*fvs quit (Quit: leaving)
22:27:28*marmotini_ quit (Remote host closed the connection)
22:30:34FromGitter<Varriount> Recruit_main_70007: And that's not a Nim limitation, type information isn't (usually) stored in DLLs
22:30:53*jjido joined #nim
22:31:12FromGitter<Varriount> Though, it's an interesting idea
22:31:47*JustASlacker quit (Ping timeout: 272 seconds)
22:34:48*natrys quit (Quit: natrys)
22:35:01disruptekleorize: ping
22:43:21FromDiscord<Recruit_main_70007> Varriount, yeah, I heard of that, but thought namespaces weren’t included in there
22:44:34FromDiscord<Recruit_main_70007> Thanks anyway
22:44:49*tane quit (Quit: Leaving)
22:46:52FromDiscord<clyybber> dom96: Awesome!
22:47:21dom96Currently trying to get my game running on Android
22:47:31dom96Amazingly, tougher to do than on iOS
22:51:32disruptekthis test raises on g++/arc:
22:51:36disruptek # Exception on access
22:51:36disruptek let va = try: discard rOk.error; false except: true
22:51:38disruptek doAssert va, "not an error, should raise"
22:51:51disruptek.. from my badresults package.
22:55:43disruptekso #13065 just need the test disabled?
22:55:45disbothttps://github.com/nim-lang/Nim/pull/13065 -- 3Better C++ based exception handling
23:03:44*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:13:07*ptdel quit (Ping timeout: 240 seconds)
23:37:25*abm quit (Quit: Leaving)
23:43:33*ptdel joined #nim
23:51:47FromDiscord<treeform> dom96, I am interested to know more about your android struggles.
23:51:59FromDiscord<treeform> even reading files on Android is hard.
23:52:08FromDiscord<treeform> I got stuck on just reading files
23:53:03dom96I just got stuck on that :)
23:53:06dom96I'm using SDL though
23:53:12dom96which has its own magic for asset loading
23:59:43dom96also, got weird crash when using sockets