<< 01-03-2020 >>

00:00:02*junland quit (Quit: %ZNC Disconnected%)
00:01:58FromDiscord<exelotl> what's the best way to sanitise a URL path in Nim?
00:03:24FromDiscord<exelotl> so that someone can't use my web server to visit mysite.com/../../.ssh/id_rsa
00:04:18*junland joined #nim
00:04:44*fredrik92 is now known as couven92
00:07:55disruptekrelativeTo or absolutePath or normalizePath or some combo of same.
00:16:12*Hideki_ joined #nim
00:19:26*tane quit (Quit: Leaving)
00:32:26FromDiscord<exelotl> seems good
00:32:26FromDiscord<exelotl> https://cdn.discordapp.com/attachments/371759389889003532/683471672728354846/unknown.png
00:37:31FromGitter<Varriount> disruptek: Keep in mind that those procedures expect paths to be operating system paths. They expect different kinds of input on Windows
00:37:51disruptekyeah, it works best if you aren't on windows.
00:38:01FromDiscord<clyybber> as does everything
00:38:06zedeus^
00:38:26FromDiscord<exelotl> hmm maybe I'll go for something stricter
00:54:24*PMunch quit (Quit: leaving)
00:57:20FromGitter<WintonMc_twitter> https://youtu.be/xWMG_1karfM
00:57:50FromGitter<WintonMc_twitter> Nim Spanish: https://youtu.be/xWMG_1karfM
00:59:22*dwdv quit (Quit: quit)
01:04:08FromDiscord<clyybber> is this what the world hath cometh to?
01:04:25FromDiscord<clyybber> programming tutorials filmed in portrait?
01:04:29FromDiscord<clyybber> :p
01:07:20FromDiscord<Winton> > is this what the world hath cometh to?
01:07:20FromDiscord<Winton> @clyybber ?
01:07:35FromDiscord<clyybber> ?
01:07:55FromDiscord<Winton> > programming tutorials filmed in portrait?
01:07:55FromDiscord<Winton> @clyybber .
01:08:02FromDiscord<clyybber> .
01:08:37FromDiscord<Elegant Beef> I mean what why would it be recorded on a phone in potrait
01:08:44FromDiscord<Elegant Beef> Hopefully you arent coding on a phone
01:10:13FromDiscord<Winton> > Hopefully you arent coding on a phone
01:10:13FromDiscord<Winton> @Elegant Beef jaja
01:10:21FromDiscord<Elegant Beef> Wait you are?
01:10:58FromDiscord<Winton> > Wait you are?
01:10:58FromDiscord<Winton> @Elegant Beef what?
01:11:22FromDiscord<clyybber> @Winton
01:11:25FromDiscord<clyybber> you are
01:11:29FromDiscord<clyybber> @Winton
01:11:43FromDiscord<Winton> I'm not understanding, Sorry
01:11:52FromDiscord<clyybber> hey, np we were just joking
01:12:12FromDiscord<clyybber> I'm not too worried since you seem to be coding on your pc in the pfp
01:13:19FromDiscord<Winton> sorry I do not speak much English
01:13:30FromDiscord<clyybber> you are cool is what I am saying
01:13:40FromDiscord<Winton> I only made the video because there is not much in Spanish
01:13:51FromDiscord<clyybber> 👍
01:14:04FromDiscord<Winton> ps decides to make the video either from my cell phone, I also explain in detail
01:14:52FromDiscord<Winton> after C #, I liked this from nim
01:14:54FromDiscord<clyybber> unfortunately. pero no hablo español.
01:15:01FromDiscord<Winton> C/C++ not
01:15:24FromDiscord<Winton> > unfortunately. pero no hablo español.
01:15:24FromDiscord<Winton> @clyybber haa Ok, I get it
01:15:29FromDiscord<clyybber> 🙂
01:15:32FromDiscord<exelotl> en mi futuro, quiero ser un desarollador de los videojuegos
01:15:36FromDiscord<Winton> 😄
01:15:39FromDiscord<exelotl> that's the only spanish I remember from school xD
01:15:50FromDiscord<Winton> > en mi futuro, quiero ser un desarollador de los videojuegos
01:15:50FromDiscord<Winton> @exelotl what lang?
01:16:01FromDiscord<clyybber> nim, what else?
01:16:05FromDiscord<Winton> > that's the only spanish I remember from school xD
01:16:05FromDiscord<Winton> @exelotl jajajajajjaa
01:16:12FromDiscord<exelotl> but the sentence is not correct anymore
01:16:26FromDiscord<clyybber> @Winton jajajajaja == hahahahaha?
01:16:32FromDiscord<exelotl> it should be: "soy un desarollador de los videojuegos"
01:16:32FromDiscord<clyybber> laughing?
01:16:37FromDiscord<exelotl> because I made it. xD
01:16:41FromDiscord<Winton> I learned a little English when I travel to Jamaica
01:16:55FromDiscord<Winton> > it should be: "soy un desarollador de los videojuegos"
01:16:55FromDiscord<Winton> @exelotl haa Ok
01:17:17FromDiscord<Winton> Spanish problem that they tell me is that it is more difficult than another language
01:17:22FromDiscord<Winton> confuses
01:17:30FromDiscord<clyybber> confuse moi
01:18:15FromDiscord<Winton> 😄
01:18:54*Hideki_ quit (Ping timeout: 256 seconds)
01:20:32FromDiscord<exelotl> hey I noticed that https://github.com/h3rald/nimhttpd will gladly serve you "../../foo.txt"
01:21:02FromDiscord<exelotl> should I open an issue?
01:21:40FromDiscord<exelotl> or is it a case where the server isn't trying to be secure anyway so it's a futile effort
01:21:55FromDiscord<clyybber> opening an issue can't hurt
01:22:01FromDiscord<clyybber> except when it does
01:23:07*Jesin quit (Quit: Leaving)
01:29:57*Jesin joined #nim
01:31:54*couven92 quit (Read error: Connection reset by peer)
01:32:22*couven92 joined #nim
02:05:07*thomasross joined #nim
02:35:04FromDiscord<exelotl> Hey so I have a simple web server: http://ix.io/2d3L/nim
02:35:46FromDiscord<exelotl> I get the following warning: 'cbIter' is not GC-safe as it accesses 'mimes' which is a global using GC'ed memory [GcUnsafe2]
02:36:20disruptek{.gcsafe.}
02:36:45disruptekyou're not going to write to modify it from multiple child threads, right?
02:39:52FromDiscord<exelotl> right, so should I use {.gcsafe.} in its block form then?
02:40:27FromDiscord<exelotl> it wouldn't compile until I added gcsafe to the request callback, and then the warning appeared
02:41:37FromGitter<Knaque> Trying to clear the terminal. Searching through the index revealed the linenoise.clearScreen() proc, which seemed like it might be what I was looking for.
02:41:39FromGitter<Knaque> Upon complation, however, I got a `fatal error: termios.h: No such file or directory`. Any thoughts?
02:48:36leorizehttps://nim-lang.github.io/Nim/terminal#eraseScreen%2CFile
02:48:49leorize@Knaque
02:51:00FromGitter<Knaque> Ah, I wouldn't have thought to search for 'erase'. Thanks.
03:01:07*chemist69 quit (Ping timeout: 240 seconds)
03:03:32*chemist69 joined #nim
03:15:56*Hideki_ joined #nim
03:17:29*muffindrake quit (Ping timeout: 272 seconds)
03:19:22*muffindrake joined #nim
03:20:05*Hideki_ quit (Ping timeout: 240 seconds)
03:29:26*dadada quit (Ping timeout: 240 seconds)
03:31:15*dadada joined #nim
03:31:40*dadada is now known as Guest22275
04:06:10*chenhq2005 joined #nim
04:07:29FromGitter<gogolxdong> A silly question ,how to recv and send in Nim socket programming?
04:08:00disruptekexample in swayipc
04:08:03disruptek!repo swayipc
04:08:05disbothttps://github.com/disruptek/swayipc -- 9swayipc: 11swayipc (i3ipc) for Nim 15 3⭐ 0🍴
04:11:39FromGitter<gogolxdong> tcp specific?
04:11:57*couven92 quit (Read error: Connection reset by peer)
04:12:14FromGitter<gogolxdong> This is AF_UNIX
04:12:24*couven92 joined #nim
04:12:50*chenhq2005 quit (Quit: No Ping reply in 180 seconds.)
04:13:07disruptekoh, i would think that'd be more common, actually.
04:16:22*chenhq2005 joined #nim
04:16:35FromGitter<gogolxdong> recv after sending
04:19:04FromGitter<gogolxdong> Is it tricky in Nim's stdlib?
04:19:33disruptekdoubtful.
04:22:18FromGitter<gogolxdong> It blocks at recv after sending on the same socket, I think recv should run asynchronously before sending or creating a thread to recv before sending?
04:23:03disruptekmost likely, you need to tell it how much to read. and then make sure there is that much available.
04:24:00FromDiscord<Winton> How could I download an mp4 with just a URL?
04:24:17disruptekusing the httpclient module.
04:25:05leorizewe have async sockets
04:25:16FromDiscord<Winton> I try to play videos via URL, to evade page advertising
04:25:19FromGitter<gogolxdong> demonstration is net.nim and asyncnet.nim missing these steps.
04:26:29FromDiscord<Winton> > <disruptek> using the httpclient module.
04:26:29FromDiscord<Winton> @gitterirc Thanks!
04:26:36FromDiscord<Winton> > <leorize> we have async sockets
04:26:36FromDiscord<Winton> @gitterirc perfect
04:31:04*rockcavera quit (Remote host closed the connection)
04:40:19*chenhq2005 quit (Quit: No Ping reply in 180 seconds.)
04:41:43*chenhq2005 joined #nim
04:42:55FromGitter<gogolxdong> according to the unittest of asyncnet https://play.nim-lang.org/#ix=2d4b, asynsocket doesn't work. How to make it?
04:44:14*rockcavera joined #nim
04:46:56FromGitter<gogolxdong> Is it impossible to recv after sending on the same socket in TCP context?
04:51:34*chenhq2005 quit (Ping timeout: 255 seconds)
05:10:48*sz0 quit (Quit: Connection closed for inactivity)
05:28:57*marmotini_ joined #nim
05:37:23*chenhq2005 joined #nim
05:42:21*marmotini_ quit (Remote host closed the connection)
05:42:55*marmotini_ joined #nim
05:43:41*tefter quit (Quit: WeeChat 2.7.1)
05:47:59*nsf joined #nim
05:48:52*marmotini_ quit (Ping timeout: 258 seconds)
06:02:09*crem quit (Ping timeout: 272 seconds)
06:03:21*crem joined #nim
06:17:24FromGitter<gogolxdong> I figured out recv works with unbuffered asyncsocket if given greater buffer than how much are available.
06:24:13*rockcavera quit (Remote host closed the connection)
06:26:02*uvegbot quit (Ping timeout: 256 seconds)
06:30:41*uvegbot joined #nim
07:02:21*solitudesf joined #nim
07:18:01*couven92 quit (Read error: Connection reset by peer)
07:18:27*couven92 joined #nim
07:18:43*hax-scramper quit (Read error: Connection reset by peer)
07:19:10*hax-scramper joined #nim
07:32:59*hax-scramper quit (Ping timeout: 260 seconds)
07:33:57*hax-scramper joined #nim
07:42:24*tane_ joined #nim
07:47:37*chenhq2005 quit (Read error: Connection reset by peer)
08:00:00*gmpreussner quit (Quit: kthxbye)
08:04:54*gmpreussner joined #nim
09:18:03*arecaceae quit (Remote host closed the connection)
09:18:09FromDiscord<Stuffe> how does one uninstall nim on osx when it was installed with choosenim?
09:18:26*arecaceae joined #nim
09:22:17FromDiscord<Rika> Use choosenim to uninstall?
09:22:18*jjido joined #nim
09:23:42FromDiscord<Stuffe> is there a command for that?
09:24:14FromDiscord<Stuffe> if so, it isn't "uninstall stable" and it isn't mentioned in the help thing
09:24:58*jjido quit (Client Quit)
09:29:39*sz0 joined #nim
09:38:53*krux02 joined #nim
09:40:47*lritter joined #nim
09:43:40*jjido joined #nim
10:09:48*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:22:34*solitudesf quit (Ping timeout: 258 seconds)
10:34:54*couven92 quit (Read error: Connection reset by peer)
10:35:22*couven92 joined #nim
10:36:23*couven92 quit (Read error: Connection reset by peer)
10:36:47*couven92 joined #nim
10:45:15*al1ranger joined #nim
10:45:19*jjido joined #nim
10:59:49*chemist69 quit (Ping timeout: 272 seconds)
11:00:29*chemist69 joined #nim
11:06:45*al1ranger quit (Quit: Leaving)
11:19:54*couven92 quit (Read error: Connection reset by peer)
11:20:22*couven92 joined #nim
11:30:59*dddddd quit (Ping timeout: 260 seconds)
11:37:14dom96@Stuffe: rm -r ~/.choosenim ~/.nimble
11:45:56*couven92 quit (Read error: Connection reset by peer)
11:46:24*couven92 joined #nim
11:52:33*filcuc quit (Quit: Konversation terminated!)
11:57:59*fanta1 joined #nim
11:58:56*nsf quit (Quit: WeeChat 2.7)
12:11:04FromDiscord<Rika> That removes all of choosenim does it?
12:12:03*Vladar joined #nim
12:16:55*couven92 quit (Read error: Connection reset by peer)
12:17:21*couven92 joined #nim
12:33:06*marmotini_ joined #nim
12:37:57FromDiscord<Recruit_main70007> @Stuffe ^
12:40:21*dwdv joined #nim
12:41:10*sagax quit (Ping timeout: 256 seconds)
12:41:59lqdev[m]it does, if you want to remove one specific version remove its corresponding dir in ~/.choosenim/toolchains
12:54:41*Hideki_ joined #nim
13:14:10*Hideki_ quit (Remote host closed the connection)
13:14:55*Hideki_ joined #nim
13:19:05*Hideki_ quit (Ping timeout: 240 seconds)
13:27:10*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:47:54*Hideki_ joined #nim
13:49:20*Hideki_ quit (Remote host closed the connection)
13:49:36*Hideki_ joined #nim
14:10:03*fanta1 quit (Quit: fanta1)
14:21:43*jjido joined #nim
14:42:53*arecaceae quit (Read error: Connection reset by peer)
14:43:16*arecaceae joined #nim
14:44:33*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:44:59*Trustable joined #nim
14:47:40FromGitter<deech> Asked yesterday about getting access to the current `nimbleDir` in a `.nimble` file and it didn't seem to currently exist so I wrote a script that does it: https://github.com/deech/nimscript_utils/blob/master/nimble.nims.
14:48:24FromGitter<deech> In the `nimble` source there's branching for something called a `.babel` file which seemed like a legacy thing so I didn't include it.
14:56:23Zevv
14:56:24Zevv`>
15:00:17*Hideki_ quit (Remote host closed the connection)
15:01:33*Hideki_ joined #nim
15:01:45*rockcavera joined #nim
15:03:49*narimiran joined #nim
15:04:17*pbb_ quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
15:05:37*my_dude joined #nim
15:05:49*Hideki_ quit (Ping timeout: 255 seconds)
15:12:17*sagax joined #nim
15:15:39lqdev[m]@deech yeah, babel is the old name of nimble and is reeeally old
15:17:06*pbb joined #nim
15:24:36*marmotini_ quit (Remote host closed the connection)
15:25:11*marmotini_ joined #nim
15:28:11*al_ joined #nim
15:28:11*al_ is now known as Guest94576
15:28:52*marmotini_ quit (Read error: Connection reset by peer)
15:29:06*marmotini_ joined #nim
15:29:16*PMunch joined #nim
15:30:35*marmotini_ quit (Remote host closed the connection)
15:31:11*marmotini_ joined #nim
15:35:08PMunchHmm, I think I should write a macro to make creating this macroutils module easier to write. But that means that every time you want to use it that macro needs to run..
15:35:22PMunchSo it might slow down your own macros a bit..
15:35:42*marmotini_ quit (Ping timeout: 256 seconds)
15:35:55*Hideki_ joined #nim
15:36:08leorize[m]make it lightweight and it should be fine imo
15:37:13PMunchYeah it would only be to tie the accessors to the creators
15:54:05*Hideki_ quit (Ping timeout: 240 seconds)
15:59:29*my_dude quit (Quit: my_dude)
16:00:05*ptdel joined #nim
16:01:34FromDiscord<exelotl> is there a way to run some code when an AsyncHttpServer starts?
16:02:10FromDiscord<exelotl> e.g. print "Listening on port xxxx" and open a browser window on the user's machine?
16:03:14*marmotini_ joined #nim
16:04:53*Hideki_ joined #nim
16:05:37*solitudesf joined #nim
16:06:39*Hideki_ quit (Remote host closed the connection)
16:06:40disruptekif only we had, like, a way to tell the computer what to do.
16:07:20*Hideki_ joined #nim
16:07:23PMunchexelotl, I don't think there's a callback for onStart if that's what you are looking for
16:07:32Zevvwell I do that all day, but the stupid thing just doesnt want to understand
16:07:33PMunchBut you can of course do those things when you start the server..
16:08:04PMunchComputers are like an evil genie, they have to obey you, but they don't have to do what you mean
16:09:16*marmotini_ quit (Remote host closed the connection)
16:09:40FromDiscord<exelotl> right, I can of course do those things immediately before calling serve()
16:09:51*marmotini_ joined #nim
16:10:05FromDiscord<exelotl> but that's not actually correct, e.g. what if the socket creation fails
16:10:51FromDiscord<exelotl> now the message I printed was a lie, and the browser window opens to a dead page
16:11:47*Hideki_ quit (Ping timeout: 258 seconds)
16:12:36PMunchWell you could print "Trying to listen to port xxxx" then it wouldn't be a lie :P
16:13:28FromDiscord<exelotl> lol
16:13:36FromDiscord<exelotl> ok looks like I'm patching asynchttpserver
16:13:46PMunchAnd wouldn't it throw an exception if it doesn't manage to connect?
16:14:05*marmotini_ quit (Ping timeout: 240 seconds)
16:17:38FromDiscord<exelotl> yeah, but I'm also worried about cases where creating the socket could simply take a long time
16:18:27FromDiscord<exelotl> (not sure if that's a realistic thing to worry about, mind you)
16:24:39*dddddd joined #nim
16:28:12*sz0 quit (Quit: Connection closed for inactivity)
16:29:27leorizecreating a socket is never a bottleneck fwiw
16:29:51leorizeeither it fails or it works
16:43:12*Hideki_ joined #nim
16:45:05*Kaivo quit (Quit: WeeChat 2.7.1)
16:58:04disruptekdeech: multiple "nimble dir" values may be presented to the compiler via the --nimblePath option on the cli or in the .cfg or .nims files. does your solution account for this? does it account for removing such paths via --clearNimblePath? would you like me to implement this feature in nimph, where i have all this information at my fingertips?
17:01:50*Hideki_ quit (Ping timeout: 256 seconds)
17:03:38*PMunch quit (Quit: leaving)
17:08:24*fredrik92 joined #nim
17:11:46*couven92 quit (Ping timeout: 240 seconds)
17:19:54FromDiscord<exelotl> Made a userscript to auto-redirect to the devel docs
17:19:58FromDiscord<exelotl> https://gist.github.com/exelotl/c0c4b79932d977869811e518b2198b8c
17:22:51*leorize quit (Remote host closed the connection)
17:29:30*Vladar quit (Quit: Leaving)
17:47:05shashlick@deech - https://github.com/nim-lang/Nim/pull/13010
17:47:06disbotImplement compileSetting() and compileSettingSeq()
17:47:40FromGitter<deech> disruptek, it doesn't. Didn't even know that was possible
17:47:49*Guest94576 quit (Quit: Guest94576)
17:49:38FromGitter<deech> Looking at `nimble` source I don't even see where it accounts for that ...
17:49:47disruptekwell, nimble doesn't.
17:50:12disruptekthe compiler is quite powerful.
17:50:21FromGitter<deech> Ah, I see ...
17:51:03shashlickNimble only knows of one nimble dir
17:51:12shashlickNim can handle multiple
17:51:23*pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
17:51:34disruptekyou can play with it using nim.cfg or nimph.
17:52:33*pbb joined #nim
17:56:47*solitudesf quit (Remote host closed the connection)
18:21:38*krux02 quit (Remote host closed the connection)
19:03:54FromGitter<melMass> Does the sleep proc of os need a special compilation flag ? I keep getting a Error: undeclared identifier: 'sleep'
19:05:09shashlickimport os?
19:05:18FromGitter<melMass> I did :(
19:05:58FromGitter<melMass> (https://files.gitter.im/nim-lang/Nim/uojV/image.png)
19:14:02FromGitter<melMass> @FromIRC No idea ?
19:16:57shashlickcan you share a snippet i can try
19:17:00shashlickplus, what version of nim
19:17:47xaceif i import asyncfile, will the iterator lines() from io use the async version of readline()?
19:18:13*rockcavera quit (Remote host closed the connection)
19:22:18xacelet me rephrase it to make it easier to understand: does `import asyncfile` use asyncfile.readline() when you `for l in lines(myfile):` ?
19:33:25Araqno.
19:48:07*menace joined #nim
19:50:09*nsf joined #nim
20:00:25FromGitter<melMass> I'm trying to compile this example, adding sleep before joining the threads: https://nim-lang.org/docs/threads.html
20:01:44FromGitter<melMass> Nim Compiler Version 1.1.1 Devel
20:04:07FromGitter<melMass> (Of course I'm doing other stuff but even this streamlined version does not work for some reason)
20:04:24FromGitter<melMass> I'm on OSX Mojave
20:05:29*menace left #nim (#nim)
20:06:00*uvegbot quit (Ping timeout: 256 seconds)
20:07:12FromGitter<melMass> (https://files.gitter.im/nim-lang/Nim/ELzX/image.png)
20:07:31*uvegbot joined #nim
20:08:38FromGitter<melMass> Ok sorry.....
20:08:56FromGitter<melMass> I had a file named os.nim, sorry for the time
20:09:19*clyybber joined #nim
20:09:43*clyybber quit (Client Quit)
20:29:26*krux02 joined #nim
20:34:14FromDiscord<agucova> Hi everyone
20:34:27FromDiscord<TheCrappyCoder> hey hey
20:34:33krux02hi
20:34:48FromDiscord<agucova> I wanted to know what is the perception of language growth here. Do you guys think Nim will become a mainstream language in the long-run?
20:34:55FromDiscord<agucova> Or will it stay a niche language?
20:35:24krux02agucova: Only time will tell. But Nim is certainly growing.
20:35:42*marmotini_ joined #nim
20:35:47FromDiscord<TheCrappyCoder> It's quite flexible with a wide variety of uses
20:36:01FromDiscord<TheCrappyCoder> It can compile to JavaScript, C++, and C
20:36:18FromDiscord<agucova> I started using Nim a couple weeks ago, and the features are just amazing, I can't complain.
20:36:19FromDiscord<TheCrappyCoder> I think is jack-of-all-trades enough to go mainstream over time
20:37:07FromDiscord<agucova> But I'm trying to see if I should place my bet on it becoming a mainstream language. I was just seeing Google Trends for "nim language", by example, and I noticed it was very constant with a sharp peak on this month.
20:37:16FromDiscord<TheCrappyCoder> mmh
20:38:24FromDiscord<agucova> But in general, google trends doesn't reflect organic growth
20:38:38krux02agucova: there was fosdem. There were good talks about Nim.
20:38:58FromDiscord<agucova> Oh, you think that is the reason behind the sharp peak?
20:39:12krux02google trends is just about search on google. For myself, I am very active in Nim, yet I don't search "Nim" at all on google.
20:39:29*marmotini_ quit (Remote host closed the connection)
20:39:44*marmotini_ joined #nim
20:40:07disruptektrends shows no data for belgium, for example.
20:40:29krux02Nim is not yet a language where you just copy paste solutions from stack overflow. you generally have to implement the solutions on your own. Or you have to at least manually translate from other languages to Nim when you search for general programming advice.
20:40:52FromDiscord<agucova> Yeah, it's quite a bad benchmark, but it is an interesting benchmark for growth. (New users looking up the language or the documentation)
20:40:55krux02disruptek, might have other reasons though.
20:41:18krux02it certainly reflects interest.
20:42:52FromDiscord<agucova> Does anyone know if there is a way to get Github's language statistics directly?
20:43:01*nsf quit (Quit: WeeChat 2.7)
20:43:06FromDiscord<agucova> Most public rankings don't include languages beyond the top 10 or top 50
20:43:57FromDiscord<agucova> It's on BigQuery, it seems
20:44:12disrupteki'm still seeing about 75% of stream traffic as random visitors from twitch, so we're pretty far from penetration there.
20:45:30krux02well I guess watching people program isn't the most exciting thing to do.
20:46:30disruptekno, but it tells us that the people that there are still more curious people than engaged people.
20:46:43disrupteker, yeah, you get what i'm trying to type.
20:51:52FromDiscord<agucova> Oh, nim doesn't have a StackOverflow tag
20:52:36FromDiscord<agucova> Sorry, it does have one, nim-lang
20:55:17disruptekthat should be fixed.
20:58:15FromDiscord<agucova> So, Github doesn't have historical info available, TIOBE only gives you the top 50, PYPL doesn't have Nim and StackOverflow doesn't let you check nim-lang in the Trends database.
20:58:45FromDiscord<agucova> We're stuck with Google Trends and I guess, Google Analytics of nim-lang.org?
20:59:05*Hideki joined #nim
20:59:28*Hideki is now known as Guest81329
21:01:48FromDiscord<agucova> Oh, and the contribution graph for nim-lang/Nim.
21:03:05*Guest81329 quit (Ping timeout: 240 seconds)
21:10:28*fredrik92 quit (Read error: Connection reset by peer)
21:10:56*fredrik92 joined #nim
21:12:12krux02agucova: I rememebr reading a top 100 from TIOBE, but you had to do some extra work to get it. it wasn't in the default information.
21:12:46FromDiscord<agucova> Huh, I'll try to find it
21:13:27FromDiscord<agucova> Oh, yeah
21:13:51FromDiscord<agucova> Tiobe does provide a list with the 51-100, but it's alphabetically order
21:13:59FromDiscord<agucova> ordered*
21:14:20FromDiscord<agucova> Unless someone wants to buy the $5000 USD database, we're kinda screwed
21:18:21disrupteknot important.
21:20:11*marmotini_ quit (Remote host closed the connection)
21:20:22*abm joined #nim
21:20:25*chemist69 quit (Ping timeout: 240 seconds)
21:20:46*marmotini_ joined #nim
21:21:48*chemist69 joined #nim
21:22:14*marmotini_ quit (Read error: Connection reset by peer)
21:22:29*marmotini_ joined #nim
21:26:35*filcuc joined #nim
21:27:11*marmotini_ quit (Remote host closed the connection)
21:27:47*marmotini_ joined #nim
21:32:31*marmotini_ quit (Ping timeout: 265 seconds)
21:43:26*marmotini_ joined #nim
21:48:00*marmotini_ quit (Ping timeout: 256 seconds)
21:59:27*krux02 quit (Remote host closed the connection)
22:06:00Araqdisruptek, will you stream today?
22:06:52disruptekprobably.
22:07:00disrupteknot sure what to work on, though.
22:07:15disrupteki don't think the status bounty concept is going to work.
22:07:38Araqwhy not?
22:07:45*tane_ quit (Quit: Leaving)
22:08:03*solitudesf joined #nim
22:08:17shashlickmust be a sleepy day
22:08:19*clyybber joined #nim
22:08:20disruptekthey don't seem to know what they want.
22:08:23shashlicksleep(2000) doesn't sleep at all for me
22:08:29disruptekalso, what they want is useless to others.
22:08:42disruptekalso, what they want is too trivial to implement and get paid for.
22:08:52disruptekalso, i'm still waiting to get paid for what i /have/ implemented.
22:09:13AraqI'm sure you will see the money
22:09:26clyybberI just wonder how the money is calculated
22:09:54clyybberLike, do you tell them how much you worked on it?
22:10:03clyybberOr do you "prove" it somehow?
22:10:30clyybberOr do they say how much an issues bounty is worth, and if so why not write it on the issue itself?
22:10:43clyybberAnd the expected hours of work along it
22:11:55disrupteki asked for some pricing on one of the issues. maybe they will come up with something.
22:12:20disruptek"impl a flat file db with 1) fixed-length index, and 2) variable-length append-only data"
22:12:48disruptekwhat is this... 2hrs? 3hrs? i don't know that anyone is interested in embarking on such a project for less than $200-300.
22:15:09*Trustable quit (Remote host closed the connection)
22:15:49disrupteki think they will figure it out eventually.
22:16:25*Trustable joined #nim
22:16:46disrupteki was encouraged to see someone else taking on a bounty project, at least.
22:20:53disruptekclyybber: i had to give up last night.
22:22:19*solitudesf quit (Ping timeout: 255 seconds)
22:23:09clyybberdisruptek: On what?
22:23:58disruptekfixing chronos for arc.
22:24:41clyybberah
22:25:48shashlickposix.nanosleep is returning immediately for me
22:26:39*Trustable_2 joined #nim
22:26:48*Trustable_2 quit (Remote host closed the connection)
22:26:48*Trustable quit (Remote host closed the connection)
22:26:58disruptekadd more nanos.
22:27:00shashlickyep it is returning -1, how do i print errno
22:27:48*Trustable joined #nim
22:32:16shashlickgetting EINTR - something is interrupting every single sleep call
22:33:27*leorize joined #nim
22:34:01*letto quit (Ping timeout: 255 seconds)
22:36:46FromDiscord<mratsim> jangko worked for a year on bounties
22:37:07shashlickwth, how do i find out what signal is interrupting me
22:37:12shashlickcannot create a minimal example
22:42:58disruptekisn't there a perrno or something somewhere? i feel like i've used it before.
22:43:55disrupteksunless sea is boring.
22:45:20shashlickerrno is in system, got that
22:45:33shashlickthis is frustrating
22:45:52shashlickminimal example sleeps fine, but when i use sleep in my plugin system, it gets interrupted every single time
22:51:45clyybberdisruptek: You think so?
22:51:53clyybberI thought about getting that game
22:52:05disruptekwell, i can't figure out what's fun about it.
22:52:23disrupteki'll stream it if you want.
22:52:34clyybberI guess its slow
22:53:15*rockcavera joined #nim
22:53:26clyybberAnd harsh
22:53:44clyybberand perhaps unrewarding
22:53:51clyybberbut I dunno, I didn't play it :p
22:54:05disruptekthe ui is a little clicky. a little sluggish.
22:55:27clyybberdisruptek: Did you play subnautica? Thats a great game
22:55:44disrupteki played 688 attack sub.
22:56:26clyybberits like that but on an alien planet
22:56:33clyybberand well, I won't spoil it for ya :p
22:57:05disruptek688 is, like, ega graphics from the '80s iirc.
22:57:14clyybberyeah
22:57:31disrupteki guess i have 688 hunter killer. maybe that's a newer version.
22:59:21disrupteki watched the bg3 gameplay reveal and it made me want to play an rpg.
22:59:25clyybberI recently played teleglitch again, thats a cool game too
22:59:44clyybberdisruptek: Oh
22:59:54clyybberElona is a cool rpg
23:00:27disruptekwasn't teleglitch a 48hr game jam first?
23:00:31disrupteksomething like that?
23:00:58clyybberhmm, I don't know, but it could very well be
23:01:28disruptekwe should do some coop. monaco or something.
23:01:40disruptekdo we have any coop nim games?
23:02:18disruptekis it nwn that has nim underneath?
23:02:23disrupteknwn2 or something?
23:03:59clyybberI don't think there are many nim games at all
23:05:03clyybberror2 is really cool
23:05:05Araqnwn2, yeah
23:05:41disruptekror2?
23:06:24clyybberrisk of rain 2
23:06:34clyybberits coop
23:06:38clyybberand really fun
23:06:50disrupteki came really close to advertising my car business inside project CARS.
23:07:11clyybberlol really?
23:07:23disruptekyeah, it was only like $1500 iirc.
23:07:44disruptekto have my logo show up on trackside furniture? sure.
23:07:51clyybbercool
23:08:00disrupteki was too busy at the time.
23:11:53Araqclyybber, new problems with sink inference
23:12:39Araqif we change the type signature this can mean that you cannot pass the proc as a callback around anymore
23:13:38Araqif that happens you need to annotate the proc with .nosinks
23:13:44Araqyay, yet another pragma
23:13:59disruptekgood news, bad news.
23:14:15FromDiscord<Recruit_main70007> Programming generic question:
23:14:15FromDiscord<Recruit_main70007> Is it possible to have an sleep() of 1 cpu tick?
23:14:29disrupteknah.
23:14:49Araqyeah, it's cpuRelax()
23:15:00Araqsomewhere in the stdlib
23:15:19disruptekgtfo 1 cycle? really?
23:15:54FromDiscord<Recruit_main70007> Then what’s the maximum I can get?
23:16:16disruptekinfinite cycles.
23:16:16clyybberAraq: Huh, but why?
23:16:28clyybberOh
23:16:31clyybberI see
23:17:13FromDiscord<Recruit_main70007> I meant the minimum sorry :p
23:17:26*ptdel quit (Ping timeout: 240 seconds)
23:17:30disruptektry cpurelax under criterion. i am really curious.
23:17:53FromDiscord<Recruit_main70007> I cannot today, I will tomorrow
23:18:14disruptekpillars of eternity runs. i guess i will see you all in a couple weeks.
23:18:25clyybberlol
23:18:34*narimiran quit (Ping timeout: 255 seconds)
23:20:03Araqclyybber, now I wonder if we instead can have "sink parameters for statically resolved calls"
23:20:19clyybberYeah
23:20:35clyybberAnd pass a non-sink version of the proc around for callbacks and closures
23:22:19Araqmight be worse than .nosinks though
23:23:35Araqor we use push/pop infereSinks and only enable it for the stdlib
23:23:57clyybberEh, but then whats the use
23:24:26Araqcontainers will still benefit from it, less work than patching the stdlib manually
23:24:53clyybberYeah, but this feature is mostly useful for ppl writing procs themselves
23:24:58clyybberIMO
23:25:12clyybbersince it makes code performant by default
23:26:24disruptekmanual patching is no bid deal, afaict.
23:26:29disrupteks/bid/big/
23:26:41Araqdisruptek, been there, done that it sucks
23:27:08disruptekhow is it much different than orc's runtime overhead?
23:27:13Araqinference plus .nosink seems to be the best working solution so far
23:27:15disrupteki mean, worst-case scenario...
23:28:57clyybberAraq: Automatic generation of a copy of the proc with .nosink. in cases where it would error normally?
23:29:23clyybberWhich is basically "pass a non-sink version of the proc around for callbacks and closures"
23:30:25*ptdel joined #nim
23:31:27Araqmeh, too complex
23:31:39clyybberAraq: We can make it explicit
23:31:47clyybbermaybe a macro can work
23:31:55clyybberbasically .toNonSinkVersion
23:32:19Araqyeah but that's close to what we already have
23:32:26clyybberYeah
23:32:36clyybberjust thinking about how to make it a bit more convinient
23:33:11Araqit already is, I only found one case in the suite
23:33:30clyybberAraq: Oh, nice
23:33:51Araqonce 'koch boot --gc:arc' works we can gather some experience with the feature
23:34:06clyybberAraq: Instead of {.noDestroy.} can we add a nonsink annotation?
23:34:24clyybberLike proc someProc(a: nonsink T)
23:34:38clyybberwhich would prevent a from being inferred a sink
23:34:50Araqconsidered it but it's much harder to implement
23:34:54clyybberthen we could make {.noSinks.} a macro
23:35:21disruptekwhat's the scenario you are trying to nosink?
23:35:41clyybberAraq: I think we need it eventually.
23:36:12Araqhow? proc foo(x: sink T; y: S) {.nosinks.} # precise control
23:36:18clyybberBecause we also might want to convert a proc (a: sink T, b: sink T) to a proc (a: T, b: sink T)
23:36:41disruptekugh.
23:37:13clyybberAraq: Couldn't it be a matter of adding a symFlag and attaching it to the arg?
23:37:19disruptekyeah, a taint?
23:37:23clyybberAnd then skipping it in the inferrer?
23:37:57Araqas I said, let's gain some experience
23:38:08Araqas a first implementation, it works rather nicely already
23:39:10clyybberOk
23:39:32*filcuc quit (Quit: Konversation terminated!)
23:42:15*lritter quit (Ping timeout: 260 seconds)
23:43:20Araqalso related, scope based destruction is still not ready, it's much harder than it looks
23:45:55clyybberHmm
23:46:59AraqI wonder if an optimization pass could us give the same benefits
23:47:11Araqwithout being to disruptive
23:47:33clyybbercomplexity cannot be eliminated, only transferred :p
23:47:40clyybberI think thats your quote
23:48:58Araqyeah but an optimizer can cheat more easily, "argh, too complex, I give up on this one"
23:49:55clyybberYeah, but then you also get the opposite of predictable performance
23:50:05clyybberAlso, thats lame :p
23:50:44Araqyou get "predictable performance" beyond big-O by looking at the asm and profiling things
23:51:51clyybberOk, but other langs can do it too, I'm sure we can too
23:51:56clyybbereven if it gets complicated
23:52:47Araqok
23:52:58Araq"Chip flaw exposes billions of WiFi devices"
23:54:44*Trustable quit (Remote host closed the connection)
23:55:48clyybberKr00k?
23:56:11Araqyes
23:57:16clyybberit has a nice positive sideffect tho
23:57:25*dwdv quit (Ping timeout: 240 seconds)
23:58:22*NimBot joined #nim
23:59:19clyybberSo that was the reason that lineageos pushed out nightly updates outside of their weekly schedule..