00:30:49 | * | chemist69_ quit (Ping timeout: 255 seconds) |
00:35:12 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
00:44:52 | * | chemist69 joined #nim |
00:49:13 | * | user0 quit (Read error: Connection reset by peer) |
00:49:32 | * | user0 joined #nim |
00:59:36 | * | JappleAck quit (Quit: Leaving) |
01:06:02 | * | user0 quit (Quit: user0) |
01:16:17 | * | ipjk quit (Read error: Connection reset by peer) |
01:33:24 | * | def-pri-pub joined #nim |
01:44:59 | * | chemist69 quit (Ping timeout: 255 seconds) |
01:47:52 | * | rauss quit (Read error: Connection reset by peer) |
01:49:52 | * | rauss joined #nim |
01:58:50 | * | chemist69 joined #nim |
01:59:33 | * | Jesin quit (Quit: Leaving) |
02:00:34 | * | dhalinar joined #nim |
02:02:39 | * | Jesin joined #nim |
02:18:32 | * | ryanhowe quit (Read error: Connection reset by peer) |
02:19:02 | * | ryanhowe joined #nim |
02:24:01 | * | vlad1777d quit (Ping timeout: 240 seconds) |
02:30:55 | * | yglukhov joined #nim |
02:35:25 | * | yglukhov quit (Ping timeout: 258 seconds) |
02:38:53 | * | chemist69 quit (Ping timeout: 252 seconds) |
02:51:37 | * | chemist69 joined #nim |
02:55:55 | * | endragor joined #nim |
02:56:39 | * | hio joined #nim |
02:57:15 | hio | you guys do realize that java is tested on massive heaps with like 128GB of RAM... Why would anyone use Nim on the server if I dont know that the GC will perform at least as well as java? |
03:02:39 | FromGitter | <zetashift> But you can now, seeing how Nim's GC works is explained well in: https://nim-lang.org/docs/gc.html |
03:03:19 | hio | how is that a 48h stresstest benchmark for an active heap with 128GB size? |
03:03:26 | hio | oh wait, i just realized. It isnt |
03:25:53 | * | RushPL quit (Ping timeout: 255 seconds) |
03:26:10 | * | niv quit (Ping timeout: 264 seconds) |
03:28:46 | * | def-pri-pub left #nim (#nim) |
03:31:51 | * | RushPL joined #nim |
03:32:58 | * | yglukhov joined #nim |
03:37:27 | * | yglukhov quit (Ping timeout: 240 seconds) |
03:38:18 | * | niv joined #nim |
03:43:22 | * | Wanddsd joined #nim |
03:45:41 | * | Nobabs25 quit (Quit: Leaving) |
03:46:32 | * | hio quit (Ping timeout: 252 seconds) |
04:02:02 | FromGitter | <Varriount> hio: Well, *you* could stress test the GC. |
04:03:34 | FromGitter | <Varriount> I mean, we have stress tests in the repository that go for a certain amount of time, but ultimately we're limited by resources. |
04:13:41 | * | Jesin quit (Ping timeout: 240 seconds) |
04:17:01 | * | UxerUospr quit (Ping timeout: 240 seconds) |
04:22:58 | * | lockdown joined #nim |
04:35:50 | * | lockdown quit (Quit: leaving) |
04:40:34 | * | dhalinar quit (Ping timeout: 255 seconds) |
04:55:04 | * | Jesin joined #nim |
05:00:37 | FromGitter | <Yardanico> Araq: 65 votes! |
05:15:16 | * | miran joined #nim |
05:23:17 | * | Wanddsd quit (Quit: Leaving) |
05:25:53 | * | yglukhov joined #nim |
05:30:09 | * | yglukhov quit (Ping timeout: 248 seconds) |
05:33:56 | Araq | "Why would anyone use Nim on the server if I dont know that the GC will perform at least as well as java?" -- Troll. |
05:34:39 | Araq | "Why would anyone answer you if you cannot even imagine to stress test your own server applications?" |
05:35:44 | Araq | but Varriount, nice response. |
05:55:17 | * | miran quit (Quit: Leaving) |
05:57:00 | FromGitter | <x86128> In continue to my exploration of async in Nim, have the next newbie question: Why, when using waitFor in this simple programs, it consumes 100% of CPU? When I'm manualy write waitFor with sleep and poll it's ok, but not what I want. ⏎ Tested on both Nim 0.17 and 0.17.2. ⏎ Valgrind reports that waitFor performs about 1M calls to Nim's poll() ⏎ https://gist.github.com/x86128/ca24c941d7deb25294fbb3e7b254dacf |
05:57:00 | FromGitter | ... [https://gitter.im/nim-lang/Nim?at=59e6ed2ce44c43700a4897e5] |
06:24:54 | Araq | proc waitFor*[T](fut: Future[T]): T = |
06:24:54 | Araq | ## **Blocks** the current thread until the specified future completes. |
06:24:54 | Araq | while not fut.finished: |
06:24:56 | Araq | poll() |
06:24:58 | Araq | fut.read |
06:25:21 | Araq | for your future it's actually a polling busy loop --> 100% CPU |
06:25:57 | * | adeohluwa joined #nim |
06:26:12 | * | nsf joined #nim |
06:30:59 | * | skrylar joined #nim |
06:31:54 | Araq | but I agree it's a problem |
06:32:15 | Araq | tried with -d:upcoming? it has a different timer implementation I think |
06:42:16 | * | gokr joined #nim |
06:44:11 | * | Laon joined #nim |
06:55:41 | * | Vladar joined #nim |
06:58:06 | * | miran joined #nim |
06:58:23 | * | sleepyqt joined #nim |
06:58:59 | * | PMunch joined #nim |
07:14:04 | * | claudiuinberlin joined #nim |
07:14:31 | * | Arrrr joined #nim |
07:14:32 | * | Arrrr quit (Changing host) |
07:14:32 | * | Arrrr joined #nim |
07:17:13 | * | scriptum quit (Quit: Leaving) |
07:24:49 | * | yglukhov joined #nim |
07:26:45 | * | lastjedi joined #nim |
07:27:33 | * | lastjedi quit (Read error: Connection reset by peer) |
07:32:55 | * | lastjedi joined #nim |
07:33:53 | * | lastjedi quit (Remote host closed the connection) |
07:34:15 | * | lastjedi joined #nim |
07:37:56 | * | firstjedi joined #nim |
07:38:41 | * | lastjedi quit (Ping timeout: 255 seconds) |
07:39:37 | * | d10n quit (Ping timeout: 260 seconds) |
07:40:03 | FromGitter | <x86128> @Araq OK, I understand, need rebuild Nim with -d:upcoming? If i rebuild my prog with -d:upcoming nothing changed tho ... |
07:41:50 | * | d10n joined #nim |
07:41:51 | * | d10n quit (Changing host) |
07:41:51 | * | d10n joined #nim |
07:42:44 | * | firstjedi quit (Ping timeout: 255 seconds) |
07:47:55 | Araq | x86128 you need to compile your own program with -d:upcoming |
08:04:30 | * | smt` quit (Read error: Connection reset by peer) |
08:04:51 | * | smt_ joined #nim |
08:07:48 | * | claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
08:16:39 | * | claudiuinberlin joined #nim |
08:18:26 | * | lastjedi joined #nim |
08:26:36 | * | ryanhowe_ joined #nim |
08:27:40 | * | smt joined #nim |
08:27:51 | * | adamchain_ joined #nim |
08:28:35 | * | claudiuinberlin quit (Read error: Connection reset by peer) |
08:28:37 | * | ryanhowe quit (Read error: Connection reset by peer) |
08:28:37 | * | adamchainz quit (Ping timeout: 248 seconds) |
08:28:37 | * | enthus1ast quit (Ping timeout: 248 seconds) |
08:28:38 | * | FromGitter quit (Remote host closed the connection) |
08:28:38 | * | enthus1ast joined #nim |
08:29:12 | * | FromGitter joined #nim |
08:30:46 | * | smt_ quit (Ping timeout: 258 seconds) |
08:30:57 | * | gmpreussner quit (Ping timeout: 260 seconds) |
08:32:51 | * | firstjedi joined #nim |
08:33:49 | * | gmpreussner joined #nim |
08:36:17 | * | lastjedi quit (Ping timeout: 255 seconds) |
08:36:23 | * | Yaiyan quit (Ping timeout: 246 seconds) |
08:38:56 | * | yaiyan joined #nim |
08:39:11 | * | dom96 quit (Ping timeout: 246 seconds) |
08:41:20 | * | dom96 joined #nim |
08:41:20 | * | dom96 quit (Changing host) |
08:41:20 | * | dom96 joined #nim |
08:44:23 | * | Araq quit (Ping timeout: 255 seconds) |
08:45:39 | * | Araq joined #nim |
08:49:40 | * | skrylar_ joined #nim |
08:50:37 | PMunch | Araq, what's -d:upcoming? |
08:52:01 | * | skrylar quit (Ping timeout: 240 seconds) |
08:53:35 | euantor | it uses the upcoming async implementation |
08:53:46 | PMunch | Ahh cool |
08:53:51 | euantor | https://github.com/nim-lang/Nim/tree/devel/lib/upcoming |
08:56:21 | PMunch | Hmm, looking at the docstring there doesn't seem to be that much which has changed |
08:56:34 | PMunch | Is it not updated, or am I missing something? |
08:58:26 | euantor | Doc string is basically the same, imnplementation is slightly different |
08:58:53 | PMunch | Okay, any cool benefits? |
08:59:59 | euantor | I can't remember off the top of my head. It might be slightly faster, but I can't remember |
09:00:26 | euantor | There was some talk about other changes too in an RFC |
09:01:23 | euantor | https://github.com/nim-lang/Nim/issues/5731 and https://github.com/nim-lang/Nim/issues/5728 and https://github.com/nim-lang/Nim/issues/5753 are all IO related |
09:06:41 | crem | When people Western European countries have fever, where do they usually measure a body temperature? In exUSSR countries everyone measures under an arm, but it seems that in other countries the most popular is to measure in mouth. |
09:08:20 | euantor | yes, in the mouth is common |
09:08:48 | euantor | you also get some thermometers that are put in the ear, but these are less common |
09:10:09 | crem | But they all have different temperatures, that may be confusing.. |
09:10:43 | euantor | yep. SOmetimes they measure under the arm too, but you have to make sure it is dry first |
09:14:05 | * | firstjedi quit (Ping timeout: 255 seconds) |
09:14:37 | PMunch | We always measured under arm in Norway |
09:14:54 | miran | crem: under arm (Croatia) |
09:15:08 | PMunch | Or for a more accurate reading you can use it in your but (just make sure to wash it after) |
09:15:43 | PMunch | s/but/butt |
09:16:23 | crem | yes, usually when you just got cold and need to know whether you have fever or not without much precision, it was under arm in my home country. |
09:16:54 | crem | And here in Switzerland doctors seem to be surprised that someone measures temperature under the arm rather than in mouth. |
09:17:32 | PMunch | Exactly, under the arm is "good enough" to determine if you have a fever or not |
09:17:50 | PMunch | If you actually care how much fever then mouth or butt is better |
09:18:09 | PMunch | I think accuracy is arm < mouth < butt |
09:18:20 | PMunch | Not sure how much the difference in accuracy is though.. |
09:19:14 | crem | Thanks. And sorry for killing nim-related talk with offtopic. :) |
09:19:37 | * | adeohluwa quit (Quit: Connection closed for inactivity) |
09:19:45 | PMunch | Haha, no worries. We weren't really talking about anything when you asked :P |
09:20:07 | FromGitter | <BigEpsilon> crem you are from switzerland ? |
09:20:27 | FromGitter | <BigEpsilon> which part? |
09:21:00 | crem | I'm originally from Belarus, but live in Switzerland, yes. Zurich. |
09:21:19 | FromGitter | <BigEpsilon> ah ok |
09:21:28 | FromGitter | <BigEpsilon> I live in lausanne |
09:21:57 | crem | Pretty far by Swiss standards. :) |
09:23:48 | * | smt` joined #nim |
09:24:04 | FromGitter | <BigEpsilon> oh not so far :) |
09:25:53 | FromGitter | <Yardanico> LOL, 78 votes! http://www.strawpoll.me/14163114/r |
09:26:09 | FromGitter | <Yardanico> *79 |
09:26:25 | PMunch | Yeah I saw that, seems like posting to reddit gave it some extra attention |
09:26:57 | Araq | good thing I just figured out my move semantics are broken :-) |
09:27:08 | * | smt quit (Ping timeout: 246 seconds) |
09:27:23 | FromGitter | <Yardanico> I'm in the school right now btw :D |
09:36:39 | * | Zevv joined #nim |
09:36:53 | Zevv | Hi, I have some breakage in async stuff moving from 0.17.0 to 0.17.2 |
09:37:10 | Zevv | I have a async callback for newAsyncHttpServer which has a try:except inside |
09:37:25 | Zevv | causing nokiasim.nim(90, 15) Error: type mismatch: got (AsyncHttpServer, Port, proc (req: Request): Future[system.void]{.locks: <unknown>.}) |
09:37:28 | Zevv | but expected one of: |
09:37:31 | Zevv | proc serve(server: AsyncHttpServer; port: Port; callback: proc (request: Request): Future[void]; address = ""): Future[void] |
09:37:34 | Zevv | what changed here, and what am I doing wrong? |
09:38:57 | skrylar_ | oh, neat. figured out how spritelamp did its thing |
09:39:02 | skrylar_ | sort of |
09:45:07 | skrylar_ | was wondering how they were taking two greyscale lightmaps and creating normals for it and then putting those back on sprites |
09:46:21 | Araq | Zevv: annotate the callback you pass to 'serve' as 'gcsafe' |
09:50:11 | * | derlafff quit (Ping timeout: 255 seconds) |
09:54:47 | FromGitter | <mratsim> So if we do a NimCon it would be in Switzerland? I used to live in Geneva, 2 years ago. |
09:57:24 | * | lastjedi joined #nim |
10:03:23 | * | derlafff joined #nim |
10:05:15 | PMunch | skrylar_, you should've asked, worked on replicating that years ago and made a simple script to do it :) |
10:11:38 | Zevv | Araq: thats it, thanks |
10:12:12 | Zevv | Where should I have found that in the docs? |
10:18:35 | PMunch | Important question Zevv |
10:19:05 | Araq | Zevv: we thought some internal change in asyncdispatch is regression free |
10:19:11 | Araq | so it's actually a big bug |
10:19:25 | * | derlafff quit (Ping timeout: 255 seconds) |
10:20:50 | Zevv | Yay :) |
10:21:47 | Zevv | No problem, there's always #nim |
10:27:40 | dom96 | mratsim: hrm? Why would it be in Switzerland? |
10:28:10 | dom96 | Araq: Sorry, but I still deem gcsafety a pain :\ |
10:28:32 | FromGitter | <mratsim> Near most of the Nim community |
10:28:44 | * | Yardanico joined #nim |
10:28:51 | Araq | dom96: better don't fight my GC-free new runtime then :P |
10:29:09 | Araq | mratsim: that's mean :P |
10:30:34 | FromGitter | <mratsim> I wasn't mean heh ! |
10:30:52 | FromGitter | <mratsim> Build a strawpoll to ask that ;) |
10:31:00 | gokr | euantor: We have one of those digital measure-in-the-ear temps. |
10:31:06 | dom96 | Am I missing something? |
10:31:39 | PMunch | dom96, we were talking about measuring temps earlier :P |
10:31:45 | PMunch | How't the storm by the way? |
10:32:07 | PMunch | @mratsim, I vote for northern Norway :) |
10:32:34 | gokr | PMunch: Är du från Norge? |
10:32:58 | PMunch | Ja, det stemmer |
10:33:18 | dom96 | PMunch: Last I heard 3 people died :\ |
10:33:49 | PMunch | dom96, yeah that's what I heard on the news. I was more wondering how it was going for you in the storm |
10:34:02 | dom96 | My lectures were cancelled |
10:34:07 | dom96 | So I just stayed home :) |
10:34:17 | dom96 | Didn't seem too bad here |
10:34:18 | PMunch | Well that's a pluss :P |
10:34:25 | FromGitter | <TheSuspiciousWombat> Anyone in here familiar with opengl and the nim bindings? what do i do wrong here??? https://hastebin.com/ebifexifig.go im following the learnopengl tutorial and seem to fail to translate the c++ code to nim |
10:34:34 | gokr | PMunch: Ah nice! I was once up sailing a Hobie-18 in Lofoten, back in ... 1991. |
10:35:45 | PMunch | Ah nice gokr, part of my family is actually from Lofoten. Small place called Sigerfjorden |
10:36:39 | PMunch | @TheSuspiciousWombat, what error do you get? |
10:36:42 | skrylar_ | TheSuspiciousWombat: because that's a nim string, and opengl wants c strings |
10:37:22 | skrylar_ | you told it the string was nil bytes long, so it will scan for a \0, which won't be there in a nim string, and thus you just asked it to read undefined amounts of memory |
10:37:44 | FromGitter | <TheSuspiciousWombat> I changed it to nim string now |
10:37:51 | FromGitter | <TheSuspiciousWombat> main.nim(43, 15) Error: type mismatch: got (GLuint, int literal(1), cstring, nil) ⏎ but expected one of: ⏎ proc glShaderSource(shader: GLuint; count: GLsizei; string: cstringArray; ⏎ ⏎ ``` length: ptr GLint)``` [https://gitter.im/nim-lang/Nim?at=59e72efeb20c64242918fd6f] |
10:38:23 | FromGitter | <TheSuspiciousWombat> cstring* |
10:38:59 | skrylar_ | https://hastebin.com/urecoqolaw.md |
10:39:16 | PMunch | Well, it actually expects an array of pointers to cstrings |
10:39:34 | skrylar_ | (although that's from my little paint app, 'Shader' is just a distinct type of GLint) |
10:39:42 | PMunch | And length is an array of lengths |
10:40:03 | FromGitter | <TheSuspiciousWombat> Thanks guys! |
10:40:18 | gokr | PMunch: Ah. We started at Svolvaer and then sailed down to the souther tip. Was a great competition, awesome nature. |
10:40:21 | skrylar_ | i do like distinct types, they make code a lot cleaner :\ |
10:40:40 | FromGitter | <TheSuspiciousWombat> I need to read up about cas and unsafeAddr im still a nim noob |
10:40:40 | skrylar_ | especially because you can then have an implicit converter back from Shader to GLint, so raw gl calls never care that you boxed the type |
10:41:21 | PMunch | gokr, yeah the nature out there is pretty wild. Not as pronounced where I live but it's still really beautiful |
10:42:27 | gokr | Went to Norway skiing last two years too - but... sorry, not this year, too expensive ;) |
10:42:33 | skrylar_ | i just learned about matcap textures. |
10:42:40 | skrylar_ | it turns out they're not as complicated as i thought :f |
10:43:10 | * | firstjedi joined #nim |
10:43:13 | FromGitter | <TheSuspiciousWombat> ah ok so the cast keyword does the same as if i would do "var x: uint" right? |
10:43:25 | skrylar_ | no |
10:43:52 | skrylar_ | safe casts are done with type(foo) or foo.type |
10:43:57 | skrylar_ | "balls".cstring # safe |
10:44:05 | skrylar_ | cast[cstring]("balls") # i am derp |
10:44:24 | PMunch | gokr, yeah it's expensive over here.. Especially touristy places like a ski resort |
10:44:28 | skrylar_ | i just use it in that snippet because an array of one is identical to a single pointer, in C terms |
10:44:31 | PMunch | Where did you go? |
10:45:42 | * | lastjedi quit (Ping timeout: 260 seconds) |
10:47:01 | gokr | We were first to Gudbrandsgard Hotel in Kvitfjell. And last year we went "all luxury" and went to Radisson Blu Restort in Trysil. |
10:48:48 | PMunch | Oh yeah, those places are expensive for sure :P |
10:49:10 | skrylar_ | when i posted one picture of art i was scolded but you've been talking about the countryside for an hour now |
10:49:14 | skrylar_ | :-| |
10:49:33 | PMunch | You were scolded in here? |
10:49:49 | FromGitter | <TheSuspiciousWombat> skrylar in " gl_shader_source x, 1, castcstringArray (unsafeAddr s), nil ⏎ " what is the s after the unsafeAddr? |
10:49:57 | FromGitter | <TheSuspiciousWombat> oh nvm |
10:50:02 | FromGitter | <TheSuspiciousWombat> i should learn to read ... |
10:51:50 | * | chemist69 quit (Ping timeout: 246 seconds) |
10:59:43 | * | chemist69 joined #nim |
10:59:43 | FromGitter | <TheSuspiciousWombat> skrylar ok seems to work. Thanks for making me learn the cast proc :D |
11:00:52 | dom96 | skrylar_: Sorry about that :( |
11:00:53 | Yardanico | cast is usually considered unsafe |
11:01:04 | dom96 | I wish people wouldn't do that. |
11:01:14 | Yardanico | but it's neccesary for using C libraries (most of the time) |
11:01:32 | dom96 | offtopic discussion is fine here occasionally |
11:02:05 | skrylar_ | dom96, its the internet. quality of humanity has had a sharp drop every year |
11:04:31 | skrylar_ | have most of the fltk widgets wrapped, working on the drawing parts now |
11:04:34 | Arrrr | When is the live stream? |
11:04:43 | Yardanico | Arrrr, tomorrow 19:00 UTC |
11:04:53 | PMunch | As long as it's not too disruptive to actual communications then I don't have any problem with off-topic |
11:05:04 | PMunch | skrylar_, nice! |
11:05:16 | Yardanico | http://www.strawpoll.me/14163114 it's like 13% of all people who participated in nim community survey :P |
11:05:30 | skrylar_ | PMunch, i don't really care about off topic discussion, until i start getting treated like shit for it and nobody does anything |
11:05:46 | Arrrr | in 10 hours? |
11:05:56 | PMunch | Sorry, had I seen it I would've done something.. |
11:06:05 | dom96 | skrylar_: ping me if it happens again |
11:06:23 | Yardanico | Arrrr, on thursday 19:00 UTC |
11:06:35 | Arrrr | in 34 hours? |
11:06:39 | Yardanico | yeah |
11:06:39 | PMunch | Hmm, my network just got super flaky.. |
11:06:47 | Yardanico | Araq, what's the meaning of your nickname? :) |
11:06:50 | PMunch | IRC seems to work fine though :) |
11:06:52 | Yardanico | https://en.wikipedia.org/wiki/Arak_(drink) ? :D |
11:09:06 | skrylar_ | well two of those letters are actually in his name |
11:09:13 | Yardanico | yeah, I know |
11:09:17 | Yardanico | but "aq" ? |
11:11:58 | * | Zevv left #nim ("Thanks again") |
11:15:22 | Araq | Yardanico: it's a secret |
11:15:28 | Yardanico | Araq, oh |
11:16:01 | skrylar_ | i saw an anime mention support vector machines and i chuckled |
11:16:06 | skrylar_ | although i've never actually used those :\ |
11:16:24 | * | derlafff joined #nim |
11:16:28 | skrylar_ | something about splitting objects in to planes |
11:16:35 | Yardanico | who knows, maybe nim is used by Masons :P |
11:17:06 | skrylar_ | I doubt it, a lot of those organizations are pretty out of touch |
11:17:44 | Yardanico | we just need to rewrite google in nim |
11:17:56 | skrylar_ | if you figure out how backrub works, go for it |
11:18:10 | Yardanico | but really rust community has a good idea about rewriting everything in rust :P |
11:18:26 | skrylar_ | its probably some brute force technique though |
11:18:34 | skrylar_ | from what i've seen google is not really known for elegance |
11:18:37 | Yardanico | at least it makes the language libraries ecosystem bigger |
11:18:49 | Yardanico | yeah, I read that google was never fully restarted |
11:18:56 | skrylar_ | i mean look at their AI papers |
11:19:09 | skrylar_ | Google's approach to upgrading deepmind was just "throw more hardware at it" |
11:19:18 | skrylar_ | this is mentioned on the deepmind site |
11:19:42 | skrylar_ | technique is more effective than hertz in these problems |
11:20:08 | skrylar_ | but everyone is too busy competing over who gets to hire the MIT students to look for people who have outlier thoughts |
11:20:14 | skrylar_ | and those outliers are who create new techniques |
11:20:16 | skrylar_ | :-/ |
11:20:48 | * | derlafff quit (Ping timeout: 246 seconds) |
11:21:15 | skrylar_ | that being said i would not be surprised if it started as a basic keyword search / naive bayes setup and grew to do some kind of fingerprinting |
11:21:20 | Yardanico | it's sad that there's no real competitor to google (search enginge) |
11:21:33 | Yardanico | *engine |
11:21:42 | SusWombat | skrylar_, could you help me once more? Any idea what i do wrong? https://hastebin.com/cibizomisu.cs |
11:21:51 | crem | There are in several countries. |
11:22:01 | Yardanico | crem, well, they're not as big as google |
11:22:15 | Yardanico | I mean real worldwide competitor |
11:22:15 | crem | There is also bing. :) |
11:22:21 | skrylar_ | in their machine translation paper they wrote that their middle layer started learning the meaning of sentences and could translate ex. korean-japanese even though it was only taught english-japanese and maybe english-korean. so it's not insurmountable leap to assume google might be using this for their search personalization |
11:22:29 | Yardanico | I know about Yandex, Bing, DuckDuckGo, |
11:22:31 | Yardanico | what else? |
11:22:45 | Yardanico | [email protected] xD |
11:23:01 | skrylar_ | SusWombat, you didn't initialize infolog |
11:23:11 | SusWombat | ohhh ... |
11:23:13 | SusWombat | thanks |
11:23:25 | crem | there's baidu, or is it badoo? One of those is dating service and another is chinese search engine. Which is known to be better than google featurewise. |
11:24:04 | skrylar_ | var log = newstring(512).cstring # i'm sure there is a better way |
11:24:35 | skrylar_ | baidu is the company, yes |
11:24:50 | skrylar_ | on an up note they're also helping the chinese government oppress their own people |
11:26:11 | * | derlafff joined #nim |
11:26:27 | skrylar_ | they also released PaddlePaddle, which i think is meant to compete with tensorflow, although i've used neither |
11:26:39 | skrylar_ | though tensorflow did basicaly kill theano |
11:40:43 | * | kobi7 joined #nim |
11:42:52 | kobi7 | Hi guys, I have a bit complicated question. |
11:43:07 | kobi7 | I wonder if I can output the AST before generating the C code, and also if there is a function to see the nim code that macros generate from the current AST. |
11:43:49 | kobi7 | I am reading Nim in Action, and it has some information about creating macros. I am missing these two information tidbits |
11:43:49 | PMunch | kobi7, you can use toStrLit to convert AST to code |
11:44:13 | Yardanico | kobi7, if you need to output ast - "echo treeRepr myastnode" |
11:44:30 | PMunch | Yeah, any of the *Reprs really |
11:44:36 | kobi7 | you guys are awesome |
11:44:52 | kobi7 | Yardanico: can I see the whole program like that? |
11:44:56 | Yardanico | kobi7, yes |
11:44:58 | Yardanico | one sec |
11:46:36 | Yardanico | https://gist.github.com/Yardanico/835c622595c25d11e8add0b54c7c44ed |
11:47:37 | kobi7 | very cool! |
11:47:40 | Yardanico | https://nim-lang.org/docs/macros.html#treeRepr,NimNode |
11:47:46 | Yardanico | https://nim-lang.org/docs/macros.html#toStrLit,NimNode |
11:47:56 | kobi7 | I'll try to run it. |
11:48:10 | Yardanico | but don't be mistaken: if you don't need to convert macro output to string - nim doesn't do that |
11:48:31 | PMunch | You also have lispRepr and astGenRepr |
11:48:34 | Yardanico | yeah |
11:48:45 | Yardanico | crystal macros are worse because they convert your macro ast to text and paste that into the program |
11:49:06 | PMunch | Haha, what? |
11:49:10 | PMunch | Why do they do that? |
11:49:20 | Yardanico | "Macros are methods that receive AST nodes at compile-time and produce code that is pasted into a program. " |
11:49:40 | PMunch | lispRepr gives you a Lisp-like output and astGenRepr gives you the code you would need to generate that AST |
11:49:51 | PMunch | Yardanico, that's just weird :P |
11:50:25 | PMunch | Well, I guess strings are easier to reason about since it's what the programmer usually uses |
11:50:47 | * | rauss quit (Read error: Connection reset by peer) |
11:52:19 | * | rauss joined #nim |
11:56:33 | Yardanico | also crystal macros are different because all different node types are actually different objects |
11:56:48 | Yardanico | (probably this is a bit less performant though) |
11:56:56 | * | SusWombat_ joined #nim |
11:57:38 | Yardanico | they have quite a lot of boilerplate: https://github.com/crystal-lang/crystal/blob/7f82f79bd1e3a7a1a73607e35c0662906736f1f8/src/compiler/crystal/macros.cr#L557 |
11:58:47 | * | SusWombat quit (Ping timeout: 252 seconds) |
11:59:24 | Yardanico | it seems that oprypin has moved to crystal from nim :) |
11:59:29 | Yardanico | https://github.com/oprypin?tab=repositories |
12:01:12 | * | elrood joined #nim |
12:01:52 | * | Snircle joined #nim |
12:02:51 | kobi7 | yesterday I tried c2nim on some sample git repositories from https://github.com/uhub/awesome-c |
12:03:26 | kobi7 | I am not a c/c++ programmer and have little experience with it |
12:03:34 | Yardanico | c2nim is not meant for automatic generation |
12:03:39 | kobi7 | it usually failed on preprocessor stuff |
12:03:40 | Yardanico | you still need to edit C headers manually |
12:03:48 | Yardanico | and also probably edit generated nim files too |
12:04:21 | Yardanico | if c2nim would generate all bindings automatically - this would be REALLY cool |
12:04:34 | kobi7 | I tried to use the gcc preprocessor to get rid of those, and concat it all to one file. |
12:05:19 | Yardanico | I only've used gcc preprocessor for these bindings in python for libui: https://github.com/Yardanico/pylibui-cffi |
12:05:22 | kobi7 | then removed some redundant code with regexp |
12:05:45 | Yardanico | it's actually a fork |
12:05:54 | Yardanico | but with almost 100% automatic low-level binding generation |
12:05:56 | kobi7 | but it still failed to find some structs. I only experimented a little bit so I'm not sure where the fault was. |
12:07:07 | kobi7 | you created python bindings using c2nim tool? |
12:07:11 | Yardanico | noo |
12:07:19 | Yardanico | this repo was made before I discovered nim |
12:07:24 | Yardanico | and this is actually a fork |
12:07:28 | Yardanico | original repo used ctypes |
12:07:31 | Yardanico | I've used cffi and pycparsing |
12:07:44 | Yardanico | https://github.com/Yardanico/pylibui-cffi/blob/master/scripts/bindings.py |
12:07:52 | Yardanico | *pycparser |
12:08:04 | kobi7 | so you're saying it might be better to use the python tools for binding generation and then port that to nim? |
12:08:27 | SusWombat_ | How would i translate "(void*)0"(c++) to nim? |
12:08:30 | Yardanico | kobi7, no, just about gcc preprocessor |
12:08:32 | Yardanico | SusWombat_, lol |
12:08:43 | SusWombat_ | Yardanico, O:? |
12:09:21 | kobi7 | ah, i'm too newbie to understand sorry |
12:09:29 | SusWombat_ | just "ptr 0"? |
12:10:16 | kobi7 | wow, there are some really nice libs in python |
12:13:09 | miran | nim-spotting: https://news.ycombinator.com/item?id=15495930 |
12:13:14 | yglukhov | SusWombat_: nil |
12:13:15 | yglukhov | =) |
12:13:20 | miran | it is in a thread about go vs python |
12:13:25 | SusWombat_ | yglukhov, ok thanks |
12:13:38 | * | PMunch_ joined #nim |
12:13:51 | * | PMunch quit (Disconnected by services) |
12:13:55 | * | PMunch_ is now known as PMunch |
12:14:41 | PMunch | SusWombat_, cast[ptr](nil) perhaps? |
12:15:00 | PMunch | nil might even work out of the box |
12:15:15 | Yardanico | miran, they'll be even more amazed a couple years later |
12:15:22 | Yardanico | or even in 2017-start of 2018 |
12:15:31 | Yardanico | when seqs and strings will probably be GC-free :) |
12:15:43 | Yardanico | Araq has already made a simple implementation of gc-free seqs and strings |
12:15:51 | Yardanico | but IIRC they're slower than current ones |
12:16:33 | SusWombat_ | PMunch, Error: expression cannot be cast to ptr |
12:16:45 | PMunch | Try with just nil |
12:16:46 | miran | Yardanico: but until that time - maybe some of you more experienced could provide answers/comments to people there, it might be good for nim in general |
12:17:10 | Yardanico | miran, I'm not very experienced in Nim :P |
12:17:14 | PMunch | Where? |
12:17:52 | miran | Yardanico: don't lie to me, you've proven yourself |
12:18:28 | miran | PMunch: hacker news, this is a comment that mentions nim: https://news.ycombinator.com/item?id=15495930 |
12:19:10 | PMunch | Oh cool, I enjoy seeing what people think of Nim |
12:20:45 | Yardanico | Araq, do you know you have 22 followers on twitch ? |
12:20:54 | Yardanico | https://www.twitch.tv/araq4k/followers |
12:22:03 | Yardanico | everything can change btw: http://www.strawpoll.me/14163114/r |
12:22:11 | Yardanico | only 9 votes between destructors and karax&ormin |
12:23:07 | * | ShalokShalom_ joined #nim |
12:24:22 | crem | In C++, unless you develop libraries but only use them, you don't really have to understand all that templates magic, perfect forwarding, what's the difference between xvalue and lvalue etc.. Is it true also for nim, that you don't really need to write all those macros during "ordinary" programming? Because at least two questions "how to do X in nim" were answered here with "just write macro/template". |
12:24:26 | * | EastByte quit (Quit: WeeChat 1.9.1) |
12:25:37 | Yardanico | crem, yeah, it is true |
12:25:45 | Yardanico | you can only use procs and it will be OK |
12:25:59 | * | ShalokShalom quit (Ping timeout: 246 seconds) |
12:26:06 | crem | let me remember what were the features I asked about.. |
12:26:11 | * | EastByte joined #nim |
12:27:35 | Yardanico | crem, also iterator/method/macro/template are named like that for a reason |
12:27:42 | Yardanico | e.g. not "iter", but "iterator" |
12:28:02 | Yardanico | because it shows that "proc" is simpler and shorter, I found Araq's post on nim forum about this |
12:28:59 | crem | Ah, I wanted to convert a sequence to a tuple shorter whan in 3 lines. |
12:29:15 | crem | *than |
12:29:31 | Yardanico | crem, any-sized seq to any-sized tuple? |
12:29:39 | Yardanico | because tuple size must be known at compile-time |
12:29:55 | Yardanico | if not, then let myTuple = (s[0], s[1], s[2]) |
12:29:58 | Yardanico | if s is a sequence |
12:31:18 | Yardanico | crem, https://forum.nim-lang.org/t/1019#6238 |
12:31:28 | crem | I don't remember what I needed it for. Function returned tuple and I wanted to assign it to a seq, probably. |
12:32:12 | Yardanico | crem, well they're different types, so some kind of conversion is needed |
12:32:23 | crem | I forgot all nim again though, so I don't have an idea what I'm talking about. |
12:32:41 | * | sleepyqt quit (Ping timeout: 240 seconds) |
12:33:30 | * | vlad1777d joined #nim |
12:33:35 | crem | Yes, but something shorter than manually written loop, I guess. Anyway, I forgot what it was, so will postpone rants for other time. :) |
12:34:28 | Yardanico | crem, well "convert a sequence to a tuple shorter whan in 3 lines." is not really a feature |
12:35:13 | Yardanico | we was talking about "can procs be used for everything?" so yes, they can, but code can be repetitive or not so beautiful |
12:36:30 | crem | I don't even remember what tuples were... They are more like C structs rather than python tuples, right? |
12:36:34 | Yardanico | crem, yes |
12:36:48 | Yardanico | object without inheritance ~ tuple |
12:36:58 | Yardanico | (in nim) |
12:37:05 | crem | Ok, then it's not really that sensible to convert between them and lists. |
12:37:54 | PMunch | I see a lot of this "well-supported AWS SDK" as a complaint about Nim |
12:38:02 | PMunch | More so than any other one library.. |
12:38:24 | miran | it would be nice to have tuple unpacking for sequences (of known length) |
12:38:37 | miran | or maybe this is doable and i don't know how to do it :) |
12:38:41 | miran | usually is this :) |
12:38:53 | crem | just a simple macro! |
12:38:55 | Yardanico | yes |
12:39:01 | * | ipjk joined #nim |
12:39:02 | crem | https://gist.github.com/Yardanico/3ed3f8d8b6ccd070afd67e8bd26f2914 |
12:39:33 | Yardanico | maybe it can be done even shorter, IDK |
12:40:07 | Yardanico | also you can't overload let (a, b) = someTuple |
12:40:10 | Yardanico | to have it for your types |
12:40:36 | Yardanico | or wait |
12:40:39 | Yardanico | hmmm |
12:40:48 | miran | yeah, i was thinking about `let (a, b, c) = tuple(knownSeq)` or something like that |
12:43:50 | * | byteflame quit (*.net *.split) |
12:46:12 | Yardanico | miran, yeah, you can do that with a macro |
12:46:28 | * | Amrykid quit (Ping timeout: 240 seconds) |
12:46:40 | miran | heh, macros are still unexplored territory for me |
12:46:44 | * | chemist69 quit (Quit: WeeChat 1.9.1) |
12:46:57 | * | Amrykid joined #nim |
12:47:02 | * | chemist69 joined #nim |
12:49:58 | * | UxerUospr joined #nim |
12:51:18 | Yardanico | yeah it's easy to implement |
12:53:44 | * | Snircle_ joined #nim |
12:53:54 | * | byteflame joined #nim |
12:54:33 | skrylar_ | well today went to shit in a hurry. |
12:54:34 | * | skrylar_ sighs |
12:55:11 | miran | Yardanico: how easy? by using macros? |
12:55:13 | Yardanico | hmm, can I check if provided type in a macro has indexed access support? |
12:55:18 | Yardanico | miran, yes, but it's not a lot of code |
12:55:18 | * | Jesin quit (Quit: Leaving) |
12:55:33 | miran | should i then copy-paste that macro to whichever file i'm working on? |
12:55:52 | Yardanico | miran, or in some file called utils.nim |
12:56:00 | * | Snircle quit (Ping timeout: 246 seconds) |
12:56:00 | Yardanico | and then import this file in every your file |
12:56:26 | Yardanico | updated the gist - https://gist.github.com/Yardanico/3ed3f8d8b6ccd070afd67e8bd26f2914 |
12:56:47 | Yardanico | so this macro just generates a statement like |
12:56:56 | Yardanico | (a[0], a[1], a[2]) |
12:56:59 | miran | now i must think if i want to import that just to have pretty unpacking :) can't it just be part of the language itself? :) |
12:57:00 | Yardanico | which is a tuple |
12:57:26 | Yardanico | miran, I don't think so, but you can always ask Araq :P |
12:57:43 | miran | i kinda know his answer :D |
12:58:05 | * | firstjedi quit (Ping timeout: 240 seconds) |
12:58:06 | Yardanico | I'm trying to add checks if provided object has indexed access |
12:58:13 | Yardanico | I can do that with concepts, but I think there should be another way |
12:58:35 | Araq | when compiles(a[i]) |
12:58:46 | * | TjYoco joined #nim |
12:58:52 | Yardanico | Araq, in a macro? |
12:59:29 | Araq | miran: usually for consistency I consider adding things, so "array" unpacking might be implemented, other syntactic shortcuts are better left as macros |
12:59:57 | Araq | Yardanico: depends, often the macro needs to *produce* this when-check |
13:00:05 | Yardanico | Araq, ah, ok |
13:00:14 | miran | Araq: so there is hope :) thanks! |
13:00:17 | skrylar_ | The part I love is where if >I< ask for help, i never get it -_- |
13:00:33 | Araq | skrylar_: you need to highlight me |
13:00:37 | Araq | what's your problem? |
13:02:40 | * | sleepyqt joined #nim |
13:02:42 | crem | By "might be implemented", you mean in standard lib or as a language feature? I'd say it would be nice to have wide range of unpackers in stdlib. |
13:03:15 | miran | crem: +1 |
13:03:19 | Araq | crem: the implementation is nearly identical either way, in the lib it's a macro, in the compiler an AST rewrite |
13:03:51 | Yardanico | yeah, you only need 1 macro to allow unpacking of every type which supports indexed access |
13:03:55 | Araq | you can often literally copy and past macro code into the compiler and do s/nnk/nk/ |
13:04:09 | Araq | and have it as a "real language feature" |
13:04:58 | Araq | Nim is programming crack, easy to consume, easy to become addicted, easy to die because of it |
13:05:15 | Yardanico | yeah |
13:05:26 | Yardanico | so people want all features in the world :P |
13:06:29 | miran | well, python has spoiled me quite a lot |
13:07:02 | miran | things i take for granted are now not so easy/beautiful |
13:07:19 | crem | I'm not talking about building something into a language. But if things like unpacking tuples are implementable as a macro, I'd prefer that macro be a part of stdlib rathen than me having to copy it from stackoverflow. |
13:07:24 | Araq | self.typo.causes.crash meh, Python. |
13:07:57 | Araq | crem: we have these things in the "future" module |
13:08:11 | crem | Python with linters is much better than without, mistypes are much less of a problem that way. |
13:09:09 | SusWombat_ | PMunch, sry i was afk just nil doesnt seem to work :/ or maybe i do something else wrong |
13:09:47 | miran | Araq: how come list comprehension (in future module) uses `<-` instead of `in`? |
13:11:05 | Yardanico | miran, why do you ask araq ? :) |
13:11:26 | miran | `in` seems more "nimthonic" (what is nim's version of pythonic? :)) |
13:11:30 | * | sleepyqt quit (Read error: No route to host) |
13:11:43 | miran | Yardanico: who do i need to ask? |
13:11:46 | TjYoco | nimrodic |
13:11:57 | Yardanico | miran, def- is the author of this macro :) |
13:12:02 | Yardanico | you can see it in git history |
13:12:06 | Yardanico | also it can be easily changed |
13:12:28 | * | sleepyqt joined #nim |
13:12:33 | Yardanico | change "<-" to "in" on line 155 and done |
13:12:57 | Yardanico | It just doesn't feel right |
13:13:10 | Yardanico | x in 1..10 doesn't make much sense |
13:13:14 | Yardanico | x <- 1..10 does :) |
13:15:21 | * | dddddd joined #nim |
13:15:31 | SusWombat_ | o.O how does x in 1..10 doesnt make sense? |
13:16:27 | Yardanico | because it doesn't say how 1..10 relates to x |
13:16:38 | Yardanico | <- clearly shows that x is taken from 1..10 range |
13:16:59 | Yardanico | we'll have more python-like list comprehensions when "for" will become an expression :) |
13:19:50 | miran | i don't see how `in` doesn't make sense to be honest |
13:21:12 | SusWombat_ | PMunch, nevermind my problem was elsewhere. sry |
13:21:34 | SusWombat_ | it seems i have to use cGL_FLOAT instead GL_FLOAT |
13:21:52 | SusWombat_ | in glVertexAttribPointer |
13:28:21 | skrylar_ | are you sure you should be programming |
13:30:39 | SusWombat_ | me? |
13:32:01 | * | kobi7 quit (Ping timeout: 255 seconds) |
13:33:29 | miran | me? |
13:33:40 | crem | me? |
13:34:31 | SusWombat_ | skrylar_, |
13:35:26 | * | yglukhov_ joined #nim |
13:36:57 | * | yglukhov quit (Ping timeout: 246 seconds) |
13:37:34 | * | Laon quit (Ping timeout: 264 seconds) |
13:39:49 | skrylar_ | It makes my blood boil watching people enable someone stop the chat every other second to have humans debug every single god damn line of a hello world. As a person who's published several modules now, without a single line of help on the matter offered, to watch this kind of crap is absurd |
13:39:51 | skrylar_ | i'm out |
13:39:56 | * | skrylar_ is now known as skrylar|afk |
13:41:10 | miran | so, was it me? :D |
13:43:10 | TjYoco | lmao I looked through the IRC logs on this dude and I think he just wants problems |
13:45:06 | TjYoco | I'll say for one that I am extremely impressed with how much this community, and even the man himself, is willing to help with even the smallest issues. I think its heart-warming and I like this community. |
13:55:21 | miran | +1, this community has helped me take my first steps in nim |
13:55:34 | miran | (and now is helping me with my second steps :)) |
13:57:51 | * | miran left #nim (#nim) |
14:02:51 | * | endragor quit (Remote host closed the connection) |
14:03:22 | * | endragor joined #nim |
14:05:30 | * | endragor_ joined #nim |
14:08:07 | * | endragor quit (Ping timeout: 260 seconds) |
14:10:09 | * | endragor_ quit (Ping timeout: 248 seconds) |
14:14:26 | subsetpark | skrylar|afk: no need for that kind of negativity. i'd rather not make newbies feel like idiots, but i'd DEFINITELY rather not create an atmosphere where neckbeard machismo is the norm. |
14:15:28 | Yardanico | https://news.ycombinator.com/item?id=15499233 :) |
14:17:59 | * | sz0 joined #nim |
14:21:18 | Araq | no idea what this is about tbh, #nim is about helping anybody and if questions are too simple-minded and/or distracting don't reply and come back later |
14:23:27 | Araq | that's probably what I should do more often too. internet lost --> productivity boost of 300% |
14:25:03 | PMunch | Haha, that's true |
14:25:15 | PMunch | Until you need to check something and get stuck since you can't google it :P |
14:26:52 | PMunch | TjYoco, yeah the Nim community is really nice |
14:28:29 | * | lastjedi joined #nim |
14:34:03 | * | yglukhov_ quit (Remote host closed the connection) |
14:35:06 | federico3 | that's a reason for having offline documentation and tooling |
14:36:28 | PMunch | True, but sometimes there's something that you forgot or just don't have |
14:36:40 | * | yglukhov joined #nim |
14:42:34 | * | PMunch quit (Quit: Leaving) |
14:46:33 | * | derlafff quit (Remote host closed the connection) |
14:46:38 | * | miran_ joined #nim |
14:53:04 | Yardanico | yay, I just left this link: https://github.com/nim-lang/Nim/wiki/Companies-using-Nim here: https://news.ycombinator.com/item?id=15495562, and already two people have added their companies :) |
14:53:13 | miran_ | Yardanico: the thread you listed earlier - there is that kostya benchmark once again - those tasks might seem meaningless but people are looking at those (cc Araq) |
14:54:03 | miran_ | meaning, we should improve nim versions to be as best/fast as they can be, because this is one of selling points of nim (cc Araq) |
14:54:59 | planetis[m] | hello, "template t(): expr {.immediate.}" should be ported to typed or untyped? Because they both compile. |
14:57:10 | planetis[m] | i will go with untyped |
14:58:21 | Arrrr | what tasks? |
15:00:23 | FromGitter | <krux02> planetis[m]: both expr and immediate is depricated, isn't it? |
15:00:45 | planetis[m] | yes krux02 |
15:01:27 | FromGitter | <krux02> I haven't found a use case yet for typed result of templates |
15:01:56 | FromGitter | <krux02> an expression doesn't compile as a typed result |
15:05:56 | miran_ | Araq: tasks in kostya's benchmark repo. the ones we talked about yesterday when you said that those benchmarks are not a true representations, etc. |
15:06:05 | * | skrylar|afk quit (Quit: Leaving) |
15:06:41 | planetis[m] | I dont even get the difference in a return value. I was just asking cause its not my code and wanted to be causious. |
15:08:54 | * | derlafff joined #nim |
15:09:13 | FromGitter | <krux02> in the result of a template/macro, always use untyped |
15:10:17 | miran_ | Araq: to get some background - there was a comment in 'python vs go' thread mentioning nim and its qualities. here is the link to that comment: https://news.ycombinator.com/item?id=15495930 |
15:10:18 | planetis[m] | ok thanks krux02 |
15:14:17 | Yardanico | Araq, you may be interested to answer this: https://forum.nim-lang.org/t/3254 when you have some free time :) |
15:19:42 | dom96 | miran_: ooh, a lot of nice comments in there :) |
15:19:59 | miran_ | dom96: indeed |
15:20:43 | dom96 | Looks like I (rather amazingly) haven't been looking at HN enough heh |
15:38:32 | * | Trustable joined #nim |
15:46:09 | * | couven92 joined #nim |
15:57:02 | * | Jesin joined #nim |
16:11:22 | FromGitter | <krux02> seems like getAppDir is more useful that I originally thought |
16:11:29 | FromGitter | <krux02> I can use it to access my resources |
16:11:29 | Yardanico | :D |
16:16:10 | * | guelosk joined #nim |
16:26:51 | TjYoco | anyone know how to get the smallest possible float |
16:29:48 | TjYoco | I think its FLT_MIN in C, can I just import that or how does that work? |
16:32:19 | Yardanico | TjYoco, https://github.com/nim-lang/Nim/issues/5039 |
16:33:06 | * | nsf quit (Quit: WeeChat 1.9) |
16:34:23 | Yardanico | TjYoco, do you have an use-case for it? |
16:34:34 | TjYoco | Trying to port a physics engine to pure nim. He uses a trick to add the smallest possible float to avoid division by zero |
16:34:56 | Yardanico | lol |
16:35:01 | TjYoco | but floats can be 32 or 64 depending on whos compiling it so I didnt want to hard code a value |
16:35:55 | TjYoco | technically a use-case!! |
16:36:05 | * | sz0 quit (Quit: Connection closed for inactivity) |
16:36:20 | * | Laon joined #nim |
16:36:23 | * | PMunch joined #nim |
16:36:32 | * | yglukhov quit (Remote host closed the connection) |
16:37:21 | * | Sentreen quit (Ping timeout: 248 seconds) |
16:39:17 | TjYoco | I'll just throw an error for now until I find a better workaround |
16:39:54 | Yardanico | TjYoco, just use something like "1e-50" |
16:40:02 | * | couven92 quit (Quit: Disconnecting) |
16:40:25 | Yardanico | ah, no |
16:40:33 | * | Laon quit (Ping timeout: 248 seconds) |
16:40:40 | TjYoco | 1e-37 |
16:40:46 | TjYoco | i guess |
16:40:47 | Yardanico | TjYoco, 1e-45 |
16:40:52 | Yardanico | should work for float32& float64 |
16:40:56 | Yardanico | (because it works for float32) |
16:41:30 | TjYoco | sounds good, thank you |
16:43:10 | Arrrr | i think float is always float64 |
16:43:41 | FromGitter | <krux02> float and float64 is the exact same type |
16:43:44 | FromGitter | <krux02> it's just an alias |
16:43:45 | * | yglukhov joined #nim |
16:43:57 | FromGitter | <krux02> but int and int64 is not |
16:44:01 | planetis[m] | dom96: about the debugging article in nim website, I don't think --debugger:on is the correct flag, it started endb. |
16:44:08 | TjYoco | Okay, dont know why I thought that then, thanks |
16:44:09 | FromGitter | <krux02> they are different even whey they are both 64 bit |
16:44:11 | planetis[m] | the tip in section '3.3. Using GDB/LLDB' |
16:44:33 | Yardanico | krux02: that may change in the future too |
16:44:38 | FromGitter | <krux02> 1e45'f32 should work if you want float32 |
16:44:45 | Yardanico | (if system.nim docs are not lying) |
16:44:53 | FromGitter | <krux02> @Yardanico I hope so |
16:45:05 | * | yglukhov quit (Read error: Connection reset by peer) |
16:45:16 | * | yglukhov joined #nim |
16:45:28 | dom96 | planetis[m]: huh, good catch. |
16:45:36 | dom96 | So what's the real flag for this? |
16:45:37 | FromGitter | <krux02> I once tried to also make Int an alias to either int64 ore int32 depending on the architecture, but it was more work that I hoped it would be then i stopped somewhere |
16:45:43 | dom96 | Araq: Any ideas ^ |
16:45:52 | TjYoco | but float64 can work on 32-bit just slower? |
16:45:57 | Yardanico | TjYoco, yes |
16:46:35 | FromGitter | <krux02> you can always cast a float32 to a float64 and back without loss |
16:46:43 | FromGitter | <krux02> or better said convert |
16:47:59 | FromGitter | <krux02> float64 and float is currently really identical |
16:48:14 | FromGitter | <krux02> no matter if you are on 32bit ore 64 bit |
16:48:22 | Yardanico | wouldn't you lose some precision if you cast float64 to float32? |
16:48:47 | Yardanico | oh wait, it seems to be broken a bit |
16:48:53 | planetis[m] | --debuger:native |
16:49:01 | Yardanico | let a = 1e-300; echo a; echo cast[float32](a) |
16:49:11 | Yardanico | !eval let a = 1e-300; echo a; echo cast[float32](a) |
16:49:13 | NimBot | 1e-300↵-124.4752883911133 |
16:49:19 | FromGitter | <krux02> well there is a difference if you cast or if you convert |
16:49:23 | Yardanico | yeah, I know :) |
16:49:35 | * | yglukhov quit (Ping timeout: 248 seconds) |
16:49:40 | Yardanico | but still there's a small difference :P |
16:49:42 | Yardanico | !eval let a = 1e-300; echo a; echo float32(a) |
16:49:44 | NimBot | 1e-300↵0.0 |
16:51:04 | Yardanico | !eval echo "I'm on ", NimVersion |
16:51:06 | NimBot | I'm on 0.17.2 |
16:51:07 | * | Sentreen joined #nim |
16:51:38 | FromGitter | <krux02> float32 only has 8 bit for the exponent |
16:51:50 | FromGitter | <krux02> so 1e-300 is not in the range of float32 |
16:52:12 | Yardanico | lol, 90(!) votes!!! http://www.strawpoll.me/14163114/r |
16:52:18 | Yardanico | can we get 100 please? |
16:53:26 | planetis[m] | I can vote again if you want :p |
16:53:27 | PMunch | What's leading so far Yardanico? |
16:53:33 | Yardanico | PMunch, destructors :) |
16:53:47 | PMunch | My mouse is out of power so clicking the link is kinda annoying.. |
16:53:47 | Yardanico | destructors 42 votes, karax & ormin - 34 votes |
16:53:57 | FromGitter | <krux02> so no state machine |
16:54:05 | Yardanico | krux02: maybe later |
16:54:09 | FromGitter | <krux02> is in state machine anything nim specific? |
16:54:11 | Yardanico | after destructors and karax & ormin |
16:54:16 | Yardanico | ask Araq :) |
16:54:33 | * | skrylar joined #nim |
16:56:57 | * | Arrrr quit (Ping timeout: 240 seconds) |
16:59:10 | * | Arrrr joined #nim |
16:59:10 | * | Arrrr quit (Changing host) |
16:59:10 | * | Arrrr joined #nim |
16:59:35 | * | kobi7 joined #nim |
17:02:23 | * | sleepyqt quit (Quit: WeeChat 1.9.1) |
17:02:42 | FromGitter | <Bennyelg> Oh I here |
17:02:56 | Yardanico | yes you are :) |
17:03:21 | FromGitter | <Bennyelg> Im* |
17:03:52 | FromGitter | <Bennyelg> Someone can summarize the interesting stuff from today ? |
17:03:54 | FromGitter | <Bennyelg> :P |
17:04:17 | Yardanico | not much stuff :) |
17:04:48 | Yardanico | maybe only this - https://news.ycombinator.com/item?id=15495562 |
17:04:58 | Yardanico | a comment branch about Nim :) |
17:05:39 | FromGitter | <Bennyelg> Lets read :] |
17:09:19 | FromGitter | <Bennyelg> Really nice, Expecting to see new folks in the irc soon |
17:09:37 | FromGitter | <mratsim> for Kostya, we could enable OpenMP in the matmul |
17:09:54 | FromGitter | <Bennyelg> What is OpenMp :P |
17:10:21 | Yardanico | mratsim: that would probably be unfair AFAIK |
17:10:40 | FromGitter | <mratsim> Julia, and D uses OpenMP |
17:10:57 | Yardanico | are they? |
17:10:58 | Yardanico | lol |
17:11:03 | * | Jesin quit (Quit: Leaving) |
17:11:08 | FromGitter | <mratsim> Julia is using Fortran actually |
17:11:10 | Yardanico | that's unfair |
17:11:32 | Yardanico | well it seems it's implicit |
17:11:39 | FromGitter | <krux02> the power of OpenMP is overrated |
17:11:48 | FromGitter | <krux02> it only helps in offline calculations |
17:12:01 | FromGitter | <mratsim> I could speed-up Nim benchmark to the 0.40 or something with pure Nim code but Kostya refused “low-level” imprevement on a Rust PR |
17:12:02 | Yardanico | and we would have to explicitly pass --passC:"-fopenmp" |
17:12:13 | Yardanico | mratsim: you can try to provide an openmp PR |
17:12:17 | FromGitter | <krux02> the overhead to start an OpenMP loop is too high to use it in any kind of render loop |
17:12:18 | Yardanico | but he'll probably reject it lol |
17:12:36 | FromGitter | <mratsim> @krux02 it’s not overrated for scientific computation, but you need data parallelism to make full use of it |
17:12:51 | miran_ | mratsim - did you in the end post arraymancer to hacker news? |
17:13:08 | Yardanico | mratsim: lol, he's talking about low-level? |
17:13:10 | FromGitter | <krux02> yea for scientific computing it might be ok |
17:13:20 | FromGitter | <mratsim> @krux02 proof: https://github.com/mratsim/Arraymancer/#micro-benchmark-int64-matrix-multiplication |
17:13:20 | Yardanico | https://github.com/kostya/benchmarks/blob/master/matmul/matmul.jl#L11 why there's a "simd" thing there then ? :) |
17:13:23 | FromGitter | <krux02> but I was desillusionized by it when I learned it |
17:13:34 | Yardanico | these benchmarks are always unfair |
17:14:01 | FromGitter | <krux02> pretty useless for games, except for the parts where you want to preprocess the scenes like creating light maps etc |
17:14:15 | FromGitter | <mratsim> Well, problems can be data parallel which is good for compute/memory intensive functions, but when you’re IO-bound it’s better to use something else |
17:14:50 | Yardanico | mratsim: when you'll implement all basic features into arraymancer, will you create a separate library to build neural networks on top of arraymancer? |
17:15:12 | FromGitter | <krux02> There should be somethign like an OpenMP parallel loop that only has the initialization cost the first time the loop is executed |
17:15:17 | * | Jesin joined #nim |
17:15:18 | FromGitter | <krux02> the second time the threads already exist |
17:15:46 | FromGitter | <mratsim> I don’t know yet, the neural part is already inside @Yardanico : https://github.com/mratsim/Arraymancer/tree/master/src/nn |
17:15:58 | Yardanico | oh wow |
17:16:03 | FromGitter | <mratsim> What will probably be build as a separate library is a computer-vision library |
17:16:05 | * | Trustable quit (Remote host closed the connection) |
17:16:09 | Yardanico | then you maybe will need to change the name :) |
17:16:12 | Yardanico | Neuralmancer :P |
17:16:20 | FromGitter | <mratsim> Neuromancer ;) |
17:16:28 | Yardanico | yeah |
17:17:10 | miran_ | why not neuromancer as a separate library built on top of the arraymancer? |
17:17:26 | Yardanico | things would be hard to change probably |
17:17:32 | Yardanico | because arraymancer is a fast-moving target rn |
17:17:32 | miran_ | to keep arraymancer as a general tensor library |
17:18:10 | FromGitter | <mratsim> To be honest it’s because I don’t want to open 2 VScode windows |
17:18:16 | FromGitter | <mratsim> ;) |
17:18:29 | Yardanico | you can have 1 window btw |
17:18:29 | miran_ | lol, now you can have two projects in the same window ;) |
17:18:42 | Yardanico | VSCode allows to have two projects in one vscode window |
17:19:04 | FromGitter | <mratsim> Also PyTorch is also having everything: Tensor + Autograd + Neuralnet in the same library |
17:19:29 | FromGitter | <mratsim> And last thing is marketing, probably easier to promote with, download this, and here you go |
17:19:58 | miran_ | what about us who just want nim version of numpy? :) |
17:20:08 | FromGitter | <mratsim> dead-code elim |
17:20:30 | * | Jesin quit (Quit: Leaving) |
17:20:39 | FromGitter | <mratsim> You get Numpy on Cuda for free ;) |
17:21:00 | * | MyMind joined #nim |
17:21:02 | * | Jesin joined #nim |
17:21:14 | Yardanico | yay guys! |
17:21:14 | Yardanico | https://github.com/nim-lang/Nim/wiki/Companies-using-Nim/_compare/bcd5d12%5E...bcd5d12 |
17:21:25 | Yardanico | it's really good that I shared this wiki link on hackernews |
17:21:28 | * | claudiuinberlin joined #nim |
17:21:28 | Yardanico | (in comments) |
17:22:35 | * | Sembei quit (Ping timeout: 240 seconds) |
17:25:31 | FromGitter | <mratsim> @krux, I couldn’t find a reference again but basically if you’re IO-bound, you should use async concurrency while if you’re CPU/memory bound you should explore data parallelism or task parallelism (OpenMP, Cilk, Intel THreads BUilding Blocks) |
17:26:05 | FromGitter | <mratsim> aka How Nim hijacked for the n-th time a thread about switching from python to get more perf |
17:26:23 | Yardanico | :d |
17:27:30 | dom96 | planetis[m]: --debugger:native it is, highlight me next time (almost missed it) :) |
17:28:30 | planetis[m] | ok |
17:29:09 | dom96 | https://github.com/nim-lang/website/commit/7ceea16d16deec4e4af2a363def25bdeb42a8670 |
17:29:30 | dom96 | Will be deployed eventually :) |
17:30:11 | planetis[m] | dom96: you know how to print the contents of seq[someObj] in gdb? |
17:30:30 | dom96 | no idea |
17:31:17 | planetis[m] | currently I am trying "(tyObject_someObj *)colontmp_->data but I get a pointer to the first |
17:32:15 | Yardanico | btw, I saw Nim (it still was called nimrod) in 2014, the time then I wanted to start learning some programming language, but nim(rod) looked like something alien to me (I just learned a bit of python, so) |
17:32:32 | Yardanico | btw I don't remember how I found Nim in January |
17:32:43 | Yardanico | maybe google history can help |
17:33:04 | skrylar | have done AI code in native nim |
17:33:20 | * | ShalokShalom joined #nim |
17:33:21 | * | ShalokShalom_ quit (Ping timeout: 248 seconds) |
17:33:23 | * | kafke quit (Remote host closed the connection) |
17:33:56 | * | kafke joined #nim |
17:38:05 | * | kafke quit (Ping timeout: 240 seconds) |
17:39:38 | * | ShalokShalom quit (Remote host closed the connection) |
17:40:16 | Calinou | I found about Nim last year, I don't remember how |
17:42:02 | TjYoco | I read about it in a thread about Godot game engine |
17:42:25 | TjYoco | can't wait til that's more convenient |
17:42:53 | Yardanico | it's already very convenient |
17:43:00 | Yardanico | https://github.com/pragmagic/godot-nim |
17:43:28 | TjYoco | Yeah I haven't tried it for about a month, but it was crashing a lot for me |
17:43:44 | Calinou | it's less convenient than C# (Mono), I found |
17:43:46 | Calinou | at least right now |
17:43:59 | Calinou | I'm doing experiments with Mono in Godot right now, since it has been merged into the master branch |
17:44:07 | Calinou | and it works surprisingly well so far |
17:44:49 | skrylar | gdscript worked fine tho |
17:44:50 | TjYoco | Nice, I used C# for a couple years in Unity so I might give it a try |
17:45:13 | Yardanico | oh shit! |
17:45:38 | Yardanico | actually we were talking with some guy in VK (russian social network), and he mentioned nim |
17:45:38 | TjYoco | skrylar gdscript is fine, but I like statically typed wayyy more than dynamic |
17:45:43 | Yardanico | "do you know nim? it's like python" |
17:46:06 | Calinou | skrylar: performance :/ |
17:46:23 | livcd | and we all know ruby is better than python |
17:46:27 | livcd | so we have to wait for crystal |
17:46:30 | livcd | :3 |
17:46:40 | skrylar | you're not supposed to be doing high performance computing from the scripting layer anyway? |
17:46:54 | Calinou | maybe, maybe not |
17:46:54 | Yardanico | well we were talking with him about some languages like D, and nim was mentioned by him only once |
17:47:00 | skrylar | and afaik mono loses the tight integration with scenes |
17:47:17 | Calinou | yes and no, you still can have one "script" per node |
17:48:06 | Yardanico | and I googled a bit about this unknown language (it was unknown to me), and I said "it's very unpopular, and it's not like python, just syntax looks a bit like python" |
17:48:19 | Yardanico | who knew I will totally change my main programming language from python to nim lol |
17:48:50 | TjYoco | yea I might never go back to a language with '{' and ';' on every line |
17:49:15 | livcd | Yardanico: it's interesting how a technology can get popular in a specific region :) |
17:49:15 | Calinou | indent-based ftw! |
17:49:24 | Yardanico | livcd, well he just mentioned it |
17:49:29 | Calinou | shame most of the programming world doesn't understand us :P |
17:49:53 | livcd | Yardanico: i know but we talked about this earlier :) |
17:51:04 | Yardanico | so I know my "birthday" in nim community |
17:51:15 | Yardanico | march 22 |
17:51:30 | * | yglukhov joined #nim |
17:51:33 | Calinou | that's not my birthday :( |
17:52:07 | kobi7 | has anyone tried making a mobile app or game? |
17:52:19 | Yardanico | kobi7, yes |
17:52:27 | Yardanico | ping yglukhov :) |
17:52:38 | Yardanico | they made a Reel Valley |
17:52:39 | kobi7 | I am looking at android native ndk, it's like a giga byte in size. |
17:52:40 | livcd | and he just joined |
17:52:41 | livcd | wow |
17:52:46 | Yardanico | lol |
17:53:00 | * | kafke joined #nim |
17:53:03 | Yardanico | what a coincidence |
17:53:04 | yglukhov | hey guys whats up =) |
17:53:19 | kobi7 | hi yglukhov |
17:53:27 | Yardanico | kobi7, https://github.com/yglukhov/android |
17:53:27 | * | skrylar quit (Remote host closed the connection) |
17:53:44 | kobi7 | aahh, awesome! |
17:53:44 | Yardanico | you can easily add things that you need too |
17:53:54 | FromGitter | <Bennyelg> Who is going to build the first cryptocurrency with nim ? :P |
17:54:28 | livcd | ah so these are bindings to ndk |
17:54:38 | yglukhov | not only ndk |
17:54:41 | kobi7 | yglukhov: what is the usual workflow? make a library, and the main is importing that, but the main is written in another language, or .. how? |
17:54:44 | yglukhov | some tiny bits of sdk as well |
17:54:45 | yglukhov | =) |
17:55:18 | kobi7 | I mean, the apk, is it from java or cpp ? ... |
17:55:30 | kobi7 | I'm really new to this. |
17:55:38 | livcd | i have not really investigated this so i thought it's nim -> js code -> react native |
17:55:39 | yglukhov | kobi7: for android you can go full nim but unicode key input will not work. otherwise, use a small mainactivity.java |
17:55:52 | yglukhov | kobi7: check out nimx |
17:55:59 | Yardanico | kobi7, https://github.com/yglukhov/nimx |
17:56:20 | yglukhov | just run nake droid, it will launch a sample app on your connected device |
17:56:38 | yglukhov | with some additional steps it should guide you through ;) |
17:56:50 | livcd | it's only android right ? no iOS |
17:56:57 | yglukhov | ios as well |
17:56:59 | yglukhov | nake ios |
17:57:00 | livcd | wow |
17:57:02 | yglukhov | nake ios-sim |
17:57:04 | yglukhov | nake js |
17:57:08 | yglukhov | nake emscripten |
17:57:27 | yglukhov | and native desktop of course |
17:57:29 | yglukhov | just nake |
17:57:41 | livcd | i am impressed |
17:57:45 | FromGitter | <Bennyelg> Scary |
17:58:09 | kobi7 | yglukhov: how does this mainactivity.java should look like? |
17:58:36 | FromGitter | <mratsim> I think I found Nim 2 years ago at almost at the same time as Rust while looking for a low-level language to implement a go playing bot. ⏎ I started to play with Rust for 5 months. Got the bot to compile and play, stopped for a year and when trying to learn core data science concepts I just didn’t want to use Rust so I tried Nim instead ;) |
17:59:09 | kobi7 | yglukhov: nm, i think I understand |
17:59:25 | livcd | yglukhov: and everything is nim ? |
17:59:35 | yglukhov | kobi7: https://github.com/yglukhov/nimx/blob/master/test/android/template/src/main/java/io/github/yglukhov/nimx/NimxActivity.java |
17:59:37 | livcd | sorry...in reel valley |
17:59:42 | kobi7 | Thanks! |
18:00:10 | yglukhov | livcd: well. not everything. gitlab-ci scripts are bash :D |
18:00:13 | Yardanico | livcd, yes, it's 99.9% nim |
18:00:31 | livcd | wow |
18:00:35 | yglukhov | and MainActivity.java |
18:00:36 | * | dddddd quit (Remote host closed the connection) |
18:00:39 | yglukhov | around 500loc |
18:00:50 | Yardanico | livcd, https://yglukhov.github.io/Making-ReelValley-Overview/ |
18:00:51 | * | Jesin quit (Quit: Leaving) |
18:01:11 | yglukhov | cool, looks like i've got a pr manager ;) |
18:02:02 | kobi7 | yglukhov: Do I have to use the android studio thing to connect it all together? |
18:02:27 | yglukhov | kobi7: no, just have the sdk/nkd installed somewhere |
18:02:34 | yglukhov | nake will ask you for the paths |
18:02:35 | kobi7 | also, if it's java, how does it load the cpp library? |
18:02:47 | kobi7 | ah. i'll check out nake later then |
18:03:02 | kobi7 | cpp library, i mean the nim compilation |
18:03:48 | yglukhov | the porting layer on android is currenlty sdl2. there's a branch in nimx that tries to get rid of sdl for android though |
18:04:41 | yglukhov | the build for all platforms is here: https://github.com/yglukhov/nimx/blob/master/nimx/naketools.nim |
18:04:47 | * | Jesin joined #nim |
18:05:14 | yglukhov | for android it runs nim without c compiler so that it outputs to jni/smth, then runs gradle. |
18:05:30 | yglukhov | so all of the android dependencies can easily be handled with gradle |
18:06:17 | yglukhov | kobi7: just in case, the dependencies can be installed with a single command `nimble install -dy` |
18:06:22 | yglukhov | those include nake |
18:07:41 | kobi7 | I haven't understood this sentence: runs nim to output jni |
18:08:02 | kobi7 | jni the java native bridge right? |
18:08:12 | Yardanico | kobi7, he just calls nim without C compilations |
18:08:15 | Yardanico | *compilation |
18:08:18 | Yardanico | so nim just outputs C files |
18:08:43 | Yardanico | if I undestood yglukhov correctly :) |
18:08:45 | yglukhov | kobi7: jni is a folder in gradle project structure |
18:08:51 | kobi7 | Ah, i see. |
18:08:59 | yglukhov | but yeah, you're right as well =) |
18:09:25 | kobi7 | great info, thanks for the introduction. Maybe we should write a tutorial or some docs to get people started easily |
18:09:38 | kobi7 | :-) |
18:09:49 | yglukhov | git clone nimx; nimble install -dy; nake droid |
18:09:55 | yglukhov | like this? =) |
18:10:00 | kobi7 | hehe lol |
18:11:19 | yglukhov | well, ok, a bit harder than that, but not much. |
18:11:28 | yglukhov | anyways, prs are welcome ;) |
18:12:17 | kobi7 | jnim ?! wow you guys have everything! |
18:13:18 | yglukhov | haha... you'd be impressed =) |
18:13:34 | kobi7 | :D |
18:13:45 | Yardanico | kobi7, they have EVERYTHING |
18:14:17 | Yardanico | why https://github.com/dashboard/discover still doesn't show Nim repositories for me? |
18:14:19 | Yardanico | it's a shame |
18:14:33 | Yardanico | oh wait, it shows karax |
18:14:35 | Yardanico | yay |
18:18:09 | * | kobi7 quit (Quit: Leaving) |
18:20:38 | * | claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
18:27:01 | * | Jesin quit (Quit: Leaving) |
18:30:46 | * | Jesin joined #nim |
18:32:40 | * | claudiuinberlin joined #nim |
18:47:23 | * | smt_ joined #nim |
18:48:23 | * | smt_ is now known as smt |
18:49:34 | * | eldiz joined #nim |
18:50:11 | * | couven92 joined #nim |
18:50:41 | * | smt` quit (Ping timeout: 248 seconds) |
18:56:27 | * | lastjedi quit (Ping timeout: 240 seconds) |
18:57:54 | Yardanico | YAAAAAAAAAAAAAAAY |
18:57:58 | Yardanico | 102 votes!!!! http://www.strawpoll.me/14163114/r |
18:58:06 | Yardanico | it's amazing how much people have voted, really |
18:58:25 | Araq | maybe I should prepare for this... |
18:58:35 | Yardanico | Araq, It's not clear if destructors will win |
18:58:45 | Yardanico | only 9 votes between destructors & karax :P |
18:58:53 | couven92 | Yardanico, 103 votes! :) |
18:58:57 | Yardanico | couven92, yeah |
18:59:10 | Yardanico | where do all these people come from? :) |
18:59:26 | Yardanico | (well we have posted on twitter, reddit, I posted on nim forums today) |
18:59:29 | couven92 | Tromsø, Norway! :P That'd be one at least :D |
18:59:30 | Araq | twitter, nim's forum, #nim, reddit, HN? |
18:59:33 | Yardanico | HN? |
18:59:40 | * | lastjedi joined #nim |
18:59:47 | Yardanico | did we post it on HN? hmm, I don't really remember |
18:59:58 | Araq | I'm guessing |
19:00:28 | FromGitter | <gokr> @couven92 Tromsö? Cool. You are entering the dark period soon, right? |
19:00:58 | Yardanico | 105 votes... wtf |
19:01:00 | couven92 | gokr: yeah it's getting dark earlier each day |
19:01:19 | FromGitter | <gokr> I actually voted right now for both destructors and karax/ormin. |
19:01:26 | Yardanico | lol |
19:01:33 | Yardanico | so you didn't change anything :D |
19:01:37 | FromGitter | <gokr> Exact :) |
19:02:54 | Yardanico | Araq, hype |
19:03:14 | Yardanico | we'll also promote your stream on other resources on thursday :P |
19:03:19 | Yardanico | well not hype |
19:03:21 | Yardanico | wrong word |
19:05:33 | couven92 | Though, I have to say: It's really nice listening to the people that invent or actively drive something forwards... And forgive me, but Araq invented Nim and is still somewhat resposible for the direction the language is taking. Listening to his train of though is insightful and interesting |
19:06:00 | gokr | "somewhat responsible" is probably an understatement ;) |
19:06:11 | Yardanico | couven92, yeah |
19:06:23 | couven92 | gokr yeah I wanted to express that as humble as possible! :D |
19:06:28 | gokr | Hehe |
19:06:42 | Yardanico | it's always calm and nice to listen for someone who is basically the "god" in some programming language :P |
19:07:16 | TjYoco | It'd be really nice to get the twitch chat on screen or something instead of flipping between IRC when you get pingd |
19:07:20 | Yardanico | probably Araq didn't quite expect so many votes |
19:07:31 | Yardanico | Araq, did you try to install kapchat again? |
19:07:33 | gokr | Internet is a big place. |
19:08:06 | Yardanico | Araq, https://youtu.be/-mpy7EE9MEs?t=1m13s |
19:08:10 | couven92 | Yeah, I also follow the ASP.NET Core development team, the PMs ultimiately responsible for the new development there got a community standup (almost) each week |
19:08:13 | Yardanico | (it's a tutorial for OBS chat plugin) |
19:08:57 | Araq | Yardanico, I'm playing with Twitch's settings |
19:09:01 | couven92 | TjYoco, you can open the twitch chat in IRC :) |
19:09:06 | Yardanico | ah, yes |
19:09:07 | Yardanico | also that |
19:09:42 | Yardanico | Araq, I can try to make a bot which will transfer all messages from twitch to IRC |
19:09:45 | Yardanico | probably |
19:09:55 | Yardanico | if I can make it connect to 2 irc servers at the same time |
19:10:35 | couven92 | Yardanico, load the nim irc module, new up two separate instances of the IrcClient |
19:11:00 | Yardanico | couven92, is it async? |
19:11:48 | couven92 | I am not sure... |
19:13:02 | Yardanico | couven92, ah wait, yeah, it's also async |
19:17:11 | * | kafke quit (Remote host closed the connection) |
19:17:50 | * | kafke joined #nim |
19:20:21 | livcd | i also voted now :) |
19:22:05 | * | kafke quit (Ping timeout: 252 seconds) |
19:24:17 | * | Arrrr quit (Ping timeout: 248 seconds) |
19:25:15 | Yardanico | you know that's 1/6 of all people who did nim survey? well that's expected to happen |
19:25:26 | Yardanico | because nim community survey required you to answer more questions |
19:25:48 | Yardanico | and strawpoll is simple |
19:27:31 | * | Vladar quit (Quit: Leaving) |
19:28:28 | enthus1ast | was there any hint on the site for the live streaming? |
19:28:39 | Yardanico | enthus1ast, what hint? on nim website? no |
19:29:18 | enthus1ast | has it been recordet? :D |
19:29:27 | Yardanico | enthus1ast, yes |
19:29:31 | Yardanico | dom96 has posted his streams |
19:29:34 | Yardanico | but Araq didn't yet |
19:29:55 | livcd | i only did crystal survey sorry :S |
19:30:03 | Yardanico | arrgh |
19:30:19 | * | claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
19:31:11 | livcd | i do not use nim / crystal for anything yet. Just checking out how it is evolving. My daily driver is Go |
19:32:10 | * | nsf joined #nim |
19:32:28 | enthus1ast | livcd: try nim its nice :) |
19:32:55 | Yardanico | nim vs crystal = python vs ruby |
19:32:56 | Yardanico | xD |
19:33:02 | enthus1ast | you can also try it online https://play.nim-lang.org/ |
19:33:15 | livcd | yes i am trying from time to time :) |
19:34:36 | Yardanico | well I honestly really like that Nim compiles to C |
19:34:44 | Yardanico | you get better compilation times and less hassle |
19:35:01 | Yardanico | because you don't need to install LLVM libraries to compile the compiler :P |
19:35:30 | Yardanico | I mean nim takes less space |
19:35:44 | livcd | ah you are comparing to Crystal |
19:36:05 | Yardanico | well I don't say that crystal is bad |
19:36:06 | dom96 | Yardanico: Creating a Twitch <-> IRC bridge sounds like a fun project |
19:36:27 | dom96 | But there definitely are existing solutions for this |
19:36:34 | livcd | Yardanico: i just love ruby and the ruby-ish feel Crystal has |
19:37:28 | * | Arrrr joined #nim |
19:37:28 | * | Arrrr quit (Changing host) |
19:37:28 | * | Arrrr joined #nim |
19:38:34 | Yardanico | dom96, can't find one |
19:38:41 | Yardanico | in 1 minute :P |
19:38:58 | dom96 | Just google "irc relay bot" |
19:39:09 | * | smt` joined #nim |
19:39:10 | Yardanico | twitch irc is a bit different |
19:39:29 | * | dddddd joined #nim |
19:40:23 | dom96 | how? |
19:42:01 | * | smt quit (Ping timeout: 240 seconds) |
19:42:05 | FromGitter | <Bennyelg> @livcd I hate ruby |
19:42:25 | FromGitter | <Bennyelg> @livcd So I hate Julia style & crystal style |
19:42:32 | FromGitter | <Bennyelg> I love python so I love Nim :] |
19:43:12 | * | tj_yoco joined #nim |
19:43:37 | * | Arrrr quit (Read error: Connection reset by peer) |
19:46:41 | * | TjYoco quit (Ping timeout: 248 seconds) |
19:46:59 | * | claudiuinberlin joined #nim |
19:47:43 | dom96 | Yardanico: If Twitch IRC was different then your IRC client wouldn't be able to connect to it |
19:48:12 | livcd | bennyelg: you have to pick your poison :) |
19:48:41 | * | lastjedi quit (Ping timeout: 255 seconds) |
19:48:55 | FromGitter | <Bennyelg> @livcd correct :D |
19:49:01 | FromGitter | <Bennyelg> what A nice package!! https://github.com/jlp765/tnim/ |
19:53:00 | * | NimBot joined #nim |
19:53:23 | UxerUospr | @Bennyelg what does one do with it? |
19:53:42 | ipjk | dom96, Yardanico: https://dev.twitch.tv/docs/irc |
19:53:44 | FromGitter | <Bennyelg> Its a repl, |
19:54:13 | FromGitter | <Bennyelg> you can just run it and type like it's interpreted language . |
19:54:34 | FromGitter | <Bennyelg> the problem is, from what I see now is I can't write complex types or more then 1 row |
19:54:48 | UxerUospr | Ah, interesting |
19:55:03 | FromGitter | <Bennyelg> you dont know Ipython? |
19:55:07 | FromGitter | <Bennyelg> or python |
19:55:13 | FromGitter | <Bennyelg> from the command line |
19:55:32 | UxerUospr | I've never used Ipython. I've used python quite a lot... yes from the command line |
19:56:40 | FromGitter | <Bennyelg> so this is something like that |
19:56:47 | UxerUospr | Maybe I'll try it out. I don't see compiling as much of a burden, though |
19:56:55 | FromGitter | <Bennyelg> looks like it's still need some improvments |
20:01:20 | Yardanico | ipjk, I know |
20:01:45 | Yardanico | Bennyelg: there's one problem with REPL for compiled languages... |
20:01:47 | Yardanico | they're compiled :P |
20:02:16 | FromGitter | <Bennyelg> of course, but they funny |
20:02:18 | Yardanico | dom96, I'll probably reuse some code from this repo: https://github.com/Yardanico/tinytwitch |
20:02:33 | Yardanico | it's not the best code, and I don't need those fancy mod badges |
20:02:36 | * | elrood quit (Quit: Leaving) |
20:02:37 | Yardanico | only plain message transfer |
20:03:22 | dom96 | sure |
20:09:35 | * | guelosk quit (Ping timeout: 260 seconds) |
20:12:03 | Yardanico | I'm amazed of IRC library API |
20:12:06 | Yardanico | it's so simple! |
20:14:00 | dom96 | :D |
20:15:02 | * | miran_ quit (Ping timeout: 260 seconds) |
20:16:51 | livcd | winim is the new pkg for win api right ? |
20:20:56 | dom96 | never heard of it |
20:21:05 | couven92 | livcd, well I have a stale nim-windowssdk pet project |
20:21:08 | couven92 | :P |
20:30:38 | * | FromTwitch joined #nim |
20:30:59 | FromTwitch | <yardanico> hi from twitch boiz |
20:31:03 | Yardanico | hi from irc |
20:31:13 | Yardanico | hmm, doesn't send to twitch for some reason |
20:31:13 | Yardanico | ah |
20:31:16 | Yardanico | auth :P |
20:31:34 | * | claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com) |
20:31:55 | * | kafke joined #nim |
20:32:20 | Calinou | Yardanico: also, Crystal still lacks Windows support right now, although it's coming soon™ |
20:32:26 | Calinou | (excluding the WSL) |
20:33:50 | * | FromTwitch quit (Remote host closed the connection) |
20:33:57 | * | FromTwitch joined #nim |
20:33:58 | Yardanico | hi |
20:34:03 | FromTwitch | <yardanico> hi |
20:34:08 | Yardanico | hmm |
20:34:10 | * | FromTwitch quit (Remote host closed the connection) |
20:34:23 | Yardanico | test pls |
20:34:25 | gokr | I need a testdriver - anyone has 2 min? |
20:34:25 | * | FromTwitch joined #nim |
20:34:31 | Yardanico | gokr, well I can probably help you |
20:34:38 | gokr | Ok, going private |
20:36:17 | * | kafke quit (Ping timeout: 248 seconds) |
20:37:23 | * | FromTwitch quit (Remote host closed the connection) |
20:38:25 | * | vlad1777d quit (Remote host closed the connection) |
20:39:51 | * | tj_yoco quit (Quit: Leaving) |
20:41:03 | * | UxerUospr quit (Ping timeout: 248 seconds) |
20:44:10 | livcd | Calinou: yes that's why i do not even bother with Crystal (yet) |
20:45:01 | livcd | i need a reasonable windows support and in many cases i resort to calling powershell / cmd because of "too much effort / lazy" to call resp. dll |
20:45:57 | dom96 | Yeah, I'm actually surprised that this isn't much of a problem for most people (lack of Windows support) |
20:46:51 | livcd | in general or in nim ? |
20:47:03 | Yardanico | livcd, for crystal probably :) |
20:47:13 | Yardanico | nim has good windows suport |
20:47:19 | livcd | Yardanico: crystal is out of the question as it has no windows support at all |
20:47:28 | Yardanico | araq uses windows |
20:47:32 | Yardanico | (sometimes) |
20:47:37 | Yardanico | so that's why we have good windows support :P |
20:49:37 | livcd | for Go yes community is still desperate to get better at least semi-official support for win32 stuff (i mean things that cannot / should not be in the stdlib) |
20:49:49 | livcd | also better soap/wsdl |
20:52:36 | * | FromTwitch joined #nim |
20:52:47 | Yardanico | guys, type some messages here and on https://go.twitch.tv/yardanico |
20:52:57 | Yardanico | in channel chat |
20:53:10 | FromTwitch | <yardanico> because I may have missed something :D |
20:53:40 | FromTwitch | <indianpojken> Test |
20:53:45 | Yardanico | yay |
20:54:48 | Calinou | :kappa: |
20:55:02 | Yardanico | you don't need :: |
20:55:03 | Yardanico | just |
20:55:08 | FromTwitch | <yardanico> Kappa |
20:55:09 | Yardanico | Kappa |
20:55:12 | Yardanico | yes it works |
20:55:56 | livcd | no twitch account |
20:56:12 | Yardanico | it still works |
20:56:26 | Yardanico | and you'll be able to talk with people from twitch |
20:56:30 | Yardanico | on Araq's stream :) |
20:56:37 | * | FromTwitch quit (Remote host closed the connection) |
20:56:43 | Yardanico | I will refactor code now (a bit) |
20:57:01 | dom96 | yay, nice |
21:01:09 | * | couven92 quit (Quit: Client Disconnecting) |
21:02:44 | livcd | i am fascinated how capable people can make a very big difference. Maybe we should all stop making software and leave it all to people like Araq |
21:04:43 | * | FromTwitch joined #nim |
21:04:50 | Yardanico | why does it show NimBot ? :) |
21:05:02 | Yardanico | ah |
21:05:06 | Yardanico | nick and user |
21:05:10 | Yardanico | and realname |
21:06:23 | * | FromTwitch quit (Remote host closed the connection) |
21:07:10 | Yardanico | should I make @araq4k -> Araq replace ? :) |
21:07:20 | dom96 | nah |
21:07:27 | Yardanico | so people will be able to mention Araq if they've mentioned them on twitch |
21:07:33 | Yardanico | *him |
21:07:53 | * | derlafff quit (Ping timeout: 255 seconds) |
21:07:56 | livcd | i worked at a non-tech company (a large corporation) that had a lot of its systems written in java. And it was not very..stable. Then some guy that worked there for quiet some time create a programming language from scratch, rewrote most of the legacy stuff in that language. Left and setup a company and to this day the programming language (even if open source) serves only this particular corporation |
21:08:18 | Yardanico | livcd, is it open-source really? |
21:08:24 | livcd | Yardanico: yes |
21:08:29 | Yardanico | livcd, can you link it? |
21:09:11 | livcd | in /q |
21:09:23 | dom96 | livcd: can you PM me it too? I'm curious |
21:09:31 | ipjk | I got to see this too |
21:09:46 | dom96 | But why does it need to go through PM if it's open source? :) |
21:10:03 | livcd | i do not want this to be indexed by your bots |
21:10:03 | livcd | :D |
21:18:45 | livcd | is it interesting? |
21:19:14 | * | Jesin quit (Quit: Leaving) |
21:24:06 | * | FromTwitch joined #nim |
21:24:09 | * | FromTwitch quit (Remote host closed the connection) |
21:25:21 | * | FromTwitch joined #nim |
21:25:25 | * | FromTwitch quit (Remote host closed the connection) |
21:27:27 | * | FromTwitch joined #nim |
21:27:28 | FromTwitch | <> Welcome, GLHF! |
21:27:28 | FromTwitch | <> Your host is tmi.twitch.tv |
21:27:28 | FromTwitch | <> This server is rather new |
21:27:28 | FromTwitch | <> - |
21:27:29 | FromTwitch | <> - |
21:27:31 | FromTwitch | <> You are in a maze of twisty passages, all alike. |
21:27:33 | FromTwitch | <> > |
21:27:39 | * | FromTwitch quit (Remote host closed the connection) |
21:27:42 | Yardanico | oh shit sorry |
21:28:35 | * | FromTwitch joined #nim |
21:28:38 | FromTwitch | <yardanico> hi |
21:28:40 | Yardanico | hi |
21:28:44 | * | FromTwitch quit (Remote host closed the connection) |
21:28:54 | Yardanico | dom96, should this IRC bridge log messages into the console? |
21:28:56 | Yardanico | or no? |
21:36:17 | * | kafke joined #nim |
21:36:28 | ipjk | livcd: it had some documentation atleast. |
21:36:57 | * | manjaro-kde5- quit (Remote host closed the connection) |
21:36:58 | * | PMunch quit (Quit: leaving) |
21:37:46 | livcd | ipjk: see you just need to find a corporation that will heavily depend on you and can support your pet project indefinitely :) |
21:38:35 | * | FromTwitch joined #nim |
21:38:58 | Yardanico | hi! |
21:39:06 | Yardanico | ok, I did everything |
21:39:13 | Yardanico | it also has a config file now |
21:39:17 | * | FromTwitch quit (Remote host closed the connection) |
21:39:50 | FromGitter | <zetashift> Is it written in Nim?(the twitch bot) |
21:40:12 | Yardanico | yes, of course |
21:40:14 | Yardanico | it's very simple |
21:40:15 | livcd | ipjk: and now i truly believe that you can write anything in any kind of language no matter how good/bad the language is or how well it is supported |
21:40:27 | livcd | and with that knowledge i think we should just write everything in javascript |
21:40:49 | * | FromTwitch joined #nim |
21:40:52 | * | FromTwitch quit (Remote host closed the connection) |
21:41:10 | * | FromTwitch joined #nim |
21:41:11 | Yardanico | hi |
21:41:15 | * | FromTwitch quit (Remote host closed the connection) |
21:41:37 | * | FromTwitch joined #nim |
21:42:04 | FromGitter | <zetashift> As a nimnoob I'd love to see the source, if you'll eventually upload it |
21:42:17 | Yardanico | yeah I'll now |
21:42:23 | dom96 | Yardanico: into the console? |
21:42:28 | dom96 | you mean your own terminal? |
21:42:35 | Yardanico | dom96, what do you mean? |
21:42:38 | Yardanico | I'll share it |
21:42:43 | Yardanico | on github |
21:42:47 | dom96 | Regarding your question |
21:42:55 | dom96 | I'm wondering what you mean |
21:43:03 | Yardanico | dom96, ah, I was asking |
21:43:14 | Yardanico | if twitchrelay should log all messages to the terminal |
21:43:37 | dom96 | sure, why not |
21:44:47 | dom96 | I can give you an account on our VPS if you need somewhere to run it |
21:46:35 | * | FromTwitch quit (Ping timeout: 240 seconds) |
21:47:34 | livcd | dom96: btw can you tell us how many people already bought your book ? or is that a secret ? :) |
21:47:51 | * | FromTwitch joined #nim |
21:47:56 | Yardanico | r |
21:47:56 | * | FromTwitch quit (Remote host closed the connection) |
21:48:08 | dom96 | I can't because I don't have the latest figures :) |
21:48:43 | livcd | ahh just the rough number |
21:49:29 | * | FromTwitch joined #nim |
21:49:31 | Yardanico | checking logs |
21:49:38 | Yardanico | yeah that works |
21:49:43 | FromTwitch | <yardanico> yes |
21:49:45 | * | FromTwitch quit (Remote host closed the connection) |
21:54:49 | * | voiceftp joined #nim |
21:56:38 | Yardanico | dom96, zetashift, livcd: https://github.com/Yardanico/twitchrelay |
21:57:11 | Yardanico | not the best code (it's repetitive a bit, that's why I've created a template for callback) |
21:57:49 | * | nsf quit (Quit: WeeChat 1.9) |
21:58:37 | livcd | nice |
22:00:50 | livcd | oh already tomorrow |
22:00:53 | Yardanico | yeah |
22:01:14 | FromGitter | <zetashift> sweet thanks |
22:01:43 | * | derlafff joined #nim |
22:02:18 | * | FromTwitch joined #nim |
22:02:23 | Yardanico | logs? |
22:02:31 | FromTwitch | <yardanico> test |
22:02:40 | Yardanico | "Sending `<Yardanico> logs?` to Twitch" |
22:02:44 | Yardanico | "Sending `<yardanico> test` to #nim" |
22:03:26 | * | FromTwitch quit (Remote host closed the connection) |
22:03:39 | * | FromTwitch joined #nim |
22:03:39 | Yardanico | well it seems to work fine, but I don't have any error handling :P |
22:03:45 | * | FromTwitch quit (Remote host closed the connection) |
22:06:22 | * | derlafff quit (Ping timeout: 255 seconds) |
22:06:32 | * | Sentreen quit (Ping timeout: 252 seconds) |
22:06:45 | Yardanico | dom96, you can use it as well if you stream :) |
22:07:12 | Yardanico | btw, binary is only 288kb |
22:07:24 | Yardanico | *228 kb with strip -s |
22:07:33 | * | FromTwitch joined #nim |
22:07:36 | * | FromTwitch quit (Remote host closed the connection) |
22:08:21 | Yardanico | 122 votes, and destructors are 15 votes ahead http://www.strawpoll.me/14163114/r |
22:08:33 | Yardanico | good night everyone |
22:08:36 | * | Yardanico quit (Remote host closed the connection) |
22:12:27 | FromGitter | <mratsim> give me destructoooooorrrss. That’s shut everyone up about the GC :P |
22:14:32 | FromGitter | <Yardanico> Help Araq on today's stream :P |
22:16:12 | FromGitter | <mratsim> This is annoying when it happens :/ ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59e7d2ab01110b7231d26fcd] |
22:17:53 | Araq | use better names? |
22:18:16 | Araq | openArray is not exactly a beautiful name |
22:18:59 | FromGitter | <mratsim> no, I don’t use the name openarray |
22:19:12 | FromGitter | <Yardanico> @mratsim don't try to pass built-in arrays to your concept, this will crash the compiler :) |
22:19:16 | FromGitter | <Yardanico> You do |
22:19:27 | FromGitter | <Yardanico> Your filename is openarray :D |
22:20:15 | FromGitter | <mratsim> oh it’s the file name |
22:20:16 | * | Sentreen joined #nim |
22:20:35 | FromGitter | <mratsim> right >_> |
22:21:35 | * | derlafff joined #nim |
22:22:12 | FromGitter | <Yardanico> @Araq I will enable a twitch - irc bridge on your stream, ok? But don't be scared, it wouldn't mention you on every message :D |
22:22:31 | FromGitter | <mratsim> so @Yardanico it’s normal that this doesn’t match yet? (https://github.com/nim-lang/Nim/issues/6528) ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59e7d427210ac2692002b873] |
22:22:37 | FromGitter | <Yardanico> It would be useful for people who don't have irc, or for people who don't have twitch |
22:23:00 | FromGitter | <Yardanico> Ehm, wait, this is not a concept |
22:23:12 | * | JappleAck joined #nim |
22:23:14 | FromGitter | <mratsim> opening a bug then |
22:23:51 | Araq | yardanico: ok |
22:24:12 | FromGitter | <Yardanico> @mratsim thought you would do your own openarray like concept |
22:24:40 | FromGitter | <mratsim> well both |
22:25:04 | FromGitter | <mratsim> the feature request is really a feature request |
22:25:13 | FromGitter | <mratsim> and the thing I pasted is a bug ;) |
22:26:11 | * | derlafff quit (Ping timeout: 255 seconds) |
22:27:06 | FromGitter | <mratsim> The bug actually gave me the idea of the feature |
22:32:37 | * | derlafff joined #nim |
22:34:53 | FromGitter | <Yardanico> Guys, LOL |
22:35:22 | FromGitter | <Yardanico> I just registered "FromIRC" twitch nicknames |
22:35:28 | FromGitter | <Yardanico> *nickname |
22:49:52 | * | UxerUospr joined #nim |
23:10:57 | * | Jesin joined #nim |
23:11:55 | * | def-pri-pub joined #nim |
23:23:39 | * | def-pri-pub quit (Remote host closed the connection) |
23:23:53 | * | ipjk quit (Read error: Connection reset by peer) |
23:36:52 | * | yglukhov quit (Remote host closed the connection) |
23:43:08 | * | derlafff quit (Ping timeout: 255 seconds) |
23:43:39 | * | def-pri-pub joined #nim |