<< 18-10-2017 >>

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:15hioyou 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:39FromGitter<zetashift> But you can now, seeing how Nim's GC works is explained well in: https://nim-lang.org/docs/gc.html
03:03:19hiohow is that a 48h stresstest benchmark for an active heap with 128GB size?
03:03:26hiooh 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:02FromGitter<Varriount> hio: Well, *you* could stress test the GC.
04:03:34FromGitter<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:37FromGitter<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:56Araq"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:39Araq"Why would anyone answer you if you cannot even imagine to stress test your own server applications?"
05:35:44Araqbut Varriount, nice response.
05:55:17*miran quit (Quit: Leaving)
05:57:00FromGitter<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:00FromGitter... [https://gitter.im/nim-lang/Nim?at=59e6ed2ce44c43700a4897e5]
06:24:54Araqproc waitFor*[T](fut: Future[T]): T =
06:24:54Araq ## **Blocks** the current thread until the specified future completes.
06:24:54Araq while not fut.finished:
06:24:56Araq poll()
06:24:58Araq fut.read
06:25:21Araqfor 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:54Araqbut I agree it's a problem
06:32:15Araqtried 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:03FromGitter<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:55Araqx86128 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:37PMunchAraq, what's -d:upcoming?
08:52:01*skrylar quit (Ping timeout: 240 seconds)
08:53:35euantorit uses the upcoming async implementation
08:53:46PMunchAhh cool
08:53:51euantorhttps://github.com/nim-lang/Nim/tree/devel/lib/upcoming
08:56:21PMunchHmm, looking at the docstring there doesn't seem to be that much which has changed
08:56:34PMunchIs it not updated, or am I missing something?
08:58:26euantorDoc string is basically the same, imnplementation is slightly different
08:58:53PMunchOkay, any cool benefits?
08:59:59euantorI can't remember off the top of my head. It might be slightly faster, but I can't remember
09:00:26euantorThere was some talk about other changes too in an RFC
09:01:23euantorhttps://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:41cremWhen 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:20euantoryes, in the mouth is common
09:08:48euantoryou also get some thermometers that are put in the ear, but these are less common
09:10:09cremBut they all have different temperatures, that may be confusing..
09:10:43euantoryep. 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:37PMunchWe always measured under arm in Norway
09:14:54mirancrem: under arm (Croatia)
09:15:08PMunchOr for a more accurate reading you can use it in your but (just make sure to wash it after)
09:15:43PMunchs/but/butt
09:16:23cremyes, 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:54cremAnd here in Switzerland doctors seem to be surprised that someone measures temperature under the arm rather than in mouth.
09:17:32PMunchExactly, under the arm is "good enough" to determine if you have a fever or not
09:17:50PMunchIf you actually care how much fever then mouth or butt is better
09:18:09PMunchI think accuracy is arm < mouth < butt
09:18:20PMunchNot sure how much the difference in accuracy is though..
09:19:14cremThanks. And sorry for killing nim-related talk with offtopic. :)
09:19:37*adeohluwa quit (Quit: Connection closed for inactivity)
09:19:45PMunchHaha, no worries. We weren't really talking about anything when you asked :P
09:20:07FromGitter<BigEpsilon> crem you are from switzerland ?
09:20:27FromGitter<BigEpsilon> which part?
09:21:00cremI'm originally from Belarus, but live in Switzerland, yes. Zurich.
09:21:19FromGitter<BigEpsilon> ah ok
09:21:28FromGitter<BigEpsilon> I live in lausanne
09:21:57cremPretty far by Swiss standards. :)
09:23:48*smt` joined #nim
09:24:04FromGitter<BigEpsilon> oh not so far :)
09:25:53FromGitter<Yardanico> LOL, 78 votes! http://www.strawpoll.me/14163114/r
09:26:09FromGitter<Yardanico> *79
09:26:25PMunchYeah I saw that, seems like posting to reddit gave it some extra attention
09:26:57Araqgood thing I just figured out my move semantics are broken :-)
09:27:08*smt quit (Ping timeout: 246 seconds)
09:27:23FromGitter<Yardanico> I'm in the school right now btw :D
09:36:39*Zevv joined #nim
09:36:53ZevvHi, I have some breakage in async stuff moving from 0.17.0 to 0.17.2
09:37:10ZevvI have a async callback for newAsyncHttpServer which has a try:except inside
09:37:25Zevvcausing nokiasim.nim(90, 15) Error: type mismatch: got (AsyncHttpServer, Port, proc (req: Request): Future[system.void]{.locks: <unknown>.})
09:37:28Zevvbut expected one of:
09:37:31Zevvproc serve(server: AsyncHttpServer; port: Port; callback: proc (request: Request): Future[void]; address = ""): Future[void]
09:37:34Zevvwhat changed here, and what am I doing wrong?
09:38:57skrylar_oh, neat. figured out how spritelamp did its thing
09:39:02skrylar_sort of
09:45:07skrylar_was wondering how they were taking two greyscale lightmaps and creating normals for it and then putting those back on sprites
09:46:21AraqZevv: annotate the callback you pass to 'serve' as 'gcsafe'
09:50:11*derlafff quit (Ping timeout: 255 seconds)
09:54:47FromGitter<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:15PMunchskrylar_, you should've asked, worked on replicating that years ago and made a simple script to do it :)
10:11:38ZevvAraq: thats it, thanks
10:12:12ZevvWhere should I have found that in the docs?
10:18:35PMunchImportant question Zevv
10:19:05AraqZevv: we thought some internal change in asyncdispatch is regression free
10:19:11Araqso it's actually a big bug
10:19:25*derlafff quit (Ping timeout: 255 seconds)
10:20:50ZevvYay :)
10:21:47ZevvNo problem, there's always #nim
10:27:40dom96mratsim: hrm? Why would it be in Switzerland?
10:28:10dom96Araq: Sorry, but I still deem gcsafety a pain :\
10:28:32FromGitter<mratsim> Near most of the Nim community
10:28:44*Yardanico joined #nim
10:28:51Araqdom96: better don't fight my GC-free new runtime then :P
10:29:09Araqmratsim: that's mean :P
10:30:34FromGitter<mratsim> I wasn't mean heh !
10:30:52FromGitter<mratsim> Build a strawpoll to ask that ;)
10:31:00gokreuantor: We have one of those digital measure-in-the-ear temps.
10:31:06dom96Am I missing something?
10:31:39PMunchdom96, we were talking about measuring temps earlier :P
10:31:45PMunchHow't the storm by the way?
10:32:07PMunch@mratsim, I vote for northern Norway :)
10:32:34gokrPMunch: Är du från Norge?
10:32:58PMunchJa, det stemmer
10:33:18dom96PMunch: Last I heard 3 people died :\
10:33:49PMunchdom96, yeah that's what I heard on the news. I was more wondering how it was going for you in the storm
10:34:02dom96My lectures were cancelled
10:34:07dom96So I just stayed home :)
10:34:17dom96Didn't seem too bad here
10:34:18PMunchWell that's a pluss :P
10:34:25FromGitter<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:34gokrPMunch: Ah nice! I was once up sailing a Hobie-18 in Lofoten, back in ... 1991.
10:35:45PMunchAh nice gokr, part of my family is actually from Lofoten. Small place called Sigerfjorden
10:36:39PMunch@TheSuspiciousWombat, what error do you get?
10:36:42skrylar_TheSuspiciousWombat: because that's a nim string, and opengl wants c strings
10:37:22skrylar_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:44FromGitter<TheSuspiciousWombat> I changed it to nim string now
10:37:51FromGitter<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:23FromGitter<TheSuspiciousWombat> cstring*
10:38:59skrylar_https://hastebin.com/urecoqolaw.md
10:39:16PMunchWell, it actually expects an array of pointers to cstrings
10:39:34skrylar_(although that's from my little paint app, 'Shader' is just a distinct type of GLint)
10:39:42PMunchAnd length is an array of lengths
10:40:03FromGitter<TheSuspiciousWombat> Thanks guys!
10:40:18gokrPMunch: Ah. We started at Svolvaer and then sailed down to the souther tip. Was a great competition, awesome nature.
10:40:21skrylar_i do like distinct types, they make code a lot cleaner :\
10:40:40FromGitter<TheSuspiciousWombat> I need to read up about cas and unsafeAddr im still a nim noob
10:40:40skrylar_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:21PMunchgokr, yeah the nature out there is pretty wild. Not as pronounced where I live but it's still really beautiful
10:42:27gokrWent to Norway skiing last two years too - but... sorry, not this year, too expensive ;)
10:42:33skrylar_i just learned about matcap textures.
10:42:40skrylar_it turns out they're not as complicated as i thought :f
10:43:10*firstjedi joined #nim
10:43:13FromGitter<TheSuspiciousWombat> ah ok so the cast keyword does the same as if i would do "var x: uint" right?
10:43:25skrylar_no
10:43:52skrylar_safe casts are done with type(foo) or foo.type
10:43:57skrylar_"balls".cstring # safe
10:44:05skrylar_cast[cstring]("balls") # i am derp
10:44:24PMunchgokr, yeah it's expensive over here.. Especially touristy places like a ski resort
10:44:28skrylar_i just use it in that snippet because an array of one is identical to a single pointer, in C terms
10:44:31PMunchWhere did you go?
10:45:42*lastjedi quit (Ping timeout: 260 seconds)
10:47:01gokrWe were first to Gudbrandsgard Hotel in Kvitfjell. And last year we went "all luxury" and went to Radisson Blu Restort in Trysil.
10:48:48PMunchOh yeah, those places are expensive for sure :P
10:49:10skrylar_when i posted one picture of art i was scolded but you've been talking about the countryside for an hour now
10:49:14skrylar_:-|
10:49:33PMunchYou were scolded in here?
10:49:49FromGitter<TheSuspiciousWombat> skrylar in " gl_shader_source x, 1, castcstringArray (unsafeAddr s), nil ⏎ " what is the s after the unsafeAddr?
10:49:57FromGitter<TheSuspiciousWombat> oh nvm
10:50:02FromGitter<TheSuspiciousWombat> i should learn to read ...
10:51:50*chemist69 quit (Ping timeout: 246 seconds)
10:59:43*chemist69 joined #nim
10:59:43FromGitter<TheSuspiciousWombat> skrylar ok seems to work. Thanks for making me learn the cast proc :D
11:00:52dom96skrylar_: Sorry about that :(
11:00:53Yardanicocast is usually considered unsafe
11:01:04dom96I wish people wouldn't do that.
11:01:14Yardanicobut it's neccesary for using C libraries (most of the time)
11:01:32dom96offtopic discussion is fine here occasionally
11:02:05skrylar_dom96, its the internet. quality of humanity has had a sharp drop every year
11:04:31skrylar_have most of the fltk widgets wrapped, working on the drawing parts now
11:04:34ArrrrWhen is the live stream?
11:04:43YardanicoArrrr, tomorrow 19:00 UTC
11:04:53PMunchAs long as it's not too disruptive to actual communications then I don't have any problem with off-topic
11:05:04PMunchskrylar_, nice!
11:05:16Yardanicohttp://www.strawpoll.me/14163114 it's like 13% of all people who participated in nim community survey :P
11:05:30skrylar_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:46Arrrrin 10 hours?
11:05:56PMunchSorry, had I seen it I would've done something..
11:06:05dom96skrylar_: ping me if it happens again
11:06:23YardanicoArrrr, on thursday 19:00 UTC
11:06:35Arrrrin 34 hours?
11:06:39Yardanicoyeah
11:06:39PMunchHmm, my network just got super flaky..
11:06:47YardanicoAraq, what's the meaning of your nickname? :)
11:06:50PMunchIRC seems to work fine though :)
11:06:52Yardanicohttps://en.wikipedia.org/wiki/Arak_(drink) ? :D
11:09:06skrylar_well two of those letters are actually in his name
11:09:13Yardanicoyeah, I know
11:09:17Yardanicobut "aq" ?
11:11:58*Zevv left #nim ("Thanks again")
11:15:22AraqYardanico: it's a secret
11:15:28YardanicoAraq, oh
11:16:01skrylar_i saw an anime mention support vector machines and i chuckled
11:16:06skrylar_although i've never actually used those :\
11:16:24*derlafff joined #nim
11:16:28skrylar_something about splitting objects in to planes
11:16:35Yardanicowho knows, maybe nim is used by Masons :P
11:17:06skrylar_I doubt it, a lot of those organizations are pretty out of touch
11:17:44Yardanicowe just need to rewrite google in nim
11:17:56skrylar_if you figure out how backrub works, go for it
11:18:10Yardanicobut really rust community has a good idea about rewriting everything in rust :P
11:18:26skrylar_its probably some brute force technique though
11:18:34skrylar_from what i've seen google is not really known for elegance
11:18:37Yardanicoat least it makes the language libraries ecosystem bigger
11:18:49Yardanicoyeah, I read that google was never fully restarted
11:18:56skrylar_i mean look at their AI papers
11:19:09skrylar_Google's approach to upgrading deepmind was just "throw more hardware at it"
11:19:18skrylar_this is mentioned on the deepmind site
11:19:42skrylar_technique is more effective than hertz in these problems
11:20:08skrylar_but everyone is too busy competing over who gets to hire the MIT students to look for people who have outlier thoughts
11:20:14skrylar_and those outliers are who create new techniques
11:20:16skrylar_:-/
11:20:48*derlafff quit (Ping timeout: 246 seconds)
11:21:15skrylar_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:20Yardanicoit's sad that there's no real competitor to google (search enginge)
11:21:33Yardanico*engine
11:21:42SusWombatskrylar_, could you help me once more? Any idea what i do wrong? https://hastebin.com/cibizomisu.cs
11:21:51cremThere are in several countries.
11:22:01Yardanicocrem, well, they're not as big as google
11:22:15YardanicoI mean real worldwide competitor
11:22:15cremThere is also bing. :)
11:22:21skrylar_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:29YardanicoI know about Yandex, Bing, DuckDuckGo,
11:22:31Yardanicowhat else?
11:22:45Yardanico[email protected] xD
11:23:01skrylar_SusWombat, you didn't initialize infolog
11:23:11SusWombatohhh ...
11:23:13SusWombatthanks
11:23:25cremthere'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:04skrylar_ var log = newstring(512).cstring # i'm sure there is a better way
11:24:35skrylar_baidu is the company, yes
11:24:50skrylar_on an up note they're also helping the chinese government oppress their own people
11:26:11*derlafff joined #nim
11:26:27skrylar_they also released PaddlePaddle, which i think is meant to compete with tensorflow, although i've used neither
11:26:39skrylar_though tensorflow did basicaly kill theano
11:40:43*kobi7 joined #nim
11:42:52kobi7Hi guys, I have a bit complicated question.
11:43:07kobi7I 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:49kobi7I am reading Nim in Action, and it has some information about creating macros. I am missing these two information tidbits
11:43:49PMunchkobi7, you can use toStrLit to convert AST to code
11:44:13Yardanicokobi7, if you need to output ast - "echo treeRepr myastnode"
11:44:30PMunchYeah, any of the *Reprs really
11:44:36kobi7you guys are awesome
11:44:52kobi7Yardanico: can I see the whole program like that?
11:44:56Yardanicokobi7, yes
11:44:58Yardanicoone sec
11:46:36Yardanicohttps://gist.github.com/Yardanico/835c622595c25d11e8add0b54c7c44ed
11:47:37kobi7very cool!
11:47:40Yardanicohttps://nim-lang.org/docs/macros.html#treeRepr,NimNode
11:47:46Yardanicohttps://nim-lang.org/docs/macros.html#toStrLit,NimNode
11:47:56kobi7I'll try to run it.
11:48:10Yardanicobut don't be mistaken: if you don't need to convert macro output to string - nim doesn't do that
11:48:31PMunchYou also have lispRepr and astGenRepr
11:48:34Yardanicoyeah
11:48:45Yardanicocrystal macros are worse because they convert your macro ast to text and paste that into the program
11:49:06PMunchHaha, what?
11:49:10PMunchWhy do they do that?
11:49:20Yardanico"Macros are methods that receive AST nodes at compile-time and produce code that is pasted into a program. "
11:49:40PMunchlispRepr gives you a Lisp-like output and astGenRepr gives you the code you would need to generate that AST
11:49:51PMunchYardanico, that's just weird :P
11:50:25PMunchWell, 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:33Yardanicoalso crystal macros are different because all different node types are actually different objects
11:56:48Yardanico(probably this is a bit less performant though)
11:56:56*SusWombat_ joined #nim
11:57:38Yardanicothey 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:24Yardanicoit seems that oprypin has moved to crystal from nim :)
11:59:29Yardanicohttps://github.com/oprypin?tab=repositories
12:01:12*elrood joined #nim
12:01:52*Snircle joined #nim
12:02:51kobi7yesterday I tried c2nim on some sample git repositories from https://github.com/uhub/awesome-c
12:03:26kobi7I am not a c/c++ programmer and have little experience with it
12:03:34Yardanicoc2nim is not meant for automatic generation
12:03:39kobi7it usually failed on preprocessor stuff
12:03:40Yardanicoyou still need to edit C headers manually
12:03:48Yardanicoand also probably edit generated nim files too
12:04:21Yardanicoif c2nim would generate all bindings automatically - this would be REALLY cool
12:04:34kobi7I tried to use the gcc preprocessor to get rid of those, and concat it all to one file.
12:05:19YardanicoI only've used gcc preprocessor for these bindings in python for libui: https://github.com/Yardanico/pylibui-cffi
12:05:22kobi7then removed some redundant code with regexp
12:05:45Yardanicoit's actually a fork
12:05:54Yardanicobut with almost 100% automatic low-level binding generation
12:05:56kobi7but it still failed to find some structs. I only experimented a little bit so I'm not sure where the fault was.
12:07:07kobi7you created python bindings using c2nim tool?
12:07:11Yardaniconoo
12:07:19Yardanicothis repo was made before I discovered nim
12:07:24Yardanicoand this is actually a fork
12:07:28Yardanicooriginal repo used ctypes
12:07:31YardanicoI've used cffi and pycparsing
12:07:44Yardanicohttps://github.com/Yardanico/pylibui-cffi/blob/master/scripts/bindings.py
12:07:52Yardanico*pycparser
12:08:04kobi7so you're saying it might be better to use the python tools for binding generation and then port that to nim?
12:08:27SusWombat_How would i translate "(void*)0"(c++) to nim?
12:08:30Yardanicokobi7, no, just about gcc preprocessor
12:08:32YardanicoSusWombat_, lol
12:08:43SusWombat_Yardanico, O:?
12:09:21kobi7ah, i'm too newbie to understand sorry
12:09:29SusWombat_just "ptr 0"?
12:10:16kobi7wow, there are some really nice libs in python
12:13:09mirannim-spotting: https://news.ycombinator.com/item?id=15495930
12:13:14yglukhovSusWombat_: nil
12:13:15yglukhov=)
12:13:20miranit is in a thread about go vs python
12:13:25SusWombat_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:41PMunchSusWombat_, cast[ptr](nil) perhaps?
12:15:00PMunchnil might even work out of the box
12:15:15Yardanicomiran, they'll be even more amazed a couple years later
12:15:22Yardanicoor even in 2017-start of 2018
12:15:31Yardanicowhen seqs and strings will probably be GC-free :)
12:15:43YardanicoAraq has already made a simple implementation of gc-free seqs and strings
12:15:51Yardanicobut IIRC they're slower than current ones
12:16:33SusWombat_PMunch, Error: expression cannot be cast to ptr
12:16:45PMunchTry with just nil
12:16:46miranYardanico: 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:10Yardanicomiran, I'm not very experienced in Nim :P
12:17:14PMunchWhere?
12:17:52miranYardanico: don't lie to me, you've proven yourself
12:18:28miranPMunch: hacker news, this is a comment that mentions nim: https://news.ycombinator.com/item?id=15495930
12:19:10PMunchOh cool, I enjoy seeing what people think of Nim
12:20:45YardanicoAraq, do you know you have 22 followers on twitch ?
12:20:54Yardanicohttps://www.twitch.tv/araq4k/followers
12:22:03Yardanicoeverything can change btw: http://www.strawpoll.me/14163114/r
12:22:11Yardanicoonly 9 votes between destructors and karax&ormin
12:23:07*ShalokShalom_ joined #nim
12:24:22cremIn 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:37Yardanicocrem, yeah, it is true
12:25:45Yardanicoyou can only use procs and it will be OK
12:25:59*ShalokShalom quit (Ping timeout: 246 seconds)
12:26:06cremlet me remember what were the features I asked about..
12:26:11*EastByte joined #nim
12:27:35Yardanicocrem, also iterator/method/macro/template are named like that for a reason
12:27:42Yardanicoe.g. not "iter", but "iterator"
12:28:02Yardanicobecause it shows that "proc" is simpler and shorter, I found Araq's post on nim forum about this
12:28:59cremAh, I wanted to convert a sequence to a tuple shorter whan in 3 lines.
12:29:15crem*than
12:29:31Yardanicocrem, any-sized seq to any-sized tuple?
12:29:39Yardanicobecause tuple size must be known at compile-time
12:29:55Yardanicoif not, then let myTuple = (s[0], s[1], s[2])
12:29:58Yardanicoif s is a sequence
12:31:18Yardanicocrem, https://forum.nim-lang.org/t/1019#6238
12:31:28cremI don't remember what I needed it for. Function returned tuple and I wanted to assign it to a seq, probably.
12:32:12Yardanicocrem, well they're different types, so some kind of conversion is needed
12:32:23cremI 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:35cremYes, but something shorter than manually written loop, I guess. Anyway, I forgot what it was, so will postpone rants for other time. :)
12:34:28Yardanicocrem, well "convert a sequence to a tuple shorter whan in 3 lines." is not really a feature
12:35:13Yardanicowe was talking about "can procs be used for everything?" so yes, they can, but code can be repetitive or not so beautiful
12:36:30cremI don't even remember what tuples were... They are more like C structs rather than python tuples, right?
12:36:34Yardanicocrem, yes
12:36:48Yardanicoobject without inheritance ~ tuple
12:36:58Yardanico(in nim)
12:37:05cremOk, then it's not really that sensible to convert between them and lists.
12:37:54PMunchI see a lot of this "well-supported AWS SDK" as a complaint about Nim
12:38:02PMunchMore so than any other one library..
12:38:24miranit would be nice to have tuple unpacking for sequences (of known length)
12:38:37miranor maybe this is doable and i don't know how to do it :)
12:38:41miranusually is this :)
12:38:53cremjust a simple macro!
12:38:55Yardanicoyes
12:39:01*ipjk joined #nim
12:39:02cremhttps://gist.github.com/Yardanico/3ed3f8d8b6ccd070afd67e8bd26f2914
12:39:33Yardanicomaybe it can be done even shorter, IDK
12:40:07Yardanicoalso you can't overload let (a, b) = someTuple
12:40:10Yardanicoto have it for your types
12:40:36Yardanicoor wait
12:40:39Yardanicohmmm
12:40:48miranyeah, i was thinking about `let (a, b, c) = tuple(knownSeq)` or something like that
12:43:50*byteflame quit (*.net *.split)
12:46:12Yardanicomiran, yeah, you can do that with a macro
12:46:28*Amrykid quit (Ping timeout: 240 seconds)
12:46:40miranheh, 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:18Yardanicoyeah it's easy to implement
12:53:44*Snircle_ joined #nim
12:53:54*byteflame joined #nim
12:54:33skrylar_well today went to shit in a hurry.
12:54:34*skrylar_ sighs
12:55:11miranYardanico: how easy? by using macros?
12:55:13Yardanicohmm, can I check if provided type in a macro has indexed access support?
12:55:18Yardanicomiran, yes, but it's not a lot of code
12:55:18*Jesin quit (Quit: Leaving)
12:55:33miranshould i then copy-paste that macro to whichever file i'm working on?
12:55:52Yardanicomiran, or in some file called utils.nim
12:56:00*Snircle quit (Ping timeout: 246 seconds)
12:56:00Yardanicoand then import this file in every your file
12:56:26Yardanicoupdated the gist - https://gist.github.com/Yardanico/3ed3f8d8b6ccd070afd67e8bd26f2914
12:56:47Yardanicoso this macro just generates a statement like
12:56:56Yardanico(a[0], a[1], a[2])
12:56:59mirannow 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:00Yardanicowhich is a tuple
12:57:26Yardanicomiran, I don't think so, but you can always ask Araq :P
12:57:43mirani kinda know his answer :D
12:58:05*firstjedi quit (Ping timeout: 240 seconds)
12:58:06YardanicoI'm trying to add checks if provided object has indexed access
12:58:13YardanicoI can do that with concepts, but I think there should be another way
12:58:35Araqwhen compiles(a[i])
12:58:46*TjYoco joined #nim
12:58:52YardanicoAraq, in a macro?
12:59:29Araqmiran: usually for consistency I consider adding things, so "array" unpacking might be implemented, other syntactic shortcuts are better left as macros
12:59:57AraqYardanico: depends, often the macro needs to *produce* this when-check
13:00:05YardanicoAraq, ah, ok
13:00:14miranAraq: so there is hope :) thanks!
13:00:17skrylar_The part I love is where if >I< ask for help, i never get it -_-
13:00:33Araqskrylar_: you need to highlight me
13:00:37Araqwhat's your problem?
13:02:40*sleepyqt joined #nim
13:02:42cremBy "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:15mirancrem: +1
13:03:19Araqcrem: the implementation is nearly identical either way, in the lib it's a macro, in the compiler an AST rewrite
13:03:51Yardanicoyeah, you only need 1 macro to allow unpacking of every type which supports indexed access
13:03:55Araqyou can often literally copy and past macro code into the compiler and do s/nnk/nk/
13:04:09Araqand have it as a "real language feature"
13:04:58AraqNim is programming crack, easy to consume, easy to become addicted, easy to die because of it
13:05:15Yardanicoyeah
13:05:26Yardanicoso people want all features in the world :P
13:06:29miranwell, python has spoiled me quite a lot
13:07:02miranthings i take for granted are now not so easy/beautiful
13:07:19cremI'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:24Araqself.typo.causes.crash meh, Python.
13:07:57Araqcrem: we have these things in the "future" module
13:08:11cremPython with linters is much better than without, mistypes are much less of a problem that way.
13:09:09SusWombat_PMunch, sry i was afk just nil doesnt seem to work :/ or maybe i do something else wrong
13:09:47miranAraq: how come list comprehension (in future module) uses `<-` instead of `in`?
13:11:05Yardanicomiran, why do you ask araq ? :)
13:11:26miran`in` seems more "nimthonic" (what is nim's version of pythonic? :))
13:11:30*sleepyqt quit (Read error: No route to host)
13:11:43miranYardanico: who do i need to ask?
13:11:46TjYoconimrodic
13:11:57Yardanicomiran, def- is the author of this macro :)
13:12:02Yardanicoyou can see it in git history
13:12:06Yardanicoalso it can be easily changed
13:12:28*sleepyqt joined #nim
13:12:33Yardanicochange "<-" to "in" on line 155 and done
13:12:57YardanicoIt just doesn't feel right
13:13:10Yardanicox in 1..10 doesn't make much sense
13:13:14Yardanicox <- 1..10 does :)
13:15:21*dddddd joined #nim
13:15:31SusWombat_o.O how does x in 1..10 doesnt make sense?
13:16:27Yardanicobecause it doesn't say how 1..10 relates to x
13:16:38Yardanico<- clearly shows that x is taken from 1..10 range
13:16:59Yardanicowe'll have more python-like list comprehensions when "for" will become an expression :)
13:19:50mirani don't see how `in` doesn't make sense to be honest
13:21:12SusWombat_PMunch, nevermind my problem was elsewhere. sry
13:21:34SusWombat_it seems i have to use cGL_FLOAT instead GL_FLOAT
13:21:52SusWombat_in glVertexAttribPointer
13:28:21skrylar_are you sure you should be programming
13:30:39SusWombat_me?
13:32:01*kobi7 quit (Ping timeout: 255 seconds)
13:33:29miranme?
13:33:40cremme?
13:34:31SusWombat_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:49skrylar_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:51skrylar_i'm out
13:39:56*skrylar_ is now known as skrylar|afk
13:41:10miranso, was it me? :D
13:43:10TjYocolmao I looked through the IRC logs on this dude and I think he just wants problems
13:45:06TjYocoI'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:21miran+1, this community has helped me take my first steps in nim
13:55:34miran(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:26subsetparkskrylar|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:28Yardanicohttps://news.ycombinator.com/item?id=15499233 :)
14:17:59*sz0 joined #nim
14:21:18Araqno 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:27Araqthat's probably what I should do more often too. internet lost --> productivity boost of 300%
14:25:03PMunchHaha, that's true
14:25:15PMunchUntil you need to check something and get stuck since you can't google it :P
14:26:52PMunchTjYoco, 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:06federico3that's a reason for having offline documentation and tooling
14:36:28PMunchTrue, 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:04Yardanicoyay, 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:13miran_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:03miran_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:59planetis[m]hello, "template t(): expr {.immediate.}" should be ported to typed or untyped? Because they both compile.
14:57:10planetis[m]i will go with untyped
14:58:21Arrrrwhat tasks?
15:00:23FromGitter<krux02> planetis[m]: both expr and immediate is depricated, isn't it?
15:00:45planetis[m]yes krux02
15:01:27FromGitter<krux02> I haven't found a use case yet for typed result of templates
15:01:56FromGitter<krux02> an expression doesn't compile as a typed result
15:05:56miran_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:41planetis[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:13FromGitter<krux02> in the result of a template/macro, always use untyped
15:10:17miran_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:18planetis[m]ok thanks krux02
15:14:17YardanicoAraq, you may be interested to answer this: https://forum.nim-lang.org/t/3254 when you have some free time :)
15:19:42dom96miran_: ooh, a lot of nice comments in there :)
15:19:59miran_dom96: indeed
15:20:43dom96Looks 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:22FromGitter<krux02> seems like getAppDir is more useful that I originally thought
16:11:29FromGitter<krux02> I can use it to access my resources
16:11:29Yardanico:D
16:16:10*guelosk joined #nim
16:26:51TjYocoanyone know how to get the smallest possible float
16:29:48TjYocoI think its FLT_MIN in C, can I just import that or how does that work?
16:32:19YardanicoTjYoco, https://github.com/nim-lang/Nim/issues/5039
16:33:06*nsf quit (Quit: WeeChat 1.9)
16:34:23YardanicoTjYoco, do you have an use-case for it?
16:34:34TjYocoTrying 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:56Yardanicolol
16:35:01TjYocobut floats can be 32 or 64 depending on whos compiling it so I didnt want to hard code a value
16:35:55TjYocotechnically 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:17TjYocoI'll just throw an error for now until I find a better workaround
16:39:54YardanicoTjYoco, just use something like "1e-50"
16:40:02*couven92 quit (Quit: Disconnecting)
16:40:25Yardanicoah, no
16:40:33*Laon quit (Ping timeout: 248 seconds)
16:40:40TjYoco1e-37
16:40:46TjYocoi guess
16:40:47YardanicoTjYoco, 1e-45
16:40:52Yardanicoshould work for float32& float64
16:40:56Yardanico(because it works for float32)
16:41:30TjYocosounds good, thank you
16:43:10Arrrri think float is always float64
16:43:41FromGitter<krux02> float and float64 is the exact same type
16:43:44FromGitter<krux02> it's just an alias
16:43:45*yglukhov joined #nim
16:43:57FromGitter<krux02> but int and int64 is not
16:44:01planetis[m]dom96: about the debugging article in nim website, I don't think --debugger:on is the correct flag, it started endb.
16:44:08TjYocoOkay, dont know why I thought that then, thanks
16:44:09FromGitter<krux02> they are different even whey they are both 64 bit
16:44:11planetis[m]the tip in section '3.3. Using GDB/LLDB'
16:44:33Yardanicokrux02: that may change in the future too
16:44:38FromGitter<krux02> 1e45'f32 should work if you want float32
16:44:45Yardanico(if system.nim docs are not lying)
16:44:53FromGitter<krux02> @Yardanico I hope so
16:45:05*yglukhov quit (Read error: Connection reset by peer)
16:45:16*yglukhov joined #nim
16:45:28dom96planetis[m]: huh, good catch.
16:45:36dom96So what's the real flag for this?
16:45:37FromGitter<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:43dom96Araq: Any ideas ^
16:45:52TjYocobut float64 can work on 32-bit just slower?
16:45:57YardanicoTjYoco, yes
16:46:35FromGitter<krux02> you can always cast a float32 to a float64 and back without loss
16:46:43FromGitter<krux02> or better said convert
16:47:59FromGitter<krux02> float64 and float is currently really identical
16:48:14FromGitter<krux02> no matter if you are on 32bit ore 64 bit
16:48:22Yardanicowouldn't you lose some precision if you cast float64 to float32?
16:48:47Yardanicooh wait, it seems to be broken a bit
16:48:53planetis[m]--debuger:native
16:49:01Yardanicolet a = 1e-300; echo a; echo cast[float32](a)
16:49:11Yardanico!eval let a = 1e-300; echo a; echo cast[float32](a)
16:49:13NimBot1e-300↵-124.4752883911133
16:49:19FromGitter<krux02> well there is a difference if you cast or if you convert
16:49:23Yardanicoyeah, I know :)
16:49:35*yglukhov quit (Ping timeout: 248 seconds)
16:49:40Yardanicobut still there's a small difference :P
16:49:42Yardanico!eval let a = 1e-300; echo a; echo float32(a)
16:49:44NimBot1e-300↵0.0
16:51:04Yardanico!eval echo "I'm on ", NimVersion
16:51:06NimBotI'm on 0.17.2
16:51:07*Sentreen joined #nim
16:51:38FromGitter<krux02> float32 only has 8 bit for the exponent
16:51:50FromGitter<krux02> so 1e-300 is not in the range of float32
16:52:12Yardanicolol, 90(!) votes!!! http://www.strawpoll.me/14163114/r
16:52:18Yardanicocan we get 100 please?
16:53:26planetis[m]I can vote again if you want :p
16:53:27PMunchWhat's leading so far Yardanico?
16:53:33YardanicoPMunch, destructors :)
16:53:47PMunchMy mouse is out of power so clicking the link is kinda annoying..
16:53:47Yardanicodestructors 42 votes, karax & ormin - 34 votes
16:53:57FromGitter<krux02> so no state machine
16:54:05Yardanicokrux02: maybe later
16:54:09FromGitter<krux02> is in state machine anything nim specific?
16:54:11Yardanicoafter destructors and karax & ormin
16:54:16Yardanicoask 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:42FromGitter<Bennyelg> Oh I here
17:02:56Yardanicoyes you are :)
17:03:21FromGitter<Bennyelg> Im*
17:03:52FromGitter<Bennyelg> Someone can summarize the interesting stuff from today ?
17:03:54FromGitter<Bennyelg> :P
17:04:17Yardaniconot much stuff :)
17:04:48Yardanicomaybe only this - https://news.ycombinator.com/item?id=15495562
17:04:58Yardanicoa comment branch about Nim :)
17:05:39FromGitter<Bennyelg> Lets read :]
17:09:19FromGitter<Bennyelg> Really nice, Expecting to see new folks in the irc soon
17:09:37FromGitter<mratsim> for Kostya, we could enable OpenMP in the matmul
17:09:54FromGitter<Bennyelg> What is OpenMp :P
17:10:21Yardanicomratsim: that would probably be unfair AFAIK
17:10:40FromGitter<mratsim> Julia, and D uses OpenMP
17:10:57Yardanicoare they?
17:10:58Yardanicolol
17:11:03*Jesin quit (Quit: Leaving)
17:11:08FromGitter<mratsim> Julia is using Fortran actually
17:11:10Yardanicothat's unfair
17:11:32Yardanicowell it seems it's implicit
17:11:39FromGitter<krux02> the power of OpenMP is overrated
17:11:48FromGitter<krux02> it only helps in offline calculations
17:12:01FromGitter<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:02Yardanicoand we would have to explicitly pass --passC:"-fopenmp"
17:12:13Yardanicomratsim: you can try to provide an openmp PR
17:12:17FromGitter<krux02> the overhead to start an OpenMP loop is too high to use it in any kind of render loop
17:12:18Yardanicobut he'll probably reject it lol
17:12:36FromGitter<mratsim> @krux02 it’s not overrated for scientific computation, but you need data parallelism to make full use of it
17:12:51miran_mratsim - did you in the end post arraymancer to hacker news?
17:13:08Yardanicomratsim: lol, he's talking about low-level?
17:13:10FromGitter<krux02> yea for scientific computing it might be ok
17:13:20FromGitter<mratsim> @krux02 proof: https://github.com/mratsim/Arraymancer/#micro-benchmark-int64-matrix-multiplication
17:13:20Yardanicohttps://github.com/kostya/benchmarks/blob/master/matmul/matmul.jl#L11 why there's a "simd" thing there then ? :)
17:13:23FromGitter<krux02> but I was desillusionized by it when I learned it
17:13:34Yardanicothese benchmarks are always unfair
17:14:01FromGitter<krux02> pretty useless for games, except for the parts where you want to preprocess the scenes like creating light maps etc
17:14:15FromGitter<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:50Yardanicomratsim: 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:12FromGitter<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:18FromGitter<krux02> the second time the threads already exist
17:15:46FromGitter<mratsim> I don’t know yet, the neural part is already inside @Yardanico : https://github.com/mratsim/Arraymancer/tree/master/src/nn
17:15:58Yardanicooh wow
17:16:03FromGitter<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:09Yardanicothen you maybe will need to change the name :)
17:16:12YardanicoNeuralmancer :P
17:16:20FromGitter<mratsim> Neuromancer ;)
17:16:28Yardanicoyeah
17:17:10miran_why not neuromancer as a separate library built on top of the arraymancer?
17:17:26Yardanicothings would be hard to change probably
17:17:32Yardanicobecause arraymancer is a fast-moving target rn
17:17:32miran_to keep arraymancer as a general tensor library
17:18:10FromGitter<mratsim> To be honest it’s because I don’t want to open 2 VScode windows
17:18:16FromGitter<mratsim> ;)
17:18:29Yardanicoyou can have 1 window btw
17:18:29miran_lol, now you can have two projects in the same window ;)
17:18:42YardanicoVSCode allows to have two projects in one vscode window
17:19:04FromGitter<mratsim> Also PyTorch is also having everything: Tensor + Autograd + Neuralnet in the same library
17:19:29FromGitter<mratsim> And last thing is marketing, probably easier to promote with, download this, and here you go
17:19:58miran_what about us who just want nim version of numpy? :)
17:20:08FromGitter<mratsim> dead-code elim
17:20:30*Jesin quit (Quit: Leaving)
17:20:39FromGitter<mratsim> You get Numpy on Cuda for free ;)
17:21:00*MyMind joined #nim
17:21:02*Jesin joined #nim
17:21:14Yardanicoyay guys!
17:21:14Yardanicohttps://github.com/nim-lang/Nim/wiki/Companies-using-Nim/_compare/bcd5d12%5E...bcd5d12
17:21:25Yardanicoit's really good that I shared this wiki link on hackernews
17:21:28*claudiuinberlin joined #nim
17:21:28Yardanico(in comments)
17:22:35*Sembei quit (Ping timeout: 240 seconds)
17:25:31FromGitter<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:05FromGitter<mratsim> aka How Nim hijacked for the n-th time a thread about switching from python to get more perf
17:26:23Yardanico:d
17:27:30dom96planetis[m]: --debugger:native it is, highlight me next time (almost missed it) :)
17:28:30planetis[m]ok
17:29:09dom96https://github.com/nim-lang/website/commit/7ceea16d16deec4e4af2a363def25bdeb42a8670
17:29:30dom96Will be deployed eventually :)
17:30:11planetis[m]dom96: you know how to print the contents of seq[someObj] in gdb?
17:30:30dom96no idea
17:31:17planetis[m]currently I am trying "(tyObject_someObj *)colontmp_->data but I get a pointer to the first
17:32:15Yardanicobtw, 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:32Yardanicobtw I don't remember how I found Nim in January
17:32:43Yardanicomaybe google history can help
17:33:04skrylarhave 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:16CalinouI found about Nim last year, I don't remember how
17:42:02TjYocoI read about it in a thread about Godot game engine
17:42:25TjYococan't wait til that's more convenient
17:42:53Yardanicoit's already very convenient
17:43:00Yardanicohttps://github.com/pragmagic/godot-nim
17:43:28TjYocoYeah I haven't tried it for about a month, but it was crashing a lot for me
17:43:44Calinouit's less convenient than C# (Mono), I found
17:43:46Calinouat least right now
17:43:59CalinouI'm doing experiments with Mono in Godot right now, since it has been merged into the master branch
17:44:07Calinouand it works surprisingly well so far
17:44:49skrylargdscript worked fine tho
17:44:50TjYocoNice, I used C# for a couple years in Unity so I might give it a try
17:45:13Yardanicooh shit!
17:45:38Yardanicoactually we were talking with some guy in VK (russian social network), and he mentioned nim
17:45:38TjYocoskrylar gdscript is fine, but I like statically typed wayyy more than dynamic
17:45:43Yardanico"do you know nim? it's like python"
17:46:06Calinouskrylar: performance :/
17:46:23livcdand we all know ruby is better than python
17:46:27livcdso we have to wait for crystal
17:46:30livcd :3
17:46:40skrylaryou're not supposed to be doing high performance computing from the scripting layer anyway?
17:46:54Calinoumaybe, maybe not
17:46:54Yardanicowell we were talking with him about some languages like D, and nim was mentioned by him only once
17:47:00skrylarand afaik mono loses the tight integration with scenes
17:47:17Calinouyes and no, you still can have one "script" per node
17:48:06Yardanicoand 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:19Yardanicowho knew I will totally change my main programming language from python to nim lol
17:48:50TjYocoyea I might never go back to a language with '{' and ';' on every line
17:49:15livcdYardanico: it's interesting how a technology can get popular in a specific region :)
17:49:15Calinouindent-based ftw!
17:49:24Yardanicolivcd, well he just mentioned it
17:49:29Calinoushame most of the programming world doesn't understand us :P
17:49:53livcdYardanico: i know but we talked about this earlier :)
17:51:04Yardanicoso I know my "birthday" in nim community
17:51:15Yardanicomarch 22
17:51:30*yglukhov joined #nim
17:51:33Calinouthat's not my birthday :(
17:52:07kobi7has anyone tried making a mobile app or game?
17:52:19Yardanicokobi7, yes
17:52:27Yardanicoping yglukhov :)
17:52:38Yardanicothey made a Reel Valley
17:52:39kobi7I am looking at android native ndk, it's like a giga byte in size.
17:52:40livcdand he just joined
17:52:41livcdwow
17:52:46Yardanicolol
17:53:00*kafke joined #nim
17:53:03Yardanicowhat a coincidence
17:53:04yglukhovhey guys whats up =)
17:53:19kobi7hi yglukhov
17:53:27Yardanicokobi7, https://github.com/yglukhov/android
17:53:27*skrylar quit (Remote host closed the connection)
17:53:44kobi7aahh, awesome!
17:53:44Yardanicoyou can easily add things that you need too
17:53:54FromGitter<Bennyelg> Who is going to build the first cryptocurrency with nim ? :P
17:54:28livcdah so these are bindings to ndk
17:54:38yglukhovnot only ndk
17:54:41kobi7yglukhov: 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:44yglukhovsome tiny bits of sdk as well
17:54:45yglukhov=)
17:55:18kobi7I mean, the apk, is it from java or cpp ? ...
17:55:30kobi7I'm really new to this.
17:55:38livcdi have not really investigated this so i thought it's nim -> js code -> react native
17:55:39yglukhovkobi7: for android you can go full nim but unicode key input will not work. otherwise, use a small mainactivity.java
17:55:52yglukhovkobi7: check out nimx
17:55:59Yardanicokobi7, https://github.com/yglukhov/nimx
17:56:20yglukhovjust run nake droid, it will launch a sample app on your connected device
17:56:38yglukhovwith some additional steps it should guide you through ;)
17:56:50livcdit's only android right ? no iOS
17:56:57yglukhovios as well
17:56:59yglukhovnake ios
17:57:00livcdwow
17:57:02yglukhovnake ios-sim
17:57:04yglukhovnake js
17:57:08yglukhovnake emscripten
17:57:27yglukhovand native desktop of course
17:57:29yglukhovjust nake
17:57:41livcdi am impressed
17:57:45FromGitter<Bennyelg> Scary
17:58:09kobi7yglukhov: how does this mainactivity.java should look like?
17:58:36FromGitter<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:09kobi7yglukhov: nm, i think I understand
17:59:25livcdyglukhov: and everything is nim ?
17:59:35yglukhovkobi7: https://github.com/yglukhov/nimx/blob/master/test/android/template/src/main/java/io/github/yglukhov/nimx/NimxActivity.java
17:59:37livcdsorry...in reel valley
17:59:42kobi7Thanks!
18:00:10yglukhovlivcd: well. not everything. gitlab-ci scripts are bash :D
18:00:13Yardanicolivcd, yes, it's 99.9% nim
18:00:31livcdwow
18:00:35yglukhovand MainActivity.java
18:00:36*dddddd quit (Remote host closed the connection)
18:00:39yglukhovaround 500loc
18:00:50Yardanicolivcd, https://yglukhov.github.io/Making-ReelValley-Overview/
18:00:51*Jesin quit (Quit: Leaving)
18:01:11yglukhovcool, looks like i've got a pr manager ;)
18:02:02kobi7yglukhov: Do I have to use the android studio thing to connect it all together?
18:02:27yglukhovkobi7: no, just have the sdk/nkd installed somewhere
18:02:34yglukhovnake will ask you for the paths
18:02:35kobi7also, if it's java, how does it load the cpp library?
18:02:47kobi7ah. i'll check out nake later then
18:03:02kobi7cpp library, i mean the nim compilation
18:03:48yglukhovthe 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:41yglukhovthe build for all platforms is here: https://github.com/yglukhov/nimx/blob/master/nimx/naketools.nim
18:04:47*Jesin joined #nim
18:05:14yglukhovfor android it runs nim without c compiler so that it outputs to jni/smth, then runs gradle.
18:05:30yglukhovso all of the android dependencies can easily be handled with gradle
18:06:17yglukhovkobi7: just in case, the dependencies can be installed with a single command `nimble install -dy`
18:06:22yglukhovthose include nake
18:07:41kobi7I haven't understood this sentence: runs nim to output jni
18:08:02kobi7jni the java native bridge right?
18:08:12Yardanicokobi7, he just calls nim without C compilations
18:08:15Yardanico*compilation
18:08:18Yardanicoso nim just outputs C files
18:08:43Yardanicoif I undestood yglukhov correctly :)
18:08:45yglukhovkobi7: jni is a folder in gradle project structure
18:08:51kobi7Ah, i see.
18:08:59yglukhovbut yeah, you're right as well =)
18:09:25kobi7great info, thanks for the introduction. Maybe we should write a tutorial or some docs to get people started easily
18:09:38kobi7:-)
18:09:49yglukhovgit clone nimx; nimble install -dy; nake droid
18:09:55yglukhovlike this? =)
18:10:00kobi7hehe lol
18:11:19yglukhovwell, ok, a bit harder than that, but not much.
18:11:28yglukhovanyways, prs are welcome ;)
18:12:17kobi7jnim ?! wow you guys have everything!
18:13:18yglukhovhaha... you'd be impressed =)
18:13:34kobi7:D
18:13:45Yardanicokobi7, they have EVERYTHING
18:14:17Yardanicowhy https://github.com/dashboard/discover still doesn't show Nim repositories for me?
18:14:19Yardanicoit's a shame
18:14:33Yardanicooh wait, it shows karax
18:14:35Yardanicoyay
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:54YardanicoYAAAAAAAAAAAAAAAY
18:57:58Yardanico102 votes!!!! http://www.strawpoll.me/14163114/r
18:58:06Yardanicoit's amazing how much people have voted, really
18:58:25Araqmaybe I should prepare for this...
18:58:35YardanicoAraq, It's not clear if destructors will win
18:58:45Yardanicoonly 9 votes between destructors & karax :P
18:58:53couven92Yardanico, 103 votes! :)
18:58:57Yardanicocouven92, yeah
18:59:10Yardanicowhere do all these people come from? :)
18:59:26Yardanico(well we have posted on twitter, reddit, I posted on nim forums today)
18:59:29couven92Tromsø, Norway! :P That'd be one at least :D
18:59:30Araqtwitter, nim's forum, #nim, reddit, HN?
18:59:33YardanicoHN?
18:59:40*lastjedi joined #nim
18:59:47Yardanicodid we post it on HN? hmm, I don't really remember
18:59:58AraqI'm guessing
19:00:28FromGitter<gokr> @couven92 Tromsö? Cool. You are entering the dark period soon, right?
19:00:58Yardanico105 votes... wtf
19:01:00couven92gokr: yeah it's getting dark earlier each day
19:01:19FromGitter<gokr> I actually voted right now for both destructors and karax/ormin.
19:01:26Yardanicolol
19:01:33Yardanicoso you didn't change anything :D
19:01:37FromGitter<gokr> Exact :)
19:02:54YardanicoAraq, hype
19:03:14Yardanicowe'll also promote your stream on other resources on thursday :P
19:03:19Yardanicowell not hype
19:03:21Yardanicowrong word
19:05:33couven92Though, 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:00gokr"somewhat responsible" is probably an understatement ;)
19:06:11Yardanicocouven92, yeah
19:06:23couven92gokr yeah I wanted to express that as humble as possible! :D
19:06:28gokrHehe
19:06:42Yardanicoit's always calm and nice to listen for someone who is basically the "god" in some programming language :P
19:07:16TjYocoIt'd be really nice to get the twitch chat on screen or something instead of flipping between IRC when you get pingd
19:07:20Yardanicoprobably Araq didn't quite expect so many votes
19:07:31YardanicoAraq, did you try to install kapchat again?
19:07:33gokrInternet is a big place.
19:08:06YardanicoAraq, https://youtu.be/-mpy7EE9MEs?t=1m13s
19:08:10couven92Yeah, 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:13Yardanico(it's a tutorial for OBS chat plugin)
19:08:57AraqYardanico, I'm playing with Twitch's settings
19:09:01couven92TjYoco, you can open the twitch chat in IRC :)
19:09:06Yardanicoah, yes
19:09:07Yardanicoalso that
19:09:42YardanicoAraq, I can try to make a bot which will transfer all messages from twitch to IRC
19:09:45Yardanicoprobably
19:09:55Yardanicoif I can make it connect to 2 irc servers at the same time
19:10:35couven92Yardanico, load the nim irc module, new up two separate instances of the IrcClient
19:11:00Yardanicocouven92, is it async?
19:11:48couven92I am not sure...
19:13:02Yardanicocouven92, 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:21livcdi also voted now :)
19:22:05*kafke quit (Ping timeout: 252 seconds)
19:24:17*Arrrr quit (Ping timeout: 248 seconds)
19:25:15Yardanicoyou know that's 1/6 of all people who did nim survey? well that's expected to happen
19:25:26Yardanicobecause nim community survey required you to answer more questions
19:25:48Yardanicoand strawpoll is simple
19:27:31*Vladar quit (Quit: Leaving)
19:28:28enthus1astwas there any hint on the site for the live streaming?
19:28:39Yardanicoenthus1ast, what hint? on nim website? no
19:29:18enthus1asthas it been recordet? :D
19:29:27Yardanicoenthus1ast, yes
19:29:31Yardanicodom96 has posted his streams
19:29:34Yardanicobut Araq didn't yet
19:29:55livcdi only did crystal survey sorry :S
19:30:03Yardanicoarrgh
19:30:19*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:31:11livcdi 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:28enthus1astlivcd: try nim its nice :)
19:32:55Yardaniconim vs crystal = python vs ruby
19:32:56YardanicoxD
19:33:02enthus1astyou can also try it online https://play.nim-lang.org/
19:33:15livcdyes i am trying from time to time :)
19:34:36Yardanicowell I honestly really like that Nim compiles to C
19:34:44Yardanicoyou get better compilation times and less hassle
19:35:01Yardanicobecause you don't need to install LLVM libraries to compile the compiler :P
19:35:30YardanicoI mean nim takes less space
19:35:44livcdah you are comparing to Crystal
19:36:05Yardanicowell I don't say that crystal is bad
19:36:06dom96Yardanico: Creating a Twitch <-> IRC bridge sounds like a fun project
19:36:27dom96But there definitely are existing solutions for this
19:36:34livcdYardanico: 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:34Yardanicodom96, can't find one
19:38:41Yardanicoin 1 minute :P
19:38:58dom96Just google "irc relay bot"
19:39:09*smt` joined #nim
19:39:10Yardanicotwitch irc is a bit different
19:39:29*dddddd joined #nim
19:40:23dom96how?
19:42:01*smt quit (Ping timeout: 240 seconds)
19:42:05FromGitter<Bennyelg> @livcd I hate ruby
19:42:25FromGitter<Bennyelg> @livcd So I hate Julia style & crystal style
19:42:32FromGitter<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:43dom96Yardanico: If Twitch IRC was different then your IRC client wouldn't be able to connect to it
19:48:12livcdbennyelg: you have to pick your poison :)
19:48:41*lastjedi quit (Ping timeout: 255 seconds)
19:48:55FromGitter<Bennyelg> @livcd correct :D
19:49:01FromGitter<Bennyelg> what A nice package!! https://github.com/jlp765/tnim/
19:53:00*NimBot joined #nim
19:53:23UxerUospr@Bennyelg what does one do with it?
19:53:42ipjkdom96, Yardanico: https://dev.twitch.tv/docs/irc
19:53:44FromGitter<Bennyelg> Its a repl,
19:54:13FromGitter<Bennyelg> you can just run it and type like it's interpreted language .
19:54:34FromGitter<Bennyelg> the problem is, from what I see now is I can't write complex types or more then 1 row
19:54:48UxerUosprAh, interesting
19:55:03FromGitter<Bennyelg> you dont know Ipython?
19:55:07FromGitter<Bennyelg> or python
19:55:13FromGitter<Bennyelg> from the command line
19:55:32UxerUosprI've never used Ipython. I've used python quite a lot... yes from the command line
19:56:40FromGitter<Bennyelg> so this is something like that
19:56:47UxerUosprMaybe I'll try it out. I don't see compiling as much of a burden, though
19:56:55FromGitter<Bennyelg> looks like it's still need some improvments
20:01:20Yardanicoipjk, I know
20:01:45YardanicoBennyelg: there's one problem with REPL for compiled languages...
20:01:47Yardanicothey're compiled :P
20:02:16FromGitter<Bennyelg> of course, but they funny
20:02:18Yardanicodom96, I'll probably reuse some code from this repo: https://github.com/Yardanico/tinytwitch
20:02:33Yardanicoit's not the best code, and I don't need those fancy mod badges
20:02:36*elrood quit (Quit: Leaving)
20:02:37Yardanicoonly plain message transfer
20:03:22dom96sure
20:09:35*guelosk quit (Ping timeout: 260 seconds)
20:12:03YardanicoI'm amazed of IRC library API
20:12:06Yardanicoit's so simple!
20:14:00dom96:D
20:15:02*miran_ quit (Ping timeout: 260 seconds)
20:16:51livcdwinim is the new pkg for win api right ?
20:20:56dom96never heard of it
20:21:05couven92livcd, well I have a stale nim-windowssdk pet project
20:21:08couven92:P
20:30:38*FromTwitch joined #nim
20:30:59FromTwitch<yardanico> hi from twitch boiz
20:31:03Yardanicohi from irc
20:31:13Yardanicohmm, doesn't send to twitch for some reason
20:31:13Yardanicoah
20:31:16Yardanicoauth :P
20:31:34*claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com)
20:31:55*kafke joined #nim
20:32:20CalinouYardanico: also, Crystal still lacks Windows support right now, although it's coming soon™
20:32:26Calinou(excluding the WSL)
20:33:50*FromTwitch quit (Remote host closed the connection)
20:33:57*FromTwitch joined #nim
20:33:58Yardanicohi
20:34:03FromTwitch<yardanico> hi
20:34:08Yardanicohmm
20:34:10*FromTwitch quit (Remote host closed the connection)
20:34:23Yardanicotest pls
20:34:25gokrI need a testdriver - anyone has 2 min?
20:34:25*FromTwitch joined #nim
20:34:31Yardanicogokr, well I can probably help you
20:34:38gokrOk, 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:10livcdCalinou: yes that's why i do not even bother with Crystal (yet)
20:45:01livcdi 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:57dom96Yeah, I'm actually surprised that this isn't much of a problem for most people (lack of Windows support)
20:46:51livcdin general or in nim ?
20:47:03Yardanicolivcd, for crystal probably :)
20:47:13Yardaniconim has good windows suport
20:47:19livcdYardanico: crystal is out of the question as it has no windows support at all
20:47:28Yardanicoaraq uses windows
20:47:32Yardanico(sometimes)
20:47:37Yardanicoso that's why we have good windows support :P
20:49:37livcdfor 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:49livcdalso better soap/wsdl
20:52:36*FromTwitch joined #nim
20:52:47Yardanicoguys, type some messages here and on https://go.twitch.tv/yardanico
20:52:57Yardanicoin channel chat
20:53:10FromTwitch<yardanico> because I may have missed something :D
20:53:40FromTwitch<indianpojken> Test
20:53:45Yardanicoyay
20:54:48Calinou:kappa:
20:55:02Yardanicoyou don't need ::
20:55:03Yardanicojust
20:55:08FromTwitch<yardanico> Kappa
20:55:09YardanicoKappa
20:55:12Yardanicoyes it works
20:55:56livcdno twitch account
20:56:12Yardanicoit still works
20:56:26Yardanicoand you'll be able to talk with people from twitch
20:56:30Yardanicoon Araq's stream :)
20:56:37*FromTwitch quit (Remote host closed the connection)
20:56:43YardanicoI will refactor code now (a bit)
20:57:01dom96yay, nice
21:01:09*couven92 quit (Quit: Client Disconnecting)
21:02:44livcdi 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:50Yardanicowhy does it show NimBot ? :)
21:05:02Yardanicoah
21:05:06Yardaniconick and user
21:05:10Yardanicoand realname
21:06:23*FromTwitch quit (Remote host closed the connection)
21:07:10Yardanicoshould I make @araq4k -> Araq replace ? :)
21:07:20dom96nah
21:07:27Yardanicoso people will be able to mention Araq if they've mentioned them on twitch
21:07:33Yardanico*him
21:07:53*derlafff quit (Ping timeout: 255 seconds)
21:07:56livcdi 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:18Yardanicolivcd, is it open-source really?
21:08:24livcdYardanico: yes
21:08:29Yardanicolivcd, can you link it?
21:09:11livcd in /q
21:09:23dom96livcd: can you PM me it too? I'm curious
21:09:31ipjkI got to see this too
21:09:46dom96But why does it need to go through PM if it's open source? :)
21:10:03livcdi do not want this to be indexed by your bots
21:10:03livcd:D
21:18:45livcdis 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:28FromTwitch<> Welcome, GLHF!
21:27:28FromTwitch<> Your host is tmi.twitch.tv
21:27:28FromTwitch<> This server is rather new
21:27:28FromTwitch<> -
21:27:29FromTwitch<> -
21:27:31FromTwitch<> You are in a maze of twisty passages, all alike.
21:27:33FromTwitch<> >
21:27:39*FromTwitch quit (Remote host closed the connection)
21:27:42Yardanicooh shit sorry
21:28:35*FromTwitch joined #nim
21:28:38FromTwitch<yardanico> hi
21:28:40Yardanicohi
21:28:44*FromTwitch quit (Remote host closed the connection)
21:28:54Yardanicodom96, should this IRC bridge log messages into the console?
21:28:56Yardanicoor no?
21:36:17*kafke joined #nim
21:36:28ipjklivcd: 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:46livcdipjk: 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:58Yardanicohi!
21:39:06Yardanicook, I did everything
21:39:13Yardanicoit also has a config file now
21:39:17*FromTwitch quit (Remote host closed the connection)
21:39:50FromGitter<zetashift> Is it written in Nim?(the twitch bot)
21:40:12Yardanicoyes, of course
21:40:14Yardanicoit's very simple
21:40:15livcdipjk: 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:27livcdand 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:11Yardanicohi
21:41:15*FromTwitch quit (Remote host closed the connection)
21:41:37*FromTwitch joined #nim
21:42:04FromGitter<zetashift> As a nimnoob I'd love to see the source, if you'll eventually upload it
21:42:17Yardanicoyeah I'll now
21:42:23dom96Yardanico: into the console?
21:42:28dom96you mean your own terminal?
21:42:35Yardanicodom96, what do you mean?
21:42:38YardanicoI'll share it
21:42:43Yardanicoon github
21:42:47dom96Regarding your question
21:42:55dom96I'm wondering what you mean
21:43:03Yardanicodom96, ah, I was asking
21:43:14Yardanicoif twitchrelay should log all messages to the terminal
21:43:37dom96sure, why not
21:44:47dom96I 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:34livcddom96: 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:56Yardanicor
21:47:56*FromTwitch quit (Remote host closed the connection)
21:48:08dom96I can't because I don't have the latest figures :)
21:48:43livcdahh just the rough number
21:49:29*FromTwitch joined #nim
21:49:31Yardanicochecking logs
21:49:38Yardanicoyeah that works
21:49:43FromTwitch<yardanico> yes
21:49:45*FromTwitch quit (Remote host closed the connection)
21:54:49*voiceftp joined #nim
21:56:38Yardanicodom96, zetashift, livcd: https://github.com/Yardanico/twitchrelay
21:57:11Yardaniconot 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:37livcdnice
22:00:50livcdoh already tomorrow
22:00:53Yardanicoyeah
22:01:14FromGitter<zetashift> sweet thanks
22:01:43*derlafff joined #nim
22:02:18*FromTwitch joined #nim
22:02:23Yardanicologs?
22:02:31FromTwitch<yardanico> test
22:02:40Yardanico"Sending `<Yardanico> logs?` to Twitch"
22:02:44Yardanico"Sending `<yardanico> test` to #nim"
22:03:26*FromTwitch quit (Remote host closed the connection)
22:03:39*FromTwitch joined #nim
22:03:39Yardanicowell 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:45Yardanicodom96, you can use it as well if you stream :)
22:07:12Yardanicobtw, binary is only 288kb
22:07:24Yardanico*228 kb with strip -s
22:07:33*FromTwitch joined #nim
22:07:36*FromTwitch quit (Remote host closed the connection)
22:08:21Yardanico122 votes, and destructors are 15 votes ahead http://www.strawpoll.me/14163114/r
22:08:33Yardanicogood night everyone
22:08:36*Yardanico quit (Remote host closed the connection)
22:12:27FromGitter<mratsim> give me destructoooooorrrss. That’s shut everyone up about the GC :P
22:14:32FromGitter<Yardanico> Help Araq on today's stream :P
22:16:12FromGitter<mratsim> This is annoying when it happens :/ ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59e7d2ab01110b7231d26fcd]
22:17:53Araquse better names?
22:18:16AraqopenArray is not exactly a beautiful name
22:18:59FromGitter<mratsim> no, I don’t use the name openarray
22:19:12FromGitter<Yardanico> @mratsim don't try to pass built-in arrays to your concept, this will crash the compiler :)
22:19:16FromGitter<Yardanico> You do
22:19:27FromGitter<Yardanico> Your filename is openarray :D
22:20:15FromGitter<mratsim> oh it’s the file name
22:20:16*Sentreen joined #nim
22:20:35FromGitter<mratsim> right >_>
22:21:35*derlafff joined #nim
22:22:12FromGitter<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:31FromGitter<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:37FromGitter<Yardanico> It would be useful for people who don't have irc, or for people who don't have twitch
22:23:00FromGitter<Yardanico> Ehm, wait, this is not a concept
22:23:12*JappleAck joined #nim
22:23:14FromGitter<mratsim> opening a bug then
22:23:51Araqyardanico: ok
22:24:12FromGitter<Yardanico> @mratsim thought you would do your own openarray like concept
22:24:40FromGitter<mratsim> well both
22:25:04FromGitter<mratsim> the feature request is really a feature request
22:25:13FromGitter<mratsim> and the thing I pasted is a bug ;)
22:26:11*derlafff quit (Ping timeout: 255 seconds)
22:27:06FromGitter<mratsim> The bug actually gave me the idea of the feature
22:32:37*derlafff joined #nim
22:34:53FromGitter<Yardanico> Guys, LOL
22:35:22FromGitter<Yardanico> I just registered "FromIRC" twitch nicknames
22:35:28FromGitter<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