| 00:14:23 | * | jrbrt quit (Quit: jrbrt) | 
| 00:33:48 | * | darithorn joined #nim | 
| 01:08:16 | * | max3 joined #nim | 
| 01:13:43 | skrylar | ffs. does one have to wrap the entirety of glib just to boot a gtk app | 
| 01:32:49 | * | brainpro1 is now known as brainproxy | 
| 01:44:32 | * | skrylar quit (Remote host closed the connection) | 
| 01:44:50 | * | dddddd quit (Remote host closed the connection) | 
| 02:04:11 | FromDiscord | <poi> Hi. I just start  learning nim. Anyone know how to convert a seq to an array? (just inverse  $) | 
| 02:09:33 | leorize | poi: I don't think that's possible since an array size has to be known at compile time. Why would you need to convert anyway? | 
| 02:12:11 | FromGitter | <gogolxdong> @PMunch , what happened , protobuf-nim doesn't compile. | 
| 02:13:59 | FromDiscord | <awr> poi what are you trying to accomplish? do you want like a non-GC'd dynamically allocated array or do you want like, a seq you can't modify? | 
| 02:15:28 | FromDiscord | <poi> Just required by a interface: I have to take first 2 elements in a seq and return in ararry[2,int] | 
| 02:15:58 | FromGitter | <gogolxdong> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5af1085d59a0578004b15b5a] | 
| 02:16:04 | FromDiscord | <awr> you probably want a tuple or an object instead | 
| 02:16:54 | FromDiscord | <awr> with a tuple you can still use index syntax like an array | 
| 02:17:28 | FromDiscord | <awr> alternatively you can just return another seq[int] | 
| 02:17:35 | FromDiscord | <poi> But it's a question from codewars which the signature of soluction cannot be change | 
| 02:17:42 | FromDiscord | <awr> what is the question | 
| 02:17:59 | FromDiscord | <poi> proc twoOldestAges*(ages: seq[int]): array[2, int] = | 
| 02:18:26 | FromDiscord | <poi> simply take first 2 elements | 
| 02:18:52 | leorize | poi: then a proc like this should work https://pastebin.com/fAyzqt8n | 
| 02:21:28 | FromDiscord | <awr> you cannot directly convert a seq[int] of variable length to an array[n, int] of constant length n. but you still use arrays as a return type | 
| 02:22:40 | FromDiscord | <poi> Copy data from heap to stack should not be impossible intuitionally | 
| 02:22:51 | FromDiscord | <awr> you can take values from the seq and compose the constant length array like leorize said | 
| 02:24:49 | FromDiscord | <awr> you can technically dynamically allocate an  array on the stack in C with alloca() but that's not...really...relevant | 
| 02:26:05 | FromDiscord | <poi> Thx. I understand. Nim version's array is much ''safer''  than c | 
| 02:26:39 | FromDiscord | <awr> if the purpose of the proc, as i'm assuming, is to find the two largest ints in a seq, that shouldn't be a problem | 
| 02:27:56 | FromDiscord | <poi> Yes. That's the easy part. I learned some C  before. | 
| 02:29:15 | FromDiscord | <poi> Thanks you all. | 
| 02:52:36 | * | NimBot joined #nim | 
| 02:57:00 | * | skrylar joined #nim | 
| 03:08:32 | skrylar | weird. flatbuffers has a field for embedded data but then it still writes a pointer to the data | 
| 03:37:27 | * | max3 quit (Quit: Connection closed for inactivity) | 
| 03:40:25 | * | MypMyp joined #nim | 
| 03:56:09 | * | endragor joined #nim | 
| 03:57:29 | * | MypMyp quit (Remote host closed the connection) | 
| 03:58:10 | * | vivus quit (Quit: Leaving) | 
| 03:58:11 | * | leorize quit (Quit: WeeChat 2.1) | 
| 04:09:52 | * | darithorn quit (Remote host closed the connection) | 
| 04:15:21 | * | CodeVance quit (Quit: Leaving) | 
| 04:19:35 | FromGitter | <citycide> I'm getting this error when trying to compile on windows 10 - where is this file expected to be? ⏎  ⏎ ```code paste, see link``` ⏎  ⏎ (trying to compile https://github.com/nim-lang/ui/blob/master/examples/toy.nim after `nimble install ui`) [https://gitter.im/nim-lang/Nim?at=5af1255697e5506e04a5de49] | 
| 04:20:40 | * | skrylar quit (Remote host closed the connection) | 
| 04:27:48 | * | xkapastel quit (Quit: Connection closed for inactivity) | 
| 04:36:37 | * | citycide joined #nim | 
| 04:39:49 | FromGitter | <Varriount> Hmm, sounds like someone expected Linux paths, I think | 
| 04:47:13 | FromGitter | <genotrance> looking at the code, it is intentional | 
| 04:50:08 | * | leorize joined #nim | 
| 04:51:20 | FromGitter | <genotrance> cd examples, nim c toy.nim | 
| 04:52:24 | FromGitter | <genotrance> of course, it doesn't compile for me since it doesn't recognize the format: ..\res\resources.o: file not recognized: File format not recognized cc dom96, araq | 
| 05:00:58 | * | craigger quit (Quit: bye) | 
| 05:01:07 | * | craigger joined #nim | 
| 05:02:21 | FromGitter | <citycide> right so I see it here: https://github.com/nim-lang/ui/blob/5eddf8ffbf8cf07aa688247d9ef13362dc6382c4/ui/rawui.nim#L83 | 
| 05:38:51 | FromGitter | <gogolxdong> Does anyone got this undeclared field: 'toLower' after update the devel branch ? It used to compile for our project. | 
| 05:39:36 | leorize | I think the name changed to toLowerAscii, if you're talking about the strutils function | 
| 05:44:55 | * | CodeVance joined #nim | 
| 05:46:33 | FromGitter | <Varriount> Better to import Unicode | 
| 05:53:14 | * | leorize quit (Quit: WeeChat 2.1) | 
| 06:02:13 | * | skrylar joined #nim | 
| 06:03:38 | * | Widdershins quit (Quit: WeeChat 2.0.1) | 
| 06:04:19 | * | nsf joined #nim | 
| 06:11:30 | FromGitter | <gogolxdong> @Leorize yes ,thanks. | 
| 06:12:33 | * | leorize joined #nim | 
| 06:24:15 | FromGitter | <gogolxdong> and @Varriount ,yes found the same name proc. | 
| 06:41:10 | * | gokr joined #nim | 
| 06:44:46 | * | citycide quit (Remote host closed the connection) | 
| 06:49:31 | * | Widdershins joined #nim | 
| 06:51:07 | FromDiscord | <poi> How does Nim deal Big number? which surpass the upper bound of int64 ( https://pastebin.com/9bE1zkFH) | 
| 06:52:17 | FromDiscord | <poi> How does Nim deal Big number? which surpass the upper bound of int64 ( https://pastebin.com/9bE1zkFH | 
| 06:59:39 | FromDiscord | <awr> nim does not have bignums in the standard library (yet, at least) | 
| 06:59:46 | FromDiscord | <awr> in the meantime though you can use this | 
| 06:59:46 | FromDiscord | <awr> https://github.com/FedeOmoto/bignum | 
| 07:00:33 | FromDiscord | <poi> OwO. Thx. | 
| 07:03:44 | FromDiscord | <awr> or this https://github.com/def-/nim-bigints | 
| 07:04:07 | FromDiscord | <awr> since the other ones appear to bind to GMP | 
| 07:24:25 | FromDiscord | <poi> Thanks. | 
| 07:34:14 | FromGitter | <mratsim> Also: https://github.com/status-im/nim-stint for uint128, uint256, uint512, etc .. | 
| 07:34:39 | FromGitter | <mratsim> and https://github.com/status-im/nim-decimal for a decimal library | 
| 07:40:08 | skrylar | ZacharyCarter: welp. got macros to write flatbuffer objects now | 
| 07:46:38 | skrylar | may dabble with protobuf or msgpack since those are easy to do and probably reuse the macros, but then likely done  | 
| 07:50:11 | skrylar | CBOR is slightly interesting in a sense that it seems to have an official RFC spec, so might dovetail with some embedded/industrial users of nim that we have hiding around | 
| 07:51:47 | skrylar | flatbuffers are kind of neat AFAICT but nim isn't super compatible with them in the end. the big win of capnproto and flatbuffers are that you can pre-layout all of your memory and then blit that chunk as a full state update, which another client can just accept as-is. but the only way to really "win" with that in ex. nim is to use a custom string type for slices  | 
| 08:10:14 | * | xet7 quit (Ping timeout: 260 seconds) | 
| 08:23:13 | * | xet7 joined #nim | 
| 08:24:40 | * | xet7 quit (Max SendQ exceeded) | 
| 08:25:11 | * | xet7 joined #nim | 
| 08:39:59 | * | oprypin quit (Ping timeout: 260 seconds) | 
| 08:40:01 | * | brainpro1 joined #nim | 
| 08:40:49 | * | oprypin joined #nim | 
| 08:42:19 | * | brainproxy quit (Ping timeout: 260 seconds) | 
| 08:47:38 | * | PMunch joined #nim | 
| 08:54:47 | * | alpha1220 joined #nim | 
| 08:54:57 | alpha1220 | why is https://github.com/nim-lang/Nim/pull/7793 merged into master and not devel? | 
| 08:56:48 | Araq | ouch, my bad | 
| 08:57:26 | Araq | the CIs should really prevent this | 
| 08:59:39 | * | alpha1220 quit (Ping timeout: 260 seconds) | 
| 09:13:25 | FromGitter | <survivorm> @Araq - is it possible to set a generic as a default? Or is it somewhat planned? | 
| 09:14:39 | FromGitter | <survivorm> E.g.  ⏎  ⏎ ```proc `+=`[T, V] (a:T, b:V) {default} = ⏎   a = a + b``` [https://gitter.im/nim-lang/Nim?at=5af16a7e6f9af87e044f57da] | 
| 09:14:45 | FromGitter | <alehander42> do we have some genSeed function in stdlib | 
| 09:15:20 | FromGitter | <survivorm> to make it work if no more specific function is set | 
| 09:16:09 | FromGitter | <survivorm> It may come handy in more places than i can imagine | 
| 09:22:06 | Araq | how so? += can be a generic and if there is a more specific overlaod, that will be picked instead | 
| 09:23:07 | skrylar | Araq, you did a gud (wrt. custom pragmas) | 
| 09:23:25 | Araq | what is a 'gud'?  | 
| 09:28:03 | skrylar | a moronic way of spelling "good" | 
| 09:29:06 | Araq | I didn't implement it, I merely told them how it needs to be done | 
| 09:30:14 | * | skrylar takes the compliment, crumples it and throws it in the garbage. | 
| 09:31:15 | FromGitter | <survivorm> @Araq  ⏎  ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5af16e636f9af87e044f6565] | 
| 09:31:40 | FromGitter | <survivorm> That's the example there system failes to guess | 
| 09:35:40 | Araq | so ... get your overload right? | 
| 09:37:02 | * | wishi quit (Ping timeout: 260 seconds) | 
| 09:40:42 | FromGitter | <mratsim> just use `[T,U: not SomeInteger]` | 
| 09:41:24 | Araq | that's terrible :P | 
| 09:42:23 | FromGitter | <mratsim> it works and is maintainable ;) | 
| 09:42:35 | FromGitter | <mratsim> I would say “That’s pragmatic" | 
| 09:44:43 | skrylar | who needs maintainable | 
| 09:44:47 | * | skrylar slaps another few macros together | 
| 09:46:09 | * | xet7 quit (Read error: Connection timed out) | 
| 09:46:47 | * | xet7 joined #nim | 
| 09:48:04 | * | xet7 quit (Max SendQ exceeded) | 
| 09:48:35 | * | xet7 joined #nim | 
| 09:53:00 | FromGitter | <alehander42> how do you do this whole * somebody does action :O | 
| 09:53:06 | FromGitter | <alehander42> is it irc-only | 
| 09:53:29 | dom96 | yes | 
| 09:53:39 | dom96 | well, maybe it works in gitter too | 
| 09:53:44 | dom96 | /me does something | 
| 09:53:54 | * | FromGitter * alehander42 slaps gitter | 
| 09:53:57 | * | FromGitter * dom96 tests something | 
| 09:53:57 | FromGitter | <alehander42> oh yeah | 
| 09:54:01 | * | Vladar joined #nim | 
| 09:54:03 | FromGitter | <alehander42> good stuff | 
| 09:57:04 | * | skrylar covers dom96  in dry sponges | 
| 09:57:36 | dom96 | Nooo, I have an irrational fear of dry sponges | 
| 09:58:11 | * | FromGitter * narimiran wonders if this works on gitter too | 
| 09:59:54 | * | leorize quit (Ping timeout: 260 seconds) | 
| 10:00:34 | skrylar | tomorrow, have to write the deserializer for flatbuffers :\ | 
| 10:01:59 | FromGitter | <alehander42> :D | 
| 10:02:13 | FromGitter | <alehander42> it's different on gitter, too blue | 
| 10:10:12 | FromGitter | <survivorm> @Araq - so, the only way is to use that @mratsim said or smth similar? So, only exceptions? | 
| 10:10:53 | FromGitter | <survivorm> That was why i've spoken on 'default' topic - the same idea as with case's default | 
| 10:11:23 | FromGitter | <survivorm> if specified - use specified, else go with default | 
| 10:11:41 | FromGitter | <survivorm> I don't see what's wrong with the idea | 
| 10:11:43 | * | arecaceae quit (Read error: Connection reset by peer) | 
| 10:12:06 | * | arecaceae joined #nim | 
| 10:17:53 | FromGitter | <gogolxdong> How to turn the Hint off as compliation? | 
| 10:18:28 | skrylar | --hints off | 
| 10:22:08 | FromGitter | <mratsim> or {.push: hints=off.} or something like that | 
| 10:22:25 | FromGitter | <mratsim> if it’s only for a specific part of your code | 
| 10:42:08 | skrylar | weird. tried to do zigzag encoding in nim | 
| 10:42:16 | skrylar | its working (kind of) but the sign bit seems to be misbehaving | 
| 10:42:46 | Araq | proc sar(a, b: int64): int64 = | 
| 10:42:46 | Araq |   {.emit: [result, " = ", a, " >> ", b, ";"].} | 
| 10:42:46 | Araq | proc sal(a, b: int64): int64 = | 
| 10:42:48 | Araq |   {.emit: [result, " = ", a, " << ", b, ";"].} | 
| 10:42:50 | Araq | proc toU*(x: int64): uint64 {.inline.} = | 
| 10:42:52 | Araq |   uint64(sal(x, 1)) xor uint64(sar(x, 63)) | 
| 10:42:54 | Araq | proc toS*(x: uint64): int64 {.inline.} = | 
| 10:42:56 | Araq |   let casted = cast[int64](x) | 
| 10:42:58 | Araq |   result = (`shr`(casted, 1)) xor (-(casted and 1)) | 
| 10:43:02 | Araq | works for me | 
| 10:43:23 | Araq | we still lack the signed shift operators | 
| 10:50:11 | skrylar | well the mysterious part is the absolute values are correct but the sign bit is being silly | 
| 10:53:26 | yglukhov_ | Araq, dom96, now how about CTFE async support? ;) | 
| 10:55:13 | dom96 | lol | 
| 10:55:14 | dom96 | but why? | 
| 10:55:36 | yglukhov_ | for fun? | 
| 10:56:26 | yglukhov_ | ok, just kidding. for now... | 
| 10:56:56 | yglukhov_ | but i think CTFE closure iters might be useful. and should be really easy to implement now. | 
| 10:58:27 | skrylar | did zigzag through an emit | 
| 10:58:33 | skrylar | although i have no clue why we have to do it that way *shrug* | 
| 11:25:41 | skrylar | apparently cbor is used in some other thing that is supposed to mirror http. neat | 
| 11:25:49 | skrylar | https://en.wikipedia.org/wiki/Constrained_Application_Protocol | 
| 11:29:44 | FromGitter | <mratsim> Do you know of a stringified python dictionary to Nim JsonNode converter? The syntax is almost the same as JSON but sufficiently different that I can’t just replace-hack in the string: {'descr': '<i8', 'fortran_order': False, 'shape': (4,), } ⏎  ⏎ I need this to parse numpy files, it embeds a Python dictionary in the binary :/ | 
| 11:29:47 | FromGitter | <mratsim>  (https://files.gitter.im/nim-lang/Nim/oDLf/2018-05-08_13-27-10.png) | 
| 11:32:01 | FromGitter | <50hz> hi there, I am looking to use redis in nim but somehow it does not compile - I see there is an issue created already but I am not sure I am doing the right thing to fix | 
| 11:32:02 | FromGitter | <50hz> https://github.com/nim-lang/redis/issues/5 | 
| 11:32:46 | FromGitter | <50hz> "you can just move await out of seq constructor." ⏎ does above mean replacing  ⏎ @[await r.parseBulkString(true,line)] ⏎ with  ⏎  ... [https://gitter.im/nim-lang/Nim?at=5af18adeff26986d083fec3c] | 
| 11:33:45 | FromGitter | <50hz> @yglukhov  would you mind take a look of above? it was from your comment in the issue :) | 
| 11:34:15 | FromGitter | <dom96> ```let bulkStr = await r.parseBulkString(true,line); @[bulkStr]``` | 
| 11:35:53 | FromGitter | <50hz> var res = case line[0] ⏎  ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5af18b9918d6bdde37253a6f] | 
| 11:36:10 | FromGitter | <50hz> this is where the code originally from ... not sure how I should change it to ? | 
| 11:36:49 | dom96 | You should be able to just replace it with what I've written | 
| 11:41:01 | FromGitter | <50hz> I am not sure I follow, I am a bit too new to Nim, could you please help me change in the following function?  ⏎  ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5af18ccdff26986d083ff2b5] | 
| 11:42:05 | FromGitter | <dom96> Replace ``@[await r.parseBulkString(true,line)]`` with ``(let bulkStr = await r.parseBulkString(true,line); @[bulkStr])`` | 
| 11:42:19 | FromGitter | <dom96> I missed the extra parenthesis in my initial answer | 
| 11:42:26 | FromGitter | <dom96> But that should work, if it doesn't let me know. | 
| 11:43:21 | FromGitter | <50hz> thanks - it works now with the extra parenthesis | 
| 11:43:31 | FromGitter | <50hz> but I am getting a different error in my example code | 
| 11:43:43 | dom96 | Show me :) | 
| 11:44:39 | * | sz0 quit (Quit: Connection closed for inactivity) | 
| 11:45:01 | FromGitter | <50hz> import redis, asyncdispatch ⏎  ⏎ ##Open a connection to Redis running on localhost on the default port (6379) ⏎  ⏎ let redisClient = openAsync() ... [https://gitter.im/nim-lang/Nim?at=5af18dbc40f24c4304600096] | 
| 11:45:16 | FromGitter | <50hz> test.nim(7, 1) Error: undeclared identifier: 'await' | 
| 11:45:43 | dom96 | Your code needs to be inside an ``async`` proc | 
| 11:45:53 | dom96 | proc main() {.async.} = # put your code here | 
| 11:46:07 | dom96 | then call `main` like this: waitFor main() | 
| 11:48:53 | FromGitter | <50hz> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5af18ea559a0578004b30447] | 
| 11:48:58 | FromGitter | <50hz> like this? | 
| 11:49:28 | FromGitter | <50hz> test.nim(4, 18) template/generic instantiation from here ⏎ test.nim(10, 20) Error: type mismatch: got <Future[redis.AsyncRedis], string, string> ⏎ but expected one of:  ⏎ proc setk(r: AsyncRedis; key, value: string): Future[void] ⏎   first type mismatch at position: 1 ... [https://gitter.im/nim-lang/Nim?at=5af18ec740f24c4304600429] | 
| 11:49:52 | FromGitter | <50hz> I might be doing something very wrong :( | 
| 11:50:29 | dom96 | openAsync also returns a Future | 
| 11:50:57 | dom96 | on line 10 you're trying to pass `redisClient` which is a `Future[redis.AsyncRedis]` | 
| 11:51:07 | dom96 | to `setk` | 
| 11:51:22 | dom96 | To get the value out of a `Future` you just use `await` :) | 
| 11:51:34 | dom96 | So hopefully you can work out where to put that `await` | 
| 11:51:44 | FromGitter | <50hz> it is the example from https://github.com/nim-lang/redis | 
| 11:52:08 | dom96 | That example should be updated too then :) | 
| 11:52:36 | dom96 | If you could create a PR to fix both of those issues that would be brilliant | 
| 11:53:00 | FromGitter | <50hz> where shall I sue await ? :) | 
| 11:53:21 | dom96 | Think about it. ``openAsync`` returns a `Future` | 
| 11:53:22 | FromGitter | <50hz> I thought I have await in front of setk and get | 
| 11:53:42 | dom96 | yes, those return futures too | 
| 11:55:25 | FromGitter | <50hz> *<dom96>* So hopefully you can work out where to put that `await` ⏎ isntead of ? | 
| 11:55:31 | FromGitter | <50hz> sorry | 
| 11:55:38 | FromGitter | <50hz> *<dom96>* To get the value out of a `Future` you just use `await` :) ⏎ instead of ? | 
| 11:55:56 | dom96 | Not instead of | 
| 11:55:58 | dom96 | in addition | 
| 11:56:47 | * | yglukhov_ quit (Read error: Connection reset by peer) | 
| 11:57:01 | FromGitter | <50hz> ah got you | 
| 11:57:09 | * | yglukhov joined #nim | 
| 11:57:27 | FromGitter | <50hz> I was missing the await  for openAsync | 
| 11:58:16 | FromGitter | <50hz> in this issue, @yglukhov mentioned there will be a PR for nim itself that can fix this problem ? | 
| 11:58:16 | FromGitter | <50hz> https://github.com/nim-lang/redis/issues/5 | 
| 11:58:37 | FromGitter | <50hz> so shall I wait or I should put in PR now to fix the code we discussed above ? | 
| 11:58:52 | dom96 | Create the PR | 
| 11:58:56 | FromGitter | <50hz> I mean will above fix compatible with what you are doing to merge ? | 
| 11:59:02 | dom96 | yep | 
| 11:59:20 | FromGitter | <50hz> thanks - will do in a bit. | 
| 11:59:24 | FromGitter | <50hz> thank you very much | 
| 12:00:06 | dom96 | thanks :) | 
| 12:01:49 | * | leorize joined #nim | 
| 12:06:25 | * | yglukhov quit (Ping timeout: 248 seconds) | 
| 12:08:00 | * | yglukhov joined #nim | 
| 12:11:01 | * | skrylar_ joined #nim | 
| 12:11:12 | FromGitter | <50hz> @dom96 may I ask if we have built-in support for sftp ? | 
| 12:11:28 | FromGitter | <50hz> tried google but only find ftp apparently ? | 
| 12:11:52 | dom96 | we don't | 
| 12:12:03 | dom96 | well | 
| 12:12:11 | dom96 | that's ftp over SSH, right? | 
| 12:12:18 | dom96 | FTP over SSL should work | 
| 12:12:20 | skrylar_ | ssl  | 
| 12:13:29 | * | skrylar quit (Ping timeout: 260 seconds) | 
| 12:24:01 | * | yglukhov quit (Ping timeout: 256 seconds) | 
| 12:26:55 | * | yglukhov joined #nim | 
| 12:27:41 | * | xet7 quit (Read error: Connection timed out) | 
| 12:28:01 | FromGitter | <50hz> probably ssh? | 
| 12:28:30 | FromGitter | <50hz> with sftp, you can/need to specify a key etc | 
| 12:28:30 | * | xet7 joined #nim | 
| 12:29:58 | * | xet7 quit (Max SendQ exceeded) | 
| 12:30:29 | * | xet7 joined #nim | 
| 12:31:23 | * | yglukhov quit (Ping timeout: 256 seconds) | 
| 12:31:57 | * | xet7 quit (Max SendQ exceeded) | 
| 12:32:26 | * | xet7 joined #nim | 
| 12:38:24 | skrylar_ | well there is an sftp that runs over ssh and an sftp that runs over ssl | 
| 12:38:36 | skrylar_ | to make matters confusing i think they are both referred to as sftp | 
| 12:39:14 | FromGitter | <data-man> My small celebration - the 40th PR. :-D | 
| 12:39:30 | PMunch | Congrats | 
| 12:39:41 | * | Snircle joined #nim | 
| 12:41:25 | FromGitter | <data-man> Thanks! :) | 
| 12:41:46 | FromGitter | <alehander42> good! | 
| 12:43:57 | xcm | yep, SFTP is over SSH; FTPS is FTP over SSL/TLS | 
| 12:45:26 | xcm | mnemonic for FTPS being "woops, we forgot to add the Security" | 
| 12:51:14 | FromGitter | <data-man> @50hz: You can try the curl wrapper | 
| 12:52:44 | * | yglukhov joined #nim | 
| 12:52:55 | * | gokr quit (Ping timeout: 256 seconds) | 
| 12:55:13 | FromGitter | <50hz> @data-man thanks - will give it a try :) | 
| 12:57:59 | * | leru joined #nim | 
| 12:58:26 | FromGitter | <Varriount> Araq: I've been looking at zah's recent commits - I never knew that templates and macros could be redefined. I don't recall seeing that behavior mentioned in the manual. | 
| 12:59:57 | * | athenot joined #nim | 
| 13:05:18 | * | athenot_ joined #nim | 
| 13:06:21 | * | athenot quit (Ping timeout: 240 seconds) | 
| 13:07:48 | * | yglukhov_ joined #nim | 
| 13:08:57 | * | yglukhov quit (Ping timeout: 240 seconds) | 
| 13:26:04 | * | endragor quit (Remote host closed the connection) | 
| 13:28:54 | * | endragor joined #nim | 
| 13:30:24 | * | dddddd joined #nim | 
| 13:32:57 | * | endragor quit (Ping timeout: 240 seconds) | 
| 13:41:01 | FromGitter | <50hz> how does the unboxing work in Nim? look like mimic python does not work ;o ⏎  ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5af1a8ec00dc488804a415e7] | 
| 13:41:40 | FromGitter | <50hz> identifier expected, but found '(' | 
| 13:41:42 | FromGitter | <50hz> got this | 
| 13:43:21 | leorize | I think you have to do `for key, val in tbl.pairs`, then use `let` to unpack the tuples | 
| 13:46:11 | subsetpark | yes you can't unpack a tuple in an iteration, unfortunately. the number of bound arguments in the iteration is a function of the procedure (items, pairs) rather than the structure of the elements returned in each call to the iterator. | 
| 13:49:04 | FromGitter | <narimiran> @50hz that is unfortunately not (yet) implemented. i've raised an issue about it: https://github.com/nim-lang/Nim/issues/7486 | 
| 13:51:20 | FromGitter | <mratsim> @narimiran, did you have time to re-benchmark Arraymancer btw? | 
| 13:52:40 | FromGitter | <narimiran> @mratsim i did some quick test with the latest nim devel and the latest AM, but didn't notice a big difference!? | 
| 13:52:44 | FromGitter | <50hz> thanks guys | 
| 13:52:54 | FromGitter | <50hz> I will just unbox it with let after | 
| 13:52:57 | FromGitter | <narimiran> i guess i should (have) test(ed) it more thoroughly | 
| 13:53:45 | FromGitter | <mratsim> normal it should be noticeable just with a plain nim c -r | 
| 13:54:36 | FromGitter | <mratsim> normally* | 
| 13:55:26 | FromGitter | <mratsim> I’m trying to add .npy saving/loading but it seems like it requires parsing Python dictionary :/ | 
| 14:04:58 | * | leorize quit (Ping timeout: 268 seconds) | 
| 14:04:58 | * | fredrik92 joined #nim | 
| 14:05:19 | skrylar_ | the non-joys of writing parsers | 
| 14:06:39 | * | couven92 quit (Ping timeout: 260 seconds) | 
| 14:06:49 | Araq | subsetpark: for a, b, c in items(...)  does work  | 
| 14:08:46 | FromGitter | <alehander42> well parsing it shouldn't be too hard, but it all depends on what are the values: are they random python repr-s ? | 
| 14:11:27 | * | xet7 quit (Read error: Connection timed out) | 
| 14:12:01 | * | xet7 joined #nim | 
| 14:12:26 | FromGitter | <mratsim> na it’s just that I have to learn how to write a lexer, but I can almost copy paste JSON | 
| 14:12:56 | FromGitter | <mratsim> the only difficult part is if you have numpy arrays of numpy arrays. | 
| 14:15:42 | FromGitter | <alehander42> but what kind of values can you have otherwise? e.g. only literals/arrays/dicts or also various objects? I still can't see where does it differ from JSON if the values are only dict/array/literals (except for ') | 
| 14:16:29 | FromGitter | <alehander42> ah numpy arrays have no , ? | 
| 14:16:59 | skrylar_ | i still read that as "numpy" and not "num PY"  | 
| 14:17:02 | * | leorize joined #nim | 
| 14:17:48 | skrylar_ | anyway. time to swan dive in to a stargate | 
| 14:17:51 | * | skrylar_ quit (Remote host closed the connection) | 
| 14:21:05 | FromGitter | <mratsim> Only int, string and bool for non nested: {'descr': '<i8', 'fortran_order': False, 'shape': (4,), } | 
| 14:21:34 | FromGitter | <mratsim> and there is this weird `(4,)`to describe the shape (I can modelize this as (4, JNull). | 
| 14:21:52 | FromGitter | <mratsim> for nested I don’t know, I’ll just treat it as unsupported. | 
| 14:22:57 | FromGitter | <mratsim> i.e. only simple Metadata are in a Python dictionary, but I need it to be able to parse the binary data. | 
| 14:23:25 | FromGitter | <mratsim> the <i8 vs >i8 means little-endian vs bigEndian. | 
| 14:23:51 | * | Vladar quit (Quit: Leaving) | 
| 14:24:08 | FromGitter | <mratsim> anyway, I’m off to write a lever. | 
| 14:24:38 | * | xkapastel joined #nim | 
| 14:28:29 | FromGitter | <alehander42> I have this horrible hack for you ⏎  ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5af1b40d03cafa797b3710c5] | 
| 14:28:49 | FromGitter | <alehander42> :D but it  misses a lot of edge cases ofc, a lexer is the correct thing to do | 
| 14:30:03 | * | xet7 quit (Read error: Connection timed out) | 
| 14:30:22 | FromGitter | <alehander42> actually a parser, but with a lexer you can emit a correct json string, and reuse a parser yeah | 
| 14:30:31 | * | xet7 joined #nim | 
| 14:30:45 | FromGitter | <data-man> @alehander42: use multiReplace :) | 
| 14:31:24 | FromGitter | <alehander42> yeah, nice ! (but still would be very buggy :D ) | 
| 14:39:55 | FromGitter | <Varriount> @mratsim If you know the input will be valid, you might be able to use a YAML parser. | 
| 14:40:16 | FromGitter | <Varriount> or a JSON parser. | 
| 14:40:42 | FromGitter | <mratsim> the input is almost valid JSON :P | 
| 14:41:00 | FromGitter | <Varriount> Which is why YAML might work | 
| 14:41:03 | FromGitter | <mratsim> but I think it’s a good opportunity to learn how to write a simple lexer so i’ll do that | 
| 14:41:25 | FromGitter | <Varriount> If you need help, Python's documentation has the EBNF of the language | 
| 14:45:35 | enthus1ast | mratsim have a look at parseutils and strscan | 
| 14:47:55 | * | xet7 quit (Read error: Connection timed out) | 
| 14:48:31 | * | xet7 joined #nim | 
| 14:50:04 | FromGitter | <mratsim> strscan is interesting thanks. | 
| 15:03:51 | * | PMunch quit (Quit: Leaving) | 
| 15:05:40 | * | xet7 quit (Read error: Connection timed out) | 
| 15:06:16 | * | xet7 joined #nim | 
| 15:10:22 | * | leru quit (Read error: Connection reset by peer) | 
| 15:11:59 | * | leorize quit (Quit: WeeChat 2.1) | 
| 15:13:05 | * | gokr joined #nim | 
| 15:25:17 | * | citycide joined #nim | 
| 15:25:44 | * | nsf quit (Quit: WeeChat 2.1) | 
| 15:27:57 | * | vegax87 quit (Changing host) | 
| 15:27:57 | * | vegax87 joined #nim | 
| 15:27:57 | * | vegax87 quit (Changing host) | 
| 15:27:57 | * | vegax87 joined #nim | 
| 15:34:57 | * | gokr quit (Ping timeout: 240 seconds) | 
| 15:39:19 | * | yglukhov joined #nim | 
| 15:40:23 | * | miran joined #nim | 
| 15:41:09 | * | yglukhov_ quit (Ping timeout: 264 seconds) | 
| 16:01:12 | * | yglukhov quit (Read error: Connection reset by peer) | 
| 16:01:49 | * | yglukhov joined #nim | 
| 16:02:16 | FromGitter | <Varriount> @mratsim Worst case, you could call python using the '-c' argument | 
| 16:04:14 | FromGitter | <mratsim> I’m trying to solve problems posed by Python, so if I can do without it, I will ;) | 
| 16:09:33 | * | jrbrt joined #nim | 
| 16:12:31 | citycide | what's the syntax for setting g++ path in nim.cfg? ie. the `amd64.windows.gcc.path` equivalent for g++ - trying to use mingw | 
| 16:14:23 | * | xet7 quit (Read error: Connection timed out) | 
| 16:15:02 | * | xet7 joined #nim | 
| 16:23:50 | FromDiscord | <awr> if i had to guess it would be `amd64.windows.gcc.cpp.path` | 
| 16:27:58 | citycide | @awr yep seems to be right, thanks | 
| 16:33:09 | * | xet7 quit (Read error: Connection timed out) | 
| 16:33:47 | * | xet7 joined #nim | 
| 16:34:05 | * | xkapastel quit (Quit: Connection closed for inactivity) | 
| 16:36:15 | FromGitter | <mratsim> I just use @if windows gcc.cpp.exe: “foo” https://github.com/mratsim/Arraymancer/blob/master/nim.cfg#L53 | 
| 16:36:40 | FromGitter | <mratsim> @citycide | 
| 16:38:18 | citycide | @mratsim I did see some of those out in the wild too, will probably use that in the future | 
| 16:40:49 | citycide | unfortunately it didn't help me get `nim-lang/ui` to compile due to the error I posted yesterday so I opened an issue over there | 
| 16:51:06 | * | sz0 joined #nim | 
| 16:51:09 | * | Trustable joined #nim | 
| 16:56:32 | * | xet7 quit (Read error: Connection timed out) | 
| 16:57:02 | * | xet7 joined #nim | 
| 17:00:33 | * | dddddd quit (Ping timeout: 256 seconds) | 
| 17:04:04 | * | xet7 quit (Max SendQ exceeded) | 
| 17:04:47 | * | xet7 joined #nim | 
| 17:06:15 | * | xet7 quit (Max SendQ exceeded) | 
| 17:06:42 | * | xet7 joined #nim | 
| 17:13:35 | * | dddddd joined #nim | 
| 17:34:34 | * | xet7 quit (Read error: Connection timed out) | 
| 17:35:02 | * | xet7 joined #nim | 
| 17:36:35 | * | yglukhov_ joined #nim | 
| 17:39:14 | * | yglukhov quit (Ping timeout: 246 seconds) | 
| 17:50:20 | * | Trustable quit (Remote host closed the connection) | 
| 17:50:48 | * | Hycryon quit (Remote host closed the connection) | 
| 18:00:49 | * | yglukhov joined #nim | 
| 18:00:50 | * | yglukhov_ quit (Read error: Connection reset by peer) | 
| 18:05:22 | * | xkapastel joined #nim | 
| 18:12:31 | FromDiscord | <deech> Hi all, a couple of noobie questions about  extern'ing Nim procs, (1) is there a way to generate a C header file with generated headers for the extern'ed functions and (2)  is there a recommended way to extern member functions? | 
| 18:13:22 | * | nsf joined #nim | 
| 18:18:51 | FromGitter | <mratsim> Is that a bug in the Json module? Array with nested object, are expecting array comma instead of object comma? https://github.com/nim-lang/Nim/blob/master/lib/pure/json.nim#L533-L534 | 
| 18:20:19 | FromGitter | <mratsim> @deech: https://nim-lang.org/docs/backends.html#backend-code-calling-nim-nim-invocation-example-from-c | 
| 18:22:06 | FromGitter | <deech> @mratsim That's great thanks! Any suggestions on my second question about exposing object functions? | 
| 18:24:44 | * | kier quit (Remote host closed the connection) | 
| 18:27:59 | FromGitter | <mratsim> I don’t think there is a recommended way. you can choose the exported name if needed: https://nim-lang.org/docs/manual.html#foreign-function-interface-exportc-pragma | 
| 18:28:00 | FromGitter | <mratsim> ideally I would add some extra formatter for generics so that it’s easy to append uint16, uint32, uint64 … but that can be done via a macro easily. | 
| 18:28:34 | * | vuLgAr quit (Ping timeout: 264 seconds) | 
| 18:29:45 | * | vuLgAr joined #nim | 
| 18:31:45 | FromGitter | <deech> Thanks@! | 
| 18:41:38 | * | jjido joined #nim | 
| 18:43:33 | * | Sembei quit (Read error: Connection reset by peer) | 
| 18:44:27 | * | Sembei joined #nim | 
| 18:48:16 | * | themagician joined #nim | 
| 18:51:19 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) | 
| 18:51:20 | * | themagician_w quit (Ping timeout: 268 seconds) | 
| 19:02:56 | * | CodeVance quit (Read error: Connection reset by peer) | 
| 19:03:21 | * | CodeVance joined #nim | 
| 19:07:55 | * | DarkArctic_ joined #nim | 
| 19:08:07 | * | DarkArctic quit (Read error: Connection reset by peer) | 
| 19:10:23 | * | DarkArctic__ joined #nim | 
| 19:13:57 | * | DarkArctic_ quit (Ping timeout: 240 seconds) | 
| 19:16:21 | * | xet7 quit (Quit: Leaving) | 
| 19:18:16 | * | jjido joined #nim | 
| 19:25:42 | * | endragor joined #nim | 
| 19:25:56 | * | ketralnis quit (Remote host closed the connection) | 
| 19:28:02 | * | gokr joined #nim | 
| 19:30:06 | * | endragor quit (Ping timeout: 250 seconds) | 
| 19:34:01 | shashlick | trying to get jekyll running on ubuntu for the website, it's asking for so many ruby packages | 
| 19:35:26 | shashlick | why isn't "apt install jekyll" enough | 
| 19:37:34 | * | jrbrt quit (Quit: jrbrt) | 
| 19:44:29 | * | athenot_ quit (Read error: Connection reset by peer) | 
| 19:44:34 | * | athenot joined #nim | 
| 19:47:50 | dom96 | shashlick: because Ruby | 
| 19:49:18 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) | 
| 20:10:43 | shashlick | dom96: are we okay with updating the windows ZIP with the latest finish.exe? that way we don't need to wait until the next release for installer improvements to be distributed | 
| 20:14:23 | * | nsf quit (Quit: WeeChat 2.1) | 
| 20:14:49 | * | xkapastel quit (Quit: Connection closed for inactivity) | 
| 20:15:42 | * | athenot_ joined #nim | 
| 20:17:05 | * | athenot quit (Ping timeout: 246 seconds) | 
| 20:19:56 | * | jjido joined #nim | 
| 20:28:53 | dom96 | shashlick: That's up to Araq | 
| 20:43:37 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) | 
| 20:56:18 | shashlick | can we close this? https://github.com/nim-lang/nim/issues/7747 | 
| 20:58:44 | * | miran quit (Ping timeout: 246 seconds) | 
| 20:59:33 | FromGitter | <data-man> @shashlick: done :) | 
| 21:02:46 | FromGitter | <data-man> Why didn't you close it yourself? | 
| 21:03:28 | shashlick | i was just asking on policy | 
| 21:13:57 | * | athenot_ quit (Remote host closed the connection) | 
| 21:18:53 | * | jrbrt joined #nim | 
| 21:24:30 | FromDiscord | <awr> @shashlick if you're just making a github pages site you don't necessarily need a local copy of jekyll | 
| 21:24:46 | FromDiscord | <awr> i mean it can be useful | 
| 21:26:55 | FromDiscord | <awr> but you can still just fork a jekyll template or whatever and push changes to the markdown and compare against the site if you're lazy | 
| 21:37:28 | CodeVance | Or not even push... Just edit on github inside the browser | 
| 21:39:26 | shashlick | true | 
| 21:39:46 | shashlick | i just want to make sure the nim website still looks how it should | 
| 21:43:03 | gokr | Anyone know... how am I supposed to use toHex in strutils (take a string, give a string)? | 
| 21:43:19 | gokr | Whatever I do I get "Error: type mismatch: got (string) but expected 'BiggestInt = int64'" | 
| 21:43:34 | gokr | It seems to select the generic variant of toHex | 
| 21:48:47 | dom96 | !eval import strutils; echo(toHex("hello")) | 
| 21:48:50 | NimBot | 68656C6C6F | 
| 21:49:20 | shashlick | just tried on #head, works for me too | 
| 21:49:53 | FromGitter | <data-man> And for me too | 
| 21:50:27 | * | gokr quit (Ping timeout: 240 seconds) | 
| 21:52:47 | * | gokr joined #nim | 
| 21:53:14 | shashlick | dom96: https://github.com/nim-lang/Nim/pull/7802 | 
| 21:55:28 | gokr | Hmmm, ok, perhaps I need to update nim | 
| 21:57:11 | shashlick | what commit hash are you on? | 
| 21:58:02 | gokr | I was on 0.17.3 - then I started a choosenim update and... my box went ... unresponsive so I had to reboot. | 
| 21:58:48 | * | themagician quit () | 
| 22:00:26 | shashlick | okay cause toHex() hasn't changed in 7 months per git blame  | 
| 22:06:09 | gokr | Well, now it works. When I upgraded. I suspect the proc selection has changed since then. | 
| 22:06:16 | gokr | (generics) | 
| 22:07:16 | FromGitter | <mratsim> by the way @gokr, your spry-lang domain expired | 
| 22:07:27 | gokr | Yeah, I know. | 
| 22:07:51 | gokr | I didn't renew because... they wanted such a hefty payment to just reactivate it. | 
| 22:08:15 | gokr | I was hoping it was going to be released but... they seem to clutch onto it | 
| 22:08:34 | CodeVance | What? | 
| 22:08:42 | CodeVance | Who owns the domain | 
| 22:08:44 | FromGitter | <mratsim> the example on the spry-lang page were better organized than on Github or on your blog. | 
| 22:08:53 | gokr | yeah. | 
| 22:09:18 | gokr | I missed the payment, so the registrar wanted... $60 or whatever it was - to reactivate it. | 
| 22:09:31 | gokr | And I got so pissed that I just ignored it. | 
| 22:10:03 | gokr | I haven't had time fiddling with Spry  | 
| 22:10:11 | CodeVance | Change domain on your github xD get a free domain | 
| 22:10:12 | gokr | Been busy building https://getcanoe.io | 
| 22:10:40 | gokr | Unfortunately no Nim in that, the server side was Nim but... I had to switch to nodejs. | 
| 22:11:12 | gokr | mratsim: Now I am for the moment playing with finding a really fast blake2b. | 
| 22:11:24 | CodeVance | True, but maybe you could provide analysis on *why* you had to switch | 
| 22:11:44 | gokr | It's old news, I was here talking about it at the time ;) | 
| 22:11:47 | FromGitter | <mratsim> I like that for once, the team has no CEO and people actually doing stuff :P | 
| 22:12:19 | gokr | It's not a company, although people seem to think so because we actually got a decent design for the site ;) | 
| 22:12:48 | gokr | It's one of the most popular wallets right now for Nano, so it's going well. About 4000 users, 2000 on mobile. | 
| 22:12:49 | CodeVance | Oh ive seen this before | 
| 22:13:12 | FromGitter | <mratsim> The green looks bad when f.lux reduces the blue light by the way ;) | 
| 22:13:23 | CodeVance | Lol | 
| 22:13:45 | gokr | CodeVance: But ... basically it was the MQTT library wrapper in Nim that ... wasn't that well implemented. | 
| 22:13:56 | FromGitter | <mratsim> it’s better when not deactivated yeah | 
| 22:14:36 | gokr | CodeVance: That kinda turned into a major PITA, so ... switched to nodejs and well, no matter what you say about the js crap world - it's fairly good at "making shit that works". | 
| 22:14:55 | CodeVance | Ya not arguing | 
| 22:15:00 | CodeVance | Cause facts | 
| 22:15:05 | FromGitter | <data-man> @gokr: blake2b in what language? | 
| 22:15:06 | gokr | Although now I am moving towards Dart actually. | 
| 22:15:20 | CodeVance | Still node though | 
| 22:15:20 | FromGitter | <mratsim> Getting thingd to production readyness is tough work, lots of building blocks and glue to create still. | 
| 22:15:22 | gokr | blake2b in whatever you can bring that is FAST AS A BAT OUT OF HELL. | 
| 22:15:49 | gokr | Which AFAICT is mainly the OpenCL implementations coupled with a FAT Nvidia card. | 
| 22:16:15 | gokr | Or AVX2 based code. | 
| 22:16:45 | gokr | But I just got curious and wanted to try the libsodium and the Nim native blake2b (which is ... ported from C I guess). | 
| 22:17:07 | gokr | So... in Nano blake2b is used to do Proof Of Work for transactions. | 
| 22:17:17 | FromGitter | <data-man> https://github.com/BLAKE2/libb2 and https://github.com/BLAKE2/BLAKE2 | 
| 22:17:38 | gokr | Currently our server at getcanoe.io performs this work for our users - but... the darn users are getting many so it's starting to choke on it. | 
| 22:18:09 | gokr | So we are throwing together a little "pow pool" thing, to offload the work into people's basements ;) | 
| 22:18:45 | CodeVance | Cant do the pow on the mobile? | 
| 22:18:56 | CodeVance | I know itscrazy | 
| 22:19:13 | gokr | Can, but... Canoe is a Cordova app - so... sure, a cordova plugin would be great to have. | 
| 22:19:29 | gokr | I tried with some wasm stuff, but... nah, didn't fly that well, especially not on iOS | 
| 22:19:49 | CodeVance | Whatever works | 
| 22:20:10 | gokr | data-man: Yeah, so... that looks like the original code from Samuel Neves - no AVX2 I think. | 
| 22:20:21 | * | jjido joined #nim | 
| 22:20:25 | gokr | Nim has a libsodium wrapper I am playing with now. | 
| 22:20:53 | dom96 | gokr: how have things with node been? :) | 
| 22:21:23 | gokr | Well, you know, nodejs is... what it is. ;) It has actually been rock stable and it works fine. | 
| 22:21:37 | FromGitter | <mratsim> until the next left pad ;) | 
| 22:21:58 | gokr | It has very good MQTT and Postgres and Redis support - which is basically what we use. | 
| 22:22:13 | dom96 | Your service hasn't crashed yet due to an 'undefined'? :) | 
| 22:22:19 | gokr | Of course, I can see me rewriting it in Dart just for the hell of it. | 
| 22:22:22 | * | yglukhov quit (Read error: Connection reset by peer) | 
| 22:22:35 | gokr | Nope, sorry, no crashes. ;) It's a small codebase. | 
| 22:22:57 | * | yglukhov joined #nim | 
| 22:23:05 | gokr | I like Nim a lot - but... you know, sometimes you hit a hard wall. | 
| 22:23:43 | gokr | The Nano core team writes the core Nano implementation in C++. I have now a good relation to several of them, including the creator Colin. | 
| 22:23:51 | dom96 | The issue describing the problems you ran into is still open sadly: https://github.com/nim-lang/Nim/issues/7134 | 
| 22:24:00 | gokr | But... I do know some of them are now pushing towards Rust. | 
| 22:24:33 | gokr | The code base of the node is... well, one of the guys that knows it quite well mentioned "semaphore hell". | 
| 22:25:11 | gokr | I would have pushed Nim ... but... I dunno what the concurrency story is these days. | 
| 22:25:28 | FromGitter | <mratsim> Rust is exchanging one set of problem for another. | 
| 22:25:44 | gokr | I know, I can imagine the codebase getting very complex under Rust. | 
| 22:25:51 | FromGitter | <mratsim> (arguably Nim is the same too) | 
| 22:26:13 | gokr | One guy is writing an alternate node in C + Lua. | 
| 22:26:50 | dom96 | might work | 
| 22:27:07 | dom96 | by 'nano' you mean the text editor, right? | 
| 22:27:34 | gokr | It's a fairly complex piece of machinery operating with UDP and tons of peers, LMDB and a slew of crypto. | 
| 22:27:45 | gokr | dom96: Hehe, no. | 
| 22:28:01 | gokr | https://coinmarketcap.com/currencies/nano/ | 
| 22:28:31 | gokr | It's IMHO the most promising crypto. Fast as hell, zero fees, no mining. | 
| 22:28:40 | FromGitter | <mratsim> Oh I thought it was for the Ledger Nano | 
| 22:28:40 | FromGitter | <data-man> @gokr: https://github.com/sneves/blake2-avx2 :) | 
| 22:29:04 | gokr | mratsim: We have on our todo for Canoe -  integrating with Ledger Nano S actually. | 
| 22:29:19 | gokr | Just have no manpower to grab that one. | 
| 22:29:50 | dom96 | Ahh, so many cryptocurrencies. If only I had the time... | 
| 22:29:53 | gokr | data-man: Yeah, that's basically the fastest I think, for regular CPU. | 
| 22:30:04 | dom96 | Right now I'm improving our forum | 
| 22:30:07 | gokr | dom96: Pick Nano. | 
| 22:30:32 | gokr | dom96: It's very refreshing since it's very no-nonsense and deeply development focused. Very good core team. | 
| 22:30:42 | CodeVance | Lol | 
| 22:30:45 | FromGitter | <mratsim> What? We will have crypto on the Nim forum? ;) | 
| 22:31:01 | dom96 | mratsim: gotta make money somehow :P | 
| 22:31:19 | gokr | CodeVance: Compared to other cryptos I mean. There is a LOT of... well, craziness. | 
| 22:31:27 | dom96 | gokr: But what about the memes? | 
| 22:31:32 | FromGitter | <mratsim> "Money is overrated” (Famous hermit words) | 
| 22:31:41 | gokr | dom96: What memes? | 
| 22:32:02 | dom96 | Cryptocurrency memes, they can make or break crypto :P | 
| 22:32:04 | CodeVance | Gokr i like crypto, but not the wastefullness of mining, so i already like nanoo | 
| 22:32:25 | CodeVance | Gokr, how you do pow in nano then? | 
| 22:32:27 | gokr | CodeVance: Yup. If you read up on Nano (called Raiblocks previously) - you realize it has most of the checkboxes. | 
| 22:33:05 | gokr | CodeVance: The PoW is just a counter measure for spam. So when you send a new block into the network - you need to accompany it with a "proof of work". | 
| 22:33:12 | CodeVance | Gokr, hes talking about dogecoin | 
| 22:33:23 | gokr | Which is a blake2b based hash of the previous block hash. | 
| 22:33:40 | CodeVance | What spam would there be? | 
| 22:34:04 | gokr | spam as in ... someone generating 1000s of itsy bitsy transactions - or ping pong between accounts. | 
| 22:34:16 | gokr | It needs to be costly. | 
| 22:34:32 | CodeVance | Ya, so limit transaction frequency | 
| 22:34:34 | gokr | This POW is done with a server in say 10-20 seconds. | 
| 22:34:42 | dom96 | gokr: btw, if Nano's core implementation is C++ then Nim would be a perfect way to slowly migrate to a new language. | 
| 22:34:48 | gokr | Or with a fat Nvidia you can do 1/sec | 
| 22:34:50 | dom96 | Nim's C++ support cannot be beat | 
| 22:34:56 | gokr | dom96: I know. | 
| 22:35:05 | gokr | Which is why you should join up. | 
| 22:35:24 | gokr | I am serious. | 
| 22:35:34 | CodeVance | So its expensive but not wasteful | 
| 22:35:47 | gokr | Yeah, I mean... it's nothing compared to mining. | 
| 22:35:56 | CodeVance | Or gaming | 
| 22:36:01 | gokr | Nano has no mining at all. | 
| 22:36:22 | gokr | It's actually a damn brilliant system. | 
| 22:36:40 | gokr | Each account has its own blockchain. Which is perfectly logical. | 
| 22:36:56 | FromGitter | <mratsim> @dom96 At Status we celebrated when we removed the C++ lib :D | 
| 22:37:08 | CodeVance | Wrap nim around it. Itd be interesting to see if nim could use nodejs backend for it | 
| 22:37:16 | dom96 | gokr: I'd love too. But Nim is my priority right now. | 
| 22:38:01 | gokr | CodeVance: Mmmm, not sure what you said there. | 
| 22:38:03 | CodeVance | I like nims development community. Each day something new in the issues and prs | 
| 22:38:04 | dom96 | Maybe Status would be interested in adopting Nano too :) | 
| 22:38:43 | gokr | The Nano network consists of "nodes". The only node (well, discounting experimentals) today is the official node written in C++. | 
| 22:39:02 | CodeVance | Gokr, nim can use nodejs as a backend, but im not familiar with it | 
| 22:39:02 | dom96 | mratsim: nice :D | 
| 22:39:05 | FromGitter | <mratsim> Maybe, but we have like 20 open positions because too much work already >_> | 
| 22:39:22 | gokr | CodeVance: Oh, you meant to compile to js. Sure, I know. | 
| 22:39:39 | gokr | But in this case - it's just our thin backend for the Canoe wallet that's written in Nodejs. | 
| 22:39:49 | gokr | The Nano network is C++. | 
| 22:40:22 | dom96 | mratsim: wow | 
| 22:41:45 | * | Sembei quit (Ping timeout: 264 seconds) | 
| 22:41:49 | FromGitter | <mratsim> (not on Nim yet but still: https://status.im/open-positions.html) | 
| 22:42:08 | CodeVance | Status is made with nim? Mratsim | 
| 22:42:23 | FromGitter | <mratsim> The future one will be | 
| 22:42:30 | FromGitter | <mratsim> the current is Go | 
| 22:42:43 | CodeVance | Interesting | 
| 22:42:45 | FromGitter | <mratsim> assuming our research is successful | 
| 22:43:08 | gokr | mratsim: Awesome :) | 
| 22:43:08 | FromGitter | <mratsim> The plan is detailed here: https://github.com/status-im/nimbus | 
| 22:43:29 | gokr | Well, when Nano comes breathing down your neck - contact me ;) | 
| 22:43:31 | FromGitter | <mratsim> Basically the UI is in Clojurescript, and the backend is Go at the moment. | 
| 22:43:59 | gokr | Though Nano is purely for payments. | 
| 22:44:22 | CodeVance | Gokr +1 | 
| 22:44:52 | FromGitter | <mratsim> It’s more like, when you’re tired of working in Node or Rust, ping me ;) | 
| 22:45:16 | gokr | Haha! Yeah, well... I actually signed employment with another company... yesterday | 
| 22:45:27 | gokr | Canoe is just night hacking so far. | 
| 22:45:28 | CodeVance | Noooo | 
| 22:45:41 | CodeVance | Your going to do rust? | 
| 22:45:46 | gokr | Nope, hell no | 
| 22:45:48 | FromGitter | <mratsim> Night hacking can go pretty far. | 
| 22:46:05 | gokr | Yeah, and... Canoe has already made it quite far, it's fun. | 
| 22:46:28 | CodeVance | Howd you get the website?? | 
| 22:46:36 | gokr | getcanoe.io? | 
| 22:46:36 | FromGitter | <mratsim> I’ve been hacking for 1 year and 15 days on Arraymancer, and I can now do FizzBuzz. Milestone checked :D. | 
| 22:46:50 | CodeVance | The websites design | 
| 22:47:08 | gokr | It was a guy in the community - Mike - he is good at that kind of thing. | 
| 22:47:34 | FromGitter | <mratsim> @CodeVance, if you just want landing pages there are plenty, one of the easiest is this: https://kickofflabs.com/ | 
| 22:47:45 | gokr | It's ... very interesting. These crypto projects have a completely different ... mix of people. | 
| 22:47:55 | FromGitter | <mratsim> or https://unbounce.com/ | 
| 22:48:18 | gokr | There are for example TONS of non developers. And a whole slew of sharp designers that make mockups and slick looking designs. | 
| 22:48:25 | gokr | And... kinda few devs. | 
| 22:49:50 | CodeVance | Ya | 
| 22:50:28 | CodeVance | Its not just a technical change its a cultural one... Something all projects need to take into account | 
| 22:53:29 | * | CodeVance quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) | 
| 23:02:58 | * | CodeVance joined #nim | 
| 23:07:30 | * | yglukhov quit (Ping timeout: 256 seconds) | 
| 23:15:54 | gokr | dom96: Familiar? /home/gokr/.nimble/pkgs/jester-0.2.0/jester/private/utils.nim(68, 15) Error: undeclared field: 'toLower' | 
| 23:16:08 | dom96 | gokr: Update your jester | 
| 23:16:17 | dom96 | nimble install jester@#head | 
| 23:16:57 | * | xkapastel joined #nim | 
| 23:17:51 | FromGitter | <mratsim> jester has been eaten by a beast by the way | 
| 23:21:18 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) | 
| 23:24:39 | dom96 | oh? :) | 
| 23:50:42 | FromGitter | <zacharycarter> @xmonader - sorry I've been dealing with some personal stuff - the Nim playground in its present forms requires some manual setup on the host - so it's not exactly a plug and play deal - I hope to improve this with the next release, I just haven't had a ton of time for Nim programming the past few weeks / months really. | 
| 23:51:57 | CodeVance | I've noticed ...  | 
| 23:52:02 | CodeVance | Been bust? | 
| 23:52:05 | CodeVance | busy* | 
| 23:52:30 | FromGitter | <zacharycarter> well - I very nearly got myself fired from my job - but I think I managed to just get the sabbatical I was looking for | 
| 23:52:55 | CodeVance | I think the gitter irc bridge for gitter twitch is broken :| | 
| 23:53:36 | * | CodeVance left #nim ("Leaving") | 
| 23:56:24 | * | leorize joined #nim |