| 00:02:30 | * | gokr quit (Ping timeout: 248 seconds) |
| 00:11:06 | * | nsf quit (Quit: WeeChat 1.6) |
| 00:25:34 | * | chemist69 quit (Ping timeout: 258 seconds) |
| 00:28:03 | * | chemist69 joined #nim |
| 00:32:21 | * | devted quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 00:46:56 | * | vlad1777d quit (Quit: Leaving) |
| 01:19:20 | * | yglukhov joined #nim |
| 01:23:31 | * | yglukhov quit (Ping timeout: 245 seconds) |
| 01:32:05 | * | def-pri-pub quit (Read error: Connection reset by peer) |
| 01:36:45 | * | def-pri-pub joined #nim |
| 02:05:14 | * | ftsf quit (Ping timeout: 258 seconds) |
| 02:05:31 | * | ftsf joined #nim |
| 02:11:01 | * | chemist69 quit (Ping timeout: 245 seconds) |
| 02:16:40 | * | brson quit (Quit: leaving) |
| 02:22:35 | * | devted joined #nim |
| 02:31:36 | * | chemist69 joined #nim |
| 03:05:24 | * | ludocode quit (*.net *.split) |
| 03:05:24 | * | CcxWrk quit (*.net *.split) |
| 03:05:24 | * | JStoker quit (*.net *.split) |
| 03:05:25 | * | RushPL quit (*.net *.split) |
| 03:05:25 | * | jonafato- quit (*.net *.split) |
| 03:05:25 | * | Amrykid quit (*.net *.split) |
| 03:05:32 | * | jonafato joined #nim |
| 03:05:37 | * | ludocode joined #nim |
| 03:05:46 | * | Amrykid joined #nim |
| 03:06:01 | * | JStoker joined #nim |
| 03:06:03 | * | JStoker quit (Changing host) |
| 03:06:03 | * | JStoker joined #nim |
| 03:07:30 | * | CcxWrk joined #nim |
| 03:21:06 | * | yglukhov joined #nim |
| 03:26:00 | * | yglukhov quit (Ping timeout: 272 seconds) |
| 03:30:00 | * | vasher_ quit (Quit: Connection closed for inactivity) |
| 03:57:02 | * | pafmaf quit (Ping timeout: 264 seconds) |
| 03:57:23 | * | pafmaf joined #nim |
| 04:04:14 | * | pafmaf quit (Ping timeout: 264 seconds) |
| 04:05:23 | * | pafmaf joined #nim |
| 04:13:50 | * | pafmaf quit (Ping timeout: 264 seconds) |
| 04:14:23 | * | pafmaf joined #nim |
| 04:41:30 | * | devted quit (Quit: Sleeping.) |
| 05:22:59 | * | yglukhov joined #nim |
| 05:27:32 | * | yglukhov quit (Ping timeout: 255 seconds) |
| 05:28:56 | * | space-wizard quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 05:33:07 | * | def-pri-pub quit (Quit: leaving) |
| 05:38:13 | * | krux02 quit (Remote host closed the connection) |
| 06:13:35 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
| 06:15:22 | * | NimBot joined #nim |
| 06:16:03 | * | NimBot joined #nim |
| 06:16:18 | * | NimBot joined #nim |
| 06:21:53 | * | nsf joined #nim |
| 06:25:16 | * | bjz joined #nim |
| 06:38:40 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 06:42:16 | * | chemist69 quit (Ping timeout: 245 seconds) |
| 06:44:54 | * | chemist69 joined #nim |
| 07:11:55 | * | bjz joined #nim |
| 07:12:48 | * | yglukhov joined #nim |
| 07:15:47 | * | ftsf quit (Quit: :q!) |
| 07:17:11 | * | yglukhov quit (Ping timeout: 246 seconds) |
| 07:41:10 | * | rokups joined #nim |
| 07:44:00 | * | Vladar joined #nim |
| 08:25:20 | * | Andris_zbx joined #nim |
| 08:25:25 | * | jinshil quit (Quit: Good-bye!) |
| 08:29:08 | * | yglukhov joined #nim |
| 08:29:08 | * | yglukhov quit (Remote host closed the connection) |
| 08:31:10 | * | yglukhov joined #nim |
| 08:54:37 | * | odc joined #nim |
| 09:03:48 | * | vlad1777d joined #nim |
| 09:44:17 | * | chemist69 quit (Quit: WeeChat 1.6) |
| 09:44:38 | * | chemist69 joined #nim |
| 09:45:39 | * | chemist69 quit (Client Quit) |
| 09:45:57 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 09:46:44 | * | subsetpark quit (Quit: Connection closed for inactivity) |
| 09:53:26 | * | chemist69 joined #nim |
| 09:57:19 | * | mjanssen joined #nim |
| 10:30:46 | * | subsetpark joined #nim |
| 10:52:42 | * | jinshil joined #nim |
| 11:02:11 | * | bjz joined #nim |
| 11:09:06 | * | Arrrr joined #nim |
| 11:10:42 | * | arnetheduck quit (Remote host closed the connection) |
| 11:11:39 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 11:13:42 | * | gokr joined #nim |
| 11:17:42 | dom96 | cheatfate: your nickname has been changed, and the forum should be faster now |
| 11:19:17 | * | bjz joined #nim |
| 11:22:45 | cheatfate | dom96, thanks |
| 11:55:47 | * | bodie_ quit (*.net *.split) |
| 11:55:48 | * | beatmox quit (*.net *.split) |
| 11:55:48 | * | dom96 quit (*.net *.split) |
| 11:55:48 | * | ldlework quit (*.net *.split) |
| 11:55:54 | * | ldleworker joined #nim |
| 11:56:08 | * | beatmox joined #nim |
| 11:56:59 | * | bodie_ joined #nim |
| 11:57:14 | * | dom96 joined #nim |
| 12:04:43 | * | Snircle joined #nim |
| 12:06:33 | Arrrr | Really fast, what changed to be faster now? |
| 12:07:40 | dom96 | Araq optimised the database |
| 12:07:47 | dom96 | https://github.com/nim-lang/nimforum/commit/e65168db55a91874abecefc5abb76aaa4a68e365 |
| 12:17:17 | Arrrr | It pays off |
| 12:30:25 | * | bjz_ joined #nim |
| 12:31:27 | * | bjz quit (Ping timeout: 256 seconds) |
| 12:34:27 | * | corecode_ is now known as corecode |
| 13:29:47 | * | Arrrr quit (Quit: WeeChat 1.5) |
| 14:00:49 | * | bjz_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 14:04:58 | * | jinshil quit (Quit: client terminated!) |
| 14:27:31 | hohlerde | "faster" is an underestimation |
| 14:54:42 | tstm | Yeah, database indices are a thing. |
| 15:06:31 | * | yglukhov_ joined #nim |
| 15:08:00 | * | devted joined #nim |
| 15:09:32 | * | yglukhov quit (Ping timeout: 256 seconds) |
| 15:10:46 | * | yglukhov_ quit (Ping timeout: 248 seconds) |
| 15:13:27 | * | Matthias247 joined #nim |
| 15:20:32 | * | NimBot joined #nim |
| 15:22:54 | * | yglukhov quit (Ping timeout: 258 seconds) |
| 15:24:41 | * | flyx quit (Excess Flood) |
| 15:25:12 | * | flyx|znc joined #nim |
| 15:25:30 | * | flyx|znc is now known as flyx |
| 15:28:32 | * | krux02 quit (Quit: Leaving) |
| 15:31:06 | * | gangstacat_ quit (Quit: Ĝis) |
| 15:35:36 | Araq | federico3: what would you use instead? |
| 15:37:20 | * | gangstacat joined #nim |
| 15:39:03 | federico3 | Araq: it really depends on the use-case. Are you talking about the forum or in general? |
| 15:39:13 | Araq | the forum. |
| 15:39:15 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 15:42:36 | federico3 | I don't have metrics from the forum at hand, but often for a simple single-host, single-threaded application with a very small dataset and a simple access pattern (i.e. 99% of the queries are listing contents by thread/page) one option is to keep the dataset in memory serialize it atomically to disk when there's a change |
| 15:47:28 | Araq | even the "really put this dat on hard disk, it's crucial" step is non trivial. |
| 15:48:21 | Araq | *data |
| 15:48:23 | euantor | if you want to keep it in memory, you might as well choose something purpose written to be fault tolerant such as redis |
| 15:48:41 | euantor | but a DB is a better choice for forum data in my opinion |
| 15:48:51 | federico3 | Araq: you mean doing sync() reliably? |
| 15:48:56 | Araq | yes. |
| 15:49:17 | Araq | sqlite's implementation for this is not trivial iirc |
| 15:49:47 | federico3 | and along that line, the idea that memory is "volatile" and data on disk is "persistent" is an oversemplification |
| 15:50:18 | Araq | not too mention that the serialization format will likely be json or worse. |
| 15:52:10 | * | yglukhov joined #nim |
| 15:53:38 | federico3 | euantor: we are talking single-host here :) |
| 15:55:38 | euantor | federico3: For now we are - Nim might have millions of users this time next year ;) |
| 15:56:13 | * | yglukhov quit (Ping timeout: 240 seconds) |
| 15:56:17 | euantor | And then you don't want to be running a forum for all of those on one host with a hand rolled in memory store with very little testing |
| 16:02:31 | * | yglukhov joined #nim |
| 16:02:37 | * | couven92 joined #nim |
| 16:05:58 | * | Salewski joined #nim |
| 16:08:14 | Salewski | Araq, inside module tables.nim you do not define your own index operator [] for the table, but you write hundreds of times somethink like |
| 16:08:19 | Salewski | if isFilled(t.data[h].hcode): yield (t.data[h].key, t.data[h].val) |
| 16:08:33 | Salewski | Is that for performance reasons? |
| 16:08:52 | Araq | nah, I'm still learning Nim. |
| 16:10:09 | Salewski | So you suggest that I shall define [] for my robin hood hash, for internal use also? No performance decrease for inline proc? |
| 16:10:58 | Araq | these days I might write something like template `!`*(field: untyped): untyped {.dirty.} = t.data[h].field |
| 16:11:18 | Araq | if isFilled(!hcode): yield (!key, !val) |
| 16:12:14 | Salewski | And you used template maxHash(t): untyped = high(t.data) |
| 16:12:28 | Araq | that's for a different reason. |
| 16:12:29 | Salewski | Would we use a inline proc for that now? |
| 16:14:14 | Araq | my rule of thumb is: internal use, use a template, external use, use a proc. |
| 16:15:54 | Araq | and often you can shorten the code further with templates like I tried to show you with my '!' example |
| 16:16:13 | Salewski | That is a bit different from stated elsewhere -- I think in manual we have: use proc when possible, then template, and finally macro |
| 16:17:02 | * | yglukhov quit (Remote host closed the connection) |
| 16:17:08 | Salewski | For me templates looks a bit unsecure like C macros still... |
| 16:17:35 | * | yglukhov joined #nim |
| 16:18:36 | Salewski | Bye -- will try to understand your template example from above, thanks. |
| 16:21:53 | * | yglukhov quit (Ping timeout: 240 seconds) |
| 16:22:36 | * | couven92 quit (Quit: Client disconnecting) |
| 16:30:06 | * | arnetheduck joined #nim |
| 16:33:30 | Salewski | I still would need a hint for the xxhash: http://forum.nim-lang.org/t/2695 # should I try to avoid using the header pragma, because it would not work with LLVM? |
| 16:33:49 | Araq | oh yeah, wanted to reply |
| 16:34:09 | Salewski | Would be fine, thanks. |
| 16:34:28 | Araq | in a nutshell, don't use .header and the LLVM backend works with it |
| 16:34:55 | Araq | instead of .importc, header ensure the data layouts actually match |
| 16:35:22 | Araq | and for procs, use importc, but not .nodecl and not .header |
| 16:37:21 | Salewski | OK, bye. |
| 16:37:24 | * | Salewski left #nim (#nim) |
| 16:44:09 | * | odc quit () |
| 17:07:17 | * | couven92 joined #nim |
| 17:11:40 | * | space-wizard joined #nim |
| 17:20:35 | * | devted quit (Read error: Connection reset by peer) |
| 17:35:15 | * | pregressive joined #nim |
| 17:48:34 | * | devted joined #nim |
| 18:16:44 | * | def-pri-pub joined #nim |
| 18:23:38 | * | brson joined #nim |
| 18:25:35 | * | Andris_zbx quit (Remote host closed the connection) |
| 18:58:54 | * | byte512 quit (Ping timeout: 272 seconds) |
| 18:59:00 | * | LiberalSquash joined #nim |
| 18:59:04 | * | LiberalSquash left #nim (#nim) |
| 19:18:54 | * | yglukhov joined #nim |
| 19:24:34 | * | yglukhov quit (Remote host closed the connection) |
| 19:34:47 | * | dddddd joined #nim |
| 19:37:13 | * | yglukhov joined #nim |
| 19:40:21 | * | vasher_ joined #nim |
| 19:45:20 | * | Trustable joined #nim |
| 19:53:46 | * | yglukhov quit (Remote host closed the connection) |
| 19:54:33 | * | yglukhov joined #nim |
| 20:01:08 | * | Jesin quit (Quit: Leaving) |
| 20:02:30 | * | brson quit (Ping timeout: 256 seconds) |
| 20:07:32 | * | vlad1777d quit (Quit: Leaving) |
| 20:10:37 | * | Vladar quit (Quit: Leaving) |
| 20:11:04 | * | Gilga joined #nim |
| 20:39:01 | * | Jesin joined #nim |
| 20:41:36 | * | Mat4 joined #nim |
| 20:50:06 | * | yglukhov quit (Remote host closed the connection) |
| 20:51:04 | * | bjz_ joined #nim |
| 20:56:36 | * | Trustable quit (Remote host closed the connection) |
| 20:56:45 | * | subsetpark quit (Quit: Connection closed for inactivity) |
| 21:01:32 | * | brson joined #nim |
| 21:02:01 | * | rokups quit (Quit: Connection closed for inactivity) |
| 21:03:00 | * | yglukhov joined #nim |
| 21:04:51 | * | couven92 quit (Quit: Client disconnecting) |
| 21:07:13 | * | yglukhov quit (Ping timeout: 240 seconds) |
| 21:24:15 | * | yglukhov joined #nim |
| 21:25:14 | * | Gilga quit (Ping timeout: 246 seconds) |
| 21:28:55 | * | bjz_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 21:31:22 | * | Mat4 left #nim ("Leaving") |
| 21:33:00 | dom96 | Nimble 0.8.0 is out https://github.com/nim-lang/nimble/blob/master/changelog.markdown#080---05012017 |
| 21:33:57 | FromGitter | <martinium> @dom96 Good work |
| 21:35:31 | dom96 | thanks :) |
| 21:36:13 | FromGitter | <rivasiv> congratulations :) |
| 21:54:11 | * | Matthias247 joined #nim |
| 21:59:06 | * | MajorKong joined #nim |
| 21:59:33 | * | MajorKong left #nim ("WeeChat 1.6") |
| 22:05:19 | euantor | Nice one :) |
| 22:18:47 | * | gokr quit (Ping timeout: 246 seconds) |
| 22:19:27 | * | bjz joined #nim |
| 22:20:24 | * | bjz quit (Client Quit) |
| 22:43:48 | def-pri-pub | How does one update nimble? |
| 22:49:56 | euantor | I think you can do it via nimble? `nimble update nimble` might do the trick? |
| 22:50:56 | dom96 | unfortunately it may not be so easy |
| 22:51:17 | dom96 | it depends how you installed Nimble and what version of Nim you have |
| 22:51:34 | euantor | Nope, didn't work for me, but I'm not sure I have the nimble bin directory in my path |
| 22:51:35 | dom96 | also, it would be `nimble install nimble` |
| 22:51:46 | euantor | Yeah, I just ran that myself |
| 22:55:30 | def-pri-pub | I installed nimble from the Nim git repo |
| 23:00:10 | * | 07EAAAAGG quit (Quit: -) |
| 23:09:23 | * | confundus joined #nim |
| 23:12:37 | dom96 | What library do you guys recommend for cmd line parsing? |
| 23:14:34 | * | pregressive quit (Remote host closed the connection) |
| 23:15:10 | * | pregressive joined #nim |
| 23:17:12 | dom96 | I guess docopt it is |
| 23:19:50 | * | pregressive quit (Ping timeout: 248 seconds) |
| 23:20:24 | * | confundus quit (Quit: leaving) |
| 23:34:00 | Araq | parseopt, the one and only |
| 23:34:54 | Araq | the only library that understood you don't need much when you have a string case statement in the language :P |
| 23:35:37 | * | yglukhov quit (Remote host closed the connection) |
| 23:39:01 | * | devted quit (Ping timeout: 248 seconds) |
| 23:41:49 | * | nsf quit (Quit: WeeChat 1.6) |
| 23:44:17 | * | jinshil joined #nim |