<< 27-01-2018 >>

00:06:51*cspar_ quit (Read error: Connection reset by peer)
00:07:17*cspar_ joined #nim
00:07:47*yglukhov joined #nim
00:09:13*endragor joined #nim
00:12:21*yglukhov quit (Ping timeout: 256 seconds)
00:13:51*endragor quit (Ping timeout: 248 seconds)
00:29:29*MJCaley quit (Quit: MJCaley)
00:41:34*MJCaley joined #nim
00:56:57*MJCaley quit (Quit: MJCaley)
00:57:57*MJCaley joined #nim
00:58:33radagastWhy not just ditch concepts for post 1.0?
01:00:27*devdri quit ()
01:40:47*Snircle joined #nim
02:11:02*vivus quit (Quit: Leaving)
02:15:53*chemist69 joined #nim
02:19:17*chemist69_ quit (Ping timeout: 256 seconds)
02:38:37skrylarthey probably think they are important
02:39:44*Trustable_2 joined #nim
02:40:00*Trustable quit (Ping timeout: 256 seconds)
02:41:00*skrylar quit (Remote host closed the connection)
02:44:52*endragor joined #nim
02:45:05*Trustable_2 quit (Remote host closed the connection)
02:48:30*vlad1777d quit (Remote host closed the connection)
02:49:50*subsetpark quit (Read error: Connection reset by peer)
02:50:00*vlad1777d joined #nim
03:00:13*subsetpark joined #nim
03:12:00*endragor quit (Remote host closed the connection)
03:17:18*rockcavera joined #nim
03:38:12FromGitter<honewatson> Concepts are working well for me. Why should they be ditched?
03:40:58*radagast quit (Quit: radagast)
03:44:21FromGitter<Varriount> And once the vtptr and vtref features are introduced, they'll become even better. :D
03:44:57FromGitter<Varriount> No more creating vtables by hand. :D
03:48:19*vlad1777d quit (Ping timeout: 268 seconds)
04:04:23*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
04:12:50*sz0 joined #nim
04:41:51*Cthalupa quit (Ping timeout: 246 seconds)
04:43:56*Cthalupa joined #nim
05:30:15*rauss joined #nim
05:33:10*dddddd quit (Remote host closed the connection)
05:38:25FromGitter<zacharycarter> @mratsim are you around by any chance?
05:52:43*tinAndi joined #nim
05:59:57*tinAndi quit (Ping timeout: 240 seconds)
06:01:52FromGitter<mratsim> Sleeping (UTC +1 ;) )
06:02:48FromGitter<mratsim> @zacharycarter ask away
06:14:27*earenndil quit (Quit: ZNC 1.6.3+deb1 - http://znc.in)
06:26:45FromGitter<zacharycarter> @mratsim my bad, I'm trying to think of some ML examples to demo for a hackaton, I have lots of potential data at my disposal but of course it'd need to be ETL'd from various sources so I plan on making dummy data sets, or worse case, working with example data sets to demonstrate an idea
06:27:25FromGitter<mratsim> Use datasets from kaggle.com
06:27:55FromGitter<zacharycarter> oh nice, thank you
06:28:01FromGitter<mratsim> There are sports to election to city traffic to photos of the Amazon Forest to financial data
06:28:20FromGitter<zacharycarter> awesome
06:28:22FromGitter<mratsim> And you have the approach people took and data visualization
06:29:21FromGitter<zacharycarter> alright - I'm not sure exactly what problem I'm going to solve yet, but I'm leaning towards some type of recommendation algorithm
06:29:33FromGitter<zacharycarter> we have a lot of dealer data, and a lot of vehicle data
06:29:37FromGitter<mratsim> https://www.kaggle.com/datasets
06:30:15FromGitter<mratsim> Is your company selling cars?
06:30:50FromGitter<zacharycarter> have you ever heard of carfax?
06:30:57FromGitter<mratsim> You can predict stocks needed/popularity
06:31:18FromGitter<zacharycarter> I may have to just try to manufacture a lot of data
06:31:23FromGitter<zacharycarter> but then again manufacturing realistic data is hard
06:32:19FromGitter<mratsim> Recommendation, I'm not sure it makes sense from a sales point of view because unlike Amazon there is no impulse buy of cars, it's costly, time consuming and you buy once per 5 years at most.
06:32:35FromGitter<zacharycarter> well maybe I'm thinking of the wrong thing then
06:32:41FromGitter<zacharycarter> here's what I want to do essentially
06:33:49FromGitter<zacharycarter> let's say I have a set of data describing a bunch of car dealerships, describing their geolocation, car buying preferences, inventory, ratings from google, etc...
06:35:06FromGitter<zacharycarter> and then I have data about consumers - perhaps their vin number, or at least their year make and model, history about their vehicle, etc...
06:36:15FromGitter<mratsim> I see
06:37:24FromGitter<zacharycarter> I don't even know if ML is the right approach here - but what I want to try to do is build some sort of system that when a consumer is supplying us with information about their vehicle, finding dealerships that would match up well with them, based on the dealership preferences and consumer data
06:37:39FromGitter<mratsim> There was a similar bank competition to predict banking product consumer might be interested in depending on their history called "Banco Santander product recommendation" or something like that
06:38:13FromGitter<zacharycarter> yeah I'd probably even have historical information about what types of vehicles that dealership has previously purchased
06:38:16FromGitter<mratsim> Also check with the "car" filters there are ads, dealership, insurance, accidents datasets: https://www.kaggle.com/datasets?sortBy=relevance&group=public&search=car&page=1&pageSize=20&size=all&filetype=all&license=all
06:38:55FromGitter<zacharycarter> I'm brand new to machine learning so I'm probably going to have to start with a much simpler example
06:39:00FromGitter<mratsim> For recommendation there is a technique called "collaborative filtering"
06:39:00FromGitter<zacharycarter> thanks
06:39:08FromGitter<zacharycarter> yeah I was just reading about that
06:40:21FromGitter<zacharycarter> could I do this with arraymancer?
06:40:58FromGitter<mratsim> That was what Amazon used before adding machine learning/deep learning on top.
06:41:09FromGitter<mratsim> No I don't think so.
06:41:34FromGitter<zacharycarter> gotcha
06:41:56FromGitter<mratsim> Or you have the raw procs but you have to build everything from scratch
06:54:28*sz0 quit (Quit: Connection closed for inactivity)
07:00:05*MJCaley quit (Quit: MJCaley)
07:22:22*solitudesf joined #nim
07:53:27*Ven`` joined #nim
07:57:55*Ven`` quit (Ping timeout: 252 seconds)
08:05:29*zahary_ quit (Quit: Connection closed for inactivity)
08:33:02*vlad1777d joined #nim
09:01:48*yglukhov joined #nim
09:02:35*gmpreussner quit (Ping timeout: 240 seconds)
09:05:35*gmpreussner joined #nim
09:15:14*Yardanico joined #nim
09:16:53*vlad1777d quit (Remote host closed the connection)
09:17:32*vlad1777d joined #nim
09:18:47*vlad1777d quit (Remote host closed the connection)
09:19:24*vlad1777d joined #nim
09:20:40*yglukhov quit (Remote host closed the connection)
09:40:07*Vladar joined #nim
09:56:24*endragor joined #nim
10:00:52*endragor quit (Ping timeout: 256 seconds)
10:07:46*nsf joined #nim
10:11:49*Yardanico quit (Remote host closed the connection)
10:16:25*Yardanico joined #nim
10:23:08*miran joined #nim
10:30:17*sz0 joined #nim
10:31:32*yglukhov joined #nim
10:32:59*Yardanico quit (Remote host closed the connection)
10:34:59*Yardanico joined #nim
10:36:00*vlad1777d quit (Ping timeout: 256 seconds)
10:43:07*devdri joined #nim
10:47:53*radagast joined #nim
10:57:15*PMunch joined #nim
11:03:12*yglukhov quit (Ping timeout: 256 seconds)
11:05:53*Yardanico quit (Quit: Leaving)
11:08:55*Yardanico joined #nim
11:14:39*miran quit (Ping timeout: 248 seconds)
11:14:43*miran_ joined #nim
11:16:30*tinAndi joined #nim
11:26:34FromGitter<alehander42> I had a discussion with a friend about npm several days ago and I thought a bit about the nimble situation: with the purely url-based(usually github) configuration, if somebody deletes his repo, that can break his build right?
11:27:00FromGitter<alehander42> break the build of all projects that depends on this nimble package*
11:27:14PMunchWell yeah
11:27:22PMunchUnless you manage to find a backup
11:28:09*Yardanico quit (Remote host closed the connection)
11:29:06FromGitter<alehander42> does it make sense for nimble to maintain automatically some kind of backup? e.g. if it notices an unknown package, fork it and periodically update the fork and if the original repo disappears, suggest to use the backup ?
11:30:41FromGitter<mratsim> This is ugly @dom96 https://github.com/nim-lang/c2nim/issues/115 :/
11:31:40*tinAndi quit (Ping timeout: 240 seconds)
11:32:37*Yardanico joined #nim
11:34:10PMunchalehander42, well it would make some kind of sense I gues
11:40:32*Guest55 joined #nim
11:41:23Guest55in nim i can't get the max value of uint64, but in Rust it is so easy... and Rust is Not really difficult to learn
11:41:54Guest55fn main() { println!("u64 max value is: {}", u64::max_value()); }
11:42:12Guest55turn down for what ooooooooooh
11:42:15Guest55oooooooooooh
11:42:18Guest55OOOOOHHHH
11:42:44Guest55B-)
11:43:34PMunchTo be fair though, high(uint64) really should work..
11:43:46dom96alehander42: The idea is to create a npm/hackage-like site
11:43:59dom96federico3 already made a start with nimble.directory
11:44:07dom96the next step is to upload our packages to this website
11:44:32dom96This is really cool, the announcement for Python v1: https://news.ycombinator.com/item?id=16245034
11:46:26PMunchOoh, that is neat dom96
11:46:35PMunchLittle piece of programming language history
11:47:23FromGitter<alehander42> I've read a lot of the python maillist around 0.9.2-1.0 and it was really funny to follow with today's hindsight
11:47:52dom96any interesting insight? :)
11:48:44*yglukhov joined #nim
11:50:13dom96as far as high(uint) goes: https://github.com/nim-lang/Nim/issues/6620
11:51:08dom96mratsim: yeah, I wonder what I should do to solve these issues. I'm not 100% sure but I think there are two separate dependencies: the Nim binary version and the compiler sources version.
11:51:53dom96But maybe it's not that bad and most Nim compilers don't have trouble compiling even newer compiler sources
11:52:07dom96in which case what would help is lock files
11:52:49FromGitter<alehander42> @dom96 a special package site would be best indeed
11:53:10*yglukhov quit (Ping timeout: 240 seconds)
11:53:28FromGitter<alehander42> @dom96 a lot of interesting viewpoints, especially one of the mails by guido in which he explains his overall philosophy for the lang back then, quotes like "The one thing that Python definitely does not want to be is a GENERAL purpose ⏎ programming language." :D
11:53:43FromGitter<alehander42> http://ftp.ntua.gr/mirror/python/search/hypermail/python-1992/0001.html
11:53:51dom96haha
11:54:20dom96"aimed at small-to-medium-sized programs"
11:54:27dom96and this is precisely where Nim differs
11:54:36dom96we should quote this
11:55:04PMunchThat is definitely a good idea
11:55:07dom96Might be a nice article in fact hrm
11:55:39dom96It's time we had some promotional material to entice python programmers
11:55:49FromGitter<alehander42> well these days he seems to be working mostly on type support (mypy and pyannotate, I even asked him stuff about it in their chatroom before py2nim), so maybe he's trying to get it to largeland haha
11:56:16FromGitter<alehander42> comparisons with python would be good certainly
11:56:20FromGitter<Bennyelg> :D
11:56:26FromGitter<Bennyelg> Goood AfterNoon
11:57:41dom96Possible title: "Nim is the Python for medium-to-large-sized programs"
12:00:22FromGitter<Bennyelg> @dom96 what is the name of the web library to render page using nim? instead of using vue/angular/react I forgot the name and I need it
12:00:30dom96karax
12:00:40FromGitter<Bennyelg> @dom96 Thanks.
12:01:55FromGitter<Bennyelg> @dom96 do they have some docs to use?
12:03:16FromGitter<Bennyelg> @dom96 I just remembered why I didn't use it , because it's hard to start reading code instead of docs :P
12:03:36dom96it's a pretty new framework
12:03:40dom96and made by the busy Araq
12:03:43dom96so few docs :)
12:03:56PMunchBennyelg, you can learn it and write docs :)
12:04:00*Snircle joined #nim
12:04:26FromGitter<Bennyelg> heheh maybe, I'll start `investigate` the examples."
12:04:55FromGitter<alehander42> @Bennyelg it should be relatively easy to start with, it's not a big framework
12:05:09PMunchI mean even just writing a more detailed explanation of the examples would be nice
12:05:21FromGitter<Bennyelg> Yea,
12:20:22*vlad1777d joined #nim
12:27:33FromGitter<Bennyelg> @dom96 @PMunch ```nim ⏎ proc setEntryContent(pos: int, content: cstring) = ⏎ setItem(&pos & contentSuffix, content) ⏎ ⏎ proc markAsCompleted(pos: int, completed: bool) = ... [https://gitter.im/nim-lang/Nim?at=5a6c7034e217167e2c08a04e]
12:27:46*yglukhov joined #nim
12:29:00PMunchHmm, &completed?
12:29:41FromGitter<Bennyelg> @PMunch I probably miss the concept of &, is not the content of the c string? like any pointer ?
12:29:46PMunchWhat does the & operator do here? It looks like it does something similar to the $ operator, in which case it makes sense as completed is not a string but a boolean
12:30:01FromGitter<Bennyelg> I see
12:30:25PMunchWhere in the examples are this?
12:30:38FromGitter<Bennyelg> https://github.com/pragmagic/karax/blob/master/examples/todoapp/todoapp.nim#L27
12:33:59PMunchhttps://github.com/pragmagic/karax/blob/master/karax/vstyles.nim#L322
12:34:00PMunchAha
12:34:32PMunchAnd: https://github.com/pragmagic/karax/blob/master/karax/jstrutils.nim
12:34:47PMunchSo & is just $
12:34:50PMunchMore or less
12:34:58FromGitter<Bennyelg> yea I now see,
12:35:01FromGitter<Bennyelg> thanks!
12:35:07PMunchBut for cstrings directly and not strings
12:35:15FromGitter<Bennyelg> yea
12:35:15PMunchNo problem :)
12:38:16*sz0 quit (Quit: Connection closed for inactivity)
12:43:13PMunch@survivorm, you on?
12:48:00dom96Araq should have used `$!` or something, not freaking `&`
12:48:17PMunchYeah, that's really confusing :P
12:52:03dom96https://github.com/pragmagic/karax/issues/47 :P
12:54:39*devdri quit ()
12:57:09PMunchNice
13:00:10*yglukhov quit (Ping timeout: 240 seconds)
13:05:42*BitPuffin joined #nim
13:11:14FromGitter<rsirres> Hi Guys
13:11:34FromGitter<rsirres> do you whether nim has a sax style parser in the std lib ?
13:11:38FromGitter<rsirres> know*
13:12:31*devdri joined #nim
13:13:03*rauss quit (Ping timeout: 248 seconds)
13:14:28*rauss joined #nim
13:15:33PMunchparsexml is sax-like I guess: https://nim-lang.org/docs/parsexml.html
13:23:23*devdri quit ()
13:27:02*devdri joined #nim
13:30:49FromGitter<rsirres> Ill give it a try
13:31:09FromGitter<rsirres> thx PMunch
13:32:40radagastI want to reduce the number of allocations of a seq I want to use. Is there a reserve() proc available for seq?
13:33:07PMunchnewSeq[int](size)
13:33:19radagastthanks, PMunch
13:33:44PMunchOr if you don't want it to be of len size but without elements you could use newSeqOfCap
13:36:14radagastthanks again
13:36:31*dddddd joined #nim
13:38:58PMunchNo problem :)
13:50:30*couven92 joined #nim
13:56:33*leorize quit (Quit: WeeChat 2.0.1)
13:59:07*MJCaley joined #nim
14:24:04*yglukhov joined #nim
14:46:56*MJCaley quit (Quit: MJCaley)
14:55:32*yglukhov quit (Ping timeout: 252 seconds)
14:56:59radagastI have a type that's an enum of types. Yet nimsuggest says that "type expected" https://gist.github.com/9da888d88f741ccff47cee673b926783 Anyone able to explain me that? Thanks in advance https://gist.github.com/9da888d88f741ccff47cee673b926783
14:58:22dom96Try compiling the code if the nimsuggest error is confusing
15:00:54FromGitter<nc-x> `Structures.QuickFindUF` is not the type? `Structures` is the type.
15:04:25*devdri quit ()
15:04:36*nc-x joined #nim
15:04:49radagastI see. What if I want to specialize the proc for Structures.QuickFindUF?
15:06:52*devdri joined #nim
15:12:14*nc-x quit (Quit: Page closed)
15:13:17*endragor joined #nim
15:17:04PMunchradagast, then you need to use a case..of or if..elif..else statement
15:17:53*endragor quit (Ping timeout: 256 seconds)
15:18:53*MJCaley joined #nim
15:20:01*devdri quit ()
15:27:57FromGitter<Bennyelg> {.compact.} cannot be called ?
15:28:01FromGitter<Bennyelg> on karax
15:33:48Araqimport it first?
15:34:00FromGitter<Bennyelg> I copy your sample 1 to 1
15:34:45FromGitter<Bennyelg> also, Event is not recognize to you need to change it to vdom.Event
15:35:06FromGitter<Bennyelg> otherwise Event is also unknown.
15:37:09*yglukhov joined #nim
15:41:26*yglukhov quit (Ping timeout: 256 seconds)
15:47:40*couven92 quit (Ping timeout: 256 seconds)
15:49:03FromGitter<cjmxp> The Nim grammar seems to be a bit complicated
15:49:45PMunchcjmxp, anything in particular you were thinking about?
15:49:56PMunchThe base grammar is pretty similar to many other languages
15:50:48FromGitter<cjmxp> It's not much simpler to use than c++
15:51:20PMunchGrammatically?
15:51:36FromGitter<cjmxp> yes
15:51:48FromGitter<cjmxp> You can look at haxe
15:53:23PMunchIt looks like a slightly simplified C/C++
15:53:34PMunch(From the one example on their site)
15:54:09*couven92 joined #nim
15:54:33FromGitter<cjmxp> Yes, it's very fast.
15:54:43PMunchSo is Nim
15:57:12FromGitter<cjmxp> I like the features of Nim, and he can do a lot of things to do with c/c++, but it's hard to learn, and the syntax is difficult and not elegant.
15:57:35FromGitter<Bennyelg> VSCode show karax syntax with errors but it compiled lol
15:58:58PMunchcjmxp, hmm, I found it the other way round. Very easy to learn and the syntax (while not perfect) does have some very redeeming factors.
15:59:14PMunchBennyelg, that's the kind of stuff that hopefully will be improved once 1.0 hits
15:59:28PMunchI've just turned off all nimsuggest support in my editor
15:59:56FromGitter<Bennyelg>  nah I need the sugggests
16:00:01FromGitter<Bennyelg> I am still newbie
16:01:13*nsf quit (Quit: WeeChat 2.0.1)
16:02:53dom96Hopefully this fixes the c2nim compilation issues: https://github.com/nim-lang/c2nim/commit/bdc39451c82ce7a43f6fa3112a6dcf282a10e97f
16:03:12livcddo we have somewhere full nim electron app ?
16:03:21dom96cjmxp: can you be more specific?
16:03:47*MJCaley quit (Quit: MJCaley)
16:03:48PMunchlivcd, define full? :P
16:03:56PMunchI made a very simple example that works
16:04:02livcdPMunch: both ui and backend written in Nim
16:04:02dom96oooh https://github.com/PMunch/nim-electron
16:04:48dom96Any way to create that without npm?
16:05:07livcdi am gonna try it
16:05:08livcd:P
16:05:19dom96If you could just run the Nim app that would be awesome
16:05:41PMunchHmm, there's probably a way
16:05:55PMunchWe just need to look at what npm start does
16:06:23livcdbtw i also do not really like nim's syntax. It feels...noisy...perlish
16:07:03dom96Do it! Then write a blog post showing it off :D
16:07:10dom96livcd: what would you change? :)
16:07:24*devdri joined #nim
16:07:50*skelett joined #nim
16:09:43livcdi get getaddrinfo error on osx
16:10:14FromGitter<RedBeard0531> Dissenting opinion: I really like nim's syntax. Although I do wish there was a solution to the explicit template args + method call syntax issue.
16:10:37livcddom96: the problem is i think about it subjectively. Like what I like or dislike and I definitely prefer ruby's syntax more
16:10:49PMunchUgh, Ruby syntax :S
16:10:49dom96RedBeard0531: You mean: x.foo[T]()?
16:11:01FromGitter<RedBeard0531> yeah
16:11:15dom96livcd: What about Ruby's syntax do you prefer?
16:11:16livcdPMunch: but nim also feels rubyish / pythonish. it just uses more sigils than english keywords
16:11:19PMunchlivcd, I only tested it on Linux..
16:11:31livcddom96: using keywords instead of sigils
16:11:53livcdPMunch: just telling ya :D
16:11:56livcdbut it works
16:11:58livcdit can connect
16:12:00dom96Nim is sort of a mix. It uses keywords for boolean logic.
16:12:05livcdit just throws an error
16:12:36dom96I prefer writing $ than to_string() all the time since it's such a common operation :)
16:13:01PMunchYeah to_string is just tedious
16:13:26FromGitter<RedBeard0531> I like how UFCS makes `.` in nim like `|` in the shell and ` ` (space) like an RTL pipe. But the template syntax screws with that sometimes
16:13:51livcdi prefer designed for reading than for writing
16:14:05FromGitter<Bennyelg> what is kstring ?
16:14:41dom96RedBeard0531: there is an issue for this https://github.com/nim-lang/Nim/issues/3502
16:14:57dom96Bennyelg: a more efficient string for the JS target IIRC
16:15:01*devdri quit ()
16:15:30FromGitter<Bennyelg> I am pretty confused cstring, kstring when to use where
16:15:36*yglukhov joined #nim
16:16:00dom96Araq: ^
16:16:17livcdit's mostly about how often do you write code vs how ofted you have to read the code
16:18:31*gokr joined #nim
16:18:31dom96livcd: Makes sense. What things do you like about Nim that cause you to stick around then? :)
16:20:34livcddom96: I really dig this nim to many backends concept. Honestly I think Reel Valley was the biggest wow this is cool moment with Nim :)
16:21:29dom96Ahh, awesome :)
16:22:12FromGitter<stisa> @Bennyelg I believe `kstring` is an alias for`cstring` when compiling to js and `string` when compiling to C, so the only reason I can see to use `cstring` is for interoperability with C
16:22:48FromGitter<RedBeard0531> @dom96 maybe this is a crazy idea, but could you syntactically merge operator[] and template arguments so that passing a template arg to a proc was as-if you called a magical proc`[]`(p: proc, ts: varargs[typedesc]): proc
16:23:30livcddom96: i think people should do more of those. I think it can attract people
16:23:47PMunchlivcd, you mean large projects? :P
16:23:56livcdPMunch: flappy bird
16:23:57livcd:D
16:24:50dom96livcd: people are, what people need to do is write about them more
16:25:03dom96*hint hint* yglukhov :P
16:25:54dom96RedBeard0531: Sounds just crazy enough to work. But you'll need to ask Araq :)
16:26:15FromGitter<RedBeard0531> I'll comment on the ticket
16:27:12*rauss quit (Read error: Connection reset by peer)
16:27:19*MJCaley joined #nim
16:27:47livcdPMunch: that jsffi feels kinda cryptic
16:28:13*rauss joined #nim
16:28:23FromGitter<mratsim> RocksDB wrapper done: https://github.com/status-im/nim-rocksdb, not on nimble yet, not too sure if I should expose the raw low-level C wrapper as is or provides an API more in line with Nim conventions (error checking, destructors, and CamelCase types).
16:28:43PMunchHow so livcd?
16:30:42dom96mratsim: nice! How are things going at Status?
16:31:21livcdPMunch: i just need to read more about how it works
16:32:28livcdPMunch: can you bundle the nim native app in the electron ?
16:32:32dom96mratsim: you should definitely write a high level wrapper. Working with a low-level memory unsafe wrapper wouldn't be a fun time.
16:33:02FromGitter<mratsim> Well, I’m official starting on Feb 1st with Status ;)
16:44:54*yglukhov quit (Ping timeout: 256 seconds)
16:49:51*natrys joined #nim
16:54:03FromGitter<mratsim> Btw is there something on Friday evening for Nim people who arrives on Friday?
16:54:27PMunchWell there is the official beer event
16:54:51dom96https://fosdem.org/2018/beerevent/
16:54:54PMunch(I arrive Friday as well)
16:56:42dom96It'd be nice to create some sort of FOSDEM Nim group where we can organise ourselves
16:56:51PMunchYeah
16:57:19FromGitter<mratsim> Lol: A note of caution ⏎ Unlike some other beers, Belgian beer is not just coloured water. Some beers contain significant quantities of alcohol and will give you a pounding hangover (as a side note, consuming lots of (pure) water helps preventing that). FOSDEM staff is not responsible for any hallucinations you may experience as a result of this event. :-)
16:57:21PMunchBut our primary communications channel is IRC, which is kind of a PITA to be on on mobile
16:57:38dom96yeah
16:57:46dom96Gitter works better on Mobile
16:58:06dom96But maybe it's time to set up Telegram
16:58:17PMunchTelegram is nice
16:58:35dom96I saw a couple open source projects using it
17:00:05FromGitter<mratsim> I was that all the JS "hippies" are now using Spectrum
17:00:15FromGitter<mratsim> saw*
17:00:23PMunchSpectrum?
17:01:33FromGitter<mratsim> https://spectrum.chat/electron
17:02:22FromGitter<mratsim> https://spectrum.chat/styled-components
17:02:27PMunchHmm
17:02:30FromGitter<mratsim> —> 1.9k people :O
17:03:12dom96Apparently this exists already http://t.me/nimlang
17:03:56PMunch4 members :P
17:04:44livcdwhat the heck is all that
17:04:48livcdstyled components, spectrum
17:04:49livcdwtf
17:07:05dom96oh, channels aren't really places where people can talk I guess
17:07:50PMunchWell that's a bummer
17:09:47livcdi dscovered an interesting game on electron apps
17:09:51livcdlooks really like a neat idea
17:11:21FromGitter<alehander42> In which part of the city are you going to be for fosdem?
17:13:34dom96https://t.me/nim_lang
17:14:10livcdIstrolid looks incredibly awesome. Cant believe it's electron
17:17:15FromGitter<SolitudeSF> the guy who made it is in nim's discord
17:18:14*tinAndi joined #nim
17:19:58livcdwhich one ? istrolid ?
17:20:02FromGitter<zetashift> I actually found Nim the most readable of all the languages I've seen at a first glance
17:20:25FromGitter<zetashift> When I saw it I had some experience with Python, C# and JS
17:20:50miran_zetashift - nim is more readable than python? :/
17:21:00FromGitter<zetashift> the '$' and some other stuff was initially confusing tho yes
17:21:04FromGitter<SolitudeSF> livcd, yeah, this guy https://github.com/treeform
17:21:50FromGitter<zetashift> @miran_ sortof yea, when I saw Python on SO etc most of where does funky oneliners solutions so yes my perspective was skewed:P
17:22:19FromGitter<zetashift> also all the *init* stuff was midly annoying
17:22:25FromGitter<zetashift> `__init__`
17:23:31livcdSolitudeSF: istrolid looks insane. I mean the idea is not new but it looks well executed
17:23:56livcdnow i wonder if Istrolid uses Nim :D
17:24:00*tinAndi quit (Ping timeout: 256 seconds)
17:24:26FromGitter<zetashift> while I do have your attention miran_ , concerning the intro you're writing, I had the most problems working with Nim's types section and how objects are more structs then objects, PMunch explanation(and learning Go ironically helped me understand this better): https://www.reddit.com/r/nim/comments/7dm3le/tutorial_for_types_having_a_hard_time/
17:24:43FromGitter<SolitudeSF> most likely not, since he joined nim community much later then the game was made
17:24:56FromGitter<zetashift> that explanation is actually a big reason I finished AoC in Nim!
17:25:05livcdahh
17:25:34livcdbut it looks slick. Cant believe there are no performance issues with it
17:26:26*xet7 quit (Quit: Leaving)
17:27:11*yglukhov joined #nim
17:28:07livcdahh just reading a post about it
17:30:01livcdpost from 2016 says he is using coffeescript
17:31:31*xet7 joined #nim
17:31:31miran_zetashift - ok, will try to focus on that too. and that PMunch's post is great and was very helpful for me too
17:31:47PMunchThanks guys :)
17:31:49*yglukhov quit (Ping timeout: 265 seconds)
17:32:45miran_no, thank *you* PMunch ;)
17:34:43miran_zetashift - stuff from that post might be too advanced for the audience i'm writing/aiming my tutorial to. will think about what to do with it...
17:47:08FromGitter<Bennyelg> Hey, Anyway I can check if i the file content fit to memory?
17:54:09PMunchWell, probably not
17:54:37PMunchBest is to just buffer anything that would be more than a couple kilobytes
17:54:39FromGitter<Bennyelg> So I need to monitor it in realtime when I start to fill it?
17:54:51*nsf joined #nim
17:55:04PMunchWhat are you reading in?
17:55:35FromGitter<Bennyelg> I try to figure our because some implementations like Apache spark know to spile to disk when the memory is not enough
17:56:14PMunchWell you can query the GC for how much memory is used and set some upper limit
17:56:20PMunchMake it user configurable or something
17:57:14FromGitter<Bennyelg> Ic
17:57:15FromGitter<Bennyelg> thanks
17:57:17*c0ntribut0r joined #nim
17:58:54*c0ntribut0r left #nim (#nim)
17:59:27*yglukhov joined #nim
18:06:42*vivus joined #nim
18:12:01FromGitter<mratsim> check how cpuinfo package use sysconf
18:12:27FromGitter<mratsim> not sure how to query used/free memory on Windows though
18:13:28*devdri joined #nim
18:17:42FromGitter<data-man> For Windows there is getMemoryInfo from the osinfo package
18:20:27*yglukhov quit (Ping timeout: 240 seconds)
18:26:52skelettI'd like to apply the contents of a `seq` (or of an `array`) as different arguments to a function. Does nim's stdlib already contains sth. like the `*` operator in python or the `apply` function in various other languages or do I need to write a macro for that?
18:29:16FromGitter<Quelklef> i think its something like macro.unpackArgs
18:29:23FromGitter<Quelklef> or so ive heard
18:29:34miran_skelett: something like https://nim-lang.org/docs/tut1.html#advanced-types-varargs ?
18:30:30Araqhe means sequtils.map
18:31:45FromGitter<Quelklef> but he says "like the `*` operator in python`
18:32:27dom96I tried implementing something like this
18:32:55dom96But I couldn't because there is no way to expand bar(*foo) into bar(42, 1) where `foo=[42, 1]`
18:33:25dom96Araq suggested something like this: `splat: bar(*foo)` which is possible but I dislike it too much
18:33:57Araqwe have unpackArgs now and again, it's inconsistent in Python too, wether you want to admit it or not.
18:34:07*miran_ quit (Quit: Konversation terminated!)
18:34:35skelettHmm ok thx!
18:35:52FromGitter<Quelklef> I'm confused. How's it inconsistent?
18:38:00Araqit's not how operators work, neither in Python or Nim. f(*a) expands to f(x, y, z), not to f((x, y, z))
18:38:22Araqso what does it expand to? A comma list that's not a tuple?
18:38:38Araqit's special cased.
18:39:25FromGitter<Quelklef> Sure, but what's the issue with that?
18:39:42FromGitter<Quelklef> Just means it has to be implemented at the compiler level rather than in the libraries, ye?
18:39:52FromGitter<Quelklef> and can only be used in function calls
18:39:55dom96My understanding is that the issue is that there needs to be a new AST kind for this one use case
18:40:00FromGitter<Quelklef> Ah
18:40:02Araqit influences the call of 'f', it actually should be spelt f*a
18:40:17dom96well, if you implement it in the compiler then there is no issue
18:40:58AraqI think the implementation in the compiler will be complex and error prone
18:41:05FromGitter<Quelklef> @Araq so your problem is that it's not a "normal function call" so to speak?
18:41:15Araqwe did a *very* similar thing with the ^ syntax
18:41:19dom96perhaps we should indeed implement it as apply(foo, bar)
18:41:37Araqand moved ^ into a pure stdlib implementation
18:41:46FromGitter<Quelklef> or a `*` operator like you were saying so it's f * a
18:41:48Araqbecause it was a PITA in the compiler.
18:41:56FromGitter<Quelklef> right
18:42:17FromGitter<Quelklef> lol i always thought i was just dumb to not understand quite how ^ was working
18:42:31FromGitter<Quelklef> nice to know its not just that
18:42:42*yglukhov joined #nim
18:42:44Araqdom96: unpackVarargs(foo, bar) is clear and works
18:42:58Araq'apply' is too much like 'map'
18:43:12FromGitter<Quelklef> bit verbose
18:43:21FromGitter<Quelklef> "splat" would probably work, no?
18:43:24dom96You saying it "works" implies that it's already in the stdlib
18:43:24Araq*shrug* I never use it
18:43:35Araqit is, I added it.
18:43:56dom96ahh, let's discuss it next time
18:44:00FromGitter<Quelklef> "work" as in be recognizable
18:44:11dom96and yeah, I agree, unpackVarargs is far too verbose
18:44:24dom96I'm fine with 'splat'
18:44:26Araqverbose according to what measure?
18:44:45AraqI used it once in my lifetime so far.
18:44:55Araq(which is why I added it)
18:45:06Araq(the one time I required it, I added it)
18:45:20AraqNim is not Python.
18:45:32Araqstuff that comes up all the time in Python, doesn't in Nim.
18:46:12FromGitter<Quelklef> OTOH certain things that are easy in Python are a little annoying in Nim even though they're still useful in Nim
18:46:17dom96perhaps we should ask skelett what their use case is
18:46:23FromGitter<Quelklef> only example I can give is when I wrote a debugging decorator, but
19:00:47skelettSry guys, my phone rang
19:03:37skeletta simplified example would be: proc foo(keys: varargs[Type]) = printf(fmt(keys), *keys)
19:10:20PMunchMan, this parsing thing is kicking my ass..
19:10:32PMunchBeen waaay to long since I did functional programming for this to make sense
19:12:42FromGitter<Quelklef> wym, pmunch?
19:13:58PMunchwym?
19:14:42PMunchOh "what you mean"?
19:15:02FromGitter<Quelklef> "whatever, you're married"
19:15:31FromGitter<Quelklef> yeah "what you mean"
19:16:18PMunchHaha :P
19:17:02PMunchWell, short version is that I'm writing a parsing library inspired by Parslet and this thing: https://gist.github.com/kmizu/2b10c2bf0ab3eafecc1a825b892482f3
19:18:03PMunchFigured that I should start implementing error messages that makes sense, but I'm having trouble making them propagate properly
19:19:41FromGitter<Quelklef> ah
19:19:58PMunchLong version, wanted to interface Nim with KSP through KRPC. It uses protobuf, which we lack support for in Nim. So I figured out I'll write a Protobuf implementation, but figured out that parsing is always a pain. So I decided I should start by writing a parser library, and here we are..
19:21:06FromGitter<Quelklef> could use a parser generator
19:21:39PMunchHaha :P
19:24:49*darithorn joined #nim
19:25:27PMunchGoing recursively deeper into generator generators
19:26:13FromGitter<Quelklef> yeah what we really need is a parser generator generator
19:26:20FromGitter<Quelklef> then we've reached *full abstraction*
19:26:47PMunchBut how would we create that? What we really need is a parser generator generator generator
19:27:51FromGitter<Quelklef> you're right
19:27:59FromGitter<Quelklef> but really though we can skip all that
19:28:02FromGitter<Quelklef> to the final form
19:28:11FromGitter<Quelklef> `proc gen(): return gen`
19:28:26FromGitter<Quelklef> a generator generator generator generator generator generator generator generator generator generator generator generator generator generator generator generator generator generator...
19:28:59Yardanicolol
19:29:59*clyybber joined #nim
19:33:06FromGitter<data-man> parseFromAny().toHuman()
19:33:22PMunchHaha, yeah a toHuman operator would be handy
19:33:33clyybbergood day
19:33:44PMunchHi clyybber
19:33:56clyybberHi PMunch
19:34:32PMunchMan I've had a headache all day without understanding why. Realized I hadn't had any coffee, one cup later, fixed!
19:34:47PMunchI might be addicted to caffeine again..
19:36:13FromGitter<Quelklef> again, oh my
19:42:04FromGitter<data-man> a tea has more caffeine :)
19:42:13dom96Random straw poll of the day for Nim: http://www.strawpoll.me/14941510
19:42:15dom96:P
19:43:14FromGitter<Quelklef> coffee for caffeine in the mornings if needed
19:43:16FromGitter<Quelklef> tea for taste
19:43:16FromGitter<Quelklef> im
19:43:26PMunchdata-man, tea has more caffeine pr. kilo. But coffee has more bioavailable caffeine
19:44:52PMunchTea has a substance in it that inhibits the caffeine receptors, which gets released only slightly slower than caffeine. This means that tea actually has a "sweet spot" while brewing were it has the most bioavailable caffeine and after which there is no more caffeine in the leaves to release but the other substance will continue lowering the amount of bioavailable caffeine in the tea.
19:45:14dom96Interesting
19:45:46FromGitter<Quelklef> how do we find that sweet spot?
19:45:54dom96I actually get decaf tea. I drink so much of it that drinking non-decaf has a noticeable effect on my ability to sleep at night :)
19:45:54FromGitter<data-man> Especially the Kopi Luwak :)
19:47:19PMunchdata-man, plus brewed tea has less caffeine than brewed coffee to begin with
19:47:44FromGitter<Quelklef> man yall are making me want tea
19:47:53PMunchTea leaves has more caffeine than coffee beans, but a tea made with the same amounts (by weight) of grounds/leaves to water would taste pretty horrible
19:49:14dom96What's everybody's favourite tea/coffee blend?
19:49:32FromGitter<Quelklef> black tea with a bunch of lemon and honey
19:49:34FromGitter<Quelklef> that's my jam
19:49:44PMunchHmm, turns out that the bioavailability thing might not be true..
19:49:46dom96I'm very much into Earl Grey
19:50:03PMunchI'm with you there dom96, a proper high-quality Earl Grey
19:50:04FromGitter<Quelklef> pmuch how so
19:50:15PMunchWell first of I can't find any sources for it :P
19:50:39FromGitter<Quelklef> damn
19:50:42PMunchThen there is this: https://www.theguardian.com/notesandqueries/query/0,5753,-25502,00.html (search for biochemically)
19:50:43dom96This one https://www.ocado.com/productImages/132/13264011_1_640x640.jpg?identifier=078c9703d193468fd360c3c025cd4664 :D
19:51:42PMunchRegular Earl Grey from Twinings is definitely good
19:51:51FromGitter<data-man> Kenya Tinderet
19:52:56PMunchBut try some from Whittard for example and you'll see what I mean
19:53:45PMunchHuh, interesting poll dom96. None who drinks Coffee doesn't drink tea
19:54:20PMunchAh, it might not be complete bollocks: http://ezinearticles.com/?The-Combined-Stimulation-of-Caffeine-and-Tannin-in-Tea&id=3604069
19:54:29dom96Obviously means Tea > Coffee :D
19:55:29*yglukhov quit (Remote host closed the connection)
20:01:40*devdri quit ()
20:02:14FromGitter<data-man> > Coffee: 80mg, Cola: 45mg, Black tea: 40mg, Oolong tea: 30mg, Green tea: 20mg, White tea: 15mg, Rooibos & Herbals: Zero mg. ⏎ ⏎ Cola?!
20:02:24FromGitter<Quelklef> yeah man
20:03:18PMunchYeah, Cola has plenty of caffeine
20:06:05FromGitter<data-man> “Pepsi - The Choice of a New Generation” :-D
20:07:00FromGitter<Quelklef> Dr Pepper
20:07:01FromGitter<Quelklef> best soda
20:16:33*NimBot joined #nim
20:20:13*yglukhov joined #nim
20:28:03*darithorn quit (Quit: Leaving)
20:44:55*vlad1777d quit (Ping timeout: 260 seconds)
20:46:04*radagast quit (Ping timeout: 252 seconds)
20:56:47*yglukhov quit (Remote host closed the connection)
20:56:57*vlad1777d joined #nim
20:59:31livcddoh i just learned about haxe today :S
21:01:35FromGitter<Quelklef> Lol I showed Haxe to my brother a while ago and he said something like "Wow, the worst parts of each language"
21:01:57FromGitter<Quelklef> "OOP of Java, syntax of PHP, and runtime of Javascript" or something
21:02:00FromGitter<Quelklef> was not impressed
21:03:05livcdah i thought it could compile to many backends similarly to Nim
21:03:11FromGitter<Quelklef> "It looks like the worst part of every language" ⏎ me: "what lol why" ⏎ him: "Type system of Java, syntax of Ruby and JavaScript ⏎ Var ⏎ Gross" [https://gitter.im/nim-lang/Nim?at=5a6ce90f0ad3e04b1b77eb82]
21:03:17FromGitter<Quelklef> yeah it does
21:03:33FromGitter<Quelklef> which seems to be its main selling point
21:04:09*Vladar quit (Quit: Leaving)
21:04:33*dddddd quit (Remote host closed the connection)
21:06:54livcdI mean i knew it existed i just was not aware of what it is and what it can do. Nor did I read about it on hn / reddit and similar
21:09:05livcdand of course i never used any software in haxe. At least i do not know about it
21:10:55FromGitter<Quelklef> i mean if it's made for cross-compiling you wouldn't know
21:11:17livcdyeah
21:12:21dom96Haxe compiles to everything. Nim compiles to things that /make sense/ :P
21:14:04FromGitter<Quelklef> What I really wanna see is two languages that cross compile to each other
21:14:07FromGitter<Quelklef> then just, like, do it
21:14:18FromGitter<Quelklef> write something in one and bounce it back and forth 50 times
21:14:45FromGitter<mratsim> It already “exists"
21:14:53FromGitter<mratsim> 100+ times iirc
21:14:57FromGitter<Quelklef> oh boy
21:14:59FromGitter<Quelklef> show me
21:15:22FromGitter<mratsim> https://github.com/kanaka/mal
21:15:37dom96https://github.com/mame/quine-relay
21:15:42FromGitter<mratsim> ah right
21:15:48FromGitter<mratsim> it was not make a lisp
21:15:52FromGitter<Quelklef> "Mal is implemented in 72 languages:" what in the fuck
21:16:11FromGitter<Quelklef> ah there we go thanks dom
21:16:12dom96hah, even Nim is in there
21:16:54dom96well... that's far more disappointing than what I was expecting https://github.com/mame/quine-relay/blob/master/src/code-gen.rb#L286
21:17:02FromGitter<mratsim> even Brainfuck and Befunge are there >_>
21:17:45livcdso haxe despite having the enterprisey more familiar syntax did not go mainstream...interesting
21:18:14FromGitter<mratsim> Entreprise syntax? https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
21:18:36FromGitter<Quelklef> Wait
21:18:43livcdhahaha
21:18:45FromGitter<Quelklef> this quine-relay thing isn't compiling, is it?
21:18:50FromGitter<Quelklef> he hardcoded this
21:18:56FromGitter<Quelklef> oh, my god
21:19:02FromGitter<mratsim> it should generate a file for each lang
21:19:13FromGitter<mratsim> that generates the next lang
21:19:17FromGitter<Quelklef> right
21:19:23livcdyeah it cant be big enough. There are no courses on pluralsight for haxe :P
21:19:25FromGitter<Quelklef> but it doesn't compile to the next lang, it generates the next lang
21:19:26FromGitter<Quelklef> holy moly
21:21:08livcdmaybe only curses
21:24:15*yglukhov joined #nim
21:24:31*yglukhov quit (Remote host closed the connection)
21:38:07*natrys quit (Quit: natrys)
21:42:53*Yardanico quit (Remote host closed the connection)
21:44:53PMunchPhew, think I've figured out how to properly return an error now..
21:45:05*gokr quit (Ping timeout: 240 seconds)
21:48:17FromGitter<Quelklef> ... return?
21:48:46FromGitter<Quelklef> something smells go-ey
21:50:40*MJCaley quit (Quit: MJCaley)
21:50:41PMunchWell it's parser combination
21:51:38*nsf quit (Quit: WeeChat 2.0.1)
21:52:02PMunchSo it's a call chain where errors are encountered on the lowest level and would need to "bubble" up
21:52:19FromGitter<Quelklef> isn't that the whole point of raising an error
21:52:24FromGitter<Quelklef> we're on different pages here
21:53:11PMunchHmm yeah, I guess I could've used exceptions as well
21:53:45FromGitter<Quelklef> 😟
21:54:34PMunchOh by the way, my dad recently got a CNC so I carved out this for fun: https://photos.app.goo.gl/2ZK5maOulgJQ8soy2
21:54:44PMunchI'm thinking of filling the holes with paint
21:55:13PMunchUnfortunately I couldn't find a way to do a v-carve along the edges while pocketing out the centre..
21:55:14FromGitter<Quelklef> ooh! thats cool
21:55:36PMunchI know! The black MDF has a really neat look to it
21:56:11FromGitter<Quelklef> think itd look slightly nicer with no pip on the i but still really cool
21:56:18PMunchMaybe I should try to implement some path -> gcode in Nim :P
21:56:31PMunchAfter I've dug myself out of this parser hole :P
21:57:32FromGitter<Quelklef> lol, godspeed
21:58:34*stisa joined #nim
22:00:04PMunchShouldn't be that hard (famous last words)
22:01:19PMunchMan, the new Google pictures app is super creepy..
22:01:56PMunchNo idea how it does it, but it has search suggestions at the top. Try searching for "city"
22:02:15PMunchWhere city would be somewhere I've been and know I have pictures from
22:02:35PMunchOh wait... That's probably just based on geo-location..
22:03:03PMunchPossibly even correlated with google maps data
22:03:07FromGitter<Quelklef> still kinda weird
22:03:18FromGitter<Quelklef> they do other strange things which are cool but unsettling
22:03:19*BitPuffin quit (Remote host closed the connection)
22:03:35PMunchStill a bit creepy, but not "computer vision detecting where you are based on images"-level creepy
22:04:03PMunchYeah, I remember the first time I found a "The hotel you are staying at" pin in Google Maps without having put it there
22:04:21PMunchOr some "Your plane leaves at 8" calendar events
22:04:50PMunchJust based of off Google reading through my emails and recognizing order receipts
22:05:14dom96PMunch: that's really awesome :O
22:05:19PMunchCreepy? Most definitely! Useful? Sure..
22:05:37PMunchdom96, the Nim logo?
22:05:41dom96yeah
22:05:47dom96Now just need some solid gold to fill that crown with :P
22:07:36PMunchOoooh, that would be amazing :P
22:07:43*solitudesf quit (Quit: solitudesf)
22:08:07PMunchHuh, I guess you could actually make casts with this or a 3D printer and cast actual metal items
22:09:10*vlad1777d quit (Ping timeout: 240 seconds)
22:11:04*arecaceae quit (Remote host closed the connection)
22:11:26*arecaceae joined #nim
22:18:46PMunchdom96, have you gotten the fliers done yet by the way?
22:23:38dom96yep
22:23:45PMunchOoh, pictures?
22:24:03PMunchOr are you just done as in done with the design?
22:24:07dom96Wondering if I should make them public or keep them private until FOSDEM :)
22:24:18dom96Nah, I got them printed
22:24:38PMunchAaah, I see. I can keep the secret though ;) After all I've seen pretty much all the possible designs already :P
22:24:53PMunchUnless you had some secret designs you didn't tell me about
22:37:57*clyybber quit (Ping timeout: 240 seconds)
23:14:13*marenz_ joined #nim
23:23:26*dddddd joined #nim
23:25:02*clyybber joined #nim
23:28:03FromGitter<matrixbot> `ratherAnonymous` is anyone here using emacs to write in Nim?
23:29:22dom96whoa
23:29:33dom96Just realised that Slava Pestov is following me on Twitter
23:29:37dom96Sorry, that's a bit offtopic
23:29:40FromGitter<matrixbot> `ratherAnonymous` snippets would be awesome, but I don't know if there's any way to get get code completion working
23:29:56FromGitter<matrixbot> `ratherAnonymous` twatter
23:30:06FromGitter<matrixbot> `ratherAnonymous` >:D
23:30:59PMunchIs that thing relaying Matrix through Gitter?
23:31:05PMunchThat's just super annoying :P
23:31:29PMunchAnd ratherAnonymous, I have heard of people using Emacs with Vim. Personally I use Vim
23:31:46dom96Can we reach 4 levels of relaying though?
23:31:49dom96That would be amazing
23:31:58PMunchJust make sure not to put them in a loop :P
23:32:00FromGitter<matrixbot> `ratherAnonymous` whut? My questuon was about code completetion in emacs
23:32:52PMunchYou asked first if anyone was using Emacs :P
23:32:59dom96ratherAnonymous: heh, sorry. Afraid I don't use emacs
23:32:59PMunchdom96, who's Slava Pestov?
23:33:12dom96PMunch: Creator of Factor. Now working at Apple on Swift.
23:33:20PMunchOh cool
23:33:28dom96I distinctly remember using Factor right before settling on Nim
23:33:38FromGitter<Quelklef> Ooh, factor's the one with the Dinosaur, right?
23:33:44FromGitter<matrixbot> `ratherAnonymous` irc via erc inside emacs inside tmux inside an emulated terminal inside emacs inside tmux ... inside a terminal
23:33:47dom96and talking with him about writing an XPath parser in Factor :)
23:33:56FromGitter<matrixbot> `ratherAnonymous` slava pestov os this hot pornstar from slovakia
23:34:00dom96Quelklef: yep
23:34:00FromGitter<matrixbot> `ratherAnonymous` oh
23:34:03FromGitter<matrixbot> `ratherAnonymous` nvm
23:35:07FromGitter<matrixbot> `ratherAnonymous` i want to watch youtube videos about nim instead of writing it...but there are non left
23:35:19FromGitter<matrixbot> `ratherAnonymous` first world problems
23:35:26dom96Guess I need to make more livestreams :)
23:36:00FromGitter<matrixbot> `ratherAnonymous` twitch?
23:36:16FromGitter<matrixbot> `ratherAnonymous` what's your name
23:36:20dom96d0m96
23:36:31dom96You probably saw those on YouTube, no?
23:36:54FromGitter<matrixbot> `ratherAnonymous` if 96 is your birthyear, you' re not that much older than me
23:37:01FromGitter<matrixbot> `ratherAnonymous` I feel bad for being a noob
23:37:29FromGitter<matrixbot> `ratherAnonymous` shit, what have I even reached in my life? nothing...
23:37:32FromGitter<matrixbot> `ratherAnonymous` XD
23:38:49abeaumontdom96: what did it make you finally choose nim over factor, if I may ask?
23:39:20dom96abeaumont: Thinking in RPN was too much of a mind shift :)
23:39:30FromGitter<matrixbot> `ratherAnonymous` the fact, that I don't know factor
23:39:33FromGitter<matrixbot> `ratherAnonymous` oh
23:39:41FromGitter<matrixbot> `ratherAnonymous` Nvm
23:39:45FromGitter<matrixbot> `ratherAnonymous` lel
23:39:50PMunchRPN is great dom96 :)
23:39:51FromGitter<matrixbot> `ratherAnonymous` LUL
23:39:53PMunchHave you seen min?
23:40:40dom96ratherAnonymous: The best time to learn Nim was 8 years ago, the second best time is now ;)
23:40:44abeaumontonly if you have your mind shifted in the first place, I guess =)
23:41:08PMunchMy first calculator was actually RPN, so yeah, got an early start with RPN
23:41:27dom96You can see my Factor influence here: https://github.com/dom96/nael :)
23:42:19PMunchdom96: https://min-lang.org/
23:42:28FromGitter<Quelklef> "WTF, something is really wrong with exceptions" Nim's come a long way, eh?
23:42:42abeaumontcuriously many languages are providing syntax to have kind of poor support for RPN (i. e. pipe operator, etc.)
23:42:42dom96oh wow.
23:42:51dom96That's actually much further than I thought it was
23:43:19dom96Fabio (h3rald) really makes some cool stuff.
23:43:30PMunchYeah, he's got some cool projects
23:43:34dom96Should invite them to join IRC/Gitter :)
23:43:41PMunchI actually implemented plugin support in Min
23:44:09PMunchSo you can load .so files written in Nim to create new functionality
23:44:12dom96Should add eval support to NimBot :)
23:45:12PMunchEval support?
23:45:17abeaumontoh indeed, Min language looks really interesting
23:45:26PMunchYeah it's really cool :)
23:47:17dom96!min some min code here
23:47:53PMunchOh yeah, that would be cool :)
23:49:23*rockcavera quit (Remote host closed the connection)
23:50:40PMunchIt's pretty small as well
23:50:44PMunch1.5M binary