<< 08-12-2017 >>

00:02:52*redlegion quit (Client Quit)
00:03:54*rbrt quit (Quit: Oíche mhaith)
00:04:02*zetashift joined #nim
00:04:03*redlegion joined #nim
00:04:03*redlegion quit (Changing host)
00:04:03*redlegion joined #nim
00:04:07*zetashift left #nim ("Leaving")
00:04:13*redlegion quit (Client Quit)
00:04:59FromGitter<Varriount> zetashift: Well, even though it's all crypto-stuff, if the logic has already been implemented in C, it's just a matter of translating it.
00:06:39FromGitter<mratsim> Stuff don’t die on Arch wiki :P
00:07:30FromGitter<Varriount> @mratsim That's because the wiki is prominant on the official arch website.
00:08:17FromGitter<zetashift> @Varriount , yea seems they are translating Python code and wrapping C code
00:09:17FromGitter<zetashift> I'm meh at Python and really bad at C. If I was fluent in Python I'd apply
00:09:56FromGitter<Varriount> I'm fluent in Python, but have a job and school.
00:09:56FromGitter<zetashift> Which shouldn't take long but I don't really like it
00:09:58FromGitter<zetashift> learning Python after Nim seems so wasteful lol
00:10:15FromGitter<Varriount> It's frustrating though, because this could be a really big opportunity for Nim.
00:12:07FromGitter<zetashift> I like how they are promising to contribute some stuff back
00:13:20FromGitter<Varriount> I'd be willing to contribute on a part-time basis (say, 5-10 hours a week) but I don't have any time other than that.
00:13:40FromGitter<zetashift> saw some messages today here that said the same thing
00:15:51*redlegion joined #nim
00:15:51*redlegion quit (Changing host)
00:15:51*redlegion joined #nim
00:16:35*redlegion quit (Client Quit)
00:16:48*jjido quit (Remote host closed the connection)
00:32:08*redlegion joined #nim
00:32:08*redlegion quit (Changing host)
00:32:08*redlegion joined #nim
00:40:05*shashlick quit (Remote host closed the connection)
00:41:19*redlegion quit (Quit: Peace, bitches)
00:43:04*elrood quit (Quit: Leaving)
00:43:14*redlegion joined #nim
00:43:14*redlegion quit (Changing host)
00:43:14*redlegion joined #nim
00:47:33*Jipok[m] joined #nim
00:56:02*libman joined #nim
00:58:38*MrAxilus[m] joined #nim
00:58:38*Miguelngel[m] joined #nim
00:58:38*unclechu joined #nim
00:58:38*Demos[m] joined #nim
00:58:38*ehmry joined #nim
00:58:39*dyce[m] joined #nim
00:58:39*watzon joined #nim
00:58:45*macsek1911[m] joined #nim
00:58:45*georgeg[m] joined #nim
00:58:45*planetis[m] joined #nim
00:58:45*notdekka[m] joined #nim
00:58:45*TheManiac joined #nim
00:58:45*byteflame joined #nim
00:58:45*jivank[m] joined #nim
00:58:46*shashlick joined #nim
00:58:47*hohlerde joined #nim
01:01:48*rbrt joined #nim
01:13:18*vivus joined #nim
01:32:11*rbrt quit (Quit: Oíche mhaith)
01:33:14*rbrt joined #nim
01:45:44*rbrt quit (Quit: Oíche mhaith)
01:53:50*rbrt joined #nim
01:57:56*xmonader joined #nim
02:01:51*yglukhov joined #nim
02:06:23*yglukhov quit (Ping timeout: 248 seconds)
02:09:06*rbrt quit (Quit: Oíche mhaith)
03:00:41*xmonader quit (Ping timeout: 260 seconds)
03:00:57*chemist69 quit (Ping timeout: 250 seconds)
03:08:46*vlad1777d quit (Ping timeout: 264 seconds)
03:10:43*endragor joined #nim
03:11:04*endragor quit (Remote host closed the connection)
03:11:31*endragor joined #nim
03:14:40*chemist69 joined #nim
03:15:53*vivus quit (Quit: Leaving)
03:24:33*dddddd quit (Remote host closed the connection)
03:27:50*dexterk joined #nim
03:37:44*marenz__ joined #nim
03:41:31*marenz_ quit (Ping timeout: 260 seconds)
03:51:53*skrylar joined #nim
03:55:07*libman quit (Quit: Connection closed for inactivity)
04:20:45*noonien quit (Quit: Connection closed for inactivity)
04:27:24skrylarwhat's everyone favorite way to store a lot of floats? just binary dump them?
04:27:29skrylarthat's what gltf does
04:54:37skrylardom96, why does the streams module use getPosition and setPosition instead of `position=`
04:57:41skrylarit also looks like there isn't a method to just ask if the stream is seekable. boo.
05:53:41*marenz__ quit (Ping timeout: 240 seconds)
05:54:16*marenz__ joined #nim
05:56:38skrylarok. i wrote a helper to write these: http://nothings.org/computer/sbox/sbox.html
06:07:34*JappleAck joined #nim
06:18:01*marenz__ quit (Ping timeout: 268 seconds)
06:36:50*BitPuffin|osx joined #nim
06:39:25*nsf joined #nim
06:41:31*SenasOzys quit (Remote host closed the connection)
07:05:33*jjido joined #nim
07:08:15*avsej quit (Ping timeout: 246 seconds)
07:08:37*ehmry quit (Ping timeout: 246 seconds)
07:08:58*Demos[m] quit (Ping timeout: 246 seconds)
07:11:32*avsej joined #nim
07:11:32*avsej quit (Changing host)
07:11:32*avsej joined #nim
07:14:51*MrAxilus[m] quit (Ping timeout: 255 seconds)
07:14:52*unclechu quit (Ping timeout: 240 seconds)
07:15:05*hohlerde quit (Ping timeout: 276 seconds)
07:15:08*georgeg[m] quit (Ping timeout: 240 seconds)
07:15:12*notdekka[m] quit (Ping timeout: 240 seconds)
07:15:12*TheManiac quit (Ping timeout: 240 seconds)
07:15:18*planetis[m] quit (Ping timeout: 255 seconds)
07:15:18*Jipok[m] quit (Ping timeout: 255 seconds)
07:15:18*dyce[m] quit (Ping timeout: 255 seconds)
07:15:22*macsek1911[m] quit (Ping timeout: 264 seconds)
07:15:23*byteflame quit (Ping timeout: 252 seconds)
07:15:23*jivank[m] quit (Ping timeout: 252 seconds)
07:15:23*Miguelngel[m] quit (Ping timeout: 255 seconds)
07:15:29*watzon quit (Ping timeout: 255 seconds)
07:15:37*shashlick quit (Ping timeout: 248 seconds)
07:17:57*SunDwarf quit (Ping timeout: 260 seconds)
07:18:44*sz0 joined #nim
07:19:25*SunDwarf joined #nim
07:42:31*xmonader joined #nim
07:44:39*JappleAck quit (Quit: Leaving)
07:50:57*jjido quit (Remote host closed the connection)
07:55:59*jjido joined #nim
07:59:22*SenasOzys joined #nim
08:09:06*PMunch joined #nim
08:15:06*dddddd joined #nim
08:16:41def-@zetashift what's outdated about my howistart post? just the nimble instructions? PRs go here: https://github.com/howistart/howistart/blob/master/nim/1/index.md
08:18:50def-(I'll go through and fix it up a bit)
08:22:04*claudiuinberlin joined #nim
08:26:10*jjido quit (Remote host closed the connection)
08:40:55FromGitter<stisa> def- You might want to mention choosenim https://github.com/dom96/choosenim too
08:44:41PMunchYeah, choosenim is great!
09:00:45Araqso ... either jester or asynchttpclient is leaking memory. and quite severly
09:00:46*yglukhov joined #nim
09:02:40PMunchHmm, that's not good
09:02:40Araqit appears jester simply "caches" every request, anybody familiar with it?
09:04:19PMunchWhat do you it caches every request? Does it keep them in memory indefinitely?
09:07:20Araqi think so, yeah
09:08:45Araqat least the memory fragmentation problems are a thing of the past :P
09:11:46PMunchHaha, always look on the bright side
09:12:56*xkapastel quit (Quit: Connection closed for inactivity)
09:16:19*Vladar joined #nim
09:19:11*Jipok[m] joined #nim
09:19:39PMunchAraq, I heard some talk about the result variable being stored directly in the position of the return value in the callers stack frame. Was this just a possible optimization or is that actually done in Nim today?
09:20:04*sz0 quit (Quit: Connection closed for inactivity)
09:21:44AraqPMunch, that is done in today's Nim.
09:22:03AraqNim does it, and C might do it as well
09:23:28PMunchOh cool
09:23:51PMunchWait, C does it as well? As a compiler optimization?
09:24:24FromGitter<codenoid> hi is nim stable for web development ?
09:29:12PMunchWell the Nim website and forum is written in Nim
09:29:48*dyce[m] joined #nim
09:29:48*Miguelngel[m] joined #nim
09:29:48*ehmry joined #nim
09:29:49*unclechu joined #nim
09:29:49*Demos[m] joined #nim
09:29:49*watzon joined #nim
09:29:55*shashlick joined #nim
09:29:55*MrAxilus[m] joined #nim
09:29:55*planetis[m] joined #nim
09:29:55*TheManiac joined #nim
09:29:55*jivank[m] joined #nim
09:29:56*hohlerde joined #nim
09:29:56*macsek1911[m] joined #nim
09:29:56*notdekka[m] joined #nim
09:29:56*byteflame joined #nim
09:29:56*georgeg[m] joined #nim
09:29:57gangstacatabout https://github.com/nim-lang/Nim/pull/3270 I would like to have the choice of the minimal level or error I want in order to get the automatic flushing as an argument to newFileLogger, would it be considered alright?
09:30:26gangstacatof*
09:32:13gangstacatso not only for error and fatal messages, but for the level we want and could pass as an argument to the procedure
09:33:19Araqgangstacat, seems reasonable
09:34:29gangstacatalright I will see what I can do, thank you Araq :)
09:42:15*claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com)
09:52:44*Arrrr joined #nim
09:52:44*Arrrr quit (Changing host)
09:52:44*Arrrr joined #nim
09:55:41*claudiuinberlin joined #nim
10:06:53*d10n-work quit (Quit: Connection closed for inactivity)
10:07:11*Trustable joined #nim
10:07:51*Jesin quit (Ping timeout: 240 seconds)
10:28:47*Arrrr quit (Ping timeout: 248 seconds)
10:35:41*Arrrr joined #nim
10:35:41*Arrrr quit (Changing host)
10:35:41*Arrrr joined #nim
10:39:57*Arrrr quit (Ping timeout: 240 seconds)
10:46:42*Arrrr joined #nim
10:46:42*Arrrr quit (Changing host)
10:46:42*Arrrr joined #nim
10:50:57*Arrrr quit (Ping timeout: 240 seconds)
10:55:41*Sembei quit (Quit: WeeChat 2.1-dev)
11:04:35*xmonader1 joined #nim
11:05:41*xmonader1 quit (Client Quit)
11:07:18*xmonader quit (Ping timeout: 246 seconds)
11:08:17*dddddd quit (Remote host closed the connection)
11:09:55*Arrrr joined #nim
11:09:55*Arrrr quit (Changing host)
11:09:55*Arrrr joined #nim
11:25:32skrylarmratsim: i don't know what format gets used for storing some of these models, but i wrote an sbox writer module. tomorrow will look at the readers
11:25:42skrylarit's not quite hdf but its generic and simple
11:26:08FromGitter<mratsim> Which models?
11:26:19skrylarneural nets, fuzzy trees, etc
11:27:08FromGitter<mratsim> Caffe uses protobuff, PyTorch uses pickle serialization (json?), Tensorflow uses HDF5.
11:27:12skrylarsbox is really simple (http://nothings.org/computer/sbox/sbox.html) so it seems easy enough to do more or less what gltf does and have binary blobs for some things and text blobs for others
11:27:24skrylartensorflow also uses protobuf (for some things)
11:27:51skrylari would *prefer* msgpack instead of json, but meh.
11:28:57FromGitter<alehander42> is there a nim msgpack impl btw ?
11:29:06FromGitter<mratsim> I'm leaning toward msgpack as well.
11:29:09skrylarthere is one in nimble. i haven't vetted it for quality
11:29:14FromGitter<alehander42> I want to switch from json to my own binary packed format and I wondered if I should use msgpack insted
11:29:19FromGitter<mratsim> @alehander42 https://github.com/mratsim/Arraymancer/issues/163
11:29:45skrylarwell my beef with json is that it's still inherently a human format, and it's not good at that either
11:30:13skrylarit's not actually "better" than xml, it's just tied to the eval() function in javascript. so you still need toml or hjson or yaml for human editing
11:30:33FromGitter<mratsim> Well XML is an inhuman format and not good ;). YAML is also probably not ideal to store floats.
11:30:45skrylaralthough as old as xml is, why haven't we had a defacto gui editor for it? mind boggles
11:30:50skrylarcommercial ones exist
11:31:19FromGitter<alehander42> I think people are just not used to structured editing, even most lisp-ers dont have a special tree editor(except paredit)
11:31:24FromGitter<mratsim> Excel :P though Excel XML schema is sometimes strange and you can't deal with big XML.
11:32:04*sz0 joined #nim
11:32:20skrylarprotobuf is nice. apache had something like that in incubator once, well like blender's DNA format
11:33:01FromGitter<mratsim> Now between Msgpack, bson and protobuf I wonder which ones is the best on deserialization speed and space saving for floats.
11:33:27skrylarblender's dna format (and sort of the apache one now dead i think) basically stores the schema once at the head, and the rest is flat data, so you can compare the schema to your oown and that guides the old-version-to-new
11:33:36FromGitter<alehander42> can one tweak protobuf/msgpack for certain objects? e.g. I have several flags that I want to put as bits in the end of a byte etc
11:33:37FromGitter<mratsim> I've seen benchmarks that favor one or the other and no conclusion in sight.
11:33:56skrylarit also saves bytes because you just know the layout and don't waste space with constant "i am a bool, my value is true, i am a blah, now heres my value"
11:34:12skrylaralehandler42: no msgpack is just binary json
11:34:36PMunchI personally prefer JSON to XML simply because parsers seems to be much more intuitive in JSON. After all it's a simple object notation so your regular operators can traverse the entire tree.
11:34:45skrylarjson technically compresses better (gzip) than msgpack, but msgpack has better naive size because it packs things
11:34:49PMunchXML parsers are 9/10 times a pain to use IMO
11:35:02skrylarprotobuf is smaller in either case because the schemas are agreed upon ahead of time instead of constantly re-tagged iirc
11:35:18PMunchWhat's the difference between bson and msgpack?
11:35:56skrylarmore expressive
11:36:35skrylari've written both (msgpack in rust, bson in nim) and bson was just built to deal with mongo's needs (ex. it has special object id types) whereas msgpack is meant to store json for machine reading
11:36:44FromGitter<alehander42> schema in the beginning of a format is indeed extremely important for memory optimization, in my case I'll have to maintain millions of "elements" so specifying "in all of them this flag is 11th bit, this length is 4rd byte" is very useful
11:37:11skrylarin this particular case i just need to store neural nets and stuff
11:37:19skrylar"this is the layout and there are the weights"
11:37:35skrylarso probably json inside sbox, because json is blessed by the stdlib
11:37:41skrylaror xml, dunno
11:38:20skrylari don't find xml parsers to be that much more of a pain than json. both are either DOM or SAX and both require a lot of boilerplate to actually bother with
11:38:50PMunchskrylar, JSON in Nim is pretty good :)
11:40:13skrylarhdf is also a largeish library. sbox is just a directory listing
11:40:20FromGitter<mratsim> @skrylar or you can use something similar to bcolz / zarr (BLOSC compression for Numpy array).
11:40:41skrylarmratsim: i don't know anything about those kinds of things :\
11:40:43skrylarnever used numpy
11:41:16FromGitter<mratsim> https://github.com/Blosc/bcolz/blob/master/README.rst
11:41:54skrylarhttps://github.com/Blosc/c-blosc looks quite sizeable
11:42:04FromGitter<mratsim> Blosc is a compressor for Numpy-like arrays.
11:42:46FromGitter<mratsim> Data can be compressed in memory or on-disk. (And used from disk as well).
11:42:53skrylarthe +1 with sbox is that its a directory format with a header/tail, so you just chuck binary blobs in there.
11:43:08PMunchalehander42, I'm considering to add writing to my binary parser
11:43:50skrylarmratsim: i suspect we might have differing goals in some ways :)
11:43:56FromGitter<mratsim> Some examples here: to deal with 70GB 3d images --> 7GB in bcolz https://andre-ratsimbazafy.com/data-science-bowl-2017-space-time-tricks/
11:44:02FromGitter<alehander42> I actually implemented such a macro @PMunch
11:44:06FromGitter<alehander42> I'll PR it
11:44:09PMunchOh you did?
11:44:11PMunchCool!
11:44:12FromGitter<alehander42> it's still very early
11:44:22FromGitter<alehander42> but at least we can discuss if it's in the right direction
11:44:44FromGitter<mratsim> @skrylar bcolz/zarr are saved as a directory of chunk-sized files.
11:45:13PMunchYeah, looking forward to look at it :)
11:45:35*Ven`` joined #nim
11:47:23skrylarhave a few things i might poke around with using deepish nets, but honestly these feel like wastes of time
11:47:54skrylarlike the deep voice paper went through hell and high water to get a real-time neural vocoder, which in the end was not better than an HTM system
11:48:55skrylar*HMM
11:49:06skrylari'll still take a look at blosc though
11:49:30*arnetheduck joined #nim
11:50:17skrylarnifty. zstd has a pre-calculated dictionary option
11:50:38skrylari know rad game tools basically took something like lz4 and bolted one of those on, and sells it as an sdk
11:52:20skrylarmay have to look in to the horrors of multithreading with nim now
11:54:05skrylar'cause crunching random decision forests looks like a lot of binary search and testing. lol
11:54:41FromGitter<mratsim> Interesting, there is a rewrite of c-blosc: https://github.com/Blosc/c-blosc2 with lz4, Zstd, etc backends and it’s used in Spark according to the readme for “Resilient Distributed Database"
11:55:38skrylarlz4 is nice. zstd looks interesting.
11:55:52skrylari also found one called "heatshrink" which has a rather meh ratio, but its absolutely tiny
11:58:10skrylarstill need to look in to this one i found in a springer book; it's a symbol system, but it seems to be one that learns from example, and i think symbol systems might make more sense but who knows
12:00:41skrylarthe deep nets seem to fail at reasoning of any kind, and the changes which result in ex. DQN or neural turing machines, appears to be just re-introducing state cells or programming tapes in a really roundabout way, such that they are re-creating ancient symbolic machines but now they require datacenters of compute instead of just like, doing little bayesian updates or something
12:00:51skrylarbut then again i didn't go to an ivy league so what do i know about ai :x
12:03:50PMunchHuh, heat shrink looks pretty interesting
12:09:41FromGitter<mratsim> Well I’m a mechanical/industrial engineer so what do I know about programming and AI heh :D
12:11:24flyxmratsim: why is YAML not good to store floats? compared to JSON, it supports +/- infinity and NaN
12:13:15FromGitter<mratsim> Storing a 30 to 400MBs graph of tensors (arrays of floats) would probably have too much metadata overhead in any “readable” format.
12:13:56flyxthat may be.
12:14:15*flyx did not read all the conversation and just got highlighted by mention of yaml
12:18:53*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:20:13PMunchJSON floats aren't technically bounded, so +/- inf "isn't needed"
12:36:47flyxwell yeah, if you do not care about IEEE 754 compliance
12:37:26flyxbut since it is not an *exact* representation anyway, most code is fine with it
12:38:29flyxproblem is, what do you do if you serialize an object with -/+ inf or NaN in it?
12:38:34PMunchExactly, if you were to implement some other float type you aren't forced to reparsing IEEE coded floats
12:40:01flyxI mean, JSON is a serialisation format, it should be able to serialise the complete range of native values. it is not able to serialise inf or NaN properly.
12:40:01*Arrrr quit (Read error: Connection reset by peer)
12:40:16PMunchvalue: "Inf"
12:40:25PMunchUgly but it works
12:40:29flyxthat's a string.
12:40:36PMunchYeah, JSON isn't schema based
12:40:56flyxyeah, workarounds obviously exist
12:41:29flyxif you reload that in your favorite scripting language, you'd have a string in the place where a float used to be
12:41:30PMunchReader checks if it is a string or number, if number -> convert to internal float representation (or int if applicable), if string -> check for keywords or throw error
12:41:58PMunchI mean JSON doesn't even distinguish between int and float, it's just "number"
12:42:30PMunchSo you should already have some checks in place if you plan on parsing arbitrary JSON
12:42:37*endragor quit (Remote host closed the connection)
12:43:07PMunchOr you could create a "schema" you validate against and convert into some domain specific format
12:43:43flyxyeah, that usually happens when you deserialise to a defined type
12:45:44Araqscons platform=osx
12:45:44Araq File "/usr/local/bin/scons", line 26
12:45:44Araq from __future__ import print_function
12:45:44AraqSyntaxError: future feature print_function is not defined
12:45:55Araqany clues? stupid Python based software
12:46:54FromGitter<alehander42> what version of python ?
12:49:22*endragor joined #nim
12:49:24PMunchYeah that looks like a Python 2/3 issue
12:50:24FromGitter<alehander42> py2.6 doesnt have print_function
12:50:32Araqwhy do I use 'brew' if it cannot detect Python problems
12:51:35PMunchWell, for some godforsaken reason Python people like to just say "python script" and it's up to the platform what "python" would mean
12:51:50Araqthe package manager needs to detect this, if I want a system that is fragile beyond repair, I know where to find Linux
12:51:59PMunchOn my home machine python is Python 3, on my work machine python in Python 2
12:54:04FromGitter<mratsim> Python 2 needs to die … It’s been 10 years ...
12:54:40FromGitter<alehander42> django2 dropped support for python2, it's kiiiinda happening
12:55:17FromGitter<mratsim> Not even talking about the mess each upgrade brings (3.5 to 3.6 via home-brew? oops you need to reinstall everything, hope you remember that obscure `$(brew --cellar)/python3/3.5.2_3/bin/python3 -m pip freeze` command
12:55:26euantormaybe by the time Python 4 is released, Python 2 will die
12:55:44FromGitter<mratsim> Numpy stops supporting Py2 in Dec 2018
12:56:29FromGitter<mratsim> hopefully academia stops basing everything on Py2 as well by this time.
12:57:33FromGitter<alehander42> I can't believe ruby is the only mainstrean dynamic language that didn't fuck up a major version
12:57:58FromGitter<alehander42> perl 6, python2/3, php5->7
12:59:29PMunchYeah I still have programs that I do uninstall/reinstall on whenever perl updates on my machine as it's easier than trying to figure out how to fix it
12:59:47PMunchAnd my server was down for a day or two after I accidentally updated PHP..
13:00:36FromGitter<mratsim> Do you consider Javascript dynamic?
13:00:47Araqthe problem is the interpreted nature, it's fragile, compile to binaries with as few deps as possible. why would my python installation affect my python programs, it makes no sense
13:01:19FromGitter<mratsim> Na, it’s Windows DLL hell 4.0
13:01:22PMunchThe Javascript guys are really careful when changing stuff, everything breaks someones code :P
13:02:23Araqwhat's that Windows DLL hell? never had it, you put your deps next to .exe. problem solved.
13:02:35Araqthat works since Win 95.
13:02:52PMunchI wrote a program in Python once, ended up with a couple kilobytes of actual script code. And then some 30MB to bundle a portable Python install with GTK and PyGTK bundled in..
13:03:23AraqPMunch, that's sad but still much better than to share the freaking dependencies
13:03:40FromGitter<alehander42> yep I forgot JS, but people use lang->compiled to js more and more
13:04:51FromGitter<alehander42> well at least in linux in *some cases* you can distribute script programs without the whole VM as in windows
13:05:07FromGitter<alehander42> I can't imagine working in a os without package manager
13:05:29Araqyou can use a package manager on Windows too, it's just not required and works well without one
13:05:31FromGitter<alehander42> (and a 3rd party one as choco doesn't cut it)
13:05:45Araqchoco works as bad as anything else, nothing lost
13:06:04FromGitter<alehander42> meh when I have to install software on windows, I directly start drinking
13:07:05FromGitter<alehander42> at least their terminals seem to be improving
13:08:48Araqmy Python is 2.4.4, how do I update it?
13:10:39euantoryou can use PowerShell on Linux and MacOS now too
13:12:36PMunchAraq, sharing deps are the best. But it has to be done properly
13:13:09AraqPMunch: it is actually an intractable problem and cannot be done "properly"
13:14:20PMunchOf course it can be done properly, not sure if anyone is doing it properly yet though
13:14:35PMunchI mean most package managers have some kind of flaw, but I'd rather have one than not
13:15:11Araqit's the versioning problem. foo works with bar 1.0, 1.1, 1.2 and with baz 1.0, 1.1, 1.2. now test that Foo continues to work. you need to test 9 different combinations.
13:15:17PMunchPlus it's not like you have to install from the manager, you could simply install stuff elsewhere
13:16:36PMunchAraq, of course that is an issue
13:17:33PMunchHmm, it would be interesting to have a package manager where compatability issues are reported and the deps are updated based on that.
13:19:40Araqthere is a reason why nobody ever got package management to work without problems. it's unsolvable.
13:19:51Araqa little math shows why.
13:24:01AraqI fixed it by patching my PATH manually.
13:25:06*jjido joined #nim
13:26:16flyxwell the problem goes away if you pin the exact version of every dependency. or at least the minor version to get security updates.
13:28:07flyxI don't think that the problem is inherent to package management. nothing about package management dictates to support multiple versions of dependencies
13:30:05PMunchWell, the benefit is that let's say I only have an older version and you have a newer version. The program we want to install doesn't use any of the features that have been touched by the updates. So it would be compatibly with both, why should one of us be told that we can't install it?
13:31:09PMunchThe problem, as Araq stated is that people don't want to test their programs on all kinds of configurations. This is especially true of open source stuff and small projects.
13:31:31Araqflyx: for me pinning is the same as copying
13:31:39flyxwhy would differing versions tell one of us that we can't install it?
13:31:40PMunchSo they just say, eh it works on my version, I'll say > v*
13:31:51PMunchAnd then something comes along and breaks it
13:32:09flyxthe fault is to insinst on having only one version of some dependency on the system
13:32:10AraqPMunch: they don't want to, yes. but they also cannot. it's a combinatorial explosion.
13:32:14PMunchflyx, a differing version of a dep, with a program that has specified only one dep
13:32:54PMunchflyx, well that solves part of the problem. But can drastically reduce sharing of libs
13:34:12PMunchProper semantic versioning would help, patch number only fixes bugs, minor might make changes but is backwards compatible, major breaks compatibility.
13:34:28flyxyes. I think that the solution is to admit that we cannot share all dependencies. the package manager can still do sharing when possible. the space reduction is of course less than complete sharing, but most problem go away
13:35:17PMunchIf everything was tagged like that you would be able to share patch across all. Some might require a larger minor, but it wouldn't break those with lower minors, and only major versions would need to be installed as separate versions.
13:36:02PMunchThat's why I said it would be interesting to have it based on distributed consensus and not predifined
13:36:20*Trustable quit (Remote host closed the connection)
13:36:48Araqsharing is only an OS level problem, you can share Pages in memory that are identical and read-only
13:37:28Araqif minor changes result in minor binary differences (and they often do), you can still share tons of things at runtime
13:37:42PMunchThat's true
13:38:03PMunchDidn't Apple work on a filesystem for something similar?
13:38:21flyxit's already rolled out.
13:38:27AraqMicrosoft server can do file deduplication, I'm sure others can do it too
13:38:29PMunchIntended to do backups by backing up only the blocks that differed between files and not the entire file
13:38:38PMunchflyx, oh nice
13:39:32*yglukhov quit (Remote host closed the connection)
13:39:35Araqthe only benefit of sharing is that security updates "propagate" properly through the system
13:40:38jjidoand waste of disk / RAM?
13:41:40*marenz__ joined #nim
13:42:45Araqjjido: well this discussion suffers from overloaded terminology. you can easily share common pages/sections on disk and in RAM without any kind of fragile package management process
13:43:16jjidoAraq: is that a widely available technology?
13:43:38Araqfor Disks it's called "deduplication" and widely available.
13:44:02PMunchIsn't that horrible for spinning rust disks?
13:44:47Araqfor RAM I don't know, but could be invented and would have been much simpler than 40 different fucking package managers
13:45:18jjidoDeduplication in Windows works on a block basis I believe. It will not work if the copy is shifted even one byte. On Mac OS X it only works for file copies so no "similar-looking" deduplication.
13:45:41Araqyes, block basis, so?
13:46:21Araqhave function in binary stopped being aligned?
13:46:29Araq*functions
13:48:23jjidowell it is useful for exact copies. My point was about small differences that cause insertion or deletion in the binary.
13:51:26*yglukhov joined #nim
13:54:01Araqall you need to do is to ensure small differences don't bubble up, have some gaps in the binary and it would be fine
13:54:55Araqnot that it's so important, most RAM is wasted on multi-media, not for instructions
13:58:45Araqhttps://en.wikipedia.org/wiki/Kernel_same-page_merging
14:00:00*skrylar quit (Remote host closed the connection)
14:01:50*yglukhov quit (Remote host closed the connection)
14:03:22*Ven`` joined #nim
14:18:22def-@zetashift since you asked a few days ago, new blog post is up (but as I said not nim related)
14:18:34Araqbooh! :-)
14:19:36*yglukhov joined #nim
14:20:25FromGitter<ephja> what
14:20:42FromGitter<ephja> what's the point then ;)
14:21:19*laas joined #nim
14:22:09FromGitter<zetashift> @def-, that's impressive working on such a codebase. I get why you wouldn't have time with Nim
14:22:52*yglukhov_ joined #nim
14:23:45*yglukhov quit (Read error: Connection reset by peer)
14:24:33FromGitter<ephja> why "son" instead of "child" for tree structures? because it's shorter? how about "dad" instead of "father" then ;)
14:25:21Araqephja: shorter. 'dad' is a nice idea, I will consider it
14:27:40cremopposite of a 'dad' should be 'kid'.
14:28:06cremBut in my code, I do use 'kid' instead of 'child'. Still use "parent" though.
14:29:26*endragor quit (Remote host closed the connection)
14:30:54Araqbelieve it or not, when I wrote that code 'kid' was not part of vocabulary
14:31:01Araq*of my
14:31:58*endragor joined #nim
14:32:27FromGitter<ephja> btw, I've got used to your short names, but sometimes I've wanted to use longer names for the calling side. templates are a little verbose for that but it works
14:34:24crembtw in Russian in that context (data structures), only "daughter" is used, and only as adjective, not noun. (e.g. "daughter nodes", not just "daughers").
14:34:59FromGitter<ephja> sometimes it's obvious to the caller what some single letter parameter is for, though
14:36:54*endragor quit (Ping timeout: 268 seconds)
14:40:52*Sembei joined #nim
14:46:58*nsf quit (Quit: WeeChat 1.9.1)
14:53:08*Trustable joined #nim
15:01:36*endragor joined #nim
15:06:00*endragor quit (Ping timeout: 246 seconds)
15:12:17*Jesin joined #nim
15:31:35FromGitter<mratsim> @Araq you will be taking huuuuuuuggee risks by using gendered trees: https://github.com/joyent/libuv/pull/1015
15:32:51euantoryep, was going to say it wouldn't be long before there were complaints from that kind of user
15:33:22*rokups joined #nim
15:33:50*Sembei quit (Quit: WeeChat 2.1-dev)
15:34:25PMunchJust counter it by saying that the tree nodes identify as male
15:35:56*Sembei joined #nim
15:36:32Araqthey are male but they are also all homosexual, so it's fine
15:36:44Araqand some of them are even black.
15:37:18PMunchHahaha
15:37:34FromGitter<mratsim> And others red.
15:37:53FromGitter<mratsim> But they are all called Judy?
15:38:17FromGitter<mratsim> (red black trees, Judy Arrays ;) )
15:39:42jjidoWhat is the "B" in B-trees?
15:40:04jjidobastard trees
15:40:27FromGitter<RedBeard0531> Is there a nimscript repl?
15:40:38FromGitter<alehander42> tree algo-s and genders always remind me of this immortal bug: https://www.reddit.com/r/programming/comments/2tn1ah/a_bug_in_family_tree_software_traced_to_inbreeding/
15:41:40FromGitter<ephja> and what about green people?
15:42:46FromGitter<alehander42> I guess `nim secret` is basically a nimscript repl?
15:42:58Araqyep
15:43:28FromGitter<konqoro> building nim devel fails for me: https://gist.github.com/konqoro/19af81696e9fb5fc017218059fde91b0
15:46:06FromGitter<RedBeard0531> @alehander42 @araq oh hot damn!
15:47:08FromGitter<mratsim> Someday politics might kill opensource: https://github.com/django/django/pull/2692
15:48:26FromGitter<ephja> not sure if srs
15:50:33*Vladar quit (Quit: Leaving)
15:51:19FromGitter<mratsim> @alehander42 reminds me of this: https://stackoverflow.com/questions/6163683/cycles-in-family-tree-software
15:51:28FromGitter<alehander42> it's exactly this haha
15:51:59*elrood joined #nim
15:52:16FromGitter<mratsim> Ah right, couldn't find the link on mobile.
15:52:46FromGitter<alehander42> it's actually a great showcase of how many bugs come from seemingly obvious assumptions
15:53:39FromGitter<mratsim> Aka leap second/year bugs
15:53:42FromGitter<alehander42> btw Mamy, what do you think of the last alphazero chess thing
15:55:01FromGitter<mratsim> Well after go I would expect chess as it was a low hanging fruit, but it's crazy how much stronger than a custom tuned engine it is.
15:56:39FromGitter<mratsim> The main grip I have is that I don't know how fast are Google TPUs, is that equivalent to 50 GPUs, 200 GPUs, ... Makes it very hard to reproduce and understand if 4 hours of training is awesome or if Google just used as much electricity as Iceland in a whole year.
15:57:48FromGitter<mratsim> Now I'm eagerly waiting for Starcraft AI :P, I'll try to build a Starcraft not in Nim as well.
15:58:00*d10n-work joined #nim
15:59:56FromGitter<alehander42> exactly :D but I think the amazing part is that despite how much hardware it uses, it analyzes 3 magnitudes less positions and still wins
16:00:35dom96not in Nim? D:
16:00:38FromGitter<alehander42> at least a friend who is a great chess player insists its style is more humanlike and that it already broke one famous defense and invented an opening
16:00:44FromGitter<mratsim> Bot not not.
16:00:58dom96ahh :)
16:03:29FromGitter<RedBeard0531> Is there any difference between the 3 ways to return a value from a function: https://play.nim-lang.org/?gist=f30fad59824756a2c7ec1baf4424ffbf ? Is one form generally considered better/faster/more idiomatic? (Assuming the return type is something expensive like a seq[string] rather than bool)
16:03:45*PMunch quit (Quit: Leaving)
16:04:50Araqthere are all equally efficient. 'result = x' is most commonly used in my code fwiw
16:05:23cremThey all return equal code?
16:05:32crem*generate
16:05:37Araq'return x' combines control flow with the setting of the return value and so it's slightly discouraged
16:06:04Araq'x' on its own is newer Nim and has the disadvantage of messier error reports
16:06:31cremSo, 'x' is encouraged more? I'm not accustomed to it.
16:07:19cremI think in Perl it was also possible to write it like that, but still I used return.
16:08:10*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:09:13FromGitter<mratsim> Doesn't only `result = x` and `x` build values without temporaries or does return do that too?
16:09:40Araqthey are the same performance wise iirc. if not, file a bug
16:11:40FromGitter<alehander42> so is `x` preffered for functions with control flow ?
16:12:47Araq'result = x' is preferred by me.
16:15:48planetis[m]how about making contructors. Does result = Foo(x: x) build a temporary variable whereas result.x = x not?
16:16:04planetis[m]* isn't
16:19:20Araqconstructors often produce suboptimal code, yeah. not that hard to fix it though.
16:22:02*Ven`` joined #nim
16:26:35FromGitter<cabhishek> Hi everyone! I am trying to find a way to calculate the time it takes for multiple async http requests to complete. I have a sample code here https://gist.github.com/cabhishek/cc20ea8b422f7506256af15a49dfe165. Any advice/pointer ? (I tried setting callback on the future but that doesn't seem to be getting called)
16:28:15*miran joined #nim
16:33:06planetis[m]call the bench template on waitFor ?
16:34:16FromGitter<ephja> don't you need to call 'poll'?
16:35:32FromGitter<ephja> in a loop, which is what runForever does
16:35:51FromGitter<ephja> nevermind
16:37:07FromGitter<ephja> I always read code wrong
16:37:11FromGitter<ephja> ok that's a long stack trace
16:38:41FromGitter<cabhishek> is bench template part of std lib? I couldn't find docs
16:39:48planetis[m]there is nimbench in nimble
16:39:59planetis[m](a package)
16:40:00FromGitter<ephja> you don't get "no such host is known"?
16:40:02FromGitter<ephja> oh I see
16:40:09planetis[m]or the one in stackoverflow
16:40:30FromGitter<ephja> you're probably not using windows. this is what you get if you are: http://jsonplaceholder.typicode.com\albums
16:46:00*nsf joined #nim
16:47:38FromGitter<RedBeard0531> @cabhishek all() currently replaces the callback on the passed in Future, so it will never be called. See https://github.com/nim-lang/Nim/issues/6849. I have a PR to fix this specific case: https://github.com/nim-lang/Nim/pull/6850
16:49:14FromGitter<ephja> https://gist.github.com/ephja/6329d72e867537b770da6651dafb462f ?
16:50:16*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:53:08FromGitter<cabhishek> @ephja I think that should work! And I tried something similar yesterday but didnt seem to be working 
16:57:37FromGitter<Varriount> dom96: The post on that Nim etherium
16:57:56FromGitter<Varriount> says that they're accepting part time applications
17:01:24*noonien joined #nim
17:04:05*BitPuffin|osx quit (Ping timeout: 255 seconds)
17:04:23*claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com)
17:06:36*Jesin quit (Remote host closed the connection)
17:07:26*rbrt joined #nim
17:12:53FromGitter<ephja> @cabhishek seems to work :p
17:14:25FromGitter<cabhishek> @ephja yes, thanks
17:15:09FromGitter<ephja> yay
17:16:20*dddddd joined #nim
17:17:43FromGitter<ephja> the wgl interface is outdated so I'm messing with the xml spec files again. thinking of generating var parameters for non-const pointers. I just need to handle nil inputs somehow
17:28:22*jjido quit (Quit: Leaving)
17:32:32FromGitter<ephja> I might have a decent solution for that
17:48:47Demos[m]well if the pointer can be nill (which is frequently in wgl afaik) then don't use var
17:49:16Demos[m]but if you know it can't then just put the var, since it's the same datatype as a pointer
17:49:46Demos[m]like
17:49:47Demos[m]proc foo(x: var int) {.importc.}
17:50:08Demos[m]is
17:50:09Demos[m]extern void foo(int* x)
17:50:10Demos[m]in C
17:50:54Demos[m]cxx may be more trouble but even so refs are pointer sized as well (idk if that's standard, but it's true on all the machines one might care about)
17:51:14Demos[m]and importc does not validate the parameters
17:51:27Demos[m]so just the symbol name
17:51:34Demos[m](which sorta means it validates the params for cxx)
17:51:38Demos[m]but alas
17:56:06*claudiuinberlin joined #nim
17:58:35*kunev quit (Ping timeout: 240 seconds)
18:00:20FromGitter<zetashift> if I have a seq what does the [^i] do?
18:02:30FromGitter<zetashift> Is it like the pin operator in Elixir?
18:02:57dom96i-th element from the end
18:06:32FromGitter<zetashift> ah thanks
18:11:20*rbrt quit (Quit: Oíche mhaith)
18:11:59*laas quit (Quit: WeeChat 2.0)
18:12:08*rbrt joined #nim
18:14:09*kunev joined #nim
18:22:19*rbrt quit (Quit: Oíche mhaith)
18:22:58*jjido joined #nim
18:24:14FromGitter<ephja> Demos[m]: you could have two variations, but it's too complicated
18:24:55*yglukhov_ quit (Remote host closed the connection)
18:27:23*rbrt joined #nim
18:27:47FromGitter<ephja> the specs just don't contain enough information
18:29:19*yglukhov joined #nim
18:31:02*yglukhov_ joined #nim
18:31:03*yglukhov quit (Read error: Connection reset by peer)
18:34:26*rbrt quit (Quit: Oíche mhaith)
18:35:33*yglukhov_ quit (Ping timeout: 268 seconds)
18:36:57*jjido quit (Ping timeout: 240 seconds)
18:37:10*arnetheduck quit (Remote host closed the connection)
18:38:05*yglukhov joined #nim
18:40:18*rbrt joined #nim
18:40:45*elrood quit (Remote host closed the connection)
18:42:39*yglukhov quit (Ping timeout: 248 seconds)
18:45:31*rbrt quit (Quit: Oíche mhaith)
18:47:54*rbrt joined #nim
18:55:15*Yardanico joined #nim
18:55:24YardanicoHi IRC :P
18:55:38Araqhey, Yardanico
18:55:57YardanicoI didn't boot into Linux for ~2 months
18:56:04Yardanicoguess it's time for an update
18:59:41miranhey Yardanico, long time no see
19:01:14Yardanicomiran, hi
19:02:00miranwhat's up?
19:02:41miranhave you received your hacktoberfest t-shirt, btw?
19:03:19Yardanicomiran, sadly no
19:03:28Yardanico(not yet I hope)
19:03:43miranme neither, don't know what's going on, should have been here already
19:03:43YardanicoMaybe it takes more time for them to deliver it to russia
19:04:00miran...and croatia
19:04:22Yardanicosome info - https://twitter.com/MagickNET/status/938888081444429824
19:06:04miranthanks for the info. if this is the case for our shirts, i'll be quite disapointed
19:06:47Yardanicowell let's hope we'll get it until new year :P
19:07:58miranthey shouldn't have promised delivery in 4-6 weeks. when they have sent me that mail, they must have known the number of people who had won the tshirt
19:10:36FromGitter<zetashift> Guess a lot of people will contribute if they get free shirts?
19:10:42*yglukhov joined #nim
19:11:09Yardanicozetashift: there was a lot of "fake" repositories
19:11:36Yardanicoexample: https://github.com/AliceWonderland/hacktoberfest
19:12:23dom96miran: I haven't received mine either and I'm in the UK
19:12:26dom96It just takes them a while
19:12:29miranwell, that stuff should have been checked before sending an email where they confirm that you have won tshirt. and where they said what the expected delivery would be
19:12:42*Yardanico quit (Remote host closed the connection)
19:12:57*rokups quit (Quit: Connection closed for inactivity)
19:13:26miranwell, i guess no tshirt then before new year.... :(
19:13:50*Yardanico joined #nim
19:15:05*yglukhov quit (Ping timeout: 250 seconds)
19:15:41*rbrt quit (Quit: Oíche mhaith)
19:18:56FromGitter<mratsim> Is this real? https://github.com/AliceWonderland/hacktoberfest/blob/master/scripts/HelloWorldPickachu.pika
19:19:27Yardanicowell why not?
19:20:04FromGitter<zacharycarter> http://trove42.com/pikachu-programming-language/
19:20:08Yardanicohttp://trove42.com/pikachu-syntax-rules/
19:21:32*Vladar joined #nim
19:23:50FromGitter<ephja> is it production ready?
19:31:22*rbrt joined #nim
19:31:45*Yardanico quit (Remote host closed the connection)
19:32:41*Yardanico joined #nim
19:34:32*rbrt quit (Client Quit)
19:36:42*SenasOzys quit (Read error: Connection reset by peer)
19:36:56*SenasOzys joined #nim
19:42:10*rbrt joined #nim
19:43:30Yardanicowow, new servers
19:44:45miranbefore we go down, is there a way to unpack a seq?
19:44:58*rbrt quit (Client Quit)
19:45:15Yardanicomiran, no, only by writing (guess what?) a macro or maybe template (not sure about that one)
19:45:30mirancurrently i have multiple rows with `a = seq[0]; b = seq[1]; etc.`
19:46:20miranheh, macros.... i guess i should learn them because that seem to be an answer to 50% of my questions :)
19:46:33*rbrt joined #nim
19:50:45*rbrt quit (Client Quit)
19:53:32*rbrt joined #nim
19:54:06*Yardanico quit (Remote host closed the connection)
19:55:00*xkapastel joined #nim
19:55:04*Yardanico joined #nim
19:57:05*Jesin joined #nim
19:57:16*rbrt quit (Client Quit)
19:57:23*yglukhov joined #nim
20:01:17*Trustable quit (Remote host closed the connection)
20:02:58*Yardanico quit (Remote host closed the connection)
20:04:50*jjido joined #nim
20:08:11*rbrt joined #nim
20:24:40*rbrt quit (Quit: Oíche mhaith)
20:29:29*sz0 quit (Quit: Connection closed for inactivity)
20:37:48*Vladar quit (Quit: Leaving)
20:39:50FromGitter<alehander42> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5a2af8963ae2aa6b3fa3340c]
20:40:02FromGitter<alehander42> @miran this is an example macro
20:40:16FromGitter<alehander42> you can replace yourname with a suitable label
20:41:53FromGitter<alehander42> I admit that doesn't work for now for `a, b, c = e`
20:41:58FromGitter<alehander42> but not much time now
20:44:47FromGitter<RedBeard0531> @miran @alh
20:46:10FromGitter<alehander42> actually I didn't do it, assuming that sometimes one might want to get only first two elements
20:46:35FromGitter<alehander42> (I know you can do `a, b = c[0..1]` but I am not sure if that's optimal?)
20:46:56FromGitter<alehander42> but yeah probably it would be better to check it
20:47:47FromGitter<RedBeard0531> You could steal python's `a,b, *` to handle that case. That also makes it possible to only get the last two, although that would make the macro more complicated
20:49:26FromGitter<alehander42> it would be hard to use
20:49:33FromGitter<alehander42> exactly this syntax in a macro
20:49:33FromGitter<RedBeard0531> But I think if destructuring seqs became a thing, it would be best to assert the lens match by default, matching behavior for tuples
20:50:01FromGitter<alehander42> var a, b, _* = e
20:50:03FromGitter<alehander42> can work tho
20:50:21FromGitter<alehander42> yep, it would make more sense
20:53:00FromGitter<alehander42> I might post an improved version tomorrow with wildcards and stuff
21:03:47*miran_ joined #nim
21:04:01*miran quit (Ping timeout: 240 seconds)
21:15:09*miran_ quit (Quit: Konversation terminated!)
21:19:43*rbrt joined #nim
21:22:38*yglukhov quit (Read error: Connection reset by peer)
21:23:13*yglukhov joined #nim
21:26:49*vivus joined #nim
21:31:39*solitude joined #nim
21:35:10*rbrt quit (Quit: Oíche mhaith)
21:37:11*dexterk quit (Ping timeout: 260 seconds)
21:37:35*dexterk joined #nim
21:43:11*vlad1777d joined #nim
21:50:23*PMunch joined #nim
21:51:18*Jesin quit (Quit: Leaving)
21:52:30*solitude quit (Quit: WeeChat 2.0)
21:52:44*solitudesf joined #nim
21:54:12*solitudesf quit (Client Quit)
21:54:29*solitudesf joined #nim
21:56:54*kunev quit (Ping timeout: 246 seconds)
22:03:02*solitudesf quit (Quit: WeeChat 2.0)
22:03:18*solitudesf joined #nim
22:09:26*xet7 quit (Ping timeout: 255 seconds)
22:09:48*madpat joined #nim
22:10:26*claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com)
22:19:32*yglukhov quit (Read error: Connection reset by peer)
22:20:04*yglukhov joined #nim
22:20:27*rbrt joined #nim
22:24:12*xet7 joined #nim
22:25:19*xet7 quit (Remote host closed the connection)
22:30:52*xet7 joined #nim
22:32:08*endragor joined #nim
22:36:27*solitudesf quit (Ping timeout: 240 seconds)
22:36:40*endragor quit (Ping timeout: 268 seconds)
22:36:59yglukhovofftop: whos got the best irc setup? i've got limechat. cons: no history when im offline. pros - easy to use.
22:39:17dom96XChat Azure + ZNC. Pros: I'm used to it. Cons: XChat crashes every time my laptop returns from hibernation.
22:43:58*SenasOzys quit (Remote host closed the connection)
22:44:49*SenasOzys joined #nim
22:44:59PMunchHaha dom96
22:45:34pydsignerI'm rolling ZNC + irssi and AndChat
22:45:50PMunchI've got HexChat: cons: same as yglukhov (but that's more about IRC, plus #nim is logged so it's not that big of an issue), pros: came preinstalled with Manjaro and never had any issues with it
22:46:16FromGitter<RedBeard0531> @dom96 can you take a look at https://github.com/nim-lang/Nim/pull/6850
22:47:06dom96RedBeard0531: Tests are failing, maybe rebasing will help?
22:52:18FromGitter<RedBeard0531> sure, I'll try that soon. I took a quick look when I posted and the failures seemed unrelated to my change, but I didn't spend a ton of time staring at the output.
22:54:26jjidoyglukhov: I was just compiling Textual
22:56:42yglukhovjjido: compiling? is it opensource?
22:57:11jjidoyglukhov: yes. Get it from github
22:57:23dom96Fun fact: I started my quest for a new programming language because I wanted to write an IRC client in a compiled language
22:58:33AlexMaxdom96: me too
22:58:46AlexMaxi wasn't necessarily looking for a new language
22:58:58yglukhovjjido: cool, will do. thanks!
22:58:59AlexMaxbut dang, trying to write a GUI IRC client in C++ and wxwidgets is no fun
22:59:03dom96This was my attempt when I was still using Python: https://github.com/dom96/nyx
22:59:06dom96The code is horrible :)
22:59:54*jjido quit ()
23:02:17FromGitter<zetashift> Hexchat same as problems
23:02:54dom96I actually got pretty far: https://a.fsdn.com/con/app/proj/nyxirc/screenshots/239688.jpg/1
23:03:18GitDisc<treeform> Is this IRC written in nim?
23:03:32dom96It's sad that I still haven't seen a nicer Linux DE theme than the one in that screenshot (which is at least 10 years old)
23:03:47dom96treeform: no, something i've written a long time ago in Python
23:03:56FromGitter<zetashift> Arc?
23:04:01FromGitter<zetashift> I like Arc alot
23:04:06GitDisc<treeform> cool
23:04:19*jjido joined #nim
23:04:42*jjido is now known as Guest22165
23:05:52*Guest22165 quit (Client Quit)
23:10:12*jjido_ joined #nim
23:11:03jjido_mmh, not sure it is configured right.
23:13:09jjido_Using Textual
23:14:02*jjido_ quit (Client Quit)
23:25:43*PMunch quit (Quit: leaving)
23:35:17*rauss quit (Ping timeout: 276 seconds)
23:38:17FromGitter<RedBeard0531> @dom96 https://github.com/nim-lang/Nim/pull/6850 is now green
23:39:19dom96oh great, this is my pet peeve but could you change from the do notation back to using 'proc'?
23:40:39FromGitter<RedBeard0531> You couldn't have said that before I rebased an reran the tests? :)
23:41:25FromGitter<RedBeard0531> I actually find it cleaner with do, but its your code. I'll change it back later tonight.
23:44:48dom96well I can change it too
23:45:06dom96but yeah, sorry, I forgot.
23:53:11*yglukhov quit (Remote host closed the connection)