<< 21-09-2017 >>

00:02:30FromGitter<zacharycarter> def-pri-pub: besides the code changes you made - did you have to do anything else to get transparency working with zengine?
00:02:45FromGitter<zacharycarter> like did you have to do anything in your game / test code or were the changes just in zgl?
00:05:00adeohluwa"spawn takes a GC safe call expression"
00:05:20adeohluwacan someone pls explain to me in baby english
00:06:27FromGitter<zacharycarter> the proc you're passing to spawn can't touch GC'd memory
00:06:43FromGitter<zacharycarter> so basically no globals, no memory residing in other thread local heaps
00:08:03FromGitter<zacharycarter> is that baby enough for you?
00:08:16FromGitter<zacharycarter> I can get babier
00:08:22*zachk quit (Quit: night)
00:16:57jonhi say get babier
00:20:34*libman ponders {.pure.} vs {.baby.}
00:22:16libman{.doubleplusDisorganizedParanoidSchizophrenia.}
00:22:25*itPuffin|osxB joined #nim
00:23:29*BitPuffin|osx quit (Ping timeout: 248 seconds)
00:26:59FromGitter<zacharycarter> https://imgur.com/a/RYL5S
00:27:09FromGitter<zacharycarter> finally got my roguelike font rendering down
00:34:54adeohluwaFromGitter: I'll d say that's PHD level stuff
00:34:56FromGitteradeohluwa, I'm a bot, *bleep, bloop*. I relay messages between here and https://gitter.im/nim-lang/Nim
00:37:04FromGitter<ephja> don't engage with the bot!
00:39:04libman((No one knows I'm a bot too.))
00:39:46adeohluwa:D
00:42:44adeohluwaI'm guessing it has to do with using a global variable
00:42:59adeohluwaor mutable variable inside that proc
00:47:14adeohluwasolved guyz
00:47:50adeohluwastarted commenting out likely suspects till nim error msgs gave me a clear msg of what was wrong
00:48:13adeohluwathe proc was accessing mutable global variables
00:49:13*def-pri-pub joined #nim
00:49:13*def-pri-pub quit (Changing host)
00:49:13*def-pri-pub joined #nim
01:20:47*Jesin quit (Quit: Leaving)
01:51:40adam12HastyScribe is pretty awesome.
01:52:44adam12The repo containing this handy tidbit too: http://crossgcc.rts-software.org/doku.php?id=compiling_for_linux
01:54:53*chemist69 quit (Ping timeout: 255 seconds)
01:57:27*programisto quit (Ping timeout: 252 seconds)
01:58:38adeohluwachoosenim yells IOError
01:58:47adeohluwaon Ubuntu here
01:58:55adeohluwaam I doing anything wrong?
01:59:01*programisto joined #nim
01:59:18adeohluwaI pretty much copy pasted the curl link
02:01:15*dddddd quit (Remote host closed the connection)
02:06:49*def-pri-pub quit (Ping timeout: 240 seconds)
02:08:44*chemist69 joined #nim
02:52:44*def-pri-pub joined #nim
02:52:44*def-pri-pub quit (Changing host)
02:52:44*def-pri-pub joined #nim
03:09:19*libman quit (Quit: Connection closed for inactivity)
03:14:18*endragor joined #nim
03:14:18*endragor quit (Remote host closed the connection)
03:14:33*endragor joined #nim
03:23:39*jsgrant joined #nim
03:34:47*def-pri-pub quit (Quit: leaving)
03:53:32*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
04:00:21*vlad1777d quit (Ping timeout: 240 seconds)
04:06:23*sdw quit (Ping timeout: 248 seconds)
04:25:33*adeohluwa quit (Quit: Connection closed for inactivity)
04:29:44*libman joined #nim
04:53:07*Ven`` joined #nim
05:02:46*Ven`` quit (Ping timeout: 264 seconds)
05:16:43*gokr joined #nim
05:29:09*Nobabs27 quit (Quit: Leaving)
05:59:08*jsgrant quit (Ping timeout: 240 seconds)
06:03:29*BigEpsilon joined #nim
06:13:36*jsgrant joined #nim
06:19:22*mahmudov quit (Ping timeout: 260 seconds)
06:21:37*PMunch joined #nim
06:28:44FromGitter<Varriount> adeohluwa: Does it give a traceback?
06:29:25*rauss quit (Read error: Connection reset by peer)
06:31:38*rauss joined #nim
06:32:19*rauss quit (Client Quit)
06:35:18*nsf joined #nim
06:38:20*gokr left #nim (#nim)
06:41:04FromGitter<Varriount> @dom96 Does the async framework currently allow for pluggable transport implementations, like if I want to communicate with a serial port?
06:45:30*Vladar joined #nim
06:49:38*endragor quit (Remote host closed the connection)
06:52:10libmanThe EIN stack: Etherium, IPFS, Nim. :P
06:53:26*jjido joined #nim
06:54:18libmanEIN blockchain! EIN speicherverfahren! EIN programmiersprache!
06:54:31*Yardanico joined #nim
07:01:36FromGitter<mratsim> I borked my Nim install pretty bad :/ ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ wasreproducing this so only import is sequtils [https://gitter.im/nim-lang/Nim?at=59c363cf614889d47522a338]
07:01:42FromGitter<mratsim> https://github.com/nim-lang/Nim/issues/6406
07:03:00*Pisuke joined #nim
07:03:18Araqmratsim: Used choosenim?
07:03:32FromGitter<mratsim> yes
07:03:33Araqlibman: it's EINE programmiersprache.
07:03:59Araqdoes the error occur too when you don't use it?
07:04:51FromGitter<mratsim> I didn’t try
07:04:52*MyMind quit (Ping timeout: 260 seconds)
07:05:26FromGitter<mratsim> what is strange is when I’m in one of Arraymancer subdue I get ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c364b61081499f1f57bf28]
07:05:47FromGitter<mratsim> subdir*
07:05:57FromGitter<mratsim> even without importing it
07:06:50Araqbecause the import has nothing to do with your problem
07:09:51FromGitter<mratsim> Works on linux (with choosenim), borked on my mac with choosenim. I’ll check this weekend further.
07:10:44*yglukhov joined #nim
07:11:34*yglukhov quit (Remote host closed the connection)
07:11:47*yglukhov joined #nim
07:11:53*rokups joined #nim
07:15:22*endragor joined #nim
07:19:35*endragor quit (Ping timeout: 240 seconds)
07:23:22*claudiuinberlin joined #nim
07:25:03*claudiuinberlin quit (Client Quit)
07:25:05*jjido quit (Ping timeout: 240 seconds)
07:25:42*Yardanico quit (Remote host closed the connection)
07:27:39*claudiuinberlin joined #nim
07:28:15*Yardanico joined #nim
07:31:00FromGitter<mratsim> @Araq, for https://github.com/nim-lang/Nim/issues/6387, I will export a dummy `_`symbol, I checked with tuple destructuring, there is no issue there. The symbol is not used for anything else right? And there is no plan for that?
07:35:27*Arrrr joined #nim
07:35:50Araq'_' is an identifier that does not trigger an "unused identifier" warning
07:36:07Araqapart from that it's an ordinary Nim identifier
07:36:19Araqfree for all to (mis)use
07:37:12Araqwhy not use a[] instead of a[_] btw?
07:39:11FromGitter<mratsim> Because for multidimensional I need things like that a[1..2,_,3]
07:40:09FromGitter<mratsim> You meant "ambiguous call" instead of "unused identifier" right?
07:40:58FromGitter<mratsim> Which would be Nim equivalent to Python a[1:3,:,3] slicing I think
07:41:40*mahmudov joined #nim
07:44:10FromGitter<mratsim> Also a[] would be confusing with dereferencing
07:44:30Yardanicothere's no way to get implementation of an untyped node, right?
07:45:43FromGitter<mratsim> @Yardanico for your comment let *, b, compiling was surprising because \* was a const
07:46:24*endragor joined #nim
07:49:37*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:51:03ArrrrThe `[]` for dereferencing is ugly. Autodereference when?
07:51:51Yardanicowhen {.experimental.}
07:52:30ArrrrDoes it work for ptr too?
07:54:24ArrrrMmm yes it does. Now i need a global include.
07:55:11Yardanicobut you can encounter strange bugs, because this is an experimental feature :)
07:55:11FromGitter<Grabli66> There is a global include?
07:55:15Yardanicoyes
07:55:23FromGitter<Grabli66> How?
07:55:31Yardanicoyou can add includes to your nim config (either global config or project config)
07:55:45FromGitter<Grabli66> Ok
07:56:23Yardanico--include:PATH add an automatically included module
07:56:41euantorVarriount: Regarding async and transports/serial ports, you can fairly easily write code that is async. I've got a serial port library that will eventually have async support using asyncdispatch - just haven't got around to writing the implementation
07:56:43YardanicoI'll check if you can use it with global nim config
07:56:44FromGitter<Grabli66> Cool :)
07:58:24Yardanicohmm yes it does work
07:58:42Yardanicojust add include = "someNimFile" to your nim.cfg in nim/config folder
07:58:48Yardanicobut this can cause many different bugs
07:59:33*claudiuinberlin joined #nim
08:09:28*gokr joined #nim
08:09:44gokrCombining mqtt with Jester seems to work, nice.
08:10:18gokrQuite obvious ... when I come to think of it. The mqtt lib has its own thread etc.
08:10:56gokrI am making a little REST-service that is also meant to listen to MQTT.
08:11:11gokrUsing choosenim now btw, neat stuff too.
08:11:55PMunchNice
08:12:01*jjido joined #nim
08:12:40PMunchdom96, did anyone ever implement the "break route" thing to support stopping a route from a macro?
08:12:58PMunchOr template for that matter
08:15:35jjidoHow is that different PMUNCH? You don't have the route name in the macro?
08:18:32*Etheco joined #nim
08:19:19PMunchNo, the idea was that all routes would be wrapped in a "block route". That way you could use "break route" in templates/macros to break out of a route
08:19:38PMunchThe current system tries to read the AST and find return statements, which seems like a bit of a hack
08:19:59PMunchAnd it doesn't work with templates and macros since they aren't expanded before the check
08:20:36Araqwriting good DSLs is an art :-)
08:20:43AraqI need to write a book about it
08:24:57jjidoIf the macro is not expanded at that point what good will it make to havea special instruction to use? Same issue no
08:30:45PMunchNo, when the template expands it will insert the break statement which will be valid in that context. When it inserts the return statement the route macro has already done it's pass and looked for the return statement, so it won't change that return statement to the proper commands.
08:31:11Araqcan we fix jester to use a sane mechanism?
08:31:42PMunchThe problem is that the route needs to do some things after you return. This would be placed outside the route block so any break route will do the cleanup before the route terminates.
08:31:58PMunchAraq, yeah that's what we're talking about :)
08:32:08PMunchGood DSLs are an art indeed
08:32:39Araqsounds like jester should produce 'block jesterScope:' and have a template onReturn(body) = body; break jesterScope
08:32:55Araqdon't mess with Nim's control flow, use your own
08:33:13PMunchThe Jester one does magic, and magic is seldom good as it means you have no idea what is going on, or even more often don't know that it's doing anything special at all.
08:33:38Araqevery DSL does magic, that's its point.
08:33:41PMunchAraq, yeah that's my philosophy as well. Don't mess with anything the programmer sees and expects something from.
08:33:48Araqthere is however good magic and bad magic
08:34:12PMunchdom96, the dark mage :P
08:34:40PMunchIntroducing black magic in his DSLs
08:35:14Araqit's interesting how actually only 'goto' composes well with DSLs because the labels can be getsym'ed etc
08:36:12Araqbut 'block label + break label' is good enough, no need to change the language
08:36:42PMunchYeah I really like the block/break system
08:37:08*sz0 joined #nim
08:38:23*fastrom quit (Quit: Leaving.)
08:44:18*jjido quit (Ping timeout: 240 seconds)
08:52:07*jjido joined #nim
08:52:41*vlad1777d joined #nim
08:55:19YardanicoAraq, it seems you're using ";" everywhere in proc arguments ? :)
08:55:33Yardanicopersonal code style?
08:56:18Araqmaybe even in NEP1, but yes I prefer it this way
08:58:19*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:58:41PMunchAny particular reason?
08:59:40*fastrom joined #nim
09:00:13Yardanicoalso, about NEP1 - should I use "result" variable everywhere or rely on Nim to return last statement in a procedure?
09:01:10*thomasross quit (Remote host closed the connection)
09:01:37*thomasross joined #nim
09:02:00Yardanicowell - "result" everywhere if I don't need explicit "return"
09:02:22Yardanicoah, this feature is useful sometimes
09:02:23Yardanicoe.g.
09:02:45Yardanicoproc test(): string = "hi" works because of this feature, right?
09:03:35*arnetheduck joined #nim
09:06:43Arrrrexcept for cases where result becomes more useful, i always use return for procs with more than one line
09:08:09Yardanicohmm, generally this is the problem and a feature of nim
09:08:15FromGitter<mratsim> I have a lot of for loops so result for me
09:08:24Yardanicoe.g. you can use many naming styles, return styles
09:08:35Yardanicomore freedom
09:09:39FromGitter<mratsim> It's much better than JavaScript for that matter ... It's a jungle out there
09:09:55Yardanicohow many package managers are here? for node.js?
09:10:09Yardanicoah, two
09:10:58Yardanicoah, also bower
09:11:19Yardanicoah no, sorry, they're for browser JS :)
09:14:51*dddddd joined #nim
09:18:54*jjido quit (Read error: Connection reset by peer)
09:19:19*libman quit (Quit: Connection closed for inactivity)
09:22:24AraqYardanico: prefer to not use 'result' but prefer 'result' over 'return'
09:22:32*jjido joined #nim
09:22:40YardanicoAraq, ok
09:22:56Araqwhy? prefer shorter code and prefer to not conflate setting the return value with control flow.
09:23:09Yardanicoso in simple procedures I can just use the feature that last statement is returned?
09:23:53Araqsure
09:39:50dom96yeah. Jester needs a lot of love.
09:41:44federico3and a threadpool *cough*
09:42:29Yardanico*cough cough*
09:46:28Yardanicohmm, are generic term rewriting templates supposed to work? :D
09:47:12AraqYardanico: TR macros/templates are not heavily used so there are dragons
09:47:45YardanicoAraq, yeah, I just made a very stupid TR template (which doesn't do anything good)
09:48:10Yardanicoshould I report a compiler crash anyway ?
09:48:43*claudiuinberlin joined #nim
09:53:54*fastrom quit (Read error: Connection reset by peer)
09:54:05dom96Yardanico: Always
09:54:21Yardanicowell I doubt someone would write this in a real project :D
09:54:36dom96doesn't matter, a crash is always a bug
10:01:15*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:02:37Araqexactly.
10:03:11*jjido quit (Ping timeout: 248 seconds)
10:05:43*jjido joined #nim
10:06:08Yardanicowhy we can't put whole compiler in one "try" "except" block to give tracebacks without any "koch temp" ? :)
10:06:18Yardanicoah, sorry, -d:release
10:06:20Yardanicoso doesn't matter
10:06:55*claudiuinberlin joined #nim
10:08:36Araqhmm Nim's codegen needs to be rewritten
10:09:06Araqit shows that I wrote it before I could program
10:09:37*claudiuinberlin quit (Client Quit)
10:10:33YardanicoAraq, so big compiler refactor incoming in 2018 ? :)
10:11:52Araqno, I improve things incrementally
10:13:15FromGitter<Grabli66> It will generate human readable code? :)
10:14:03*Snircle joined #nim
10:15:37Yardanicoevery code is generally human readable :P
10:18:02FromGitter<Grabli66> Did you see generated javascript code? There is no need for obfuscation :)
10:18:38Yardanicodid you see generated JS code by emscripten? :)
10:18:48Yardanicothere's no need to make generated code human-readable
10:24:01ArrrrA good use case is to actually know what was generated for tunning reasons
10:24:23ArrrrIt is easier if you spend less effort on reading the code
10:35:42dom96yglukhov: Reel Valley is now featured :)
10:36:35AraqArrrr: it's better to look at the asm though
10:37:06yglukhovyay! such an honor, thanks! =)
10:37:27dom96Now I think we need a "Companies using Nim" page
10:38:09FromGitter<Grabli66> How you will debug generated js code? There are no even generated map file for that.
10:38:12ArrrrCongratulations yglukhov, hope your experience making your project brings good suggestions to nim
10:38:13Araqbut the code is easy to read anyway, you can even grep for the line number as it ends up in the produced code
10:39:13ArrrrYes. Well i just argue that would be easier to read, but is not a common operation.
10:39:53YardanicoGrabli66: you don't need map file since nim has it's own traceback
10:40:38FromGitter<zacharycarter> I was wondering about that too @Grabli66
10:40:52yglukhovArrrr: thanks! that is already happening for quite a while =) but i must say that Nim has been a great pleasure to work with, despite some nuances.
10:42:58ArrrrDom should interview you and make a blog post
10:43:43*xzd joined #nim
10:44:45FromGitter<Grabli66> Yardanico, debug with printing traceback, like our forefathers did that in old days? :)
10:46:29*xzd quit (Quit: xzd)
10:51:15FromGitter<zacharycarter> congrats @yglukhov the game is awesome looking
10:51:26*Yardanico quit (Remote host closed the connection)
11:00:30*mahmudov quit (Remote host closed the connection)
11:06:23*sz0 quit (Quit: Connection closed for inactivity)
11:06:42yglukhovzacharycarter: thank you! :)
11:11:40FromGitter<zacharycarter> @yglukhov you guys made this all with rod?
11:11:45FromGitter<zacharycarter> pretty damn impressive
11:11:50yglukhovyup
11:13:22FromGitter<zacharycarter> does rod target wasm?
11:13:54yglukhovzacharycarter: i think it should, but haven't test it yet.
11:14:06FromGitter<zacharycarter> gotcha - so what target are you hitting for the game?
11:14:11FromGitter<zacharycarter> emscripten?
11:14:22yglukhovin any case emscripten is needed afaik, because official clang doesn't support setjmp/longjmp (
11:14:37FromGitter<zacharycarter> yeah
11:14:41FromGitter<zacharycarter> I'm pretty sure you're right
11:15:00FromGitter<zacharycarter> I'd like to add an emscripten target to zengine but
11:15:04FromGitter<zacharycarter> lots of work
11:15:49yglukhovthe main problem is assets concept. you'll likely have to make your user think differently about the assets if he targets really crossplatform with asmjs
11:16:43yglukhovnimx kinda abstracts the distinction away, although the abstraction becomes more complex than just open-file-and-read-it
11:17:09yglukhovother than that, theres not much difficulties
11:17:46FromGitter<zacharycarter> true
11:22:49FromGitter<Grabli66> There are so many game engines. Why you, guys, are writing your engine?
11:23:02yglukhovzacharycarter: but hey, why aren't you using nimx? =)
11:23:39yglukhovhopefully we shall get rid of sdl eventually, and for js and asm.js we don't use it already
11:23:40FromGitter<zacharycarter> @yglukhov when I first started playing with it, a lot of the GUI stuff seemed buggy
11:24:13yglukhovzacharycarter: but you don't need gui. you can use event handling, and asset management.
11:24:17FromGitter<zacharycarter> and it seemed overkill if all I was going to use it for was windowing etc
11:24:34FromGitter<zacharycarter> hrm perhaps I should make a nimx branch then
11:24:53FromGitter<zacharycarter> @Grabli66 to answer your question - we probably all have different motives but one true fact is there is no Nim game engine
11:24:58*jjido quit (Ping timeout: 264 seconds)
11:25:07yglukhovzacharycarter: it might look so, but there's zero runtime overhead if you're just draw your engine from within the root nimx window.
11:25:14FromGitter<krux02> does anybody know how to get links to files that are stored on github with git lfs via cmd?
11:25:32FromGitter<zacharycarter> @yglukhov interesting - okay I'll play around with swapping out sdl2 for Nimx tonight
11:25:59FromGitter<krux02> maybe I can just construct a link
11:26:03FromGitter<krux02> https://media.githubusercontent.com/media/krux02/opengl-sandbox/master/examples/screenshots/hello_shapes_0000.png
11:26:07Arrrrplayground's create gist seems to be broken
11:26:23yglukhovalso nimx has got distance field fonts with subpixel antialiasing and effects like shadow, stroke, etc
11:26:33yglukhovmight come in handy
11:26:58FromGitter<zacharycarter> Arrrr: I noticed that yesterday
11:27:03FromGitter<zacharycarter> I'll have to investigate why today
11:27:14FromGitter<zacharycarter> @yglukhov I just added those to zengine minus the effects
11:27:20FromGitter<zacharycarter> @krux02 cool!
11:27:50FromGitter<krux02> best one is this: https://github.com/krux02/opengl-sandbox/blob/master/examples/screenshots/tetris_0004.png
11:27:57FromGitter<krux02> äh sorry
11:28:04FromGitter<krux02> that is my face
11:28:15FromGitter<zacharycarter> lol
11:28:22yglukhovzacharycarter: the effects also have no overhead if you dont use them =). the overall concept of nimx is just like nim. pay as you go.
11:28:24FromGitter<krux02> https://media.githubusercontent.com/media/krux02/opengl-sandbox/master/examples/screenshots/tetris_0004.png
11:28:34FromGitter<krux02> I have no idea what happened there?
11:28:43yglukhovso if there's something that violates this, then its a bug to be fixed =)
11:28:58FromGitter<krux02> the link is correct, for some reason gitter showed my face
11:28:58FromGitter<zacharycarter> @yglukhov gotcha
11:29:18FromGitter<zacharycarter> krux02 I built tetris for zengine
11:29:22FromGitter<zacharycarter> but it's not 3d
11:29:26FromGitter<zacharycarter> I should build a 3d mode too for it
11:29:52FromGitter<zacharycarter> @yglukhov if I can plug NimX in easily and it doesn't conflict with how I'm already doing things I'll gladly use it
11:29:53*claudiuinberlin joined #nim
11:30:02FromGitter<zacharycarter> if it does I'll report the conflicts and figure out if they can be resolved
11:31:05yglukhovzacharycarter: well it needs to be near the core of your runtime to do the runloops, etc, just like sdl does.
11:31:17FromGitter<krux02> https://media.githubusercontent.com/media/krux02/opengl-sandbox/master/examples/screenshots/retro_tiling_0000.png
11:31:28FromGitter<zacharycarter> @yglukhov question though - when you guys are targeting emscripten you can't use OpenGL right, so does Rod use OpenGLES?
11:31:58*dddddd quit (Remote host closed the connection)
11:32:00FromGitter<krux02> the browser has webgl which is opengles (afaik)
11:32:15FromGitter<zacharycarter> it does, but it's not like you can use the OpenGL bindings for Nim for this
11:32:31FromGitter<zacharycarter> you have to use something like - https://github.com/nimious/gles - to my knowledge
11:33:12yglukhovcurrently it relies on the OpenGLES/WebGL subset, yeah. but i think we could opt for higher opengl spec in runtime for optimizations, in case we need so. yet there was no reason to do that.
11:34:33FromGitter<zacharycarter> hrm
11:34:44FromGitter<zacharycarter> @yglukhov so do you use that gles wrapper I linked to?
11:35:13yglukhovif youre talking about the bindings, we use the opengl from nim-lang for native target, and webgl bindings for js/asmjs. those are collected in nimx.portable_gl module
11:35:26FromGitter<zacharycarter> thanks
11:37:12FromGitter<zacharycarter> I may have to rip off / steal this concept
11:37:32FromGitter<zacharycarter> as that was the one major barrier I was running into getting zengine onto the web
11:37:37FromGitter<zacharycarter> I hadn't even considered using JS webgl
11:37:54FromGitter<zacharycarter> I was trying to get those gles bindings to work and it was a headache
11:41:22yglukhovwell you could just use nimx ;))
11:41:45yglukhovand contribute to portable_gl in case you need to =)
11:46:32FromGitter<zacharycarter> True
11:46:42FromGitter<zacharycarter> Might be easier
11:47:19FromGitter<zacharycarter> I just have to get my hands dirty with nimx
11:49:01*itPuffin|osxB quit (Ping timeout: 240 seconds)
11:49:32*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:52:27*ShalokShalom_ joined #nim
11:55:05*ShalokShalom quit (Ping timeout: 240 seconds)
11:55:09yglukhovcan nim-lang/zip extract gzip?
11:55:37AraqI doubt it
11:56:29*Zevv joined #nim
11:57:01ZevvHow does Nim handle local variables in {. async .} functions, am I right to assume these never go on the stack and always end up on the heap?
11:57:08*claudiuinberlin joined #nim
11:57:46dom96yglukhov: untar can.
11:58:24FromGitter<krux02> @zacharycarter I just implemented the non square font on square tiles approach you posted a gif from
11:58:35dom96https://github.com/dom96/untar
11:58:47yglukhovoooh... interesting
11:58:48dom96but it depends on zlib
11:58:53FromGitter<krux02> It was pretty easy to implement with my opengl sandbox project
11:59:10yglukhovdoesnt nim-lang/zip depend as well?
11:59:19dom96probably
11:59:29dom96untar is battle tested by choosenim though :)
11:59:58yglukhovi wonder how easy it would be to stuff it into android...
12:00:20dom96I wouldn't be surprised if android ships with zlib
12:00:36FromGitter<krux02> I would like if steam would make an android release
12:01:03*fraya joined #nim
12:01:07yglukhovit has libz. is that it?
12:01:27yglukhovim really lost in all of those libz, zlib, etc...
12:01:35*claudiuinberlin quit (Client Quit)
12:02:08FromGitter<ephja> is there a zlibz?
12:03:12ZevvOnly libzlib
12:03:28dom96yglukhov: yep https://github.com/dom96/untar/blob/master/src/untar/gzip.nim#L10
12:03:50dom96Zevv: Regarding your question, I'm not 100% but that does make sense.
12:04:45yglukhovdom96: why do you have a submodule?
12:04:55dom96yglukhov: for Windows
12:05:23yglukhovdoes it compile automagically?
12:05:31dom96yep
12:05:41Demos[m]Yes
12:05:48yglukhovthat sounds really sweet. i'll try it.
12:05:52Demos[m]I use it to bootstrap my package building and deploy scripts
12:06:03yglukhovthanks
12:06:09Demos[m]Works pretty well
12:06:33Zevvtotally possible my question is nonsense. What I'm trying to say: in C, automatic variables typically go in the stack; when the function returns, the stack is unwound back the the previous stack frame. But async functions can yield/resume, so the stack is not preserved. I assume Nim does not create a separate stack for each async function, since this is a non portable operation on C, so my guess was that auto variables are allocated on the heap and handled by the GC when t
12:06:41yglukhovbtw, isnt this package include the nim-lang/zip functionality?
12:06:41Demos[m]though do note gzip is the ANSI C89 of compression
12:06:44Zevvhope that explains a bit, although I might still complety miss the point
12:07:10Demos[m]Zip isn’t gzip afaik
12:07:25dom96Yeah, gzip is a bit crap
12:07:26Demos[m]Also does zip do zip64?
12:07:29dom96xz would be nice
12:07:50yglukhovok. so zip comresses better or smth?
12:07:59Demos[m]Well with gzip we can much more easily bootstrap getting other libs on all systems
12:07:59Demos[m]No
12:08:08Demos[m]Probably worse or about the same
12:08:17dom96Zevv: Araq would know the details but what you say makes sense.
12:08:28yglukhovso whats wrong with "ANSI C89 of compression"?
12:08:35Demos[m]Nothing
12:08:44yglukhovok
12:09:00yglukhovthanks for teaching me =)
12:09:08Zevvdom96: ok, thanks
12:09:54AraqZevv: in rare cases they can live on the stack but almost always they end up on the heap, yes
12:09:58Demos[m]Main diff between gzip and zip is likely that zip won’t have the same signature and header layout, since that’s taken care of by each zip entry
12:10:14Demos[m]Zip is an archive format, gzip is not
12:10:47yglukhovgot it. sounds fine to me. i guess...
12:12:52ZevvAraq: ok, clear. That explains some performance symptoms I found. No problem, but I'm trying to complete my mental model of the Nim <-> C mapping
12:14:24Demos[m]For example consider an archive of 10,000 totally identical images containing random noise. Each 1MB. A tar ball of said images would probably be a few MB. A zip would be over 10GB
12:15:03AraqDemos[m]: yes but the advantage is that you can unzip single files independently
12:15:23Demos[m]True
12:17:20Demos[m]It’s a nice median between a tar ball and a filesystem image
12:18:42Demos[m]We have code here that incrementally uploads huge zips to s3 whole generating them
12:18:54Demos[m]Data never hits disk
12:19:55Demos[m]Dealing with 10gb zips is really annoying though since zip64 support is usually not well tested in various products
12:20:54*TjYoco joined #nim
12:21:50FromGitter<ephja> is it bindings for liblzma that you want?
12:22:35FromGitter<mratsim> or tar.xz ….
12:23:05FromGitter<mratsim> or use p7zip
12:24:05Demos[m]Libarchive!
12:25:54dom96hrm, is yglukhov's thread pool changes in devel now?
12:26:07yglukhovnope
12:26:18dom96aww
12:26:28dom96You had a nimble package that replicated it though haven't you?
12:26:33yglukhovyup
12:26:51yglukhovyglukhov/threadpools
12:27:31dom96is there a PR for this?
12:27:40yglukhovno, its stuck
12:27:48yglukhovbecause of parallel
12:28:02yglukhovwhich works though threadpool magic
12:28:16yglukhov*through
12:28:41yglukhovand i'm scared to look into it =)
12:28:56dom96ahh, but your package is relatively stable right? :)
12:29:00*Zevv left #nim ("thanks")
12:29:13yglukhovshould be. using it every day.
12:29:32dom96awesome, you should merge this in https://github.com/yglukhov/threadpools/pull/1 :)
12:30:03*vendethiel- joined #nim
12:30:17dom96also I'll add it to Nimble's package list if you don't mind
12:30:35Araqyglukhov: just start a PR, I'll port the parallel magic over
12:30:40yglukhovdom96: tbh i'm not fond of this idea
12:30:50dom96yglukhov: why?
12:30:58Araqthough 'parallel' is .experimental and really scary for me too
12:31:12FromGitter<zacharycarter> @krux02 do you have screenshots?
12:31:45dom96also, which one, merging the PR or submitting it to the package list?
12:32:18yglukhovdont want users to diverge. nim's existing threadpool is good enough in most cases, imo. my threadpools just fix a couple of specific issues. not much difference to the end user.
12:32:39yglukhovnot fond of nimble registry
12:32:41dom96I see.
12:32:56FromGitter<krux02> @zacharycarter of course
12:32:57dom96Alright. I'll just depend on the URL
12:33:06dom96For my use case I need the non-blocking behaviour
12:33:17yglukhovdom96: ah, i see
12:33:36yglukhovAraq: ok, i'll try to start the WIP pr today
12:33:40FromGitter<zacharycarter> can the changes @yglukhov have made to threadpool be merged into the existing implementation?
12:33:51dom96zacharycarter: yes, this is planned
12:33:55FromGitter<zacharycarter> awesome :D
12:34:10FromGitter<zacharycarter> I'll be estatic if I can use parallel in my ship gen stuff
12:34:30yglukhovzacharycarter: no promises regarding parallel from me =)
12:34:36yglukhovjust the threadpools
12:34:39FromGitter<krux02> https://media.githubusercontent.com/media/krux02/opengl-sandbox/master/examples/screenshots/retro_tiling_0001.png
12:34:39FromGitter<zacharycarter> gotcha
12:34:55FromGitter<zacharycarter> @krux02 interesting
12:35:01FromGitter<zacharycarter> I'd be curious to see it use an actual map
12:35:02Araqyglukhov: on the contrary, your threadpools are non-blocking and people want a 'spawn' that can guarantee that
12:35:03dom96yglukhov: what's the difference between complex and simple?
12:35:44yglukhovdom96: complex was an attempt to implement job stealing concept
12:35:55FromGitter<krux02> @zacharycarter well give me a map
12:36:01FromGitter<krux02> my map format is bmp
12:36:09FromGitter<krux02> rgb values are for tint
12:36:14FromGitter<krux02> alpha is for character
12:36:17yglukhovwhich turned out to be less efficient then simple, and more cumbersome.
12:36:25dom96ahh, okay. So simple it is.
12:36:52FromGitter<zacharycarter> @krux02 well you'd need to use something like my map gen library to generate a map and then blit characters for each type of cell in the map
12:37:42FromGitter<krux02> well yes, but not now
12:37:47Araqaww no work stealing
12:37:51dom96ooh, and there is an explicit ThreadPool object
12:37:52dom96I like that
12:38:18FromGitter<krux02> this game gave me the idea to render everything in a single draw call
12:38:19FromGitter<krux02> http://gamevuze.com/wp-content/uploads/2014/03/GuessWho.jpg
12:38:27dom96btw, while we're at it is there any reason we can't get rid of FlowVar and use Future instead?
12:38:55*madmalik joined #nim
12:40:44FromGitter<zacharycarter> Nim would be an interesting topic for : https://perfmattersconf.com/speak/
12:41:07FromGitter<ephja> there are no official libarchive binaries for windows? oh well
12:41:46euantorGetting rid of FLowVar and using Future would be an excellent change IMO
12:41:52FromGitter<zacharycarter> i agree
12:42:40FromGitter<krux02> @zacharycarter interesting name for a web stuff conference
12:42:48FromGitter<zacharycarter> yeah
12:44:30FromGitter<zacharycarter> @yglukhov portable gl looks interesting, but it seems more like a high level wrapper than just exposing the native GL stuff
12:44:46FromGitter<zacharycarter> for instance : https://github.com/yglukhov/nimx/blob/master/nimx/portable_gl.nim#L445
12:44:55FromGitter<zacharycarter> I'd rather not have to call some special function to do this
12:45:53FromGitter<zacharycarter> as it stands I'd have to make a LOT of changes to zengine I think to make it work with portable gl
12:46:14FromGitter<ephja> should I add anything to the opengl package?
12:46:25FromGitter<zacharycarter> no I don't think so the opengl package is fine as it stands
12:47:17FromGitter<krux02> @yglukhov I just saw your post that you realeased a game written in Nim
12:47:24FromGitter<krux02> congratulations on that
12:48:06FromGitter<krux02> is the game written entirely with javascript backend?
12:48:25FromGitter<Yardanico> @krux02 no, it uses emscripten
12:48:25FromGitter<ephja> I thought support for various platforms would be appropriate
12:48:34*adeohluwa joined #nim
12:48:51FromGitter<Yardanico> there's also an android/ios release planned (I saw it on their website)
12:50:03FromGitter<krux02> so emscripten really seems to be a viable target
12:51:01Araqdom96: FlowVars know about threads and thread local heaps etc, Futures don't
12:51:09FromGitter<ephja> anyway, I'm not sure how to add support for extension querying while keeping the error checking features without increasing the compilation time by several seconds; at least without using a certain requested language feature :p
12:51:16Araqmaybe compare their fields instead of their names
12:51:43dom96Araq: So can't we extend Future with these fields?
12:52:02dom96The interface is the same so it makes sense to have a common base, you can inherit from the Future
12:52:46FromGitter<Yardanico> @ephja helper program ? :)
12:52:59*claudiuinberlin joined #nim
12:53:06FromGitter<krux02> @yglukhov: can you fix the link to the "editor live demo" on your github page of rod?
12:53:07*vendethiel- quit (Ping timeout: 260 seconds)
12:54:33Araqdom96: might work but a FlowVar can only be written once
12:54:46Araqand a Future allows multiple completions iirc
12:54:52dom96nope
12:55:12Araqno? ok
12:55:15dom96A future can only be completed once
12:55:22dom96and if you try to complete it more times you'll get an exception
12:55:55FromGitter<ephja> @Yardanico I dunno, maybe it's completely unnecessary assuming that glDebugMessageCallback is available
12:55:57Araqok that's good. how can we ever "pool" Futures then though? oh well
12:56:52Araqcan we have ^ for Future then?
12:57:12FromGitter<ephja> hopefully the metaprogramming is justified :p
12:57:18dom96I'd rather not
12:57:25dom96You can keep it for your FlowVar type
12:59:19yglukhovkrux02: ah, there's a slight technical problem with that. currently rod cannot be installed with official nimble, so the builds do not pass
13:00:11gokrI can report that building Nim on Raspbian Jessie worked just fine, although choosenim didn't support the platform.
13:00:19gokrThat's nice.
13:00:59yglukhovkrux02: regarding JS, we've been using js backend for quite some time initially, but it turned out to be much slower.
13:01:11*ShalokShalom_ is now known as ShalokShalom
13:02:12dom96hrm, on second thought I can probably use async instead of threads for this...
13:02:29Araqmuhaha my codegen refactoring works
13:02:38Araqand now I can make it produce much better code
13:02:55FromGitter<zacharycarter> what codegen Araq?
13:03:06AraqC(++)
13:03:11FromGitter<zacharycarter> oooo
13:03:35FromGitter<ephja> nice
13:03:48FromGitter<zacharycarter> btw @dom96 I think the companies using Nim page is a good idea
13:03:52FromGitter<zacharycarter> carfax can go on there Oct 20th
13:04:06FromGitter<zacharycarter> our lambda job will be in prod by then
13:04:11dom96awesome
13:04:23dom96I think a wiki page for now would be good
13:04:29FromGitter<zacharycarter> elm has this on main page
13:04:34FromGitter<zacharycarter> http://elm-lang.org/
13:05:29*fastrom joined #nim
13:07:18subsetparkmakespace has been using nim in production since January
13:08:32FromGitter<zacharycarter> I want a job as a full time Nim dev
13:08:39FromGitter<zacharycarter> :P
13:09:18dom96https://github.com/nim-lang/Nim/wiki/Companies-using-Nim
13:09:39FromGitter<zacharycarter> nice
13:09:58subsetparkzacharycarter where do you live?
13:10:13FromGitter<zacharycarter> Sterling, VA
13:10:28subsetparkNot too far to commute to NYC...
13:10:33FromGitter<zacharycarter> hehehe
13:10:58FromGitter<zacharycarter> I need to sell my house then I won't be location bound
13:14:15FromGitter<krux02> is the a fsnotify wrapper for nim?
13:14:57FromGitter<krux02> I mean file system watching
13:15:06*fraya quit (Quit: Leaving)
13:19:01FromGitter<Yardanico> yeah, for linux
13:19:04FromGitter<Yardanico> and for windows
13:19:08FromGitter<Yardanico> but they're separated
13:19:51*fastrom1 joined #nim
13:20:24*fastrom quit (Ping timeout: 246 seconds)
13:23:30FromGitter<Yardanico> hmm, http://elm-lang.org/blog/compilers-as-assistants
13:24:10*rabbi joined #nim
13:27:09subsetparkBTW zacharycarter - the first actually usable version of my nimtypes library: https://pypi.python.org/pypi?:action=display&name=nim-types&version=0.1
13:29:28FromGitter<mratsim> @zacharycarter create your own company :p
13:31:51*fastrom joined #nim
13:31:57*fastrom1 quit (Read error: Connection reset by peer)
13:32:05FromGitter<mratsim> @Yardanico what the hell is "code texture"? Besides Elm is quite interesting, I like they're "if" multiple condition matching too
13:32:12FromGitter<mratsim> Their*
13:33:29*fastrom1 joined #nim
13:34:06FromGitter<ephja> A language for the web only? lame :p
13:34:18subsetparkThe "type diff" concept is really great - I would love it if Nim replaced matching types in argument mismatches with ...
13:34:33FromGitter<Yardanico> @mratsim I only linked this page because of compiler hints :)
13:34:37FromGitter<Yardanico> I don't use Elm
13:35:28FromGitter<Yardanico> also interesting thing - https://github.com/elm-lang/error-message-catalog
13:35:37FromGitter<Yardanico> A set of Elm programs to trigger every possible error message.
13:36:01*fastrom quit (Ping timeout: 248 seconds)
13:36:44PMunchYeah, Elm is really the current gold standard for compiler errors
13:36:44FromGitter<mratsim> @ephja I'm pretty sure there are some jokes about replacing Windows/Mac by Firefox/Chrome/IE with a Google search wallpaper being the next best thing since sliced bread
13:37:24FromGitter<mratsim> Oh? Even compared with Rust/Haskell?
13:37:47*fastrom1 quit (Ping timeout: 255 seconds)
13:38:08FromGitter<Yardanico> rust? lol
13:38:57FromGitter<Yardanico> well rust has many of them too
13:38:58FromGitter<Yardanico> https://doc.rust-lang.org/error-index.html
13:39:01FromGitter<Yardanico> but they're more cryptic :)
13:39:08*relax joined #nim
13:39:53dom96An error catalog for Nim is on my todo list
13:39:57dom96Anyone wanna take that up?
13:40:41*fastrom joined #nim
13:42:07federico3error catalog?
13:42:19*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:42:25*fastrom quit (Read error: Connection reset by peer)
13:42:27*fastrom1 joined #nim
13:42:48federico3like the rust index or something else?
13:43:08FromGitter<Yardanico> maybe an error catalog with bigger error descriptions?
13:45:35FromGitter<krux02> yay hot reloading of assets is cool
13:46:17*fastrom joined #nim
13:46:35*fastrom1 quit (Ping timeout: 240 seconds)
13:50:46ArrrrRust does a lot of things very well. How cool is to be popualr
13:51:38*dddddd joined #nim
13:55:10FromGitter<krux02> well while rust does a lot of things very well, Nim does other things much better
13:57:51*fastrom quit (Ping timeout: 248 seconds)
13:58:53*nsf quit (Quit: WeeChat 1.9)
13:59:34*fastrom1 joined #nim
14:03:09*fastrom joined #nim
14:03:45*fastrom1 quit (Ping timeout: 248 seconds)
14:05:59FromGitter<ephja> cmake syntax error -.- well, I'm leaving the libarchive bindings generation to someone else :p
14:06:14dom96Like elm's error catalog
14:06:29dom96a place to submit errors that could be made clearer (with code samples)
14:07:53*claudiuinberlin joined #nim
14:08:18*claudiuinberlin quit (Client Quit)
14:09:59*PMunch quit (Quit: Leaving)
14:10:53subsetparkdom96: sounds like a fun project
14:11:10*ipjk joined #nim
14:11:49FromGitter<krux02> https://media.githubusercontent.com/media/krux02/opengl-sandbox/master/examples/screenshots/retro_tiling_0003.png
14:12:45FromGitter<ephja> make a real time co op game :p
14:12:51FromGitter<krux02> since it became super easy for me to upload screenshots, I am spamming screenshots when I have something interesting
14:14:35FromGitter<Yardanico> what do you use for screenshots?
14:14:56FromGitter<ephja> so cmake treats \x in a path as an escape sequence. lovely
14:15:01FromGitter<ephja> gotta use forward slashes
14:16:17FromGitter<krux02> https://media.githubusercontent.com/media/krux02/opengl-sandbox/master/examples/screenshots/octree_0000.png
14:16:34FromGitter<krux02> I just use github
14:16:42FromGitter<krux02> git use git lfs
14:16:59FromGitter<krux02> my program just dumps screenshots in a screenshot folder
14:17:05FromGitter<krux02> from that folder I just do a push
14:17:19FromGitter<krux02> and then git lfs prefents that the repository becomes huge
14:17:22dom96That's gonna grow your repo in size considerably.
14:17:28FromGitter<krux02> at least the history
14:17:36dom96oh, does lfs handle this?
14:17:41FromGitter<krux02> yes
14:17:46FromGitter<krux02> and it doesn't destroy the workflow
14:18:01FromGitter<krux02> int he git history there is just a link to the version
14:18:12FromGitter<krux02> so the history will never be huge
14:18:35FromGitter<ephja> vscode's code navigation features are not very good indeed
14:18:36*rabbi quit (Remote host closed the connection)
14:18:36FromGitter<krux02> and when you don't have the lfs plugin the screenshots folder will stay basically empty
14:18:47FromGitter<krux02> you will just have files that have links in them, that'? it
14:19:25*endragor quit (Remote host closed the connection)
14:19:25FromGitter<krux02> @ephija I like in emacs a code navigation feature that is based on git grep
14:20:00FromGitter<krux02> it searches the symbol under the cursor via git grep and all occurences I get a list to jump to and the performance is instant
14:20:32*claudiuinberlin joined #nim
14:20:37*fastrom quit (Ping timeout: 255 seconds)
14:20:51FromGitter<krux02> any comments on my octree :P
14:21:20FromGitter<krux02> it updates in realtime
14:21:49*endragor joined #nim
14:22:26FromGitter<ephja> that works for some things. anyway, the problem is that vscode can only display the symbol browser in the drop down thing AFAICT
14:22:49ArrrrCool, is it able to balance itself? the octree
14:23:09FromGitter<ephja> are any of the IDEs with nimsuggest support better in this regard?
14:26:27*endragor quit (Ping timeout: 260 seconds)
14:26:31*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:28:39FromGitter<krux02> @Arrrr: well an octree can't do rotations for rebalancing the octree is defined by the positions of the nodes it contains
14:28:43*rauss joined #nim
14:31:09ArrrrI mean, if you free enough points, will these nodes join again in parent or just stay there.
14:31:35FromGitter<krux02> @ephja as you might have guessed, I use emacs, but nimsuggest code navigation is also here not really good
14:31:52FromGitter<krux02> for me it doesn't work reliable enough to be used
14:32:06FromGitter<krux02> I just use identifier grepping
14:32:16FromGitter<krux02> worgs well enough
14:34:19*endragor joined #nim
14:35:08*vlad1777d quit (Remote host closed the connection)
14:37:41*endragor quit (Remote host closed the connection)
14:44:22*endragor joined #nim
14:48:27*claudiuinberlin joined #nim
14:51:32FromGitter<edubart> how do I generate doc of a nim file that includes other files? my doc is being empty, Im using "nim doc"
14:51:40euantorAnybody seen any of the stuff with Swift 4? They've made some interesting changes, such as changes to Strings and a new Codeable protocol for Json/Plist encoding/decoding
14:51:42euantorJSON: https://medium.com/swiftly-swift/swift-4-decodable-beyond-the-basics-990cc48b7375
14:51:47FromGitter<edubart> and what is the difference between "nim doc" and "nim doc2"
14:51:55euantorRelease details: https://swift.org/blog/swift-4-0-released/
14:52:11adeohluwahttps://usercontent.irccloud-cdn.com/file/tLjD9LZF/IMG_20170921_165114.jpg
14:52:20adeohluwaI get SSL shutdown once in a file
14:52:45adeohluwa*once in a while
14:53:08euantorThe new Substring type is interesting. Doing `x[0..2]` gives a Substring type which doesn't copy the string, but references the original and provides a view of the sub string. You can use most String methods on a Substring type
14:53:45euantorTheir strings are copy on write, same with arrays etc
14:53:58FromGitter<Yardanico> @edubart there are plenty
14:54:13FromGitter<Yardanico> you can try yourself both of them to clearly see it yourself :)
14:54:24FromGitter<edubart> nim doc2 doesnt work for me, nim doc works only in a single file
14:55:18FromGitter<Yardanico> why it does't work?
14:55:38FromGitter<edubart> it gives a lot of generic errors, although the program compiles and runs fine
15:00:36FromGitter<edubart> is there a tutorial on how to use nim doc?
15:02:17ipjkedubart: https://nim-lang.org/docs/docgen.html
15:02:39*d10n-work joined #nim
15:04:03dom96adeohluwa: interesting. If you could reproduce it and submit the steps to reproduce as a bug that would be awesome.
15:04:38adeohluwaI will do that
15:04:46adeohluwadoubt it will be a bug tho
15:05:11dom96it looks like you're calling request (or get/post/etc) on the same httpclient instance from multiple threads?
15:06:53adeohluwadefinitely
15:06:58adeohluwathat's what I am doping
15:07:03adeohluwa*doing
15:10:19dom96you should create a httpclient instance for each thread
15:15:25*zahary_ joined #nim
15:26:29adeohluwadom96: bless
15:26:51adeohluwahow does newAsyncHttpClient() work
15:27:00adeohluwaseems that'll be most suitable
15:27:55dom96what's your use case?
15:28:43*Trustable joined #nim
15:28:56FromGitter<Yardanico> adeohluwa: no, it wouldn't help you if you use threads
15:29:06FromGitter<Yardanico> only if you would entirely use async
15:29:18*nsf joined #nim
15:29:48*Sentreen quit (Ping timeout: 252 seconds)
15:30:39*Jesin joined #nim
15:35:55*yglukhov quit (Remote host closed the connection)
15:36:53adeohluwaI'm trying to devilishly scrape hundred of thousands of details from a website that doesn't like aggressive scraping
15:37:25adeohluwaso I thought if I could make concurrent requests over different proxies
15:37:52*yglukhov joined #nim
15:38:37dom96you can use async http client for that, but again you'll need to create separate instances
15:38:40dom96bbl
15:38:56FromGitter<Yardanico> adeohluwa: don't be scared, separate instances are not costly
15:41:11adeohluwaYardanico: hmm...
15:42:46*Sentreen joined #nim
15:43:28*yglukhov quit (Ping timeout: 240 seconds)
15:43:35*relax quit (Ping timeout: 240 seconds)
15:43:42FromGitter<Yardanico> well try it yourself :) but yes, you shouldn't use the same instance for different async coroutines or threads
15:45:51*Jesin quit (Quit: Leaving)
15:47:46*Jesin joined #nim
15:50:40*relax joined #nim
15:58:45FromGitter<mratsim> I think Scrappy has a GitHub file with active proxy auto update
16:04:39FromGitter<Yardanico> нфн
16:04:41FromGitter<Yardanico> yay
16:04:41FromGitter<Yardanico> https://github.com/nim-lang/Nim/wiki/Companies-using-Nim/_compare/d288a0f%5E...d288a0f
16:05:17FromGitter<Yardanico> but second one is not a company :)
16:08:35*arnetheduck quit (Ping timeout: 240 seconds)
16:09:06FromGitter<Yardanico> ah
16:09:07FromGitter<Yardanico> This page lists the brave companies, organisations and individuals
16:09:12FromGitter<Yardanico> individuals
16:10:07*Arrrr quit (Read error: Connection reset by peer)
16:15:24*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:15:31FromGitter<zacharycarter> @mratsim not a bad idea, but what would I make?
16:15:37FromGitter<zacharycarter> maybe I can make muscle pron
16:16:22FromGitter<zacharycarter> team up with skrylar
16:22:35*Sentreen quit (Ping timeout: 240 seconds)
16:24:41*Jesin quit (Quit: Leaving)
16:30:07TrustableHi, I made a small synthesizer using SDL2 audio callback. I get a segmentation fault when accessing global variables, probably from different threads. I tried to solve it with acquire/release lock or with "{.locks: [...].}", without any effect. Any help?
16:30:30*fastrom joined #nim
16:35:36*Sentreen joined #nim
16:39:21gokrTrustable: Hey, you work on NiGui, right? Going well?
16:39:41*yglukhov joined #nim
16:42:10TrustableHi gokr, yes, I think a lot about NiGui and other Nim things :)
16:42:44gokrGotta go drive my daughter, but I want to use NiGui for Spry - libui seems "dead"
16:43:48*yglukhov quit (Ping timeout: 240 seconds)
16:46:31FromGitter<zacharycarter> blegh I hate deploying code at work
16:46:38FromGitter<zacharycarter> takes so long / involves so many people
16:47:15FromGitter<mratsim> I was release gatekeeper in a past life, I hated when devs just ran afoul of production ;)
16:48:01FromGitter<zacharycarter> this is an alpha environment :/
16:48:30FromGitter<zacharycarter> I'm having to adjust F5 rules to get a stupid app out
16:48:31*yglukhov joined #nim
16:48:34FromGitter<zacharycarter> should never be this complicated
16:53:39*nsf quit (Quit: WeeChat 1.9)
16:57:16*fastrom1 joined #nim
16:59:50*fastrom quit (Ping timeout: 255 seconds)
17:05:31*vlad1777d joined #nim
17:07:06FromGitter<Yardanico> gokr: libui is not "dead", it's feature complete :P
17:08:11FromGitter<zacharycarter> http://thecooperreview.com/10-tricks-appear-smart-meetings/
17:08:12FromGitter<Yardanico> I want to play with NiGui a bit more too :) So I'll wait for more complex widgets
17:10:09FromGitter<Yardanico> but yeah, I think NiGui will be better than any other GUI framework because it's written entirely in Nim
17:10:16FromGitter<zacharycarter> +1
17:11:09*rokups quit (Quit: Connection closed for inactivity)
17:14:28*solitudesf joined #nim
17:15:50FromGitter<mratsim> What’s the difference between NiGui and @StefanSalewski work? both seem to wrap GTK no?
17:17:59FromGitter<zacharycarter> I think NiGUI plans to eventually not wrap GTK
17:18:18FromGitter<Yardanico> @mratsim NiGui wraps GTK and WinApi already
17:18:21Trustablemratsim: NiGui is intended to be much more than a Gtk wrapper, Gtk is just one possible backend, the user of NiGui does not need to know Gtk.
17:19:18FromGitter<mratsim> Good to know, thanks
17:19:20TrustableNiGui has an own layout manager, it uses only very basic functions of Gtk and WinAPI
17:19:40dom96Does it support macOS as well?
17:19:48FromGitter<Yardanico> only with GTK backend now
17:20:01FromGitter<Yardanico> but it's planned to add native macOS support
17:21:01TrustableI'm still looking for someone to do the macOS part, if you know anyone, just contact me :)
17:24:26*Sentreen quit (Ping timeout: 246 seconds)
17:26:08FromGitter<mratsim> I do have a mac so I can test, if needed
17:30:20dom96I have a Mac too and I might help, but not in the near future, too many projects of my own to work on :)
17:30:48*olwi joined #nim
17:35:28Trustabledom96: I understand, big kudos for all your work in the Nim universe :)
17:36:13dom96thanks :)
17:37:57*Sentreen joined #nim
17:40:28*vlad1777d quit (Remote host closed the connection)
17:40:47FromGitter<edubart> I'm trying to create a new package, nimble publish fails for me with `Error: unhandled exception: Connection was closed before full request has been made [ProtocolError]`
17:41:47FromGitter<edubart> However it made a fork of nim-lang/packages, I manually did the PR there now, does it get automatically accepted?
17:42:16FromGitter<edubart> Or is there a trigger to make it accepted?
17:45:03*Sentreen quit (Ping timeout: 248 seconds)
17:45:10olwiHi, can somebody explain me why the following 1-line proc does not compile:
17:45:11olwiproc blah(var s: string): string = s
17:45:11olwiwith rather cryptic error message:
17:45:11olwitest1.nim(1, 11) Error: ')' expected
17:45:31Trustableedubar: The PR has to be merged manually. Just wait a little bit.
17:46:04Trustableolwi: put the "var" in front of the type
17:46:13Trustableproc blah(s: var string): string = s
17:47:28*joe__ joined #nim
17:47:42olwiTrustable: Thanks! Stupid error from my side
17:49:12*joe__ quit (Client Quit)
17:49:21dom96edubart: it needs to be manually reviewed, have patience.
17:56:10*Trustable quit (Quit: Leaving)
17:56:27*jjido joined #nim
17:59:25*Sentreen joined #nim
18:00:04*jjido quit (Remote host closed the connection)
18:00:31*olwi left #nim ("Leaving")
18:02:22*TjYoco quit (Quit: Leaving)
18:03:21*adeohluwa quit (Quit: Connection closed for inactivity)
18:06:49*solitudesf quit (Remote host closed the connection)
18:12:33*askatasuna joined #nim
18:20:25*salewski joined #nim
18:22:35*vlad1777d joined #nim
18:23:22salewskiI have this test program with the connect() macro: https://github.com/StefanSalewski/gintro/blob/master/examples/button.nim
18:23:53salewskiWhen I try to pass the proc parameter as typed, then I have to change it to
18:24:13salewskiconnect(app, "activate", buttom.activate)
18:24:49salewskiOtherwise a different activate proc is tried to use, and compile fails.
18:25:01salewskiIs that the expected behaviour?
18:27:14salewskiI really want to pass procs typed, so that I can investigate the parameters of the procs.
18:27:41FromGitter<jilee210> Why compilation error when using try: let as below'
18:27:57FromGitter<jilee210> try: ⏎ let file1 = open(paramStr(1)) ⏎ let file2 = open(paramStr(2)) ⏎ except IOError: ⏎ echo "file not found" ... [https://gitter.im/nim-lang/Nim?at=59c404adbc464729745f98fa]
18:31:33dom96jilee210: scope works differently than in Python, you need to define the variable outside the 'try'
18:33:11FromGitter<jilee210> Are then can I simulate this python code:
18:33:16FromGitter<jilee210> try: ⏎ file1 = open(sys.argv[1]) ⏎ file2 = open(sys.argv[2]) ⏎ except IOError, e: ⏎ print "file not found: %s" % e ... [https://gitter.im/nim-lang/Nim?at=59c405eccfeed2eb65376a7f]
18:33:23FromGitter<Yardanico> Yes
18:33:26FromGitter<Yardanico> You can
18:33:30*mwbrown quit (Ping timeout: 252 seconds)
18:33:34*Atomic_AsHuP joined #nim
18:33:39FromGitter<jilee210> how?
18:33:51*mwbrown joined #nim
18:33:54dom96Just write `var file1: File` above the 'try'
18:33:58*SimpleIRC_eBW2Q joined #nim
18:34:11FromGitter<Yardanico> var file1, file2: File
18:34:17FromGitter<jilee210> thanks
18:34:53*Atomic_AsHuP quit (Remote host closed the connection)
18:36:20*salewski quit (Quit: WeeChat 1.9)
18:37:43FromGitter<jilee210> how about try block?
18:39:48*Jesin joined #nim
18:45:08*SimpleIRC_eBW2Q quit (Ping timeout: 240 seconds)
18:45:51FromGitter<jilee210> if file cannot be opened, I want to see error
18:47:41*Pisuke quit (Ping timeout: 240 seconds)
18:48:01*Sembei joined #nim
18:51:25*madmalik quit (Quit: Connection closed for inactivity)
18:52:24*salewski joined #nim
18:52:33FromGitter<Varriount> @jilee210 There are a couple different variations in the `open` procedure (too many, in my opinion). Some of them throw exceptions when the file cannot be opened.
18:53:29FromGitter<Varriount> Try this: https://nim-lang.org/docs/system.html#open,string,FileMode,int
18:53:59salewskiUnfortunately I am not able to provide a minimal example for the names conflict.
18:54:46salewskiMaybe the problem is again the parseStmt() -- I should use the AST API as Araq told me.
18:54:52salewskiBye.
18:57:18*salewski quit (Quit: WeeChat 1.9)
19:00:41FromGitter<jilee210> Ok, I guess I should not try block when opening a file unlike python.
19:01:08Araqvar f = open(filename) # throws
19:01:17Araqif open(f, filename): # doesn't throw
19:02:04*claudiuinberlin joined #nim
19:07:04AraqVarriount: *sigh*, so which variant of 'open' is too many?
19:09:32*yglukhov quit (Remote host closed the connection)
19:10:26Araqhttps://docs.python.org/2/genindex-O.html
19:10:45Araqopen() (built-in function)
19:10:45Araq(FrameWork.DialogWindow method)
19:10:45Araq(FrameWork.Window method)
19:10:47Araq(distutils.text_file.TextFile method)
19:10:49Araq(imaplib.IMAP4 method)
19:10:51Araq(in module aifc)
19:10:54Araq(in module anydbm)
19:10:55Araq(in module cd)
19:10:57Araq(in module codecs)
19:10:59Araq(in module dbhash)
19:11:01Araq(in module dbm)
19:11:03Araq(in module dl)
19:11:05Araq(in module dumbdbm)
19:11:07Araq(in module gdbm)
19:11:09FromGitter<Bennyelg> @Varriount Can you provide me some code you wrote (aws) >
19:11:09Araq(in module gzip)
19:11:11Araq(in module io)
19:11:13Araq(in module os)
19:11:15Araq(in module ossaudiodev)
19:11:17Araq(in module posixfile)
19:11:19Araq(in module shelve)
19:11:21Araq(in module sunau)
19:11:23Araq(in module sunaudiodev)
19:11:25Araq(in module tarfile)
19:11:27Araq(in module wave)
19:11:29Araq(in module webbrowser)
19:11:31Araq(pipes.Template method)
19:11:33Araq(tarfile.TarFile class method)
19:11:35Araq(telnetlib.Telnet method)
19:11:37Araq(urllib.URLopener method)
19:11:39Araq(urllib2.OpenerDirector method)
19:11:41Araq(webbrowser.controller method)
19:11:53Araq(zipfile.ZipFile method)
19:12:13*d10n-work quit (Quit: Connection closed for inactivity)
19:18:56FromGitter<ephja> lol
19:20:50*Vladar quit (Quit: Leaving)
19:25:16*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:41:48*yglukhov joined #nim
19:44:11*nsf joined #nim
19:54:05*claudiuinberlin joined #nim
19:58:03FromGitter<Yardanico> lol
19:58:31FromGitter<Yardanico> how did he search this? :P
19:58:49FromGitter<Yardanico> ah sorry
19:58:51FromGitter<Yardanico> in this index
20:00:17*solitudesf joined #nim
20:03:20*manjaro-kde5- joined #nim
20:04:23FromGitter<Yardanico> Araq: do you like exceptions yourself? or you would instead like to use Option type or booleans instead of exceptions where possible?
20:06:32*manjaro-kde5_ quit (Ping timeout: 260 seconds)
20:09:48FromGitter<mratsim> Mmmmh, what am I doing wrong? ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c41c8ccfeed2eb6537d8b2]
20:14:10FromGitter<zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c41d92c101bc4e3af444b4]
20:14:11FromGitter<zacharycarter> compiles for me
20:14:21FromGitter<zacharycarter> of course it doesn't echo what I'd expect
20:14:23FromGitter<zacharycarter> but it still compiles
20:15:31FromGitter<Yardanico> try c2nim it ? :)
20:15:44FromGitter<Yardanico> c2nim knows a lot about nim ffi
20:16:08FromGitter<mratsim> oh, there is a TFoo after
20:16:19FromGitter<zacharycarter> not sure if that makes any difference or not
20:17:44FromGitter<zacharycarter> this compiles too
20:17:48FromGitter<zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c41e6c614889d4752649d9]
20:17:58FromGitter<zacharycarter> main thing I think is the repr call
20:17:58FromGitter<mratsim> doesn’t compile for me on mac with clang
20:18:10FromGitter<zacharycarter> ah I'm compiling in C++ mode
20:18:12FromGitter<zacharycarter> that might be why
20:18:44FromGitter<zacharycarter> The importc pragma provides a means to import a proc or a variable from C. The optional argument is a string containing the C identifier. If the argument is missing, the C name is the Nim identifier exactly as spelled:
20:18:46FromGitter<zacharycarter> so not a type
20:18:54FromGitter<zacharycarter> ideally you'd use it like this
20:20:37*MyMind joined #nim
20:20:45Araqyardanico: very rarely
20:20:46*Sembei quit (Ping timeout: 264 seconds)
20:21:14FromGitter<mratsim> It’s fine if it works with C++ though the repr a outputting empty [] bracket is a bit sad, at least I can use the named field
20:21:30FromGitter<Yardanico> well usually you don't want to importc types from C or C++
20:21:40FromGitter<Yardanico> you want to create binary-compatible types
20:22:01FromGitter<Yardanico> so you can pass your object to C function which accepts struct Foo
20:22:40FromGitter<zacharycarter> yeah exactly
20:22:42FromGitter<zacharycarter> something like
20:22:51FromGitter<zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c41f9a7b7d98d30d21de96]
20:22:53FromGitter<zacharycarter> although this doesn't compile either
20:23:45FromGitter<mratsim> aaah the bycopy pragma?
20:24:08FromGitter<zacharycarter> bycopy means the value will be passed as a value not as a ref
20:24:17FromGitter<zacharycarter> or pointer
20:24:19FromGitter<zacharycarter> whatever
20:24:39FromGitter<zacharycarter> main point is I'm using importc on the proc not the type
20:26:17FromGitter<mratsim> My use case is, I will have a struct that will store some metadata (3 fixed size array, 3 int and 1 pointer) and then I will memcpy it to a GPU. The pointer should be copied as is. Struct will be used by a C++ GPU function
20:26:54FromGitter<mratsim> but I wasn’t sure how to have it binary compatible (besides exportc to avoid name mangling)
20:27:26FromGitter<Yardanico> c2nim it ? :)
20:27:28Araq"binary compatible" and "name mangling" -- see the problem?
20:28:44FromGitter<zacharycarter> try this
20:28:56FromGitter<zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c42108cfeed2eb6537f251]
20:29:07FromGitter<zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c42113b59d55b823237c16]
20:30:30FromGitter<mratsim> Ah I see, thanks
20:30:34FromGitter<zacharycarter>
20:34:52*claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com)
20:37:26FromGitter<Yardanico> It seems we're getting to the point of creating something for deep learning! https://github.com/edubart/arraymancer-vision
20:37:30FromGitter<Yardanico> ,
20:38:43FromGitter<Yardanico> ,
20:38:43FromGitter<zacharycarter> O.o
20:39:34FromGitter<mratsim> though @zacharycarter somehow you can’t put both in the same file with “emit"
20:39:39*yglukhov quit (Remote host closed the connection)
20:40:23FromGitter<mratsim> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c423b6177fb9fe7eeba374]
20:41:42*Ven`` joined #nim
20:41:56FromGitter<mratsim> oh well, I’ll have a .c or .cpp file in my repo, shame on me *shrug*
20:58:36*yglukhov joined #nim
20:58:52*vlad1777d quit (Ping timeout: 255 seconds)
20:59:23*vlad1777d joined #nim
21:06:08*Ven`` quit (Ping timeout: 248 seconds)
21:06:37*relax quit (Ping timeout: 260 seconds)
21:18:02*dddddd quit (Quit: Hasta otra..)
21:32:41*solitudesf quit (Ping timeout: 240 seconds)
21:36:01*vlad1777d quit (Ping timeout: 248 seconds)
21:37:10*vlad1777d joined #nim
21:43:25*Serenitor joined #nim
21:45:42SerenitorI have an array of float and a proc that takes an array of cfloat.
21:45:42Serenitorwhile keeping those types, do I have any better options than to go over that array and cast every item?
21:46:00*m712 quit (Ping timeout: 252 seconds)
21:47:39*derlafff quit (Ping timeout: 252 seconds)
21:47:39*huonw quit (Ping timeout: 252 seconds)
21:47:39*demi- quit (Ping timeout: 252 seconds)
21:47:49*demi- joined #nim
21:48:12*gangstacat quit (Ping timeout: 252 seconds)
21:48:12*odc quit (Ping timeout: 252 seconds)
21:48:35*derlafff joined #nim
21:49:12*mahsav quit (Ping timeout: 260 seconds)
21:50:57*mahsav joined #nim
21:52:08FromGitter<Yardanico> Cast entire array ? :P
21:52:32FromGitter<zacharycarter> @mratsim I'm not sure how to make it work with emit - I'd probably ask Araq
21:52:34*m712 joined #nim
21:53:00FromGitter<zacharycarter> I have a feeling though this quote had something to do with it
21:53:09*huonw joined #nim
21:53:09FromGitter<zacharycarter> From IRC (bridge bot) @FromIRC 16:27 ⏎ <Araq> "binary compatible" and "name mangling" -- see the problem?
21:53:16FromGitter<zacharycarter> cool!
21:54:14*relax joined #nim
21:54:21FromGitter<genotrance> Is there an async module to read/write files/streams?
21:54:34Serenitoryup Yardanico I didn't realize I could that, thx
21:55:12FromGitter<zacharycarter> @genotrance https://nim-lang.org/docs/asyncdispatch.html + https://nim-lang.org/docs/asyncnet.html
21:55:28FromGitter<zacharycarter> err wait
21:55:38FromGitter<zacharycarter> I meant https://nim-lang.org/docs/asyncfile.html
21:56:14FromGitter<zacharycarter> @yglukhov you around by any chance?
21:56:18FromGitter<genotrance> @zacharycarter: isn't that just for sockets?
21:56:27FromGitter<zacharycarter> @genotrance asyncfile is not
21:56:33FromGitter<zacharycarter> "This module implements asynchronous file reading and writing. ⏎ ⏎ "
21:56:33yglukhovhey whats up
21:56:46FromGitter<zacharycarter> I'm going to start trying to incorporate nimx into zengine
21:57:02yglukhovcool, best of luck, man! =)
21:57:16FromGitter<zacharycarter> thank you - I may put an issue up on nimx to ask questions if that's okay with you
21:57:52*Ven`` joined #nim
21:57:53*vlad1777d quit (Ping timeout: 248 seconds)
21:57:53yglukhovabsolutely. going offline now anyway.
21:58:04FromGitter<zacharycarter> alright cool - have a good one! talk soon!
21:58:17yglukhovc u
21:59:12FromGitter<genotrance> @zacharycarter: asyncfile is just what I need!
21:59:39FromGitter<zacharycarter> @genotrance :)
21:59:54FromGitter<genotrance> @cheatfate's asynctools worked perfectly for an async execProcess()
22:00:24FromGitter<zacharycarter> where has cheatfate been anyway?
22:00:31FromGitter<zacharycarter> I miss seeing his creepy avatar
22:00:47FromGitter<genotrance> I'm seeing a crash on my program after running for a long time which I cannot reproduce when run through GDB
22:01:12FromGitter<zacharycarter> can you share a stacktrace?
22:01:14*gangstacat joined #nim
22:01:53*mahmudov joined #nim
22:02:15FromGitter<genotrance> it's on Windows so I just see a popup saying my program ran abnormally, i don't get any stacktrace even with full debugging enabled
22:02:57FromGitter<zacharycarter> isn't there like a details or log in system events or something? I haven't used windows in forever so I has no idea
22:03:52*zachk joined #nim
22:05:31FromGitter<genotrance> i'll have to check on that
22:05:39FromGitter<zacharycarter> I think if you go to start > eventvwr
22:05:50FromGitter<zacharycarter> type eventvwr into the run dialog in the start menu
22:05:52FromGitter<zacharycarter> something should be in there
22:07:19*thomasross quit (Remote host closed the connection)
22:07:33FromGitter<Varriount> bennyelg: You there?
22:07:58zachkzacharycarter: did you go to northeastern?
22:08:10*thomasross joined #nim
22:08:22FromGitter<Varriount> Araq: Python only has one open() that actually exists in the global namespace though.
22:09:31FromGitter<zacharycarter> zack: no VCU
22:09:46zachkoh ok, different zach carter then
22:09:47FromGitter<zacharycarter> zachk ^ sorry
22:10:50FromGitter<zacharycarter> I know there's a Zach Carter that works for mozilla
22:10:57FromGitter<zacharycarter> but he looks quite different than I do :P
22:11:12FromGitter<zacharycarter> mainly because he's black and I'm white
22:11:26FromGitter<zacharycarter> but he's way more accomplished than I am hehe
22:11:33zachk:D
22:13:38*vlad1777d joined #nim
22:23:36FromGitter<zacharycarter> NimX is nice but complicated and not documented :/
22:28:30*yglukhov quit (Remote host closed the connection)
22:32:31*nsf quit (Quit: WeeChat 1.9)
22:32:35*mahmudov quit (Ping timeout: 240 seconds)
22:38:07FromGitter<genotrance> is it possible to run threads in an async fashion?
22:38:35FromGitter<zacharycarter> async is single threaded
22:38:44FromGitter<zacharycarter> but you could spawn a thread and use async in that thread
22:39:13FromGitter<Varriount> @Bennyelg https://gist.github.com/Varriount/9e84c48baa4fd5ea22558031bfab3554
22:39:31FromGitter<Varriount> @Bennyelg Feel free to ask questions.
22:40:09FromGitter<zacharycarter> code is so clean @Varriount
22:41:23FromGitter<genotrance> @zacharycarter: thing is that i call a C function from which I need the return value, I've been using ^ to wait on the thread to return but that blocks async
22:41:43FromGitter<genotrance> i'm wondering if I can use a channel, again, it should allow waiting on a channel async
22:42:11FromGitter<zacharycarter> yeah use a channel or shared memory one of the two
22:45:58FromGitter<genotrance> okay, figured it out => p = spawn proc(); while not p.isReady(): await sleepAsync(X)
22:53:29FromGitter<zacharycarter> it'd be nice if this was a little more specific
22:53:58FromGitter<zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c44306bc4647297460cdca]
22:54:08FromGitter<zacharycarter> I can't tell what file is including stdbool
22:54:15FromGitter<zacharycarter> or really stdlib_os
22:57:15FromGitter<genotrance> okay, so my application is crashing due to an access violation which doesn't happen when I run it within GDB
22:57:33FromGitter<ephja> well there you go
22:57:51FromGitter<ephja> gdb to the rescue ;)
22:58:04FromGitter<genotrance> faulting module path is ntdll.dll, fault offset: 0x00046edf
22:58:07FromGitter<genotrance> any ideas? :D
22:58:11FromGitter<zacharycarter> share some code?
22:59:35*relax quit (Ping timeout: 240 seconds)
23:00:13FromGitter<zacharycarter> seriously how am I supposed to do anything with the error I posted above?
23:00:28FromGitter<genotrance> @zacharycarter: https://gist.github.com/genotrance/397479572eed0dbb554d026d9d3d5286
23:03:26FromGitter<zacharycarter> can you also post pg_acoustid/acoustid_compare.c
23:03:28FromGitter<zacharycarter> ?
23:04:05FromGitter<zacharycarter> nm found it on github
23:04:17FromGitter<genotrance> but i've commented out a bunch of stuff, let me post
23:04:55FromGitter<zacharycarter> okay
23:05:35FromGitter<genotrance> https://gist.github.com/genotrance/7eaca0738ec770a77d4e3745168f57ee
23:05:46FromGitter<Varriount> @zacharycarter That first file has been translated directly from AWS's Python API example.
23:05:52FromGitter<edubart> @Yardanico indeed we're getting to the point to see some deep learning in nim, the repo you mentioned is my first step, @mratsim already stepped in by starting to create a tensor library, I'm joining forces with him trying thus we are trying to create a minor ecosystem for deep learning in nim, something like pytorch, while he works on the tensor library I'm planing to work on things like visualization, io,
23:05:52FromGitter... preprocessing, demos and other deep learning goodies, hopefully in the future we can attract more devs, I do see see nim with great potential to work in deep learning
23:06:00FromGitter<Varriount> @zacharycarter Unless you were talking about the second file?
23:06:32FromGitter<zacharycarter> @Varriount I just meant in general it's very clean :)
23:07:00FromGitter<zacharycarter> @edubart I'd be interested to see where this effort goes, my company is just starting to get into deep learning
23:07:38FromGitter<genotrance> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c4463abc4647297460dc00]
23:07:47FromGitter<mratsim> ooohh mmyyyy eeyyeeesss
23:08:22FromGitter<genotrance> werd, that didn't work too well!
23:08:28FromGitter<zacharycarter> :P
23:08:32FromGitter<zacharycarter> try surrounding with ``` ```
23:08:37FromGitter<zacharycarter> err 3 backticks
23:08:42FromGitter<zacharycarter> ``````
23:09:08FromGitter<genotrance> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c44693bc4647297460dca6]
23:09:52FromGitter<genotrance> that's autodup.h to fill in the missing stuff that was needed to pad out the stuff inherited from postgresql
23:10:52FromGitter<zacharycarter> yeah still trying to get this to run heh not having much luck
23:11:51FromGitter<genotrance> try this: https://www.dropbox.com/s/149gz1k3taoehp8/autodup.zip?dl=0
23:12:24FromGitter<genotrance> first day on Gitter, I'm bursting eyes everywhere
23:13:45FromGitter<genotrance> try autodup -M <path to music collection> and it will scan for duplicate songs
23:21:38*mahsav2 joined #nim
23:21:57*mahsav quit (Ping timeout: 260 seconds)
23:23:54*vlad1777d quit (Ping timeout: 252 seconds)
23:26:02*mahsav2 quit (Ping timeout: 260 seconds)
23:28:58*yglukhov joined #nim
23:33:15*yglukhov quit (Ping timeout: 252 seconds)
23:47:52*odc joined #nim