<< 02-03-2020 >>

00:07:01clyybbergood night peeps
00:07:13*clyybber quit (Quit: WeeChat 2.7.1)
00:08:06FromDiscord<Recruit_main70007> See ya
00:15:44*Hideki_ joined #nim
00:20:21*abm quit (Quit: Leaving)
00:22:46shashlickthe plugins package has been posted - https://github.com/genotrance/plugins
01:05:00*sentreen_ quit (Ping timeout: 258 seconds)
01:06:10FromDiscord<Rika> Blessed
01:13:18FromGitter<Varriount> shashlick: Were you able to figure out that EINT bug?
01:13:29shashlicknope, no idea on that
01:13:59shashlicksomething in my code is generating signals that and interrupting sleeps
01:14:10shashlicka minimal example does not suffer from it
01:14:24shashlickhttps://github.com/genotrance/plugins/blob/master/src/plugins.nim#L82
01:14:31FromGitter<Varriount> Hm, are you using any C libraries that Nim program's don't normally use?
01:14:44shashlicknope this is 100% pure nim
01:15:23*leorize quit (Ping timeout: 240 seconds)
01:15:34FromGitter<Varriount> Hm, do you know what signal is being raised? Is there more than one thread?
01:16:12shashlickthere's a main thread and a monitor thread
01:16:17shashlicki'm sleeping in the monitor thread
01:16:27shashlicki created the same minimal example and it sleeps fine
01:16:34shashlickhow can I tell what signal is interrupting the sleep?
01:17:15FromGitter<Varriount> shashlick: Hm, if you're on Linux, or OSX, it might be possible to use dtrace or dtruss
01:17:41FromGitter<Varriount> If you're on Windows, Process monitor might be able to sniff out the problem
01:17:45shashlickthis is linux, i can try it out
01:17:55shashlickthis was originally written on windows and i think it worked fine there
01:18:00shashlickcan you tell me how to?
01:18:11*Hideki_ quit (Remote host closed the connection)
01:18:27*Hideki_ joined #nim
01:18:37*sentreen_ joined #nim
01:19:05*leorize joined #nim
01:19:07FromGitter<Varriount> shashlick: I can help google.
01:19:15FromGitter<Varriount> Or GDB, gdb might also help too
01:19:40*Hideki_ quit (Remote host closed the connection)
01:19:43FromGitter<Varriount> shashlick: https://sourceware.org/gdb/onlinedocs/gdb/Signals.html
01:19:51FromGitter<Varriount> That looks promising
01:20:09shashlicknifty, will try
01:20:10FromGitter<Varriount> You can compile Nim with --debugger:native (or it might be --debug:native)
01:20:42FromGitter<Varriount> You might need some other options, it's been a while since I've run GDB with Nim
01:21:29shashlicki've used nim-gdb before so that part should be fine
01:21:44shashlickhopefully gdb just prints automatically when a signal is raised
01:23:47FromDiscord<Winton> Hi, All
01:24:13FromDiscord<Winton> Is it possible to create a program that allows us to password a folder that I can choose? in Nim?
01:24:38FromGitter<Varriount> shashlick: It looks like you'll need to run `handle all stop print noignore`
01:24:54FromGitter<Varriount> Winton: Do you mean "password protect" a folder?
01:25:01shashlickheh - am getting SIGSEGV
01:25:15FromDiscord<Winton> What I want is to create an encryption for a folder that I have and I have the option of adding this password security. I want to do this simple hobby program and I'm sorry if I'm annoying but I still have 2 weeks using 100% nim
01:25:27FromGitter<Varriount> shashlick: I suspected that. I take it that the sigsegv handler isn't printing a stack trace?
01:25:28shashlickwith gdb, but runs fine without
01:25:32FromDiscord<Winton> > <FromGitter> <Varriount> Winton: Do you mean "password protect" a folder?
01:25:32FromDiscord<Winton> @gitterirc yes
01:25:39shashlick0x00007ffff736c522 in GC_find_limit_with_bound () from /usr/lib/x86_64-linux-gnu/libgc.so.1
01:26:14FromGitter<Varriount> Hm, perhaps that's intentional? Try continuing and see if another signal is raised.
01:26:39FromDiscord<Winton> for windows
01:28:21shashlickOk brb
01:29:15FromGitter<Varriount> Winton: Well, there are multiple ways to password protect something
01:30:41FromGitter<Varriount> Sometimes the OS is able to do it, although usually the owner of the folder isn't prompted for a password (since they own the folder).
01:31:18FromDiscord<Winton> > <FromGitter> <Varriount> Sometimes the OS is able to do it, although usually the owner of the folder isn't prompted for a password (since they own the folder).
01:31:18FromDiscord<Winton> @gitterirc haaa Ok
01:31:28FromGitter<Varriount> You can compress/concatenate the contents of a folder, then encrypt the resulting file. This works across operating systems, however you have to uncompress the file if you want to view the contents.
01:31:36FromDiscord<Winton> but I imagine that it could be given the form of yes?
01:32:15FromDiscord<Winton> mostly sometimes we want to put a password to a folder and we could even make this folder also to be deleted password
01:32:44FromGitter<Varriount> What do you mean by 'deleted' password?
01:33:42FromDiscord<Winton> I know that with winrar I could but for that I must do what you say compress, but I prefer that this folder load it in some way and get an encryption to access it, it is simply something that occurred to me to do and I came looking for information to see What's up
01:34:16FromGitter<Varriount> Do you mean you want to be able to access the folder without using a program to decrypt/uncompress it?
01:34:16FromDiscord<Winton> I mean that to delete the folder, you must also place the key in the same way
01:34:35FromDiscord<Winton> > <FromGitter> <Varriount> Do you mean you want to be able to access the folder without using a program to decrypt/uncompress it?
01:34:35FromDiscord<Winton> @gitterirc yes
01:34:37FromDiscord<Winton> ej..
01:34:51FromDiscord<Winton> https://prnt.sc/ra2hea
01:35:26FromDiscord<Winton> let's say that to this folder only I want access, well that I with my program written in nim just have to refer me to open my program and put the password that I want to have
01:36:08FromDiscord<Winton> Even only I could have access to my folder and in case of deletion by mistake it could not be done since I would ask the user for the password
01:36:29*leorize quit (Quit: WeeChat 2.7.1)
01:36:30FromGitter<Varriount> And what would this program do? What would your actions after using this program look like?
01:37:25FromDiscord<Winton> > <FromGitter> <Varriount> And what would this program do? What would your actions after using this program look like?
01:37:25FromDiscord<Winton> @gitterirc what do you mean ?
01:37:56FromGitter<Varriount> Well, Windows doesn't have a native way to password protect a folder.
01:38:28FromDiscord<Winton> well the idea is i make this program to protect folders
01:38:41FromDiscord<Winton> It's like a winrar, just that it would be a folder
01:38:57FromGitter<Varriount> The output of such a program would have to be a compressed archive (or something similar) that's been encrypted.
01:39:38FromDiscord<Winton> > <FromGitter> <Varriount> The output of such a program would have to be a compressed archive (or something similar) that's been encrypted.
01:39:38FromDiscord<Winton> @gitterirc I already understand, well in that case ps should be like winrar I imagine?
01:39:47FromGitter<Varriount> Yes.
01:39:56FromDiscord<Winton> 😕
01:40:29FromDiscord<Winton> well thank you friend anyway I would like to do it to practice and meet challenges along the way
01:40:55FromDiscord<Winton> Excuse my tongue, I really speak Spanish
01:41:06FromGitter<Varriount> Just to be clear, this isn't a limitation with Nim, it's a limitation with Windows.
01:41:26FromDiscord<Winton> Mmmm
01:41:31FromDiscord<Winton> Ok
01:41:41FromGitter<Varriount> Winton: You might want to look at Truecrypt and related programs.
01:41:48FromDiscord<Winton> I understand, however with Linux is it possible?
01:42:07FromGitter<Varriount> Hm, possibly with a user-space filesystem
01:42:08FromDiscord<Winton> > <FromGitter> <Varriount> Winton: You might want to look at Truecrypt and related programs.
01:42:08FromDiscord<Winton> @gitterirc yes please.
01:43:02FromGitter<Varriount> Truecrypt can password protect a folder by creating a file which represents a filesystem. Truecrypt can then mount the filesystem when you double-click the encrypted filesystem.
01:43:15FromDiscord<Winton> > <FromGitter> <Varriount> Just to be clear, this isn't a limitation with Nim, it's a limitation with Windows.
01:43:15FromDiscord<Winton> @gitterirc the option I have is like compressing the folder to enter the password and manage to do what I am thinking in the same way it may not be the way I was thinking, but if it goes with the same logic of the password and that is what I want to achieve
01:44:40FromGitter<Varriount> Winton: I would look at compression and encryption libraries. The process would be to compress a folder, then encrypt the compressed folder.
01:45:50FromDiscord<Winton> Ps if I have that very clear, well a long maybe work awaits me and a lot of research
01:47:36FromDiscord<Winton> > <FromGitter> <Varriount> Winton: I would look at compression and encryption libraries. The process would be to compress a folder, then encrypt the compressed folder.
01:47:36FromDiscord<Winton> @gitterirc thanks for the information mate, It has helped me a lot, you are very grateful
01:57:16*marmotini_ joined #nim
01:59:43*rockcavera quit (Remote host closed the connection)
02:01:18*mrgaturus joined #nim
02:04:33mrgaturusis posible add more enum fields to a defined type using macros?
02:12:17FromGitter<Varriount> mrgaturus: No. Once a type is defined, it's defined.
02:12:51FromGitter<Varriount> mrgaturus: Otherwise the compiler would have to repeatedly re-evaluate and check code each time a field was added.
02:13:57*rockcavera joined #nim
02:17:34*marmotini_ quit (Remote host closed the connection)
02:18:07*marmotini_ joined #nim
02:18:14mrgaturusVarriount: thanks, i see, i tried to create an enum whose fields are defined with a macro that is called in many modules and then generate that enum with another macro
02:22:37*marmotini_ quit (Ping timeout: 255 seconds)
02:58:56*endragor joined #nim
03:00:35*chemist69 quit (Ping timeout: 272 seconds)
03:02:28*chemist69 joined #nim
03:08:27*endragor quit (Remote host closed the connection)
03:09:33*endragor joined #nim
03:10:09*mrgaturus quit (Quit: WeeChat 2.7.1)
03:13:18FromGitter<nhanb> I forgot to get back here last weekend but big thanks to leorize and others here for helping me finally compile sqlite statically into my program. I ended up with `gcc -c -DSQLITE_THREADSAFE=0 sqlite3.c -o sqlite3.o`, disabling thread support because my own project doesn't use it and nim compiler would complain otherwise. Got my stuff running flawlessly now. Nim is cool.
03:15:17leorize[m]np. even better, you can make use of Nim's passC and compile pragma to just do it as part of the project :)
03:15:46*muffindrake quit (Ping timeout: 240 seconds)
03:18:06*muffindrake joined #nim
03:23:12*dddddd quit (Read error: Connection reset by peer)
03:23:19*endragor quit (Remote host closed the connection)
03:24:45*endragor joined #nim
03:28:46*Guest22275 quit (Ping timeout: 240 seconds)
03:31:01*dadada joined #nim
03:31:24*dadada is now known as Guest27756
04:04:12*fredrik92 quit (Read error: Connection reset by peer)
04:04:36*fredrik92 joined #nim
04:09:44*rockcavera quit (Remote host closed the connection)
04:12:09*fredrik92 quit (Read error: Connection reset by peer)
04:12:34*fredrik92 joined #nim
04:21:11*fredrik92 quit (Read error: Connection reset by peer)
04:21:37*fredrik92 joined #nim
04:29:57*ptdel quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
04:36:13*hax-scramper quit (Ping timeout: 258 seconds)
04:37:07*hax-scramper joined #nim
04:42:32*hax-scramper quit (Read error: Connection reset by peer)
04:42:47*hax-scramper joined #nim
04:45:28*nsf joined #nim
05:08:43*sagax quit (Remote host closed the connection)
05:14:38FromDiscord<Elegant Beef> Anyone know how to prevent a control from taking space in an LayoutContainer in nigui?
05:26:00*hax-scramper quit (Read error: Connection reset by peer)
05:26:16*hax-scramper joined #nim
05:46:23FromGitter<Varriount> Put it in another container?
05:46:30*leorize joined #nim
05:46:51FromGitter<Varriount> ( I haven't used nigui, but that's how it's done in other programs)
05:48:09*fredrik92 quit (Read error: Connection reset by peer)
05:48:34*fredrik92 joined #nim
05:55:07FromGitter<Varriount> Elegant Beef: What are you making?
05:55:20FromDiscord<Elegant Beef> An updater for a game
05:55:42FromDiscord<Elegant Beef> Drawing an image as the background but it takes space and would prefer if the buttons were overtop the image
05:56:04leorizeif it's the background wouldn't everything be on top of it?
05:56:12FromDiscord<Elegant Beef> That's the point
05:57:45FromDiscord<Elegant Beef> Atleast the only way i see to draw an image is with a control, which is taking space so i can draw the image
06:12:25*letto joined #nim
06:23:40*fredrik92 quit (Read error: Connection reset by peer)
06:24:06*fredrik92 joined #nim
06:50:19*hax-scramper quit (Read error: Connection reset by peer)
06:50:42*hax-scramper joined #nim
07:10:57*narimiran joined #nim
07:25:39*fredrik92 quit (Read error: Connection reset by peer)
07:25:44FromDiscord<Lantos> ^.^ I did it managed to send mail with nim
07:25:44FromDiscord<Lantos> https://play.nim-lang.org/#ix=2d9h
07:25:45FromDiscord<Lantos> follow up from Friday.
07:26:07*fredrik92 joined #nim
07:32:06*solitudesf joined #nim
07:42:28*PMunch joined #nim
07:49:15*clemens3 quit (Quit: WeeChat 2.7)
07:49:27*disbot quit (Ping timeout: 240 seconds)
07:49:55*disruptek quit (Ping timeout: 260 seconds)
07:51:42*disruptek joined #nim
07:52:10*disbot joined #nim
07:56:06*jjido joined #nim
08:00:00*gmpreussner quit (Quit: kthxbye)
08:02:19*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:03:07*nc-x79 joined #nim
08:03:11FromGitter<Varriount> Lantos: Great job!
08:04:51*gmpreussner joined #nim
08:05:50*nc-x79 quit (Remote host closed the connection)
08:08:26*solitudesf quit (Ping timeout: 240 seconds)
08:22:04*Vladar joined #nim
08:34:02*inv2004 joined #nim
08:37:01inv2004Hello, month ago I was trying to use alaviss/nim.nvim on windows without success, but it was not a problem, because vs-code worked fine
08:37:36inv2004today, I decided to try linux again, I have fresh neovim, see that plugin, but I do not see 1) any syntax highlight
08:38:09inv2004and goto-definition does not work across files also
08:41:12*dwdv joined #nim
08:45:44inv2004Just checked - autocomplete is also strange if it works
08:46:06*floppydh joined #nim
08:51:24lqdev[m]ping leorize
08:55:14*marmotini_ joined #nim
09:02:15inv2004Yes, it is a bit strange - before it was windows, but now I did only few steps which described in instruction
09:02:35inv2004do not think it is the plugin problem, maybe something else
09:10:50*uvegbot quit (Ping timeout: 256 seconds)
09:17:46*uvegbot joined #nim
09:23:34*marmotini_ quit (Remote host closed the connection)
09:24:11*marmotini_ joined #nim
09:24:42FromGitter<timotheecour> anywaones wants to merge https://github.com/nim-lang/Nim/pull/13555 to un-break nim CI?
09:24:44disbotfix broken nim CI, disable blscurve
09:24:56FromGitter<timotheecour> *anyone
09:26:58FromGitter<sheerluck> Araq released this 20 minutes ago: `2020-03-02-devel-22d1ba4` nightly build -- and there's no `nim-1.1.1-linux_arm64.tar.xz` Something happend with `nim-1.1.1-linux_arm64.tar.xz` last one is 7 days ago :(
09:27:57narimirani'm looking into it
09:28:58*marmotini_ quit (Ping timeout: 256 seconds)
09:31:10*krux02 joined #nim
09:35:27*marmotini_ joined #nim
09:40:00*marmotini_ quit (Remote host closed the connection)
10:07:54FromGitter<kristianmandrup> I have ES6 imports working for JS gen. Made some extensions to the JS generator engine that makes it a lot more powerful. Still experimental.
10:08:06*clemens3 joined #nim
10:09:10Araqnice
10:09:16Araqdid you fix your RFC?
10:09:49*inv2004 quit (Remote host closed the connection)
10:15:27*clemens3 quit (Read error: No route to host)
10:17:41*clemens3 joined #nim
10:18:39FromDiscord<mratsim> @timotheecour, looking
10:20:14FromGitter<Lecale> Hello Gitter. Does anyone know the answer to https://stackoverflow.com/questions/60472920/how-to-call-string-function-in-dotnet-core-with-impotdll-in-nim-lang
10:22:28FromGitter<Lecale> I found it hard to find a starting place to learn about this topic
10:27:27Araq [DllImport("HelloNim.dll")]
10:27:27Araq public static extern string HelloNim(int a, int b);
10:27:44AraqI suspect it's not a 'string' here ;-)
10:28:58FromGitter<Lecale> What do you suspect it to be?
10:30:57FromGitter<melMass> Is there a list of Nim reserved keywords ? It seems that `debug` is reserved ?
10:31:00*abm joined #nim
10:31:22Araqhttps://docs.microsoft.com/de-de/cpp/dotnet/how-to-convert-char-star-string-to-system-byte-array?view=vs-2019
10:33:19Araqhttps://docs.microsoft.com/de-de/cpp/dotnet/how-to-marshal-strings-using-pinvoke?view=vs-2019
10:33:29Araqyou might need to write some C
10:33:34Araq++ interop code?
10:33:47FromDiscord<mratsim> @timotheecour: replied https://github.com/status-im/nim-blscurve/issues/39#issuecomment-593334197, basically many issues: 1. nimyaml cannot be installed anymore from the original repo, 2. Nimble doesn't allow installing from an alternate repo as requirement, 3. Nimble doesn't allow task-level dependencies
10:33:49disbotnim CI broken: eth2_vectors.nim(17, 3) Error: cannot open file: yaml ; snippet at 12https://play.nim-lang.org/#ix=2d9V
10:34:39FromDiscord<mratsim> so currently all code that requires NimYAML should be commented out from the Nim important packages test unless you use Status alternative nimyaml
10:34:55FromDiscord<mratsim> which has a fix for the git mess
10:38:01*marmotini_ joined #nim
10:38:17FromGitter<Lecale> Having to learn some C++ rather increases the complexity of task. But maybe calling with char array and using Marshall.Copy can work. It looked very simple when you just had an example with a cint
10:40:57AraqmelMass: 'debug' is not reserved
10:41:09Araqthe list of keywords can be found in the manual
10:42:22Araqhttps://stackoverflow.com/questions/30887551/net-interop-how-to-get-returned-string-not-null-terminated-from-unmanaged-dl
10:42:32Araq[DllImport("D:\\ca\\TextAccessLibrary.dll", CallingConvention = CallingConvention.Cdecl)]
10:42:32Araqstatic extern IntPtr GetText();
10:42:43Araqyou need 'IntPtr' as the return type
10:43:15Araqoh wait
10:43:58Araq'string' is supposed to work?
10:44:13Araqwho knows, C# interop is so weird, full of magic that sometimes works
10:45:10Araqhttps://limbioliong.wordpress.com/2011/06/16/returning-strings-from-a-c-api/
10:46:11krux02Araq: Can you review my PR here: https://github.com/nim-lang/Nim/pull/13536
10:46:13disbotfix operators containing percent for VM usage
10:46:41*lritter joined #nim
10:47:05FromGitter<Lecale> Some fun to be had
11:04:45*sagax joined #nim
11:13:47FromGitter<melMass> @Araq, thanks, strange then, I'll investigate further.
11:14:06FromGitter<melMass> Is there an `OR` type in nim
11:14:29FromGitter<melMass> ```LogStyle = object ⏎ fg:LogColor|ColorRGB ⏎ ``` [https://gitter.im/nim-lang/Nim?at=5e5cea94ec7f8746aaaa061c]
11:14:37FromGitter<melMass> Something like that
11:14:39*fredrik92 quit (Read error: Connection reset by peer)
11:15:07*fredrik92 joined #nim
11:23:25FromGitter<melMass> Lastly (sorry but I'm reviving my rusty nim knowledge)
11:23:45FromGitter<melMass> How to handle implicit type conversion, in the manual:
11:23:46FromGitter<melMass> https://nim-lang.org/docs/tut2.html#object-oriented-programming-type-conversions
11:24:17FromGitter<melMass> I don't understand the expected signature from `destination_type(expression_to_convert)`
11:24:55FromGitter<alehander92> there is `or` type
11:25:05FromGitter<melMass> ```proc toColorRGB*(this:LogColor):ColorRGB = ⏎ case this ⏎ of BLACK: return rgb(1,1,1)``` ⏎ ⏎ This does not implicitly convert LogoColor to ColorRGB [https://gitter.im/nim-lang/Nim?at=5e5ced11ec7f8746aaaa0b42]
11:25:08FromGitter<alehander92> operator for types*
11:25:14FromGitter<alehander92> but it produces a generic type
11:25:33FromGitter<alehander92> so sometimes effects of that are not expected by the programmer
11:26:53FromGitter<melMass> @alehander92 Thanks, I get the same error, `Is not a concrete type` but that's my fault, one is a type the other is an enum... I'm quite new to nim type system
11:27:07FromGitter<alehander92> no, the problem is that LogStyle seems as a normal non-generic type
11:27:25FromGitter<alehander92> but you add a generic non-concrete field: at least thats what i think, i might be wrong
11:28:06FromGitter<alehander92> usually we use something like ADT-s (similar to adt-s in functional langs or enums in rust): case objects
11:28:33FromGitter<melMass> The generic field being the `or` right ?
11:28:35FromGitter<alehander92> i'd say A | B is mostly useful for generic procedures arg types
11:28:38FromGitter<alehander92> yes
11:29:19FromGitter<alehander92> so basically you'd either make LogStyle generic based on T: being LogColor or ColorRGB or something else
11:29:23FromGitter<melMass> Ok I understand, I should rethink it with a generic type
11:29:40FromGitter<alehander92> or you would just make a more general case object which is something like an union
11:30:28FromGitter<melMass> You can use case in type declaration ?
11:30:34*m4r35n357 quit (Quit: Ex-Chat)
11:31:10FromGitter<melMass> Thanks for the clarification about generic !
11:31:36FromGitter<alehander92> <3
11:31:55FromGitter<melMass> Do you know about implicit conversion by any chance ?
11:32:24FromGitter<alehander92> https://nim-lang.org/docs/tut2.html#object-oriented-programming-object-variants
11:32:29FromGitter<alehander92> they are very useful
11:32:45FromGitter<alehander92> do you work with any other static languaghe? to make it easier to show you a parallel
11:33:56FromGitter<alehander92> afaik yes
11:33:57FromGitter<melMass> C++ and Haxe mainly
11:34:02FromDiscord<kodkuce> arc stable now?
11:34:03FromGitter<alehander92> implicit convertion can happen with `converter`
11:34:11FromGitter<melMass> That's so powerful thanks
11:34:27FromGitter<alehander92> you just define one from A to B and it takes part in
11:34:32FromGitter<alehander92> function overloading later
11:34:42FromGitter<alehander92> e.g. converter a(a: A): int = a.field
11:35:03FromGitter<alehander92> var a: A ... a + 5
11:35:17FromGitter<alehander92> IIRC
11:35:54FromGitter<alehander92> explicit overloading is about e.g. 5.float => 5.0, 4.StudentID =>StudentID(4) etc
11:36:06FromGitter<alehander92> i think its mostly about OOP and distinct/enum/int types
11:36:48FromGitter<melMass> <3 <3 <3 It works !!!
11:36:51FromGitter<alehander92> i'd say case objects can be very similar to https://code.haxe.org/category/beginner/enum-adt.html if you use them in that way
11:37:04*marmotini_ quit (Remote host closed the connection)
11:39:05FromDiscord<Rika> i still dont know how to name a proc that would convert a type into another type
11:39:10FromDiscord<Rika> rather, the naming convention
11:39:14FromDiscord<Rika> *is unclear
11:39:31FromGitter<melMass> @alehander92 Fun that you mention Haxe enums, I actually was thinking of the problem with an Haxe mind which I think don't fit in that case, I have an enum of predefined colors: ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ And wanted like a CUSTOM key with rgb values [https://gitter.im/nim-lang/Nim?at=5e5cf073ec7f8746aaaa13e8]
11:40:40FromGitter<kristianmandrup> @Araq I'll wrap it up and then finish the RFC, following your advice
11:42:46*narimiran quit (Ping timeout: 240 seconds)
11:44:03*floppydh quit (Ping timeout: 240 seconds)
11:45:14FromGitter<alehander92> @melMass ok, but then why would you have an enum, if one can have a continuum of different possible values there
11:45:31FromGitter<alehander92> you can just have const blackColor etc
11:45:39FromGitter<alehander92> which is of the RgbColor type
11:46:50FromGitter<alehander92> if you want to have only those available at some place, you can still have both types i guess, but have a converter indeed
11:47:16FromGitter<alehander92> which can use an `array[LogColor, RgbColor]`
11:47:23*m4r35n357 joined #nim
11:47:39FromGitter<alehander92> arrays in nim can be indexed by enums as well
11:48:50FromGitter<melMass> I went the converter way, doing the case test there and returning the right color for that specific case, but thanks for all the extras very useful informations
11:49:01FromGitter<alehander92> btw if you're working on a logging library, i'd point you to the libs like https://nim-lang.org/docs/logging.html and https://github.com/status-im/nim-chronicles/
11:49:29*marmotini_ joined #nim
11:49:29FromGitter<alehander92> of course, if you want to build something different, go ahead just letting you know of the existing dsl-s
11:50:40FromGitter<alehander92> yeah just saying that array might be simpler as you just right ⏎ `var a: array[LogColor, RgbColor] = [rgb(...), rgb(..), ..]` and then `a[arg]`
11:51:15FromGitter<alehander92> no problem
11:53:31FromGitter<melMass> Thanks again :), Logging libraries are my "Todo App" for new languages, it's just to try the type system and how to handle cases I'm well aware of in other languages. I've stopped using Nim a year ago because of the lack of time I had. Since then I wrote a lot of Haxe programs (Sys target) and felt frustrated by all the abstractions I have to go to, to use native libraries, I still love Haxe very much but I find in Nim
11:53:31FromGitter... exactly what I miss in Haxe
11:55:44*nsf quit (Ping timeout: 256 seconds)
11:56:23*nsf joined #nim
11:59:18FromGitter<alehander92> ah ok!
11:59:26FromGitter<alehander92> yeah haxe is interesting to me
11:59:46FromGitter<alehander92> as i wanted to do something kinda similar back then, but i also find it a bit harder to use one lang for so many targets
11:59:58FromGitter<alehander92> nim is ok for me with C/javascript target fo rnow
12:02:23FromGitter<melMass> @alehander92 also the nimpy project is very interesting
12:05:58FromDiscord<Rika> i'd use nim more if it had more machine learning helpers XD (i only use them, i'm not capable of writing them)
12:07:08FromDiscord<Recruit_main70007> i also think nim needs more, i was unable to install neither of the 2 we have
12:10:37*rockcavera joined #nim
12:15:14PMunch@Lantos, wouldn't it be easier to use the SMTP module? https://nim-lang.org/docs/smtp.html
12:30:43*marmotini_ quit (Remote host closed the connection)
12:31:18*marmotini_ joined #nim
12:35:59*marmotini_ quit (Ping timeout: 260 seconds)
12:44:56*marmotini_ joined #nim
12:44:56*solitudesf joined #nim
12:46:00*endragor quit (Remote host closed the connection)
12:54:05*kungtotte quit (Read error: Connection reset by peer)
12:54:26*uvegbot quit (Ping timeout: 240 seconds)
12:54:36*kungtotte joined #nim
12:57:17*rockcavera quit (Remote host closed the connection)
13:00:20*hax-scramper quit (Ping timeout: 256 seconds)
13:01:02*hax-scramper joined #nim
13:01:21*uvegbot joined #nim
13:02:30*rockcavera joined #nim
13:07:15*nsf quit (Quit: WeeChat 2.7)
13:13:21*Kaivo joined #nim
13:18:01*marmotini_ quit (Remote host closed the connection)
13:18:37*marmotini_ joined #nim
13:19:19FromGitter<melMass> Is there a way to use a pragma only if a compilation define has been set ?
13:20:40FromGitter<melMass> ```proc myProc*() ⏎ when defined(foo): ⏎ {.bar.} ⏎ = ⏎ return true``` [https://gitter.im/nim-lang/Nim?at=5e5d0827ca2f5a558d5ee1b0]
13:21:53PMunchHmm if you have a string in Nim code, and then do "return cstring(myString)" does that copy the Nim string? Who is responsible for clearing that memory?
13:22:44lqdev[m]@melMass create a custom pragma in a when, like: when defined(foo): {.pragma: bar, importc.} else: {.pragma: bar, exportc.}
13:22:47lqdev[m]@melMass create a custom pragma in a when, like: when defined(foo): {.pragma: bar, importc.} else: {.pragma: bar, exportc.}
13:23:13*marmotini_ quit (Ping timeout: 255 seconds)
13:24:14FromGitter<melMass> @PMunch whoever calls it no ?
13:24:44PMunchWell it depends on what happens to the underlying string
13:25:11leorize[m]lqdev: you pinged?
13:25:21PMunchIf the cstring is just a pointer to the buffer of the string the Nim GC will take care of it (and you must copy the string into the calling code before calling anything else in the Nim code).
13:25:40PMunchBut I'm not sure if there is a chance it would get cleared before returning in that case..
13:26:04lqdev[m]leorize: yes, a guy was having some problems setting up nim.nvim
13:26:21lqdev[m]see history for details
13:27:02*clyybber joined #nim
13:27:51leorize[m]yea, they left irc though
13:28:03FromDiscord<mratsim> @Rika, what kind of ML are you doing?
13:30:31clyybberlqdev[m]: Btw, shashlick made his plugin thing a package
13:31:06FromDiscord<Rika> mratsim, i'm not doing anything special really, but it's classification using gradient boosting
13:31:23FromDiscord<Rika> (note that i'm not in college yet)
13:34:16*marmotini_ joined #nim
13:35:32FromDiscord<mratsim> well 2 years ago I'm pretty sure no one had courses in gradient boosting 😉
13:36:56FromDiscord<mratsim> wrapping xgboost or lightgbm shouldn't be too hard (except the install instructions) but I'm not too sure on the dataframe format in NimData and how compatible it is with those
13:38:52*marmotini_ quit (Ping timeout: 256 seconds)
13:38:52FromGitter<alehander92> @melMass your pragma can simply check the defined itself, maybe
13:39:06FromGitter<alehander92> pragma implementation* if its a macro
13:39:19*marmotini_ joined #nim
13:39:57lqdev[m]clyybber: good to know, I'll check it out
13:40:41FromGitter<melMass> @lqdev thanks that's it ! @alehander92 I'm using a pragma from an external lib but wrapping it myself as suggested works nicely
13:40:55FromDiscord<Rika> i see *eyes blindfolded*
13:42:04shashlickStill fighting the CI and some minor issues but ya, it's getting there
13:42:20shashlick!repo plugins
13:42:22disbothttps://github.com/ThomasTJdev/nimwc_plugins -- 9nimwc_plugins: 11Plugin repository for Nim Website Creator 15 4⭐ 0🍴 7& 29 more...
13:42:27shashlickMeh
13:42:42FromDiscord<Rika> wrong plugin repo?
13:42:44FromDiscord<Rika> lmao
13:42:54shashlick!repo genotrance/plugins
13:42:55disbothttps://github.com/genotrance/plugins -- 9plugins: 11Plugin system for Nim 15 1⭐ 0🍴
13:43:04FromGitter<melMass> :(
13:43:24FromDiscord<Rika> no cutlery yet
13:43:26FromGitter<melMass> It's not a pragma but a macro, I did not know you could use macro like pragmas
13:43:39FromDiscord<Rika> pragmas are just macros technically
13:44:37*solitudesf quit (Remote host closed the connection)
13:44:56FromGitter<melMass> Oh I see, but it seems I cannot use that with a macro ⏎ ⏎ ```{.pragma: bar, mymacro.}``` [https://gitter.im/nim-lang/Nim?at=5e5d0dd853fa513e28649b81]
13:45:06*Hideki_ joined #nim
13:46:26FromGitter<melMass> I'm getting ⏎ ⏎ ```Error: invalid pragma: mymacro``` [https://gitter.im/nim-lang/Nim?at=5e5d0e327fef7f2e8997487d]
13:49:43FromDiscord<Rika> theres a certain syntax to conform to which i cannot recall
13:52:32shashlickhttp://nim-lang.github.io/Nim/manual.html#macros-macros-as-pragmas
13:53:39*fredrik92 quit (Read error: Connection reset by peer)
13:53:52shashlickhttp://nim-lang.github.io/Nim/manual.html#pragmas-pragma-pragma
13:54:04*fredrik92 joined #nim
13:56:01FromGitter<Lecale> After upgrading to 1.0.6 I have a Nim_and_C_compiler_disagree_on_target_architecture message
13:56:16FromDiscord<Rika> thats one hell of an anchor
13:56:23FromDiscord<Rika> "pragmas-pragma-pragma"
14:06:43FromGitter<alehander92> @melMass but what are you trying to do
14:06:43shashlickLecale: how did you upgrade
14:06:59FromGitter<alehander92> usually you define macro mymacro(function: untyped): untyped = ....
14:07:04FromGitter<alehander92> and then use {.mymacro.}
14:08:05*Hideki_ quit (Read error: Connection timed out)
14:08:28FromGitter<alehander92> ah i just now got what `{.pragma.}` does: its just like a shortcut for reusing a set of other pragmas
14:08:48*Hideki_ joined #nim
14:08:58FromGitter<alehander92> so you're writing "when i use {.bar.} this should be actually {.mymacro.}" so you still need mymacro def
14:11:44clyybberalehander92: Its also useful to make noop pragmas
14:11:50clyybberthat are like annotations
14:11:58clyybberthat you can check for in macros
14:15:56FromGitter<melMass> @Rika thanks a lot this is it, I think I'm going to print the whole manual :D
14:16:41FromDiscord<Rika> hahaha
14:17:03FromDiscord<Rika> i'd load it onto my e-reader but that's me
14:17:55FromGitter<alehander92> clyybber yes that makes sense
14:19:30*marmotini_ quit (Remote host closed the connection)
14:20:05*marmotini_ joined #nim
14:24:38*marmotini_ quit (Ping timeout: 258 seconds)
14:27:07*chemist69 quit (Ping timeout: 272 seconds)
14:27:55*chemist69 joined #nim
14:30:26*hax-scramper quit (Ping timeout: 240 seconds)
14:31:03*hax-scramper joined #nim
14:32:24m4r35n357hi guys, math library question, can't seem to access either of these fucntions: https://nim-lang.org/docs/sums.html
14:32:37m4r35n357Error: undeclared identifier: 'sumPairs'
14:32:43m4r35n357same for the other one
14:32:54m4r35n357I have import math, of course
14:33:33FromDiscord<Rika> m4r35n357 how are you using it?
14:33:52m4r35n357hold on . . .
14:34:24m4r35n357https://play.nim-lang.org/#ix=2daV
14:35:22FromDiscord<Rika> `import std/sums`
14:35:39FromDiscord<Rika> it's `monotimes` all over again
14:36:58m4r35n357hmm, that compiles, thanks
14:37:37m4r35n357si I get math math for free ;)
14:37:53m4r35n357but I have to specify math std/sums
14:37:58m4r35n357aaargh!
14:38:28clyybberRika: WDYM?
14:38:51clyybberbecause peeps expected monotimes to exist when importing times?
14:38:59m4r35n357well I am using math functions already, at the same level of hierarch (in the docs) as the sums
14:39:09m4r35n357but I don't have to import math/math
14:39:33clyybberm4r35n357: Oh, but its not math/sum
14:39:35clyybberits just sums
14:39:54clyybberm4r35n357: Its not part of the math module
14:40:05m4r35n357I know, it is working, but it seem sillogical
14:40:06clyybbernot really
14:40:06m4r35n357I just made up a word
14:40:06clyybberits just a module in the stdlib
14:40:30m4r35n357yes, math and std/sums are in the same section in the docs, yes?
14:40:31*xet7 quit (Quit: Leaving)
14:41:00m4r35n357they both say to import math
14:41:00clyybberno
14:41:01clyybberthey say they import math
14:41:01m4r35n357but one works, and dthe other does not
14:41:05clyybberthey don't tell you that you have to import math
14:41:05m4r35n357aaaargh agqain then!
14:41:14FromDiscord<Rika> clyybber: its not clear that you need to indicate std/ to import monotimes
14:41:43m4r35n357I got the math functions to work by appliying the import at the top of the section
14:41:44*xet7 joined #nim
14:41:46FromDiscord<Rika> the module imports math, it doesnt export it though
14:41:56m4r35n357but I had to ask on IRC to get the sums working
14:42:00FromDiscord<Rika> nor does it say that it's imported by math
14:42:20*NimBot joined #nim
14:52:58*Zevv quit (Ping timeout: 260 seconds)
14:54:35*Zevv joined #nim
14:54:36*Zevv quit (Changing host)
14:54:36*Zevv joined #nim
14:54:56clyybberZevv casually joining via an ads server
15:00:37Zevvads server?
15:00:56Zevvwhy&how?
15:01:15ZevvMy internet just dropped out because of service updates and my irssii reconnected?
15:07:21clyybberoh, yeah I'm stupid
15:07:23clyybberit was your isp
15:07:28clyybberits domain said ads1
15:08:34*Vladar quit (Quit: Leaving)
15:08:44*Hideki_ quit (Remote host closed the connection)
15:09:01leorizeit said adsl btw :P
15:09:11leorizeyou should use a better font :)
15:15:57*marmotini_ joined #nim
15:17:49*marmotin_ joined #nim
15:18:50Zevvzevv-peep!
15:19:19FromGitter<Varriount> Zevvvvvvv
15:19:19*PMunch quit (Quit: Leaving)
15:19:29clyybberleorize: Huh, I said ads1
15:19:39clyybberoh damn
15:19:47clyybberlol
15:19:53Zevvthe funny thing is, I'm not on ADSL
15:20:07clyybberadsl.xs4all
15:20:11ZevvI'm on fiber
15:20:14clyybberhuh
15:20:14Zevvthey lie
15:20:16clyybberweird
15:20:18Zevveverybody lies
15:21:07*marmotini_ quit (Ping timeout: 255 seconds)
15:22:56FromGitter<kaushalmodi> dr house
15:23:06*nsf joined #nim
15:23:17Zevvit's never lupus as well
15:23:50FromGitter<kaushalmodi> I'm rewatching season 1 on netflix and still like the show.. can't believe it was made more than a decade ago
15:31:26*marmotin_ quit (Remote host closed the connection)
15:32:03*marmotini_ joined #nim
15:32:23*marmotini_ quit (Read error: Connection reset by peer)
15:32:37*marmotini_ joined #nim
15:33:26ZevvI've been watching the old Hitchcock Presents series. I *can* believe these are almost 60 years ago now :)
15:34:03*marmotini_ quit (Remote host closed the connection)
15:34:05ZevvI heard some people even watch Columbo
15:34:50*marmotini_ joined #nim
15:36:01FromGitter<alehander92> imagine reading `genesis 18`: can you believe its been only n thousand years
15:43:04*marmotini_ quit (Remote host closed the connection)
15:51:32*marmotini_ joined #nim
15:51:37FromGitter<Varriount> Zevv: I don't know if you saw my earlier question (because the bridge bot was down): how feasible do you think it would be to add an optimization pass to NPeg's internal instruction code?
15:57:22*marmotini_ quit (Quit: Leaving...)
15:57:36*marmotini_ joined #nim
16:02:00*hax-scramper quit (Ping timeout: 258 seconds)
16:02:22*hax-scramper joined #nim
16:03:52Zevvwell, there kind of are a few already
16:04:00Zevvwhat are you thinking of?
16:04:51FromGitter<yglukhov> @timotheecour can you restart this job pls? https://dev.azure.com/nim-lang/Nim/_build/results?buildId=2996&view=logs&j=f6c2f757-7152-5b00-b42b-aaebf1a063dd&t=f0f21f3f-4495-55c9-9119-ef53cf103fc2
16:07:05Zevvvarriout: I do already some peephole opts. tail calls are optimized, captures are postponed when possible and some other small things
16:07:49*m4r35n357 quit (Quit: Ex-Chat)
16:08:01Zevvthe problem is that there is no AST for the IR, it gets generated in one pass, kind of recursively growing like crystals
16:08:39ZevvI thought of adding an AST, but since I lack the smarts to do proper optimization there I didnt see the benefit
16:09:05Zevvalso, I think npeg is just pretty much fast enough as it is, for the purposes I see it getting used for
16:09:24Zevvso I prefer simplicity at this time
16:15:09leorize@yglukhov: close then reopen your pr
16:15:39FromGitter<yglukhov> it's not my pr though :)
16:19:13*Pqzcih5 joined #nim
16:23:36*natrys joined #nim
16:25:31*dddddd joined #nim
16:30:07*marmotini_ quit (Remote host closed the connection)
16:30:43*marmotini_ joined #nim
16:35:04*marmotini_ quit (Remote host closed the connection)
16:35:20*marmotini_ joined #nim
16:47:33*nsf quit (Quit: WeeChat 2.7)
16:50:13*marmotini_ quit (Remote host closed the connection)
16:50:45*marmotini_ joined #nim
16:50:50disrupteklemme get some more coffee and beat the dogs and then i'll stream an attempt to figure out the scope of incremental compilation.
16:51:28disruptekit seems that none of the bounties i applied for are ripe for implementation. 🙁
16:51:54FromDiscord<Rika> Excuse me did you say beat the dogs
16:51:56*rockcavera quit (Remote host closed the connection)
16:52:04*adalricus joined #nim
16:53:11*rockcavera joined #nim
16:53:20disruptekwell, you don't know them like i do.
16:54:09*icebattle joined #nim
16:54:39FromDiscord<Rika> Uh, fair point...
16:54:48*Kaivo quit (Quit: WeeChat 2.7.1)
16:55:06*marmotin_ joined #nim
16:55:44*marmotini_ quit (Remote host closed the connection)
17:04:26*marmotin_ quit (Remote host closed the connection)
17:04:59*marmotini_ joined #nim
17:06:27*marmotini_ quit (Read error: Connection reset by peer)
17:06:39*marmotini_ joined #nim
17:10:25*natrys quit (Ping timeout: 240 seconds)
17:13:00*Vladar joined #nim
17:14:33*natrys joined #nim
17:21:30disruptekis it "merge monday"?
17:27:07FromGitter<Varriount> disruptek: Surely you mean "pet the dogs", right?
17:27:22FromGitter<alehander92> @kristianmandrup are you here
17:27:58FromGitter<Varriount> 🐶🐶🐶
17:28:15FromGitter<alehander92> iv'e seen photos
17:28:24FromGitter<alehander92> but i think those were elegant beef's dogs
17:32:50*sigmapie8 joined #nim
17:34:50disruptek~bentley
17:34:51disbotbentley: 11https://imgur.com/gallery/yEXiWWG -- disruptek
17:34:51disbotbentley: 11a good boy
17:38:09FromGitter<alehander92> dude people like your dog
17:38:09FromGitter<alehander92> https://imgur.com/gallery/wyPnn8j
17:38:33FromGitter<alehander92> 3/4 gif comments impressed
17:38:53disruptek~stream
17:38:54disbotstream: 11https://twitch.tv/disruptek and mumble://uberalles.mumbl.io/ -- disruptek
17:39:51*icebattle quit (Ping timeout: 260 seconds)
17:40:45*Trustable joined #nim
17:41:34*filcuc joined #nim
17:43:22disruptekincremental compilation is so broken that it must be enabled in boot?
17:45:49*sendell[m] joined #nim
17:47:30disruptekso far it doesn't seem to work at all.
17:48:39sendell[m]hey guys :)
17:48:57*filcuc quit (Ping timeout: 258 seconds)
17:48:58disrupteksup dawg
17:49:38sendell[m]do any of you know a way to declare js functions directly inside a nim file, instead of calling an external one ? :)
17:50:04sendell[m]i think I did it before, but can't remember how
17:52:34disrupteknim js somefile.nim
17:54:12sendell[m]no but I mean write js code inside the nim file instead of calling a js function through {.importc.}
17:56:05disruptek.emit.
17:56:06leorizesendell[m]: {.emit.}
17:56:09leorizebut why?
17:56:41sendell[m]oh thx !
17:57:48sendell[m]because i'm writting tasker script, and some variables are declared by the framework before the js code is run
17:57:58sendell[m]cannot access them any other way
17:58:01sendell[m]https://tasker.joaoapps.com/userguide/en/javascript.html#localvars
17:59:46leorizeyou can importc the variables btw
18:00:09*marmotini_ quit (Remote host closed the connection)
18:00:45*marmotini_ joined #nim
18:01:45*filcuc joined #nim
18:02:37sendell[m]oh even better
18:02:38sendell[m]thx
18:05:11*marmotini_ quit (Ping timeout: 256 seconds)
18:07:26*marmotini_ joined #nim
18:08:36Zevvooh doing dog pics
18:08:37Zevvcan I join
18:08:51Zevvhttps://imgur.com/7q3PVLd
18:09:25disruptekbentley really likes your dog.
18:09:29FromGitter<matrixbot> `reversem3` nim is created from C right
18:09:40Zevvdisruptek: me too
18:10:03Zevvcool bently pic, I like the perspective
18:10:14leorize@reversem3: wdym?
18:10:25disruptekif you could get on mumble, you could hear bentley's comments.
18:10:25leorizebtw come join us here on irc :p
18:10:37FromGitter<matrixbot> `reversem3` so how does nim create pointers in C and then translate to nim? Example how nim accesses files ?
18:11:07Yardanico@reversem3 Nim has a few code backends like C, and I don't really understand your question
18:11:24YardanicoNim compiler itself (and Nim libraries) are written in Nim
18:11:55FromGitter<matrixbot> `reversem3` I'm trying to understand why C needs a pointer to access files first.
18:12:14leorizethat's just how their stdlib works
18:12:25leorizeyou can use the OS native functionality to perform so
18:12:31FromGitter<matrixbot> `reversem3` I know its stupid question, but I'm really curious and then how does Nim does it
18:12:39leorizeyou will get a HANDLE or int depends on the OS
18:12:51leorizeNim uses C's stdlib to perform file IO
18:12:55FromGitter<matrixbot> `reversem3` oh really stdlib requries a pointer to access files ?
18:13:12leorizeI'm planning to rewrite it to remove that dependency
18:13:20leorizenot a pointer per-se
18:13:26leorizebut a `FILE*`
18:13:34leorizewhich is an opaque object
18:13:40FromGitter<matrixbot> `reversem3` so fp*
18:13:49*sigmapie8 quit (Quit: Leaving)
18:14:12FromGitter<matrixbot> `reversem3` ok so does stblib use a file pointer because of buffer issues ?
18:14:15leorizeit contains everything needed by the C stdlib to perform I/O on a file on the target platform
18:14:28leorizenah, they just want to hide the implementation
18:14:31leorizetypical C things :P
18:15:05leorizeand to let you pass the FILE* around in your code, of course
18:15:15*clemens3 quit (Ping timeout: 260 seconds)
18:15:24FromGitter<matrixbot> `reversem3` damn , ok , I'm finally digging into C and leanring the ins and outs.
18:15:39leorizeif you wanna study these things, I'd recommend looking at musl libc code for stdio
18:16:00leorizetheir code is clean and concise, and also posix compliant :)
18:16:17FromGitter<matrixbot> `reversem3` musl libc?
18:16:26leorizeyea
18:16:33FromGitter<matrixbot> `reversem3` ok thanks
18:16:42leorizea language always go with an stdlib :)
18:16:54leorizeyou gotta study both
18:17:57FromGitter<matrixbot> `reversem3` interesting musl libc isn't standard for linux kernel then
18:18:15FromGitter<matrixbot> `reversem3` are you using this ?
18:18:52leorizewell the kernel gotta provides its own stdlib
18:18:52leorizesince all functions gotta start somewhere
18:18:58FromGitter<matrixbot> `reversem3` nm not kernel its userpace
18:19:22YardanicoLinux itself doesn't have any default libc
18:19:30leorizeglibc gained dominance long before musl appeared
18:19:35Yardanicobut of course the de-facto standard libc for most linux distros is glibc
18:20:13FromGitter<matrixbot> `reversem3` right , but is anyone using mulc in there linux implementations ?
18:20:17Yardanicoof course
18:20:24Yardanicomusl is smaller and in some cases faster
18:20:25FromGitter<matrixbot> `reversem3` * right , but is anyone using mulc in their linux implementations ?
18:20:37leorizeI'm running gentoo/musl for example :)
18:20:55FromGitter<matrixbot> `reversem3` really
18:20:57FromGitter<matrixbot> `reversem3` I run funtoo
18:20:58leorize@reversem3: please join #freenode_#nim:matrix.org, it's much better
18:21:24FromGitter<sheerluck> so leorize, Araq, disruptek and me are 4 gentoo users here
18:21:49leorizeI'm pretty sure Araq don't use linux other than a ubuntu vm for debugging nim
18:22:01FromGitter<matrixbot> `reversem3` ok so I use funtoo and compiling everytihng accept brave browser
18:22:09Yardanicoyeah, AFAIK Ar*q mostly uses windows
18:22:22FromGitter<matrixbot> `reversem3` I use zfs with funtoo
18:23:07Yardanico@reversem3 read https://github.com/matrix-org/matrix-appservice-irc/wiki/Guide:-How-to-use-Matrix-to-participate-in-IRC-rooms please :)
18:23:15Yardanicoso you can connect to the IRC channel natively
18:23:43FromGitter<matrixbot> `reversem3` ok sorry guys
18:43:47*Vladar quit (Quit: Leaving)
18:43:50*xet7 quit (Quit: Leaving)
18:44:16*xet7 joined #nim
18:48:01*marmotini_ quit (Remote host closed the connection)
18:48:34*marmotini_ joined #nim
18:49:51*reversem3 joined #nim
18:52:41reversem3!stblib
18:53:04*marmotini_ quit (Ping timeout: 255 seconds)
18:53:05*reversem3 quit (Remote host closed the connection)
18:54:30*marmotini_ joined #nim
18:54:36krux02I have a failing PR and one of the important packages fails. What is the recommended way to reproduce the test failure locally?
18:55:38leorizetestament cat nimble-packages
18:56:03leorizeremember to point testament to the right compiler with --nim: as well
19:00:02*nsf joined #nim
19:04:03*jjido joined #nim
19:10:06*hax-scramper quit (Ping timeout: 240 seconds)
19:11:01*hax-scramper joined #nim
19:20:06*narimiran joined #nim
19:21:14*icebattle joined #nim
19:22:44*Pqzcih5- joined #nim
19:23:18*Pqzcih5 quit (Remote host closed the connection)
19:25:40FromDiscord<Recruit_main70007> can somebody explain me what is the difference between ref object of RootObj and object, i dont understand what does it mean that its a ref object, it is inheritance?
19:26:43FromDiscord<Recruit_main70007> is it*
19:27:05leorize[m]no
19:27:18leorize[m]you parsed it in all the wrong locations :p
19:27:47leorize[m]so let's dive in to objects first
19:28:13leorize[m]you have the plain ol' `object` and `object of SomeType`
19:28:19leorize[m]the second form introduces inheritance
19:29:14FromDiscord<Recruit_main70007> what about `ref`
19:29:47leorize[m]ref just means that the type is on the heap :)
19:30:34leorize[m]inheritance is a property of objects, not `ref`
19:31:12FromDiscord<Recruit_main70007> oki, i also have the question, nim objects get compiled as c structs or as classes?
19:31:47leorize[m]neither, though implementation wise it's always a struct
19:32:31FromDiscord<Recruit_main70007> i sometimes wish nim's oop was a bit more complex
19:33:08leorize[m]the compiler is allowed to rearrange the fields in an object to generate more efficient code, which is incompatible with C, obviously
19:33:17leorize[m]though the compiler don't have optimization like that in place yet
19:33:26leorize[m]wdym a bit more complex?
19:33:45*letto quit (Remote host closed the connection)
19:34:02FromDiscord<Recruit_main70007> like, more proper classes
19:34:11*letto joined #nim
19:34:43*Pqzcih5- quit (Ping timeout: 240 seconds)
19:35:16leorize[m]there are macros for that
19:35:36FromDiscord<Recruit_main70007> i know, but its only kind of a visual cheat
19:35:38leorize[m]though I recommend learning how to make programs without them
19:36:05FromDiscord<Recruit_main70007> i still have toto learn how to make them XD
19:36:34*sz0 joined #nim
19:37:35leorize[m]Recuit_main70007 everything is a visual cheat when you think about it
19:38:34FromDiscord<Recruit_main70007> true, i sometimes wonder if the compiler overcomplicates things and a 1:1 transpilation would be more efficient (probably in some cases)
19:38:55*Pqzcih5 joined #nim
19:43:23leorize[m]well the compiler generates C code that is as or more efficient to what you can write :)
19:44:20leorize[m]nim stdlib is not a C stdlib clone, fwiw
19:44:39leorize[m]we do make use of the C stdlib for I/O currently
19:44:58leorize[m]that will change in later versions though
19:47:41leorize[m]no
19:49:13leorize[m]most of the stdlib is written in pure Nim
19:49:46leorize[m]the compiler and stdlib only dependency rn is libc (not counting the included wrapper modules)
19:50:21FromDiscord<kodkuce> arc stable now, and 1 question about karax or react i newer got how does client get it, like do i serve client a staticly client(react/karax) build or what?
19:50:31FromDiscord<kodkuce> is arc stable now?, and 1 question about karax or react i newer got how does client get it, like do i serve client a staticly client(react/karax) build or what?
19:50:56FromDiscord<kodkuce> is arc stable now?, and 1 question about karax or react i newer got how does client get it, like do i serve client like static file(react/karax) build or what?
19:50:58*nsf quit (Quit: WeeChat 2.7)
19:53:25FromDiscord<kodkuce> is arc stable now? ok found about react/karax
19:53:31FromDiscord<kodkuce> is arc stable now?
19:54:43narimiranwhy is that so important to you personally?
19:54:48leorize[m]please don't edit your messages on discord
19:54:49leorize[m]it spams irc
19:55:41narimiranwhat do you expect from arc? to cure cancer?
19:56:16narimiranand what would "stable" mean? is nim in general stable?
19:56:49*adalricus quit (Quit: ERC (IRC client for Emacs 26.3))
20:01:56clyybberleorize[m]: Are you seeing ghosts? Could it be that you are seeing some matrix messages that we mere IRC mortals are not able to see?
20:05:17*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:05:44leorize[m]different gc strategy don't applies to the js backend
20:06:18leorize[m]clyybber: reversem3 is on matrix
20:06:27leorize[m]and interesting not on irc lol
20:07:37FromDiscord<kodkuce> oh sorry i frogot about irc
20:07:44FromDiscord<kodkuce> again 😦
20:08:29FromDiscord<kodkuce> i expect form arc to alowe me to multythread async/websockets for a game
20:08:31leorize[m]reversem3: can you try leaving then rejoin? it appears that the bridge might have glitched
20:09:07FromGitter<zetashift> gitter also receives the edit multiple times
20:10:58leorize[m]that'd require more than just arc, but arc is a start
20:11:36FromGitter<zetashift> Can't one do that now?
20:11:44disruptekyep.
20:14:35lqdev[m]@kodkuce you're already able to multithread apps pretty well using --gc:boehm
20:15:25disruptekshashlick's px2 (?) is a good demo of multithreaded async.
20:15:43disruptekiirc, it doesn't require boehm.
20:16:28shashlickpx2 doesn't need boehm since there is no sharing across the threads
20:17:16disrupteki think of the boehm "solution" as a hack, personally.
20:17:54disruptekokay, what to stream... golden, nimph, nigel, or incremental compilation?
20:18:02disruptekor some other crap?
20:18:24FromDiscord<kodkuce> will check boehm
20:18:59FromDiscord<Recruit_main70007> incremental
20:19:23disruptekyou really like watching me fail, don't you?
20:19:58FromDiscord<Recruit_main70007> i mean, nimph
20:20:06shashlickwhy is it a hack - boehm supports it, other gcs don't
20:20:33shashlickit is an established, mature garbage collector
20:20:34disruptekit's a hack because you're relying upon loosening semantics and then letting the gc pick up the pieces.
20:21:05disruptekit's like when i used to teach english as a second language.
20:21:09shashlickso if I use --gc:arc and it supports it then it is no longer a hack?
20:21:44disruptekif you aren't just tagging everything as gcsafe when it isn't, willy-nilly, sure.
20:21:53disruptekthe difference between "right" and "correct":
20:22:10disruptekyou can stick a banana up your ass and it fits "right", but it's not "correct."
20:22:19disruptekyou feel me?
20:22:20shashlickwell, i'm using shared memory and locks, that's a standard way of doing this
20:22:23clyybberboth aren't hacks. no?
20:22:33disruptekno.
20:22:36clyybberyes
20:22:38clyybberas in no
20:22:49clyybberusing --gc:boehm isn't a hack
20:23:55disruptekin that case, nim's mm is a hack and only boehm's is correct.
20:24:02clyybberno?
20:24:09disruptekargue that shit to my face.
20:24:09clyybbernon-default != hack
20:24:26clyybberbut arguably using --gc:arc is more future proof
20:24:29shashlickwhat's the right way of sharing memory then? boehm isn't the argument here
20:24:41*zahary joined #nim
20:24:44disruptekarc is a superior solution imo.
20:24:54disruptekit's more correct.
20:24:59clyybberno
20:25:05clyybberthere is no correctness level here
20:25:08shashlickboehm is just smart enough to know a blob is still in use and not collecting it
20:25:12clyybberboth are correct
20:25:19disruptekthere is if you mislabel your shit and expect it to work.
20:25:35clyybberhmm, I think I'm missing something
20:25:38shashlickyou aren't even bothering to understand the problem here
20:25:43clyybbercan you point me to code that is a hack here?
20:25:44disruptekwho are you talking to?
20:25:48*marmotini_ quit (Remote host closed the connection)
20:25:53disrupteki've been using boehm since 1990.
20:25:58clyybberbecause compiling with --gc:boehm alone certainly isnt
20:26:04disruptekthat's not the point.
20:26:23*marmotini_ joined #nim
20:26:44disruptekanyway, i'd rather stream than debate this. you can debate it with me on there if you really want.
20:26:55shashlickmain thread creates an object and shares it with a child thread, both main thread and child access the object using locks
20:26:58disruptekrecruit wants to see some nimph code for some reason.
20:27:30*marmotini_ quit (Read error: Connection reset by peer)
20:27:39shashlickdefault gc collects the object when it is still in use since it is not aware across threads, boehm is smart enough to know not to
20:27:44*marmotini_ joined #nim
20:28:39FromGitter<Knaque> I hate to interrupt, but I've just tried running some of the examples in treeform/fidget, and I'm getting the following error: https://hastebin.com/raw/ucuworinuj
20:29:02FromDiscord<Recruit_main70007> disruptek, oh, i cant see it, (which doesnt mean i wouldnt like to
20:29:10FromDiscord<Recruit_main70007> dont base the decision on me)
20:29:32Yardanico@Knaque do you have libx11-dev (if it's a deb-based system)? basically a devel package for X11
20:29:40Yardanicoah wait libxcursor-dev
20:32:33FromGitter<Knaque> Just apt-got libxcursor-dev, now it's complaining that it can't find `X11/extensions/Xrandr.h`
20:33:26FromGitter<Knaque> Do I need *both*? Instructions unclear.
20:34:34clyybberyeah, install xrandr-dev too
20:34:50clyybberprolly libxrandr-dev
20:35:07lqdev[m]you need these to use glfw https://github.com/liquid600pgm/rapid#debian-and-ubuntu
20:35:22lqdev[m]it's not strictly rapid-related btw
20:35:45lqdev[m]install those under rapid/gfx
20:38:16clyybberwhos talking about rapid?
20:39:19lqdev[m]noone, I'm just linking the dev dependencies of glfw
20:39:26lqdev[m]and I have them conveniently written down for 3 OSes right in rapid's readme
20:39:38lqdev[m]s/OSes/distros
20:40:07clyybberthis isn't about glfw tho :p
20:40:25lqdev[m]it is.
20:40:28lqdev[m]fidget uses glfw.
20:40:51clyybberoh, yeah. I only now saw its staticglfw
20:41:15clyybberstatically linking to glfw really sucks tho
20:41:44lqdev[m]why?
20:41:57lqdev[m]because licensing?
20:42:01clyybberno
20:42:09clyybberbecause of updates
20:42:29FromGitter<Knaque> Looks like things are working now. Had an issue with an example where it couldn't find `Ubuntu.svg`, but I think it's fair to say that that's an unrelated issue.
20:42:30clyybberfor example minecraft links glfw statically
20:42:37clyybberand because of that we can't run it on wayland
20:42:40clyybberwithout recompiling
20:42:49disruptekyou make me sad.
20:43:27lqdev[m]yeah, glfw will update to 4.0 and break some of your code. nice! when it's statically linked, that is. when it's dynamically linked, some symbols will disappear and the app won't work for the user. not nice.
20:43:32disruptekno one can decide whether nim apps should use shared libs or not.
20:43:32lqdev[m]but yeah things like this suck
20:43:36clyybberoh, nevermind, lwjgl isnt so stupid anymore
20:43:44clyybberBut it was
20:43:46clyybberand it sucked
20:43:51lqdev[m]imo it's fine to statically link as long as your project is open-source.
20:44:00lqdev[m]and you pull the source from git.
20:44:07clyybberlqdev[m]: Except that glfw is backwards compatible
20:44:27clyybberlqdev[m]: Yeah, its not that bad if its OSS
20:44:35clyybberbut its still bad IMO
20:44:48lqdev[m]not really https://www.glfw.org/docs/latest/group__input.html#ga0b7f4ad13c2b17435ff13b6dcfb4e43c
20:44:50lqdev[m]it's going away in 4.0
20:45:06lqdev[m]and unless they're gonna split glfw to 2 distinct packages, things will break
20:45:09clyybberthen distros can distribute glfw3
20:46:31FromDiscord<él liquido> @treeform https://github.com/treeform/staticglfw/blob/master/src/staticglfw.nim#L36 the version of glfw you're using doesn't require to link anything except X11 and GL, afaik
20:46:37FromDiscord<él liquido> 3.3 introduced linking at runtime
20:46:56lqdev[m]back to matrix.
20:47:26clyybberback to matrix?
20:47:32clyybberdo you have your own chat there?
20:47:38lqdev[m]yeah
20:47:41clyybberhorrible
20:47:42lqdev[m]el liquido is my discord account.
20:47:49lqdev[m]what?
20:47:55disruptekthe matrix is all around you.
20:47:58lqdev[m]I'm just using riot
20:48:00clyybberhorrible that it isn't linked properly
20:48:05clyybbermatrix is great otherwise
20:48:54lqdev[m]the homepage links to #freenode_#nim:matrix.org, which is correct
20:49:04*filcuc quit (Quit: Konversation terminated!)
20:49:08clyybberbut some matrix peeps are seeing ghosts
20:49:14disruptekwut
20:49:21*filcuc joined #nim
20:49:27clyybberreversem3 is a ghost
20:49:33lqdev[m]ah, le0rize.
20:49:35disruptekwhahuh?
20:49:43lqdev[m]the freenode bridge is buggy af.
20:49:46clyybberdisruptek: booh!
20:50:01disruptekdo you know anything about IC?
20:50:10*hax-scramper quit (Read error: Connection reset by peer)
20:50:12clyybbera tiny lil bit
20:50:14lqdev[m]integrated circuits?
20:50:21*hax-scramper joined #nim
20:50:22clyybberincremental compilation
20:50:31disruptekwhat do you know?
20:50:38clyybberdisruptek: what do you want to know?
20:50:51disruptekdo you know why it doesn't work?
20:51:06clyybberyeah, its in the unfortunate state of "not finished"
20:51:30disruptekany specifics?
20:51:37disrupteki just spent an hr on it today.
20:52:12disruptekmy theory is that we're not writing type annotations correctly, so we break while reading them back in.
20:53:10clyybberdisruptek: what annotations?
20:53:25disruptekmost likely, sink/lent stuff.
20:53:33clyybberOh, yeah its not tested
20:53:44clyybberonly incremental compilation alone is
20:53:50clyybbernot with --gc:arc or newruntime
20:54:04disruptekit doesn't work outside of arc, either.
20:54:13clyybberhmm
20:54:24clyybberat least the tests in tests/ic should work
20:56:52clyybberok at least thallo.nim :p
20:59:25disrupteki don't think that test is effective.
21:00:34FromDiscord<Elegant Beef> Is there a library that wraps extracting files?
21:00:41disruptekextracting?
21:00:46disruptek!repo nimarchie
21:00:48disruptek!repo nimarchive
21:00:49FromDiscord<Elegant Beef> zips/tars
21:00:52disbothttps://github.com/genotrance/nimarchive -- 9nimarchive: 11libarchive wrapper for Nim 15 11⭐ 0🍴
21:00:52disbotno results 😢
21:01:57FromDiscord<Elegant Beef> cool thanks
21:02:58disruptek~stream
21:02:59disbotstream: 11https://twitch.tv/disruptek and mumble://uberalles.mumbl.io/ -- disruptek
21:03:06disrupteki guess miscellaneous debris.
21:09:43leorize[m]reversem3 I don't know why but you're not bridged to irc
21:10:01leorize[m]probably a bug in matrix.org bridge
21:10:15leorize[m]you probably should go back to gitter for now
21:12:04*jjido joined #nim
21:15:07FromDiscord<kodkuce> just tryed karax how do i change button text on click
21:15:08FromDiscord<kodkuce> https://play.nim-lang.org/#ix=2ddk
21:15:24FromDiscord<kodkuce> how do i get reference to created elements
21:15:35FromDiscord<kodkuce> or do i need first to var them?
21:16:02FromDiscord<Elegant Beef> in normal JS you can get the clicked item through the event, bit there is also the Vnode param
21:16:09FromDiscord<Elegant Beef> so one of those two should get you the node i imagine
21:16:31leorizewelcome to virtual dom
21:16:42leorizeyou don't try to "edit" something
21:16:48leorizeyou make a new node with the change
21:17:06leorizethe system detects what changed and applies it to your dom
21:17:12FromDiscord<kodkuce> ok got button changing values
21:17:13FromDiscord<Elegant Beef> So uhh how the hell does one download releases through an oauth httprequest on github 😄
21:17:56FromDiscord<Elegant Beef> using the browser_download_url complains about a 404 error, which is weird
21:18:01FromDiscord<kodkuce> so it detectects i cahnged some global var and cuz thet var is used for button text it auto updates it
21:20:40leorize@kodkuce: actually it just do a `redraw()` when after a callback automatically
21:21:51shashlickwhew, plugins finally passes CI
21:22:28FromDiscord<kodkuce> ok i kinda think i get how it works
21:22:40clyybbershashlick: Does it work with --gc:arc too?
21:22:50shashlickno just boehm so far, i've not tested arc yet
21:23:50clyybberk
21:23:59shashlickhow about a review of the api
21:24:06clyybberleorize: Your nimryu is ready?
21:24:24leorizeclyybber: nah, I'm not working on it atm
21:24:33clyybberleorize: Whats missing tho?
21:24:39clyybberIt seems that it prints numbers
21:24:43leorizethe implementation :p
21:24:49leorizewhat you see is not ryu
21:25:03clyybberyeah, but does it have the same output as ryu?
21:25:07leorizeyes
21:25:12*lritter quit (Quit: Leaving)
21:25:12clyybberthen its fine :)
21:25:15*zahary quit (Quit: Leaving.)
21:25:34*zahary joined #nim
21:25:42leorizeand around 4x slower than musl libc's float-to-string
21:25:44clyybberleorize: its only missing the crazy microoptimizations i suppose
21:25:46clyybberoh
21:26:03*zahary quit (Client Quit)
21:26:13leorizeit requires integer with size up to 4096 bits
21:26:44leorizeit's not useful outside of figuring out what the hell is being done in ryu
21:26:48clyybberoh lol
21:26:51clyybberok
21:26:58clyybber4096 is a bit big yeah
21:27:06leorizeyou can read it to figure out your way around ryu messy codebase :P
21:27:32*Lord_Nightmare quit (Read error: Connection reset by peer)
21:27:50clyybberyeah, the comments are nice
21:27:57clyybbershashlick: Looks fine at a first glance
21:28:13clyybberI think only real world usage will uncover true issues
21:28:20clyybberso lqdev[m] is your best bet for now
21:28:46shashlickya i hope he tries it out
21:28:54shashlickdid you see the api docs?
21:29:03clyybberlooking at them as we speak
21:29:13shashlickjust tried latest nim devel arc and it crashes
21:29:25shashlickSIGSEGV: Illegal storage access. (Attempt to read from nil?)
21:29:25clyybberheh
21:29:30clyybberwhere?
21:30:16shashlickcrashes here - https://github.com/genotrance/plugins/blob/master/src/plugins.nim#L490
21:30:29shashlickwhich means it is not going to be easy to figure out 😄
21:30:44clyybberoh yeah
21:30:56lqdev[m]I did see the docs, the lib looks pretty nice
21:31:12*marmotini_ quit (Remote host closed the connection)
21:31:32lqdev[m]one thing I don't really like is the command system, it looks kinda weird to me
21:31:40shashlickwhat are the general code changes needed to support arc
21:31:46*marmotini_ joined #nim
21:31:46clyybberYep, only "criticism" is that you use Ctx instead of Context
21:31:51clyybbershashlick: Break up cycles
21:31:51lqdev[m]why not just share data between the app and plugin normally, using objects and procs?
21:32:04clyybbershashlick: Apart from that nothing really.
21:32:06lqdev[m]clyybber: and `plg` instead of `plugin`
21:32:28clyybberyeah
21:32:30clyybberthat too
21:32:37clyybberno wait
21:32:41clyybberPlugin is the type
21:32:59clyybberoh in the callbacks
21:33:35*narimiran quit (Ping timeout: 260 seconds)
21:33:41shashlicklqdev: you can access every other plugin's data and callbacks from the global context if you want
21:33:57lqdev[m]right
21:36:05*marmotini_ quit (Ping timeout: 240 seconds)
21:36:09shashlicki can change the cosmetic stuff - ctx, plg, etc. that's easy
21:37:09shashlicklqdev: what helper procs do you need to make accessing other plugins
21:37:42*fredrik92 quit (Read error: Connection reset by peer)
21:37:50lqdev[m]I don't need other plugins, I need the main app state
21:38:06*fredrik92 joined #nim
21:38:23lqdev[m]I guess that's what Ctx does?
21:38:45shashlickwell, the way I wrote feud, everything was in plugins, nothing was in the main app besides the main loop
21:38:50shashlickso there was no main app state
21:39:05shashlickwe can always add a field in context to store that
21:39:08disruptekdamn game programmers.
21:40:52lqdev[m]you do you, it's your plugin system. would be nice if you could outline the plugin architecture in the readme, I'm kinda confused on how things are supposed to work
21:41:07shashlickit is in the docs
21:41:21shashlickthe plugins module is used in the main app, api module in plugins
21:41:35shashlickand both describe it in some detail
21:41:36lqdev[m]oh I see
21:41:40lqdev[m]I'm just blind
21:42:11shashlicksince I am changing names, what's a better name for context
21:42:15shashlickin this context 🙂
21:42:54*beatmox quit (Remote host closed the connection)
21:43:06lqdev[m]PluginManager?
21:43:12lqdev[m]idk
21:43:25*beatmox joined #nim
21:43:35leorizecontext is never a bad name :P
21:44:05shashlickgosh you guys like verbose names
21:44:30shashlickokay, ctx => manager, Ctx => PluginManager
21:44:33shashlickplg => plugin
21:44:43disruptekjust use a real word.
21:45:35*sz0 quit (Quit: Connection closed for inactivity)
21:46:30lqdev[m]it's not verbose. `plugin` is short enough to be used as an entire word, `PluginManager` better reflects what the thing in question actually does.
21:47:07lqdev[m]also, `manager` is too long for my taste, I'd go with `pm` but that's probably not great either
21:47:13lqdev[m]maybe `mgr`
21:47:18*solitudesf joined #nim
21:47:21shashlickmgr is okay but plg is not?
21:48:07lqdev[m]idk, that's just my retarded naming scheme. carry on.
21:48:14disruptekleave it lone.
21:48:16disrupteklong, too.
21:48:28FromDiscord<Elegant Beef> i mean neither are ok imo
21:48:41FromDiscord<Elegant Beef> Not like names cost you more to write
21:49:11FromDiscord<Elegant Beef> Ok so i've not a clue how to download a release from a private repo using rest
21:49:33FromDiscord<Elegant Beef> Added the `"Accept": "application/octet-stream"` but now it complains about multiple auths
21:50:47shashlickokay i'm changing Ctx => PluginManager and ctx => mgr, leaving plg alone - too many of those
21:51:41shashlickgah, plugin and manager it is
21:52:05FromDiscord<Elegant Beef> Short names only serve you in the short term
21:52:12FromDiscord<Elegant Beef> If you comeback or someone else looks at it
21:52:16FromDiscord<Elegant Beef> It's tedious
21:52:28lqdev[m]indeed.
21:53:01lqdev[m]I tend to use the shortest word or an abbreviation if it's multiple words, otherwise just use the entire word unless it's really long and tedious to write
21:53:58FromDiscord<Elegant Beef> I mean most of the time i only shorten words like Renderer,Transform, Component to something like rend,trsfm,comp but i'd still have their type explicitly written
22:01:09lqdev[m]same here
22:01:56*marmotini_ joined #nim
22:05:10*fredrik92 quit (Read error: Connection reset by peer)
22:05:19FromDiscord<exelotl> comp I can get behind (despite the ambiguity, it works in context)
22:05:35FromDiscord<exelotl> rend is weird, and trsfm is horrible. xD
22:05:36*fredrik92 joined #nim
22:05:54FromDiscord<Elegant Beef> hey i dont often shorten words
22:06:38*hax-scramper quit (Read error: Connection reset by peer)
22:06:56*hax-scramper joined #nim
22:08:46FromDiscord<exelotl> I'd just call them `r`, and `t` or `tf` lol
22:09:30*marmotini_ quit (Remote host closed the connection)
22:10:04*marmotini_ joined #nim
22:10:27FromDiscord<exelotl> but only if their scope was sufficiently small so that it wouldn't get confusing, else I'd go with the full names
22:10:56FromDiscord<exelotl> +1 for giving the types the full names
22:14:00*marmotini_ quit (Read error: Connection reset by peer)
22:14:16*marmotini_ joined #nim
22:18:09*marmotini_ quit (Remote host closed the connection)
22:18:44*marmotini_ joined #nim
22:23:03*Trustable quit (Remote host closed the connection)
22:23:31*marmotini_ quit (Ping timeout: 260 seconds)
22:29:04*natrys quit (Ping timeout: 255 seconds)
22:30:24*paxis quit (Quit: Client exiting)
22:37:25FromDiscord<treeform> @él liquido "anything except X11 and GL" do you want me to add that to the docs? as far as I am censured X11 and GL are system libraries you need for any GUI anyways?
22:37:36disruptekwayland?
22:38:39FromDiscord<treeform> @Knaque, about https://hastebin.com/raw/ucuworinuj I don't test linux. I think you need x11 headers installed.
22:39:52*solitudesf quit (Ping timeout: 255 seconds)
22:40:53FromDiscord<treeform> disruptek, I don't know linux UI dev well enough.
22:44:44disrupteki can't talk on the phone because i have to wait another 91hrs for the coronavirus on my screen to die.
22:50:08*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:52:28*hax-scramper quit (Ping timeout: 255 seconds)
22:53:26*hax-scramper joined #nim
22:53:55*zahary joined #nim
22:55:21*marmotini_ joined #nim
22:56:43*filcuc quit (Quit: Konversation terminated!)
23:15:23*icebattle quit (Ping timeout: 260 seconds)
23:18:04FromGitter<timotheecour> Sigh… so many CI failures in the past 2 days (like 5), anyone knows if https://github.com/nim-lang/Nim/issues/13563 (FREEBSD) would be a problem to report upstream to https://builds.sr.ht/ ? i don’t see anything suspicious in .builds/freebsd.yml
23:18:06disbot[CI] CI broken: `builds.sr.ht: freebsd.yml` fails: pkg: wrong architecture: FreeBSD:12.0:amd64 ; snippet at 12https://play.nim-lang.org/#ix=2de8
23:20:11leorizewell that's definitely a ci problem
23:22:27disruptekclyybber broke us.
23:23:37FromGitter<Varriount> clyybber clobbered continuous integration
23:23:59disruptekand incremental compilation. so, IC and CI.
23:28:08FromDiscord<Elegant Beef> so it turns out my issue with the github api is that the sent request gets redirected and the redirection adds another oauth
23:28:10FromDiscord<Elegant Beef> So yaay
23:28:32disruptekgithub api?
23:28:35FromDiscord<Elegant Beef> yea
23:28:39disruptekmine or a different one?
23:28:45FromDiscord<Elegant Beef> the normal rest api
23:28:49FromDiscord<Elegant Beef> http requests
23:28:59disruptek!repo disruptek/github
23:28:59disbothttps://github.com/disruptek/github -- 9github: 11github api v3 for nim 15 6⭐ 0🍴
23:29:02disruptekthis one?
23:29:04FromDiscord<Elegant Beef> No
23:29:08*FromGitter quit (Read error: Connection reset by peer)
23:29:09FromDiscord<Elegant Beef> Im using httprequests myself
23:30:04FromDiscord<Elegant Beef> trying to download an asset, and getting
23:30:05FromDiscord<Elegant Beef> Only one auth mechanism allowed; only the X-Amz-Algorithm query parameter, Signature query string parameter or the Authorization header should be specified
23:30:15FromDiscord<Elegant Beef> Which is cause of their internal redirection
23:31:34disruptekmy stuff works. try it!
23:32:47FromDiscord<Elegant Beef> i mean i need one thing
23:33:01FromDiscord<Elegant Beef> dont exactly need this large api for this single thing
23:34:00FromDiscord<Elegant Beef> and you're certain you're capable of getting an asset from a private repo to download with this?
23:34:24disruptekan asset?
23:34:31disruptekmy signing/auth works.
23:34:39FromDiscord<Elegant Beef> A release file
23:34:39disruptekand i support the entire github v3 api.
23:34:46leorizewell nim have dead code elimination, so a big module will end up small if you only use a tiny part of it
23:34:50disruptekchoose your own adventure.
23:34:58FromDiscord<Elegant Beef> well i mean i have the url for the asset
23:35:06FromDiscord<Elegant Beef> it just wont let me download cause of their internal redirection
23:35:16FromDiscord<Elegant Beef> And assuming you're using httprequests, the same thing will happen
23:35:25FromDiscord<Elegant Beef> My oauth is working cause i get the releases
23:35:30FromDiscord<Elegant Beef> the issue is the downloading isnt working
23:36:22disruptekfollow the white rabbit.
23:36:32disrupteks/white rabbit/302 redirect/
23:37:32FromDiscord<Elegant Beef> i mean i dont get a 302 redirect, i get a 400
23:37:45FromDiscord<Elegant Beef> cause of the authentication stacking
23:41:40FromDiscord<Elegant Beef> Like as soon as add the "Accept : application/octet-stream" it 400s, if i dont it 200s