<< 27-04-2016 >>

00:29:12*yglukhov joined #nim
00:29:55*chrisheller quit (Remote host closed the connection)
00:33:23*yglukhov quit (Ping timeout: 244 seconds)
00:33:30*gokr quit (Ping timeout: 268 seconds)
00:39:06*chrisheller joined #nim
00:53:37*yglukhov joined #nim
00:58:22*yglukhov quit (Ping timeout: 260 seconds)
00:59:07*brson quit (Ping timeout: 250 seconds)
01:29:50*yglukhov joined #nim
01:34:21*yglukhov quit (Ping timeout: 244 seconds)
01:49:43*chrisheller quit (Ping timeout: 252 seconds)
01:54:10*yglukhov joined #nim
01:55:40*castlelore quit (Quit: WeeChat 1.4)
01:56:10*castlelore joined #nim
01:59:02*yglukhov quit (Ping timeout: 260 seconds)
02:05:56*brson joined #nim
02:30:10*yglukhov joined #nim
02:35:03*yglukhov quit (Ping timeout: 276 seconds)
02:41:43*pregressive joined #nim
02:46:08*chrisheller joined #nim
02:46:17*pregressive quit (Ping timeout: 260 seconds)
02:54:38*yglukhov joined #nim
02:54:59*PMunch quit (Quit: leaving)
02:59:45*yglukhov quit (Ping timeout: 276 seconds)
03:08:33*space-wi_ joined #nim
03:10:27*space-wizard quit (Ping timeout: 244 seconds)
03:30:35*yglukhov joined #nim
03:35:17*yglukhov quit (Ping timeout: 260 seconds)
03:41:06kingofoztoday I build urho3d against directx11
03:41:40kingofozthen I compile character.nim, please see below error:
03:42:03kingofoz"C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86\d3dcompiler.lib"
03:42:04kingofoz"C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86\d3d9.lib"
03:42:04kingofozd:\labs\urho3d-1.5\build\lib\urho3d_d.lib
03:42:04kingofoz Creating library d:\labs\urhonimo\examples\character.lib and object d:\labs\urhonimo\examples\character.exp
03:42:04kingofozurho3d_d.lib(D3D11Graphics.obj) : error LNK2019: unresolved external symbol _D3D11CreateDevice@40 referenced in function "private: bool __thiscall Urho3D::Graphics::CreateDevice(int,int,int)" (?CreateDevice@Graphics@Urho3D@@AAE_NHHH@Z)
03:42:06kingofozurho3d_d.lib(D3D11Graphics.obj) : error LNK2001: unresolved external symbol _IID_IDXGIAdapter
03:42:08kingofozurho3d_d.lib(D3D11Graphics.obj) : error LNK2001: unresolved external symbol _IID_IDXGIFactory
03:42:10kingofozurho3d_d.lib(D3D11Graphics.obj) : error LNK2001: unresolved external symbol _IID_IDXGIDevice
03:42:12kingofozurho3d_d.lib(D3D11Graphics.obj) : error LNK2001: unresolved external symbol _IID_IDXGIDevice1
03:42:16kingofozurho3d_d.lib(D3D11Graphics.obj) : error LNK2001: unresolved external symbol _IID_ID3D11Texture2D
03:42:18kingofozurho3d_d.lib(D3D11ShaderVariation.obj) : error LNK2001: unresolved external symbol _IID_ID3D11ShaderReflection
03:42:20kingofozd:\labs\urhonimo\examples\character.exe : fatal error LNK1120: 7 unresolved externals
03:50:24*space-wi_ quit (Quit: My Mac has gone to sleep. ZZZzzz…)
03:54:46*space-wizard joined #nim
03:55:12*yglukhov joined #nim
03:55:28*space-wizard quit (Max SendQ exceeded)
03:56:09*space-wizard joined #nim
04:00:12*yglukhov quit (Ping timeout: 276 seconds)
04:11:21kingofozplease see this:
04:11:23kingofoz"C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86\d3dcompiler.lib"
04:11:23kingofoz"C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86\d3d9.lib"
04:11:35kingofozseems urhonimo is still linking with d3d9?
04:12:23*gunn quit (Quit: My Mac has gone to sleep. ZZZzzz…)
04:12:44kingofozAraq_, can you give me a little clue?
04:18:33*gunn joined #nim
04:22:17*brson quit (Quit: leaving)
04:24:13Demos_kingofoz, oh man
04:24:29kingofozhi
04:24:37Demos_hi
04:24:46Demos_one moment
04:25:11Demos_so for starters you probably need to compile with MSVC if you want to target DX
04:25:14Demos_but you can try without
04:25:20*Varriount quit (Disconnected by services)
04:25:20*Varriount_ joined #nim
04:26:59Demos_try sticking {.link: dxguid.lib.}
04:27:07Demos_{.link: dxgi.lib.}
04:27:11Demos_at the top of your file
04:27:33kingofozlet me try
04:28:00Demos_maybe put d3d11.lib in there too
04:28:43Demos_I thought that was a bug in our Direct3D wrappers for a second there :)
04:30:18kingofozcharacter.nim(1, 9) Error: undeclared identifier: 'dxguid
04:30:42Demos_sorry
04:30:52Demos_{.link: "dxguid.lib".}
04:30:58Demos_same for the others
04:31:34*yglukhov joined #nim
04:32:18kingofozsame error:
04:32:32kingofoz"C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86\d3dcompiler.lib"
04:32:33kingofoz"C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86\d3d9.lib"
04:32:33kingofozd:\labs\urho3d-1.5\build\lib\urho3d_d.lib
04:32:33kingofozdxgi.lib
04:32:33kingofozdxguid.lib
04:32:44kingofozstill link d3d9.lib
04:33:12Demos_maybe try actually linking to d3d9.lib as well
04:33:16Demos_it's strange it requires that
04:33:17*vegansk quit (Remote host closed the connection)
04:33:18Demos_but who knows
04:33:38Demos_also, d3d9 is not a system component, so you may need to install the d3d9 dev redist
04:33:50Demos_I don't really know since d3d9 was before my time
04:34:34kingofozI don't understand
04:34:47Demos_{.link: "d3d9.lib".}
04:34:49Demos_probably
04:35:16Demos_oh
04:35:18Demos_link order
04:35:24Demos_try using the --link command line option
04:36:12kingofozcan you give me a complete command?
04:36:28kingofozD:\labs\Urhonimo\examples>nim cpp character.nim --link:d3d11.lib
04:36:28kingofozError: arguments can only be given if the '--run' option is selected
04:36:36*yglukhov quit (Ping timeout: 276 seconds)
04:37:04bozaloshtshput the link flag before 'cpp'
04:37:59kingofozsame error without {...}
04:39:44kingofozworks now with {...} in the head of the file
04:40:00kingofoz"C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86\d3dcompiler.lib"
04:40:00kingofoz"C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86\d3d9.lib"
04:40:00kingofozd:\labs\urho3d-1.5\build\lib\urho3d_d.lib
04:40:00kingofozdxgi.lib
04:40:00kingofozdxguid.lib
04:40:01kingofozd3d11.lib
04:40:02kingofoz Creating library d:\labs\urhonimo\examples\character.lib and object d:\labs\u
04:40:04kingofozrhonimo\examples\character.exp
04:40:06kingofozsee above
04:40:18kingofozseems it still link d3d9?
04:43:41Demos_yeah
04:44:13Demos_if so , there's not much we can do about it
04:44:13kingofozso actually we fail?
04:44:21Demos_wait did it work or not?
04:44:38kingofozwhat?
04:44:59kingofozdemo can run
04:45:12kingofozbut seems it links still with dxd9
04:45:23kingofozI pasted the output
04:52:07*brson joined #nim
04:53:08kingofozdo I find a real bug for Araq_?
04:53:18kingofoz:-)
04:56:58*brson quit (Client Quit)
04:58:45*space-wizard quit (Quit: My Mac has gone to sleep. ZZZzzz…)
05:07:49*yglukhov joined #nim
05:10:09*Sonderblade quit (Ping timeout: 260 seconds)
05:12:00*yglukhov quit (Ping timeout: 246 seconds)
05:22:52*Sonderblade joined #nim
05:36:39*desophos quit (Read error: Connection reset by peer)
05:44:05*yglukhov joined #nim
05:48:05*s4 joined #nim
05:48:45*yglukhov quit (Ping timeout: 276 seconds)
06:11:55*Varriount_ quit (Read error: Connection reset by peer)
06:12:26*Varriount joined #nim
06:14:13*GangstaCat joined #nim
06:22:27*hcorion joined #nim
06:26:12*GangstaCat quit (Quit: Leaving)
06:31:21*hcorion quit (Remote host closed the connection)
06:40:38*filcuc joined #nim
06:49:23*yglukhov joined #nim
06:55:57*GangstaCat joined #nim
06:58:39*CARAM__ quit (Ping timeout: 264 seconds)
06:58:39*AckZ quit (Ping timeout: 264 seconds)
06:59:15*NhanH quit (Ping timeout: 264 seconds)
07:02:19*CARAM__ joined #nim
07:05:09*AckZ joined #nim
07:05:36*Arrrr joined #nim
07:05:36*Arrrr quit (Changing host)
07:05:36*Arrrr joined #nim
07:15:48*novavis quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
07:17:43*NhanH joined #nim
07:18:21*GangstaCat quit (Quit: Leaving)
07:32:48*Trustable joined #nim
07:40:03*ldleworker quit (Ping timeout: 240 seconds)
07:43:24*ldlework joined #nim
08:04:02*gokr joined #nim
08:06:49*dorei joined #nim
08:58:25*zaquest quit (Read error: Connection reset by peer)
08:58:55*novavis joined #nim
09:11:37*Demon_Fox quit (Quit: Leaving)
09:21:52*novavis quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
09:24:34*zaquest joined #nim
09:27:39*vegansk joined #nim
09:39:20*rok joined #nim
09:40:13*MyMind joined #nim
09:42:05*Sembei quit (Ping timeout: 244 seconds)
09:54:27*novavis joined #nim
09:58:05*novavis quit (Client Quit)
10:00:27*ephja joined #nim
10:08:33*yglukhov quit (Read error: Connection reset by peer)
10:10:17*yglukhov joined #nim
10:13:21*federico3 quit (Ping timeout: 246 seconds)
10:21:33*federico3 joined #nim
10:39:03*Arrrr quit (Ping timeout: 240 seconds)
10:40:21*elrood joined #nim
10:41:28*Arrrr joined #nim
11:13:12*gokr quit (Ping timeout: 246 seconds)
11:14:44*gokr joined #nim
11:24:01*Pisuke joined #nim
11:24:40yglukhovdom96, can i write a non-async function, that accepts a callback argument that it can call on the runForever loop?
11:26:33*MyMind quit (Ping timeout: 268 seconds)
11:27:32cheatfate_yglukhov, i think you want to extend current poller to poll other libraries?
11:27:45*gunn_ joined #nim
11:28:20yglukhovnot really. i basically want to call a function on main thread from another thread.
11:28:43yglukhovif youre familiar with Cocoa thats performSelectorOnMainThread
11:30:11yglukhovin other words, i want to write async procs in nodejs style. the procs don't return any futures, but call handlers upon completion
11:30:50*gunn quit (Ping timeout: 276 seconds)
11:37:25cheatfate_yglukhov, it looks like you dont need async then just use selectors.nim and dispatch callbacks on your own
11:38:20*GangstaCat joined #nim
11:39:05dom96yglukhov: Just use `poll` instead of `runForever` and call whatever function you want in between poll's
11:43:35*arnetheduck joined #nim
11:46:12cheatfate_dom96, i think poll() must be private, because if you start poll() in handler you will also can start deep recursion
11:46:39ephjathen how should it be invoked?
11:46:57dom96cheatfate_: by that logic runForever() and waitFor() should be private too then
11:47:41dom96I think I will simply detect whether poll() has been called from within a handler and if so throw an error.
11:48:11ephjathat's better than not being able to invoke it ;)
11:49:30cheatfate_maybe calls to poll() must be queued too
11:51:06cheatfate_dom96, in async program almost all functions are handlers or just procs invoked from handlers, so if you add this check, you will throw an error all the time
11:52:45ephjaI don't understand. Why would this be the case if 'poll' is not called inside a handler?
11:53:37ephjaif it's not, then no errors would be signalled, right?
11:53:48dom96what? `poll` is the procedure which would do the queue processing
11:53:54dom96so pushing it to the queue wouldn't work
11:55:31cheatfate_dom96, yeah its a wrong way to queue it... but using it in handlers is also a big problem... just because all callbacks from poll() will be dispatched in context of handler
11:55:45cheatfate_so recursion will start...
11:55:54ephjamanual looping would make things more obvious, but we could also mention how simple runForever actually is
11:56:31dom96like I said, you *shouldn't* be using it in handlers
11:56:53ephjaand the semantic checking would catch these mistakes
11:57:37cheatfate_dom96, i think we just need to have separate callback queue witch can be dispatched in runForever
11:58:53cheatfate_so we can add some kind of python's call_soon(), call_at() without any problems with recursion
11:59:22*rok quit (Quit: rok)
11:59:50dom96cheatfate_: yes, I already agreed that we should do that.
12:02:44yglukhovdom96: please consider the case with performSelectorOnMainThread, how can i do that?
12:03:26cheatfate_dom96, also i think we need to have AsyncLoop object to store this queue and dispatcher there and this can help us to change type of selector to use, so we can use IOCP and/or simple select
12:03:31yglukhovuser calls my function which should return immediately, but it will schedule some background task, and then needs to callback
12:06:01*gokr quit (Ping timeout: 250 seconds)
12:06:50*BitPuffin joined #nim
12:11:39federico3is it possible to read the value of a #define from a C header ?
12:12:21yglukhovfederico3: you can't literally read it, but you can define it as an importc var
12:12:37yglukhovand then use it in runtime
12:16:44yglukhovdom96: so as far as i can see, there needs to be some mechanism of creating dummy sockets (pipes?), so that you register the socket in the dispatcher, assign a read cb (handler) to it, signal (write) to it on another thread.
12:17:25federico3yglukhov: are you sure? "error: called object is not a function or function pointer"
12:17:46yglukhovfederico3: a gist would help ;)
12:17:47ephjashouldn't it be a 'var'?
12:19:07yglukhovvar MY_IMPORTED_MACRO {.importc, header: "<myheader.h>".} : cint
12:19:10yglukhovsmth like that
12:19:21federico3thanks!
12:19:30ephjaor 'let'?
12:20:03yglukhovlet might need initial value, which we cant know
12:21:40dom96yglukhov: hrm. Can you describe your use case a bit more concretely?
12:22:24dom96If you want to call something on a different thread then you will need to perform the communication yourself
12:22:50dom96I'm not sure what the async loop has to do with it, unless that something is async, but you said it's not?
12:23:16yglukhovok, here goes. I want to write a function that does http request: proc doHttpRequest(url: string, handler: proc(response: string)): void
12:23:30yglukhovplease note the handler and the void type
12:25:19yglukhovi want this function to work in js (with XMLHTTPRequest and native js runloop), in and SDL2 program, with its own runloop, and with nim's asyncio runloop, depending on user's build configuration.
12:26:06yglukhovwhen working with SDL i perform the request on a background thread, and then send an event to SDL runloop, so that it calls the handler on the main thread.
12:26:23yglukhovi want to be able to do the same with asyncio loop.
12:27:26yglukhovkinda nodejs style. does that make sense?
12:28:13yglukhovi can write a gist, if youd like
12:28:15cheatfate_dom96, looks like yglukhov needs callback queue/call_soon staff too :)
12:28:17dom96I think you will need to handle this yourself then. I'm not sure how SDL works here, but there is nothing in asyncdispatch that allows you to tell it "run this callback on the main thread"
12:29:21dom96maybe i'm not understanding it
12:29:40dom96What I would do is send the response via a Channel
12:29:43yglukhovdom96: "run this callback on the main thread" - is exactly what i want
12:29:47dom96and read the channel in the main thread
12:30:29cheatfate_dom96, its an example of callback queue usage :) "call this function on the main thread"
12:30:57dom96cheatfate_: well then our queue should be a channel
12:32:37dom96damn, they released Chapter 6 quickly.
12:32:38yglukhovdom96: can i somehow "inject" the "channel reader function" into existing asyncioloop, given that i can do this only from a non-async proc?
12:33:32yglukhovchannels might sound really close to what i want. a channel could conceptually represent the event queue
12:34:17dom96yglukhov: sure. Like I said, just do something like this: while true: asyncdispatch.poll(); let (received, msg) = respChan.tryRecv(); if received: echo msg
12:34:18cheatfate_yglukhov, you can just create asyncsocket and use asyncdispatch.addRead() but you need to get this socket readable...
12:35:23cheatfate_yglukhov, and also this method not works on windows
12:35:43*def-- joined #nim
12:36:04*def- quit (Read error: Connection reset by peer)
12:36:04*def-- is now known as def-
12:36:11*cheatfate_ is now known as cheatfate
12:37:40yglukhovdom96: considering that i'm writing a library that defines only one function that i wrote previously, and i can't tell my user that he should do anything else except runForever()?
12:38:20yglukhovgive me a couple of mins to make a gist.
12:40:17dom96alternatively you can just create async proc which checks your channel
12:40:33dom96and run it in the "background" with `asyncCheck`
12:42:59dom96oh, and you will need to sleepAsync to give the rest a chance to run
12:44:58yglukhovdom96: what do you think of this: https://gist.github.com/yglukhov/a03b53918fde20b429a0c1f31eb23742
12:50:19dom96yglukhov: I would do the channel reading in doHttpRequest
12:50:26dom96can you make doHttpRequest return a Future?
12:50:30yglukhovnope
12:50:59dom96well, it should still work
12:51:06yglukhovmeanwhile, can i await for channel msg?
12:51:07dom96I'll edit the gist
12:51:33dom96is doHttpRequest called in the main thread?
12:51:38yglukhovyes
12:55:05*cheatfate quit (Quit: Leaving)
12:55:25dom96oh, damn :\
12:57:21nivdom96: hey! i remember reading somewhere that there was the idea of making asyncdispatch and threads compatible somehow, so that distinct async handlers can run on different threads. is that a thing or did i dream that up?
12:57:53dom96yglukhov: something like this might work https://gist.github.com/dom96/2f6fd3b887ac755776544ec4006b94d0
12:58:48yglukhovdom96: that's really great, looks like 99%, except for line 9 =)
12:59:09yglukhovi mean, i already can live with that, but still... =)
12:59:15dom96yglukhov: what's wrong with it? :)
12:59:32dom96you can change the '1000'
13:00:05dom96niv: it is a thing, but it's difficult.
13:00:38yglukhovi mean, it's still "polling", which is bad. it can be smart enough, but still not the best. if it was like "await respChan.recv()" it would be much prettier
13:00:50*novavis joined #nim
13:02:49ephjawhy not use tryRecv or peek?
13:03:20yglukhovit would still poll
13:03:32yglukhov* you would still have to poll
13:03:59*cheatfate joined #nim
13:04:00dom96yglukhov: yes, that would be nice :)
13:06:25*cheatfate__ joined #nim
13:06:26*cheatfate__ quit (Client Quit)
13:23:05TrustableHi all. I'm looking for the best way to create a web application in Nim. I other use PHP, Python, Java, Node.js, Go or Elixir, but I want to use Nim. The web application should get the requests from Apache. What do you think is better: passing the request as SCGI or as raw HTTP request? Is there any notable alternative to AsyncHttpServer?
13:27:17*s4 quit (Quit: Konversation terminated!)
13:28:27ephjaTrustable: jester uses it https://github.com/dom96/jester
13:29:04dom96asynchttpserver is currently the best option
13:29:18dom96Pretty sure scgi is still synchronous
13:30:53Trustabledom96: yes, the the module http://nim-lang.org/docs/scgi.html is. But how about in general?
13:31:40dom96Trustable: in general you should use asynchttpserver
13:31:42dom96nimforum uses it
13:31:45dom96with nginx
13:35:36cheatfateTrustable, why you want to use Apache? you can easily satisfy Apache speed even with Bash
13:35:38*GangstaCat quit (Quit: Leaving)
13:36:59TrustableAt the moment I use Apache just because it's the default. I could think of switching to nginx.
13:43:17dom96Trustable: you should be able to use Apache too
13:44:08TrustableApache or nginx was not my question. But passing request as SCGI or HTTP?
13:44:53dom96HTTP
14:02:09Trustabledom96: ty, I'm curious about why SCGI exists at all, it seems to be useless.
14:03:15Trustabledom96: btw, when do you install SSL for https://nim-lang.org/ ?
14:06:34dom96Trustable: dunno, guess it's faster in some circumstances
14:07:17dom96Trustable: whenever lets encrypt supports Win XP
14:07:21Araq_Trustable: scgi is a protocol, http a mess. :P
14:08:00*novavis quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
14:10:04TrustableAraq_: probably you are right :D
14:10:38Trustabledom96: Let's Encrypt works without any issues under Firefox and Chrome for me.
14:10:49Trustable(WinXP VM)
14:14:35Varriountdom96: Eh, anyone who is still using WinXP for everyday activities deserves some discomfort.
14:15:32TrustableVarriount: absolutely correct :)
14:16:02VarriountBesides, isn't the problem related to the out-of-date root certificate store for WinXP?
14:16:15VarriountThat's not really something that can be worked around.
14:19:44TrustableVarriount: Do you mean your last sentence that way? This can be worked around by adding the root certificate.
14:20:20VarriountTrustable: I mean, it can't be easily worked around from server-side.
14:20:55Trustableok
14:36:08*pregressive joined #nim
14:44:39*deavmi joined #nim
14:44:41deavmiello all
14:44:49deavmiAraq_: Hi :)
14:49:58Araq_hi
14:50:32*Tristen joined #nim
15:10:46*GangstaCat joined #nim
15:14:18*Amun_Ra quit (Ping timeout: 244 seconds)
15:15:24*Amun_Ra joined #nim
15:18:24deavmiAraq_: Just wanted to say I love Nim
15:18:54deavmiso much that I started writing my own tutorial on it as I learn (as that is how I like to learn - by writing stuff out with good explanations)
15:23:39elroodtry to make notes of the oddities, pitfalls and unintuitivities as well as you go, these are usually the most valuable from a language design standpoint and will help smooth out the rough edges
15:27:06*fredrik92 joined #nim
15:27:45dom96deavmi: brilliant! Writing a tutorial like that will result in the best kind of tutorial because you don't have to predict where people will run into trouble :)
15:29:51deavmidom96: It's up hey. **Gets link**
15:30:04deavmiIt's still being written as I a quite the noob and still a student in Grade 11 at school
15:30:13deavmibut still it's in depth I think 9and that's good)
15:30:22*enthus1ast joined #nim
15:30:33deavmidom96: here's the link - https://walkman.carteronline.net/~deavmi/nim/
15:31:02Tristenl
15:33:16*dorei quit (Quit: Page closed)
15:34:21*PMunch joined #nim
15:34:32deavmidom96: It's on github as well - so you can make changes there and they will be built onto the documentation (tutorial)
15:34:40deavmidom96: https://github.com/deavmi/LearnNim
15:37:10deavmielrood: I am putting lots of effort into it and adding the problems I encountered when doing it so yeah, it is "personal" if that is the correct word. From eyes of a noob.
15:44:21*filcuc quit (Read error: Connection reset by peer)
15:52:14elroodgreat. well, while a personal touch and subjectivity certainly won't hurt, you might want to consider toning down the style a little, as awesomest ever might just be a tad too much fanboyish and somewhat offputting for other newcomers ;) have fun with it
15:53:32deavmielrood: True. Will do that. The front page is something I will fix later (should do it now) but yeah. Thanks, I will have fun with it ;)
15:54:57*yglukhov quit (Ping timeout: 260 seconds)
15:57:29*brson joined #nim
16:03:34*Jesin quit (Remote host closed the connection)
16:06:39deavmiI need a keyboard that won't hurt my wrists
16:13:40*alex___ joined #nim
16:14:26alex___does nim have an implementation of bounded channels (i.e. for backpressure; with limited message slots) ?
16:29:50deavmiAraq_: Does the pre-processor get rid of comments #hello?
16:30:25*yglukhov joined #nim
16:31:03elrooddeavmi, get one of these: https://www.trulyergonomic.com . or, if that's not within your price range, you could try to find one of these http://i.imgur.com/tuAM0.jpg or http://xahlee.info/kbd/ms_keyboard/i/Microsoft_Comfort_Curve_keyboard_2000.jpg
16:32:15deavmielrood: That looks great - - Acknowledgements: acks.md
16:32:33deavmielrood: I should invest in something like that.
16:32:41dom96I got one of these recently: https://www.amazon.co.uk/gp/product/B000YBZZU0/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1. It's pretty nice to rest your wrist on.
16:32:55deavmielrood: I have the third link that you said, the comfort curve.
16:33:12deavmiI'm using a bloody Razer Deathstalker. So yeah. not good at all for health.
16:34:39deavmidom96: My word that looks handy. Funny thing is, right now my left hand is paining, not my right hand (my mouse hand) https://www.amazon.co.uk/gp/product/B000YBZZU0/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1
16:34:54elroodprobably in the end you'll be better of or even more comfortable with a simple wristpad or a decent mechanical keyboard in standard layout, but can't hurt to try different things, ymmv
16:35:00elrood*off
16:35:14yglukhovdom96: could you have a look at https://github.com/nim-lang/Nim/issues/4120 please?
16:35:18deavmi"I should cut my left hand off" ~Deavmi 2016
16:36:19deavmiIs threading simple to do in Nim. I honestly have never EVER done multi-threading and was just wondering
16:36:46dom96I'm starting to worry that my wrists will begin to seriously hurting sometime soon (been in front of the computer programming since I was 10, its been 10 years since then and I never really cared that much about ergonomics).
16:36:56dom96*seriously hurt
16:37:08dom96yglukhov: will do
16:37:35dom96yglukhov: ahh, it's because runForever calls poll(500)
16:37:50dom96and the timers currently only run after the call to epoll/kqueue
16:37:52deavmidom96: Better get something good now
16:38:22deavmiFound this - pretty good for networking classes - https://github.com/alex/what-happens-when (#justrandom)
16:38:45dom96deavmi: yeah... It's not easy when I know I will be moving out in the next few months :)
16:39:00*space-wizard joined #nim
16:39:24deavmidom96: I just realised something I will still be sitting like the guy in the diagram on the left (in https://www.trulyergonomic.com/store/index.php) because my arms are long
16:39:31dom96deavmi: your tutorial looks nice btw
16:39:54deavmidom96: Thanks. It's mkdocs if you want to know (the default theme is best for non-distractions)
16:40:05deavmiand the default theme just looks good.
16:40:17flyxdeavmi: you need the right distance matching your arm length, obviously
16:40:21dom96deavmi: maybe you could roll your chair away from your desk? :)
16:40:29deavmidom96: I could I guess
16:40:40deavmiCtrl+Zoom wheel on firefox
16:40:45deavmiwill help squinting
16:40:53deavmiat small text like qwebirc irc
16:41:08*flyx has a truly ergonomic and loves it
16:41:24*arnetheduck quit (Ping timeout: 260 seconds)
16:41:31deavmiflyx: I must get one!
16:41:33deavmilol
16:42:05*rok joined #nim
16:42:15flyxbeing able to modify the firmware is also great
16:43:21deavmiflyx: wow, of the keyboard's chip?
16:43:28deavmiOr as in the programmable (macro keys)
16:43:29deavmi?
16:43:34elrooddom96, deavmi, as far as research goes, the things that are the most unergonomic actually aren't related to typing but altenating between keyboard and mouse, sideway movement with pressed buttons and using the mouse wheel, afair
16:43:54flyxdeavmi: yeah, they even have a graphical interface for it: https://www.trulyergonomic.com/store/layout-designer--configurator--reprogrammable--truly-ergonomic-mechanical-keyboard/
16:44:01deavmielrood: So smaller keyboard then?
16:44:10deavmiflyx: What OS do you run?
16:44:16dom96elrood: interesting
16:44:37flyxdeavmi: all of them. for private things mostly OSX though
16:45:07deavmiflyx: I see. I can have my own key caps. Lol
16:45:38flyxI modified the NumLock to switch Cmd and Ctrl around so I can use it on both OSX and Windows/Linux while having the same keyboard shortcuts
16:46:01deavmiflyx: Awesome
16:46:07deavmibloody cmd key
16:46:19deavmiflyx: Ever ran haiku?
16:46:23flyxno.
16:46:51deavmiflyx: It's bloody nice. I wonder what Haiku+SSD would be like. Probably extremely fast
16:47:01dom96Looks like the people want Slack https://twitter.com/nim_lang/status/725289411412414465
16:47:27flyxwhat's a slack?
16:47:40deavmiits for coding and chat
16:47:56deavmiLike you can add intergrations so that when you push commits it sends them to a slack chat room
16:48:05deavmiBasically a business tool
16:48:06dom96https://slack.com/
16:48:15deavmiproject management - bestter description
16:48:25elrooddeavmi, not necessarily a smaller keyboard (you can always go tenkeyless, of course) but actually using your mouse less and keyboard shortcuts more. and vim ;)
16:48:57deavmiI can't use vim to save my life
16:48:59deavmiand yeah
16:49:05flyxum, how is it different from IRC?
16:49:06deavmiMaybe I will learn it, but for now... nano
16:49:16*alex___ quit (Ping timeout: 250 seconds)
16:49:16dom96flyx: it's more noob-friendly :P
16:49:29deavmiflyx: More than one room poer account I think and yeah, makes adding intergartions (like the github one) easier
16:49:35deavmidom96: basically
16:49:42deavmi* poer=per
16:50:01*flyx is in a lot of rooms with one account.
16:50:05deavmiHas a nice app I think on iOS and android (never used the android one)
16:50:14flyxwell anyway, if it helps people choose Nim
16:50:25flyxas long as this channel doesn't get deprecated
16:50:26deavmiYeah.
16:50:33deavmiYeah, cause I like IRC
16:50:48deavmiAnd I could imagine a slack room getting completely blown up with github spam
16:50:59deavmi(well atleats that's what I did to my slack room)
16:51:06*enthus1ast quit (Ping timeout: 276 seconds)
16:51:42dom96I would possibly create a bridge between IRC and Slack
16:52:12dom96Biggest problem with Slack will be the fact that they only store 10K messages
16:52:28dom96but if it's bridged to IRC then NimBot can take care of it :)
16:52:33deavmiWe have IRC logs so yeah - I downvote for slack then
16:53:11elroodit's easy enough to get a bot to report commits on irc, if anybody really wants that. fractioning the community and attention between several services should be more of a concern, imho
16:53:34nivis there a way to make vaargs work on async procs? its backed by an openarray as far as i read, so that's a no i guess?
16:53:43dom96Well, like I said, I would provide a bridge. So it would only be an alternative way to connect with everyone.
16:53:54deavmiDoes anyone know here: Are the comments in nim code removed by the pre-porcessor or ignored by the compiler?
16:54:01dom96niv: sorry, no.
16:54:29dom96deavmi: Nim doesn't really have a pre-processor.
16:54:49nivdom96: i figured, thx for confirming
16:54:58deavmiWell then should I say the pre-processing code of the compiler
16:55:06deavmiIf you get what I mean
16:55:51nivdom96: i wrote a nim redis library with less features than yours and proper list handling. i just ran it in prod mode and benchmarked it, and it is just as fast as the official C library. thats pretty awesome i think.
16:56:27dom96niv: cool. Guess async works fairly well :D
16:56:47nivyeah. i benchmarked it against non-async and there was no difference. also adding ten async workers didnt change the numbers
16:57:05nivthe only thing that could make this faster would be more connections and multiple native threads
16:57:14niv.. hence my question about async multithreading ;)
16:57:39dom96deavmi: IIRC ordinary comments are removed, but doc comments end up in the AST (so macros can access them).
16:57:49dom96This might actually be the case for ordinary comments too though
16:57:56deavmidom96: By the compiler then
16:57:59deavmidom96: okay
16:58:06deavmidom96: Are doc comments strings?
16:58:12dom96deavmi: no
16:58:16dom96deavmi: # ordinary comment
16:58:20dom96deavmi: ## Doc comment
16:58:26deavmidom96: I see.
16:58:42deavmidom96: Difference between the two other than their prefixes?
16:59:07dom96deavmi: `nim doc` will include the latter in the generated documentation
16:59:35deavmiI see
16:59:41dom96niv: hrm, really? No difference vs. non-async, that's a bit surprising.
16:59:57nivi was probably cpu bound
17:00:07deavmiSo if I want someone to see the comment in the docs built by nim doc I use `##` but if i don't and just want to make a note for myself I use `#`
17:03:36deavmidom96: Going to add a page on doc comments tomorrow once I test out the doc comment feature. Thanks for telling me aboiut this.
17:04:25dom96deavmi: take a look at some of the modules in the stdlib, plenty of examples of doc comments in there.
17:09:08*yglukhov quit (Remote host closed the connection)
17:09:51*novavis joined #nim
17:23:55deavmidom96: Will do
17:26:31deavmidom96: My word that is sexy (I love nim doc) - https://walkman.carteronline.net/~deavmi/nimmy
17:26:38deavmiI see how these cpomments work now
17:26:48dom96:)
17:27:35deavmiJust realised something
17:27:40deavmiThe source for this: https://walkman.carteronline.net/~deavmi/nimmy
17:27:43deavmiis:
17:27:53deavmi##Hello #d ##bye #f echo("hello World")
17:28:15deavmiOn seperate lines; yet num doc puts the Hello and bye right next to each other on the generated page
17:36:16*brson quit (Ping timeout: 252 seconds)
17:36:53*bozaloshtsh quit (Quit: leaving)
17:39:40*bozaloshtsh joined #nim
17:40:14*bozaloshtsh left #nim (#nim)
17:44:00deavmidom96: Doc comments - https://walkman.carteronline.net/~deavmi/nim/doc-comments/
17:50:31*fredrik92 quit (Ping timeout: 250 seconds)
17:51:35*brson joined #nim
17:53:36*bozaloshtsh joined #nim
18:00:25ephjadeavmi: I'm diggin' that minimalism
18:00:44deavmiephja: of what? the docs?
18:01:09ephjayeah. quality over quantity
18:02:27*PMunch quit (Ping timeout: 268 seconds)
18:06:33*yglukhov joined #nim
18:06:53*bozaloshtsh quit (Changing host)
18:06:53*bozaloshtsh joined #nim
18:08:12*bozaloshtsh left #nim ("WeeChat 1.4")
18:08:14*bozaloshtsh joined #nim
18:09:52*Matthias247 joined #nim
18:10:44nivdom96: question - how do I await on a future without using {.async.}?
18:10:49nivyield?
18:11:08dom96you can't
18:11:23*GangstaCat quit (Quit: Leaving)
18:11:24dom96'await' is only possible inside an {.async.} proc
18:11:27niv:( apparently async clashes with generic return types. complains that it needs <proc>Iter implementation
18:11:55bozaloshtshyou could use waitFor to wait while blocking in a non async proc
18:12:41dom96bozaloshtsh: That's usually a bad idea
18:12:54nivhttps://gist.github.com/niv/a1d5b07ff5223191cf78136442595a4f sorry to bother you with all my async fringe cases :D
18:13:09dom96niv: no need to be sorry :)
18:13:57dom96niv: there is a bug for this: https://github.com/nim-lang/Nim/issues/3568
18:13:58nivthe plan for that sample case is to eventually expand T into all redis data types and perform validation
18:14:10dom96so I'm afraid that generics are not supported right now
18:14:26nivoookay
18:14:38bozaloshtshdom96: bad idea why?
18:14:50dom96bozaloshtsh: because you're then calling poll() from within poll()
18:15:12bozaloshtshah, so other things getting awaited for are screwed with?
18:15:44dom96not really, it just kind of defeats the purpose of async.
18:16:04dom96and there are issues which /may/ occur, like infinite recursions
18:16:09bozaloshtshsometimes I need to handle exceptions but that's not allowed in async procs so I'm forced to use waitFor
18:16:27dom96you can handle exceptions fine without a try.. catch
18:16:31dom96just do:
18:16:35dom96var fut = asyncProc()
18:16:36dom96await fut
18:16:39dom96if fut.failed: ...
18:16:52nivbut doesnt await(x) raise the exception?
18:16:59dom96nope
18:17:42dom96although, sadly, there is a chance that asyncProc() raises an exception too
18:17:44nivhow are these handled?
18:18:03dom96or actually... hrm, maybe there isn't.
18:18:05nivhow does someone calling await x() eventually get handed the exception?
18:18:12dom96(if there is a chance, then that's a bug)
18:18:41nivis it when retrieving the value from the future?
18:18:43dom96`await fut` is just `yield fut`
18:18:57dom96whereas, `let value = await fut` is `yield fut; let value = fut.read()`
18:18:57ephjajust define concrete procs for now
18:19:05dom96the read() is what raises the exception
18:19:12dom96niv: indeed
18:19:52nivthank you, that's good to know
18:21:01dom96btw, please let me know if there is anything I could do to make that more clear.
18:21:37nivnot to me, but it certainly should be in the docs
18:21:45niveven better would be if try/except worked transparently :p
18:21:48dom96Whether it is more documentation, or a rewrite of async :)
18:22:31nivits really not obvious at all how async works internally, and thats fine if you can just use it as-is, but if you have to watch out for these hundreds of corner cases, a bit more documentation wouldnt go amiss
18:22:34dom96I think the best way to see how it works is by example
18:23:05nivthen again, hyperbole aside, most of those issues are actual bugs and will be fixed in time
18:23:09dom96so don't be afraid to write small async procs which raise exceptions
18:23:11dom96and see how they behave
18:23:26dom96indeed
18:24:05ephjabefore 1.0? that would be neat
18:24:52nivthat puts a stop to my grand redis world domination master plan. i really want to keep it async
18:24:54ephjain addition to auto-gpuification, concepts and a brain-signal interface
18:25:12ephjaniv: you can't work around it?
18:25:19nivsure, but i'll have to rethink!
18:25:37*bozaloshtsh quit (Ping timeout: 250 seconds)
18:26:03dom96niv: sorry, I know it sucks :(
18:26:20*niv shrugs
18:26:27nivits not like nim is 1.0. these things are expected
18:26:41nivits still fun playing with it and it only gets ever better with each release
18:26:57dom96That's good to hear :)
18:28:14*Ven joined #nim
18:28:40dom96Well, I just tried this, and it raises an exception: https://gist.github.com/dom96/2bdf875a1110532394377e763643d73f
18:28:43dom96That's a problem :\
18:29:23nivi feel a bit bad, poking at the corner cases and bugs pop up left and right :p
18:30:02dom96if only my professors would give me marks for fixing these...
18:30:14deavmidom96: lol
18:30:24deavmiWhat's Araq_ real name
18:30:30deavmiAndreas .....something with a B
18:30:48dom96Sadly, I must instead spend time writing a board game in Java.
18:30:56dom96deavmi: Rumpf
18:31:06deavmidom96: java eheh. Not bad language in terms of learning concepts/
18:31:09nivdom96: ugh sorry to hear.
18:31:14ArrrrCool, which game?
18:31:17deavmiNo learning of a language goes to waste, bsedides brainf*ck
18:31:21nivis it go?
18:31:22dom96Arrrr: Game of Life Adventures Edition lol
18:31:32deavmiGame oif Life
18:31:34deavmilekker
18:31:44deavmiwhat about Half Life 3 in java (teh lag)
18:31:47nivdom96: cant you just add a java compiler output for nim and write it in nim?
18:31:52flyxwith some languages, you learn how not to do things.
18:32:01deavmiflyx: That to.
18:32:04nivor maybe a jvm implementation.
18:32:08dom96niv: hah, maybe
18:32:17dom96I think that would take more work
18:32:19ArrrrWell, you will kill it. What's the difference between the classic and the adventures edition?
18:32:21nivjust say you misunderstood and heard javascript, less work
18:32:24deavmiBut nothing goes to waste, it works your brain to think in abstract ways, and that is what is needed
18:32:29dom96Arrrr: No idea.
18:32:34deavminiv: lol
18:32:38deavmiwrite in nim, compile to js
18:32:46nivyep
18:33:08dom96brb
18:33:12deavmidom96: k'
18:34:08deavmiMy tutorial will be better than this - https://en.wikibooks.org/wiki/Nimrod_Programming
18:34:22deavmithat book is so unfinished with broken english i just can't be arsed
18:34:39deavmi"A course from the very beginning to the end with nimrod."
18:35:01deavmimore like "A course from the very beginning to the [finish book pls] with nimrod."
18:35:41ArrrrNimrod, now that was a magnificient name
18:36:39ephjathere's a WIP PHP generator, right?
18:36:55ephjaI refuse to write JS and PHP code manually ;)
18:37:21*jonasac joined #nim
18:39:20*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:40:06*jonasac quit (Client Quit)
18:40:19Tristenwrite php manually?
18:40:28TristenHow would you do it automagically?
18:40:39Tristenbtw I am Deavmi (just using irssi)
18:40:47flyxslam your head on the keyboard?
18:40:51flyxoh wait, that was perl
18:40:57deavmiflyx: XD
18:41:05deavmiPerl and the dollar signs
18:41:12*GangstaCat joined #nim
18:41:12deavmiBash did it right in my opinion.
18:41:14deavmiBut perl
18:41:24deavmijust wanted to get on that UNIX BANDWAGON SYNTAX
18:41:29deavmi* UNISH SHELL
18:41:40deavmiI can't spell. I give up. My jokes always back fire.
18:41:42flyxPerl 6 has some interesting stuff
18:41:48nivi believe that's called a write-only language?
18:41:49deavmisuch as?
18:41:57deavmiwrite0only?
18:42:10deavmiI <3 Bash.
18:42:16nivas in, rewriting is faster than trying to understand the code
18:42:39flyxit has syntax for defining grammars
18:42:49deavmiI can;t do regex but I will learn it as I want to do programming language development hen I am older and the Gods of lexers told me its helpful (as in VERY important)
18:42:58deavmiflyx: grammars as in syntax
18:42:59*desophos joined #nim
18:43:04deavmiflyx: example?
18:43:23flyxhttps://doc.perl6.org/language/grammars
18:44:35*brson quit (Ping timeout: 244 seconds)
18:47:42ephjait's part of the language? how retro ;)
18:47:51*silven quit (Ping timeout: 246 seconds)
18:48:55deavmiThe Nim community is the best community.
18:48:56*silven joined #nim
18:49:22deavmiEspecially because these rooms are so quite but helpful (probably due to the quiteness)
18:49:34dom96deavmi: Someday I will put that as a quote on the Nim front page :)
18:49:48deavmiwhat
18:49:56deavmithe Nim community is the best community
18:50:15deavmiwell quite frankly it comes in second, my Catholic Church community is the best cimmunity IMHO
18:50:22deavmibut Nim comes in at second place
18:50:56ephjablasphemy
18:50:57deavmidom96: Have a quote widget that updates and goes through #Nimquotes
18:51:16deavmiephja: How that is blasphemy I do not know...
18:51:24deavmiephja: ?
18:52:09*Tristen quit (Quit: leaving)
18:53:57ephjathe nim god will not be pleased
18:54:05ephjait's a joke, and now I'm spending too much time on IRC again
18:54:46ArrrrWe are followers of Fra Dolcino here https://www.wikiwand.com/en/Fra_Dolcino
18:56:06ephjaI see
18:56:20ephjafancy menu
18:59:23*desophos quit (Remote host closed the connection)
19:00:08*deavmi quit (Ping timeout: 250 seconds)
19:02:27*fredrik92 joined #nim
19:02:29ephjawas he offended by that?
19:02:59ArrrrDid he leave?
19:04:02ephjayes
19:04:35dom96I think his client just timed out
19:04:44dom96Doesn't mean he explicitly left
19:04:48dom96but also doesn't mean he didn't
19:05:44ephjaI know. It's a common occurrence with browser clients
19:06:01*desophos joined #nim
19:06:10GangstaCatdeavmi
19:06:26GangstaCatoups sorry, would like to Ctrl+F
19:17:00*desophos quit (Remote host closed the connection)
19:18:23*desophos joined #nim
19:24:17*novavis quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
19:26:08*novavis joined #nim
19:33:27*Arrrr quit (Quit: WeeChat 1.4)
19:34:28*desophos quit (Remote host closed the connection)
19:35:13*desophos joined #nim
19:35:25*libman joined #nim
19:36:13libmanI've been thinking a lot about the problems that new languages face, and one of the biggest is fragmentation of the package ecosystem.
19:37:02*u0_a92 joined #nim
19:37:02u0_a92ls
19:37:05u0_a92hello deavmi here
19:37:18libmanMid-level ecosystems like Java and .NET share packages among all their languages, which is great. But this didn't happen among lower-level systems languages or scripting languages.
19:37:27u0_a92I was wondering. does nim allow one to add C code into the Nin program?
19:37:30u0_a92* Nim
19:37:44u0_a92as i have seen this on the frontpage of nim-lang.org
19:38:26libman(Among scripting languages the closest thing was Perl's Parrot, but it didn't fly far. Node.JS is now becoming the dominant platform, so if things like CoffeeScript and LiveScript are thought of as separate languages, they got a big boost from interoperability with the rest of the NPM packages.)
19:38:59Araq_libman: Ruby's gems are universally accepted as the standard, I can't follow.
19:39:21Araq_I mean 'universally=in the Ruby world'
19:39:57libmanHi Araq_. Ruby's gems, Python's eggs, NPM, CPAN, etc are all cores of their ecosystems, but they are shut-off from each-other.
19:40:22libmanIf CoffeeScript didn't compile to JS and had to reinvent all of NPM, it would have had a hard time.
19:41:50libmanI keep hoping I'll have a compelling reason to code Nim, but over the years isn't just not happening. Mainly it's because I didn't do much serious programming that needed something other than scripting. But Go, Rust, Julia, etc have bigger communities and package ecosystems.
19:42:35u0_a92btw i wasnt offended bybwhat was said earlier about "blasphemy"
19:42:55u0_a92its a common occurence on the knternet that one willnnot understand intentions. all is good.
19:42:58u0_a92:)
19:43:17u0_a92I just cant change my username XD
19:43:20libmanI've been thinking about WebAssembly and Rust's Mid-level IR... What if we could unite multiple systems languages into one ecosystem, like EcmaScript and CoffeeScript are one ecosystem?
19:44:00Araq_well we generate C, C++ and JS code and have very good interop
19:44:15Araq_but C and C++ have no package management we could benefit from
19:44:24dom96u0_a92: glad to hear you're not offended :)
19:44:26libmanNim has great syntax, but could it be like CoffeeScript for Rust (or Julia, etc)
19:44:57Araq_well it's like CoffeeScript for C?
19:45:10*BitPuffin quit (Read error: Connection reset by peer)
19:45:37libmanYes, but I'm talking about a common library format and ecosystem that multiple languages (including Nim) could share. LLPM? MIRPM?
19:46:00libman(MIR == Rust's Mid-level IR)
19:47:04libmanMaybe in a few years WebAssembly will jump to the server and have a common package ecosystem, but then again maybe not...
19:48:29Araq_LLVM's IR? I cannot see that happening.
19:49:26dom96I think no matter what you will always need wrappers
19:49:30dom96which are the biggest problem
19:49:43dom96you can already use A LOT of C libraries from Nim
19:50:02*chrisheller quit ()
19:50:17libmanOK, so no hope of Rust (or Julia, maybe even Go, etc) and Nim sharing a common library and package manager ecosystem?
19:50:58Araq_there is also .NET and Java bytecode and diverse IRs for GPUs. Not to mention ARM assembly language. In theory nobody ever needed more than ARM (or x86 for that matter) and yet new low level representations and languages pop up all the time.
19:52:40libmanIf that's not a possibility, then I guess WebAssembly is our last best hope of a sane lower-level library ecosystem with language choice.
19:54:11libman(My Copyfree license-nagging adventures in that land remain inconclusive, heh... https://github.com/WebAssembly/design/issues/668 )
19:55:25Araq_the industry has forces to unify stuff as well as forces that try to keep things incompatible so we usually have 3-5 different things: 3 major OSes, 4 different browsers, 5 different game engines for AAA games, 2-3 mobile platforms
19:56:56Araq_you're right though that JavaScript has a monopoly.
19:57:18Araq_hence it's the most common programming language on earth by now or something.
19:58:25libmanOnly among new script-kiddie code. Most existing and high-value code is still C and Java.
19:59:41*brson joined #nim
20:04:23Araq_there was some study on the amount of code for a typical Linux distro in the 90s or something. it contained more shell, python and perl code than C and assembly ;-)
20:05:30Araq_but maybe it's indeed not "high-value" code. can't say I disagree.
20:07:49*Matthias247 quit (Quit: Matthias247)
20:07:56elroodto be fair, in the 90s the linux kernel sources consisted of a mere few 100k lines of code. not really comparable to today's systems
20:11:57*Matthias247 joined #nim
20:12:42libmanGotta run soon. The point I wanted to inject into Nim dev thinking is how to avoid reinventing the wheel when it comes to the library ecosystem... Wish I had more than a vague concept to recommend...
20:12:58*bozaloshtsh joined #nim
20:13:46libmanMaybe that's something to think about for 2.0 ;-)
20:16:23elroodif you have more than a vague concept you'll be more than welcome to share it ;) until then, the wildly differing platforms, architectures, languages and toolchains we have make the idea pretty much infeasible, it's not as if it was a novelty
20:17:38libmanI thought maybe some of Rust's intermediate representations would offer a possibility.
20:18:56libmanThe Rust-Nim alliance could then grow to include other LLVM languages, Go, etc.
20:19:14libman(Or Nim-Rust.)
20:19:27libmanSpeaking of which, is crown going to remain the logo?
20:20:16libmanAs an Anarcho-Capitalist, I particularly like the black and gold colors used on https://glot.io/ :P
20:21:17libmanIs there an official version? What does the crown symbolize?
20:21:17elroodeven if there was a technical way to overcome all the present problems, which most would agree on is impossible, you haven't even begun to scratch on the surface of competing policies, communities, licenses, backing organizations etc.
20:21:20Araq_the crown will stay, yes.
20:21:45libmanPlease tell me it's covert libertarian symbolism for individual sovereignty... :P
20:21:52Araq_it stands for Nim's superiority (complex).
20:22:07libmanI like that.
20:22:37libmanWhich rendition of the crown logo canonical?
20:22:50libman*is canonical
20:23:05Araq_good question, the one you linked is perfectly fine at least.
20:24:05elroodit's not a symbol for the subliminal support of monarchism in Nim's community? ;P
20:24:06Araq_the one on my laptop is white/yellow though
20:24:09*novavis quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
20:25:52ephjaare assembly languages CoffeeScript for machine code? ;)
20:27:28*novavis joined #nim
20:27:41libmanSome examples of me using the crown logo in my Facebook posts: https://archive.is/iulib , https://archive.is/lU3oC , https://archive.is/UDBPR , https://archive.is/yScoV ,
20:31:37libmanhttps://archive.is/iszO5 , https://archive.is/PHgnE , https://archive.is/gnfNH, https://archive.is/LdTgw , https://archive.is/DCw7j , and https://archive.is/ayuBw .
20:32:30*PMunch joined #nim
20:32:50libman(No logo, but insightful on how Nim doesn't seem to end up on top of my decision support matrix - https://archive.is/x8gsA )
20:33:40*yglukhov quit (Remote host closed the connection)
20:34:09libmanephja: my analogy wasn't "any language that compiles to something else", but "a new language that piggybacks on an existing package ecosystem"
20:39:29*yglukhov joined #nim
20:40:04libmanBe back later.
20:40:14*libman left #nim (#nim)
20:49:06*PMunch quit (Ping timeout: 250 seconds)
21:15:42*rok quit (Quit: rok)
21:28:29*yglukhov quit (Remote host closed the connection)
21:44:40*Demon_Fox joined #nim
21:50:38*elrood quit (Quit: Leaving)
21:51:02*yglukhov joined #nim
21:55:24*yglukhov quit (Ping timeout: 250 seconds)
22:04:31*Trustable quit (Remote host closed the connection)
22:06:01*kulelu88 joined #nim
22:06:44*kulelu88 quit (Changing host)
22:06:44*kulelu88 joined #nim
22:09:04*Motan quit (Ping timeout: 250 seconds)
22:13:59*fredrik92 quit (Ping timeout: 250 seconds)
22:16:58*Varriount quit (Read error: Connection reset by peer)
22:17:14*Varriount joined #nim
22:23:05*Matthias247 quit (Read error: Connection reset by peer)
22:23:24*yglukhov joined #nim
22:28:07*yglukhov quit (Ping timeout: 260 seconds)
22:29:13*novavis quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
22:30:10*fredrik92 joined #nim
23:15:26*Jesin joined #nim
23:18:03*brson quit (Ping timeout: 240 seconds)
23:18:04*arnetheduck joined #nim
23:36:50*ephja quit (Quit: WeeChat 1.4)
23:40:33*bozaloshtsh quit (Ping timeout: 240 seconds)
23:42:31*brson joined #nim
23:49:03*rinukkusu quit (Ping timeout: 240 seconds)
23:49:23*kier quit (Ping timeout: 250 seconds)
23:49:50*kier joined #nim
23:50:04*rinukkusu joined #nim
23:55:22*brson quit (Read error: Connection reset by peer)
23:55:35*brson joined #nim
23:55:58*libman joined #nim