<<17-10-2017>>

00:03:42*d10n-work quit (Quit: Connection closed for inactivity)
00:03:58*JappleAck joined #nim
00:07:19*ryanhowe joined #nim
00:18:32*Nobabs27 quit (Quit: Leaving)
00:21:21*dhalinar quit (Ping timeout: 248 seconds)
00:31:55*ryanhowe quit (Ping timeout: 252 seconds)
00:33:06*kafke_ quit (Remote host closed the connection)
00:36:27*vlad1777d quit (Ping timeout: 240 seconds)
00:38:58*rauss quit (Read error: Connection reset by peer)
00:40:53*rauss joined #nim
00:53:13*def-pri-pub joined #nim
00:58:19*ryanhowe joined #nim
01:12:44*Jesin quit (Quit: Leaving)
01:20:14*Jesin joined #nim
01:23:23*libman quit (Quit: Connection closed for inactivity)
01:24:10*dhalinar joined #nim
01:26:15*user0 quit (Quit: user0)
01:26:50FromGitter<zacharycarter> (https://files.gitter.im/nim-lang/Nim/z5Fq/Render2.png)
01:28:41*user0 joined #nim
01:30:46*user0 quit (Client Quit)
01:33:13*user0 joined #nim
01:33:54*kafke joined #nim
01:37:27*chemist69 quit (Disconnected by services)
01:37:32*chemist69_ joined #nim
01:38:19*Jesin quit (Ping timeout: 255 seconds)
01:38:28*kafke quit (Ping timeout: 252 seconds)
01:42:24*yglukhov joined #nim
01:43:52*Jesin joined #nim
01:45:47*dhalinar quit (Ping timeout: 258 seconds)
01:46:35*yglukhov quit (Ping timeout: 240 seconds)
01:49:28*dhalinar joined #nim
01:49:54*SusWombat joined #nim
01:50:20SusWombatAnyone here using nim in vscode and has a idea why i dont get autocompletion for nimble modules?
01:58:48SusWombatoh ... nvm i should try installing nimsuggest first
01:59:56SusWombatthe aur package (arch) for nimsuggest says "This is now part of Nim itself."
02:00:00SusWombatis this true?
02:02:47*JappleAck quit (Quit: Leaving)
02:12:43FromGitter<zacharycarter> SusWombat: I think you have to install it with koch tools
02:12:47FromGitter<zacharycarter> but I could be wrong
02:13:01SusWombatyeah
02:13:19SusWombatim currently trying to decide if i should just compile nim on my own or use choosenim
02:14:05FromGitter<zacharycarter> I do the former on my osx machine
02:14:13FromGitter<zacharycarter> I've used choosenim on other operating systems
02:18:02SusWombatim going to try choosenim
02:19:37shashlickI was building myself on Windows until recently when I moved to choosenim. It can pull from head so might as will leverage it instead of diy
02:31:18*def-pri-pub quit (Quit: Leaving.)
02:32:05*SusWombat quit (Remote host closed the connection)
02:32:55*dhalinar quit (Ping timeout: 252 seconds)
02:33:14*SusWombat joined #nim
02:34:57*stisa quit (Ping timeout: 240 seconds)
02:44:06*rauss quit (Quit: WeeChat 1.9.1)
02:44:15*rauss joined #nim
02:44:29*dddddd quit (Remote host closed the connection)
02:44:29raussI love the tensor lib blog post. Great read
02:44:58*dmu quit (Quit: leaving)
02:45:11FromGitter<zacharycarter> @mratsim wrote it
02:52:26*smt quit (Ping timeout: 246 seconds)
02:53:41FromGitter<zacharycarter> I think I should start a stream - for 3d modeling and programming Nim
02:53:56FromGitter<zacharycarter> dom96 gave me the idea but I think it's a good one
02:54:06raussI've often considered starting to stream my programming and gamedev stuff
02:54:27raussit would almost certainly motivate me to do it more frequently, if it worked out
02:55:23raussThe only reason I haven't is laziness. We should each go for it
02:56:29FromGitter<zacharycarter> yeah it might get me more focused to work on specific things and get things done faster
02:57:43*endragor joined #nim
03:05:07SusWombatIm trying to learn opengl a bit. As there are no glew buinings what would i use instead?
03:05:18SusWombat@zacharycarter maybe?
03:09:39FromGitter<zacharycarter> SusWombat you don't need glew if you use the Nim opengl bindings
03:09:48SusWombatoh ok
03:09:51FromGitter<zacharycarter> the extensions are available via the function loadExtensions
03:10:57SusWombatthanks
03:11:32SusWombatIm probably going to give anyways. But i atleast want to try :D
03:12:07FromGitter<zacharycarter> I recommend https://learnopengl.com/
03:12:26SusWombatHm ok
03:12:39SusWombatim currently started open.gl as it offers sdl as a option
03:13:20SusWombatbut i guess for learning it wouldnt matter if id use glfw instead of sdl right?
03:34:08FromGitter<zacharycarter> nope
03:34:30FromGitter<zacharycarter> whether you choose sdl2 or glfw3 should have little impact suswombat
03:34:38SusWombatok
03:34:49FromGitter<zacharycarter> I recommend sdl2
03:34:59FromGitter<zacharycarter> esp if you want to get into things like webassembly eventually
03:35:06SusWombatyeah but the tutorial uses glfw so wouldnt it be easier to just use that?
03:35:25SusWombatif i would actually use opengl for something real id use sdl anyway
03:36:08SusWombatOnly thing that worrys me a bit that i have to learn 3d stuff when learning opengl. And im not intrested in 3d at aöö
03:36:09SusWombatall*
03:43:35FromGitter<zacharycarter> you don't HAVE to learn 3d
03:43:44FromGitter<zacharycarter> but you need to know linear algebra
03:44:18FromGitter<zacharycarter> I'd go through learning opengl - they even have an example for building a 2d game
03:44:39*yglukhov joined #nim
03:44:44FromGitter<zacharycarter> glfw3 / sdl2 are just the windowing library - but sure you could start with glfw3 if you're not familiar with either library
03:48:41*yglukhov quit (Ping timeout: 240 seconds)
04:00:43*Elronnd quit (Ping timeout: 276 seconds)
04:03:03UxerUosprWhat's the fastest way to check if a string is in a sequence?
04:05:20*Elronnd joined #nim
04:30:04FromGitter<TheSuspiciousWombat> @zacharycarter Do you have any idea if there is a site which translates glfw call to sdl? like not automaticly but some kind of documentation/ressource
05:19:57FromGitter<x86128> Hello! Newbie question. ⏎ Trying to compile this simple code: ⏎ https://gist.github.com/x86128/645835a3f876625ce022fb5283428813 ⏎ ⏎ and got compile time error: ... [https://gitter.im/nim-lang/Nim?at=59e592fde44c43700a41530a]
05:35:18*kafke joined #nim
05:37:41*UxerUospr quit (Quit: Lost terminal)
05:39:41*kafke quit (Ping timeout: 240 seconds)
05:41:33FromGitter<Bennyelg> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59e5980c210ac26920f632d0]
05:41:43FromGitter<Bennyelg> you should await you response since it's Async.
05:41:52FromGitter<Bennyelg> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59e5981fbbbf9f1a386e1c93]
05:46:54*yglukhov joined #nim
05:47:23FromGitter<x86128> waitFor definition:
05:47:26FromGitter<x86128> proc waitFor*T (fut: Future[T]): T = ⏎ ## *Blocks* the current thread until the specified future completes. ⏎ while not fut.finished: ⏎ ⏎ ```poll()``` ... [https://gitter.im/nim-lang/Nim?at=59e5996df7299e8f53f820c2]
05:48:14FromGitter<x86128> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59e5999ef7299e8f53f82153]
05:48:28*retropikzel joined #nim
05:49:06FromGitter<x86128> So actually await perform resolve of Future?
05:51:30*yglukhov quit (Ping timeout: 258 seconds)
05:56:49FromGitter<Bennyelg> Yea
05:58:03*retropikzel left #nim (#nim)
06:04:25*kobi7 joined #nim
06:05:20kobi7hi guys, I was wondering if there is a way to define postfix procs - the arguments are to the left of the proc name
06:05:39kobi7I'm just a beginner but I think I saw infix syntax for templates
06:06:36kobi7or perhaps something like (a:2, b:"hello").args.callme
06:06:47kobi7convert a tuple to proc arguments
06:08:30kobi7no big deal - just wondering if I missed it, since nim is so flexible.
06:09:51Araqkobi7: there are no postfix procs
06:10:05kobi7ok, np
06:10:16Araqso that we can parse a + + b unambiguously without symbol table
06:10:31Araq(that is parsed as (a + (+b)
06:10:34Araq)
06:14:15kobi7Are there data structures other than the ones in the stdlib/Collections?
06:14:25*PMunch joined #nim
06:14:25kobi7specifically a dependency graph
06:15:06kobi7hi PMunch
06:16:27kobi7That's weird: all the nimble package definitions are in one json file? not very scalable...
06:17:03kobi7(multiple pull requests)
06:18:01PMunchHi kobi7
06:18:45Araqkobi7: yeah I argued for a database back in the days
06:19:02Araqeventually we'll need to patch it
06:19:16Araqbut for now it suffices
06:20:12Araqoh also nimble supports multiple packages.json files
06:20:21kobi7multiple files would be fine. I just saw that now so commented.
06:21:11kobi7db actually has benefits that it's easier/faster to download
06:21:21kobi7brb
06:22:36PMunchBut that would mean it would have to be stored and managed somewhere else. Git and GitHub are good tools for managing a shared resource.
06:22:47AraqDBs can also be queried and don't have ascii alignment / whitespace problems, missing commas, missing }'s
06:23:20*nsf joined #nim
06:23:27Araqand are not under the "git diff" oppression
06:24:31kobi7you can have both world: build a binary out of the github resources.
06:24:48kobi7nimble can then work with the binary to do most things.
06:24:57Araqthat doesn't solve much
06:25:10Araqpeople would still need to make PRs against the packages.json
06:25:28kobi7to tell the truth I prefer simple solutions. multiple files is just fine imo.
06:26:43PMunchWe could have just a folder of .nimble files in a folder on GitHub then a server somewhere that hooks into the repo and builds a DB from that automatically
06:27:22PMunchBest of both worlds, you get Git/GitHub as an easy and familiar front-end, and a DB for ease of access for tools.
06:27:35kobi7from optimization perspective, every "release" the information is already known, that's why a database, or a binary representing dependency graph and other relevant structures is fastest for nimble to have at its disposal. That would mean generating binaries every "release" - but the dynamic way is fine in my opinion. it's not that there are millions of packages...
06:27:57Araqa folder of .nimble files is already a much better database than json
06:28:13Araqnice idea, never really occured to me
06:28:28PMunchThere might be some speed issues with lots of small files though..
06:29:06PMunchBut I guess nimble itself could download and build them into one db for local usage
06:29:10Araqyup
06:29:14kobi7someone once said premature optimization is the root of all evil
06:29:21PMunchThat would actually make a lot more sense :P
06:29:59kobi7yes, that is a good idea. adding to an existing db when new packages change.
06:30:17kobi7git is already very good at giving us only the deltas
06:30:47kobi7but you would have to hold all the files locally.
06:31:52PMunchI don't think the overhead of that would be too bad
06:32:34kobi7can github hold a zip file?
06:32:51kobi7nevermind, that has no benefit
06:32:56FromGitter<gokr> I built a similar solution years ago actually.For Squeak.
06:32:57PMunchIt can, but then you loose all of gits capabilities
06:33:29PMunchYou could zip up all the files locally and simply unpack them before a pull if it's a problem
06:33:36FromGitter<gokr> Clients downloaded a complete snapshot, sing fkle.
06:33:59FromGitter<gokr> A serialized model.
06:34:05PMunchhttps://stackoverflow.com/questions/8522619/how-do-i-get-the-list-of-files-about-to-be-updated-by-git-pull-without-knowing
06:34:13PMunchYou could of course also do that
06:34:50PMunchSo download a full copy once, then run that command to look for new/changed files and selectively pull only those, storing them in a db and then deleting them
06:35:07PMunchOh wait, git would see them as deleted though..
06:35:11FromGitter<gokr> The idea with the model was of course to open up tool crafting.
06:36:07*kafke joined #nim
06:36:08PMunchOr would it if they are not checked in?
06:36:10kobi7ok ok this is already over engineering for mostly a non-issue
06:36:30Araqquick, what is -1.#IND ?
06:36:30PMunchgokr, Squeak
06:36:32PMunch?
06:36:42FromGitter<gokr> Www.squeanr
06:36:44PMunchWhat is #IND?
06:36:50FromGitter<gokr> Www.squeak.org
06:37:01AraqPMunch, it's Windows lingo for NaN (omg)
06:37:11kobi7hehe
06:37:22kobi7Indecisive :-)
06:37:45PMunchOh cool, gokr
06:38:14PMunchAh right, been a while since I've done anything with Windows :P
06:39:08kobi7Araq: say I wanted to port some code over to nim. Say also that I want to be adventurous and not do it manually. But still not tackle the whole thing. What are some good ideas for that?
06:40:04FromGitter<Varriount> kobi7: You could try using C2Nim
06:40:05kobi7Is there something like a frontend feature in nim? someLang -> NimAST -> Nim text ?
06:40:40kobi7thanks Varriount
06:40:41FromGitter<Varriount> Depending on how complex the code in question is, it can transform logic and such
06:40:57*kafke quit (Ping timeout: 258 seconds)
06:41:08kobi7it wasn't written in c though.
06:41:32kobi7I think I will use your suggestion for missing functionality like data structures etc.
06:41:43Araqpatch c2nim to do it, every curly braced language is close enough :P
06:42:42*kafke joined #nim
06:42:47kobi7i'll take a look at the sources.
06:43:18Araqwhat language are we talking about?
06:43:37*gokr joined #nim
06:44:20FromGitter<Varriount> Araq: Regarding Nimble files, what Package Control (sublime's plugin manager) does is group the files in folders, organized alphabetically.
06:44:50gokrPMunch: I was heavily involved in Squeak, even led the project for some time. So me being here in Nim is... kinda weird. Smalltalk and Nim are quite far from each other.
06:46:02Araqvarriount: I have no idea how to cut vids with HandBrake
06:46:16Araqisn't there a tool for idiots like me?
06:46:30PMunchWell gokr, they do share some ideas
06:46:41PMunchIn a roundabout way
06:46:43Araqshow the timeline, let me move sections, cut and paste
06:46:48gokrThe idea with SqueakMap (the package manager I built, still operational btw) was that since Squeakers all run the same "IDE", and it's also fully live and programmable - the meta model should also cover packages, but also developers etc.
06:46:55Araqwhat's so hard about that, UI-wise?
06:46:58PMunchAraq, use kdenlive :)
06:47:04PMunchIt's pretty easy to use
06:47:15FromGitter<Varriount> Araq: Hm, handbrake does encoding only.
06:47:25*kobi7 quit (Quit: Leaving)
06:47:28*kafke quit (Ping timeout: 255 seconds)
06:47:33gokrSo you could trivially in a Smalltalk textspace type things like "SqueakMap allPackages select: [:each | each canBeUpdated]" - or things like that.
06:47:41FromGitter<Varriount> Windows Movie Maker?
06:47:44PMunchAraq, or you could try Windows Movie maker :P
06:47:53PMunchHaha, nice one Varriount
06:48:12FromGitter<Varriount> I mean, if you want simple...
06:48:14gokrAraq: I use OpenShot, very nice to do things like that.
06:48:22PMunchHas it gotten any better in post XP versions of Windows?
06:48:24gokrNot sure if it runs on your platform though.
06:49:23gokrAraq: http://www.openshot.org/download/
06:49:25PMunchYeah OpenShot seems like a good alternative
06:49:44gokrIt's very nice, I have "produced" several videos of my daughter's figure skating competitions with that.
06:50:08gokrAnd it has nice trivial profiles for encoding in the end for youtube etc
06:50:54FromGitter<Varriount> gokr: Neat! I'd like to go skating (or for preference, skiing) at some point
06:51:26PMunchI've used lots of different editing software, and kdenlive is the one which hits closest to the "big boys" like Adobe Premiere and Sony Vegas
06:51:26FromGitter<Varriount> Not much chance to do it here on the east coast, despite all the hills.
06:51:40PMunchBoth of which are great tools by the way, but boy do they cost a pretty penny
06:54:38gokrVarriount: We go up north each year to ski, for about 1 week. It's a swedish thing - the "sport week" - all kids are on school leave. Me and Maya snowboard though.
06:55:09PMunchAraq, is there a way to disable an event handler in Karax?
06:55:17AraqI don't get OpenShot lol
06:55:25gokrAraq: ?
06:55:27AraqPMunch: don't add it after a refresh?
06:55:30PMunchgokr, nice snowboarding!
06:55:39Araqwhy are there 5 tracks?
06:55:48Araqwhy doesn't it run my video?
06:56:02gokrAraq: It's a two step thing - you need to to first "import" - then drag down onto the timeline.
06:56:05PMunchAraq, oh right Karax is completely redrawn after each thing
06:56:05Araqit says "preview" it's all black
06:56:07gokrIIRC
06:56:23gokrDrag your movie down onto the timeline.
06:56:35PMunchAraq, missing a codec or something perhaps?
06:57:04gokrI have version 1.4.3 though, not sure what you have.
06:57:21Araqit's a flv file
06:57:26Araqcould that cause problems?
06:57:37gokrNo
06:57:41gokrDon't think so.
06:57:48gokrSo you have it in the "Project Files" list?
06:57:53PMunchCan flv files cause anything but problems?
06:58:01gokrWhat about dragging it down onto the "Track 1" or "Track 2"?
06:58:03Araqgokr: yes
06:58:22AraqI did drag it
06:58:29Araqpreview is black
06:58:37gokrSo you got an "orange plate" on the track?
06:58:38*Laon joined #nim
06:58:52gokrRepresenting the clip I mean.
06:58:57Araqno a black rectangle
06:59:07Araqthat said, my firewall prevented some things
06:59:14Araqlet me try disabled
06:59:15gokrhmm.
06:59:41PMunchYour firewall prevented video playback? What kind of firewall do you have?
07:00:34gokrAraq: Just tried with an flv too - works just fine.
07:00:44gokrBut I get an orange "plate" on the Track, not a black one.
07:01:22gokrAraq: And if you right click on it, pick "Properties", you should see a bunch of meta data of the clip.
07:02:00gokrOh, wow. I use an ancient version :)
07:02:12*lastjedi joined #nim
07:03:03*Arrrr joined #nim
07:05:47*Yardanico joined #nim
07:07:12Yardanicohi everyone!
07:07:34Yardanicodom96, it seems you've already reported an issue with concepts in your book - https://github.com/nim-lang/Nim/issues/6108
07:11:05PMunchHmm, is there a way to forcibly override something?
07:11:40PMunchie. module 1 imports a proc helloWorld, I want to allow that as default but hove proc helloWorld from module 2 override it if it's loaded
07:12:26Yardanicowell simplest solution - you can do that with closures :)
07:12:40PMunchHmm, how so?
07:13:06YardanicoPMunch, in the first module you have "var myproc* = proc ...", and in the second file you do "myproc = proc ..."
07:13:13*yglukhov joined #nim
07:13:13*claudiuinberlin joined #nim
07:13:14Yardanicobut maybe this is a little bit hacky
07:13:33PMunchAah, that would actually work well enough
07:15:04*yglukhov_ joined #nim
07:15:09*yglukhov quit (Read error: Connection reset by peer)
07:15:10*yglukhov_ quit (Remote host closed the connection)
07:15:23*yglukhov joined #nim
07:15:25PMunchOh wait, this is a macro..
07:15:35Araqok kdenlive works
07:15:46Araqnice
07:15:52PMunchNice Araq
07:16:01YardanicoAraq, yay, will you upload your recording today?
07:16:04PMunchAre you editing your previous stream?
07:16:16Yardanicoyeah, he said he'll remove swear words & bad jokes :P
07:16:26PMunchBoooo
07:16:37PMunchMuch more fun with them :P
07:17:20PMunchBut I guess it gives me an incentive to look at the stream :P
07:21:31FromGitter<mratsim> So people start to notice my “Why rust fails hard at scientific computing” post: https://andre-ratsimbazafy.com/why-rust-fails-hard-at-scientific-computing/#comments
07:22:13*Vladar joined #nim
07:22:49Yardanicomratsim: btw, about arrays - you can any size array with third-party module :P
07:22:54Yardanico(in rust)
07:23:22FromGitter<mratsim> 2 years ago I couldn't
07:23:34Yardanicolol, https://andre-ratsimbazafy.com/why-rust-fails-hard-at-scientific-computing/#comment-3570217857
07:23:43Yardanicohis second point is not true because nim has arrays
07:23:50Yardanicoand they can be of (almost) any size :P
07:23:59Yardanicoand they don't need GC afaik
07:24:22Araqok, let's cut here within the sentence. there is no better solution. nobody will notice
07:24:29FromGitter<Bennyelg> hey anyone here worked with pandads before?
07:24:32FromGitter<Bennyelg> pandas*
07:25:31FromGitter<mratsim> yes
07:25:33FromGitter<mratsim> a lot
07:25:49FromGitter<mratsim> I breath pandas :P
07:25:50FromGitter<Bennyelg> My friend have an issue he has some dataframe with some field which is very long field
07:26:08FromGitter<Bennyelg> he gets it with yada yada and after 50 chars it gets ... dots
07:26:11FromGitter<Bennyelg> (3 dots)
07:26:28FromGitter<mratsim> it’s just display then no?
07:26:45FromGitter<mratsim> maybe PM me
07:27:00FromGitter<Bennyelg> how do I pm
07:27:44Yardanicoclick on mratsim's avatar
07:27:51Yardanicoand then click "chat privately"
07:30:40FromGitter<mratsim> done, problem solved :)
07:30:57FromGitter<mratsim> (it was a display option)