<< 05-01-2017 >>

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:42dom96cheatfate: your nickname has been changed, and the forum should be faster now
11:19:17*bjz joined #nim
11:22:45cheatfatedom96, 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:33ArrrrReally fast, what changed to be faster now?
12:07:40dom96Araq optimised the database
12:07:47dom96https://github.com/nim-lang/nimforum/commit/e65168db55a91874abecefc5abb76aaa4a68e365
12:17:17ArrrrIt 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:31hohlerde"faster" is an underestimation
14:54:42tstmYeah, 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:36Araqfederico3: what would you use instead?
15:37:20*gangstacat joined #nim
15:39:03federico3Araq: it really depends on the use-case. Are you talking about the forum or in general?
15:39:13Araqthe forum.
15:39:15*Matthias247 quit (Read error: Connection reset by peer)
15:42:36federico3I 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:28Araqeven the "really put this dat on hard disk, it's crucial" step is non trivial.
15:48:21Araq*data
15:48:23euantorif you want to keep it in memory, you might as well choose something purpose written to be fault tolerant such as redis
15:48:41euantorbut a DB is a better choice for forum data in my opinion
15:48:51federico3Araq: you mean doing sync() reliably?
15:48:56Araqyes.
15:49:17Araqsqlite's implementation for this is not trivial iirc
15:49:47federico3and along that line, the idea that memory is "volatile" and data on disk is "persistent" is an oversemplification
15:50:18Araqnot too mention that the serialization format will likely be json or worse.
15:52:10*yglukhov joined #nim
15:53:38federico3euantor: we are talking single-host here :)
15:55:38euantorfederico3: 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:17euantorAnd 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:14SalewskiAraq, 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:19Salewskiif isFilled(t.data[h].hcode): yield (t.data[h].key, t.data[h].val)
16:08:33SalewskiIs that for performance reasons?
16:08:52Araqnah, I'm still learning Nim.
16:10:09SalewskiSo you suggest that I shall define [] for my robin hood hash, for internal use also? No performance decrease for inline proc?
16:10:58Araqthese days I might write something like template `!`*(field: untyped): untyped {.dirty.} = t.data[h].field
16:11:18Araqif isFilled(!hcode): yield (!key, !val)
16:12:14SalewskiAnd you used template maxHash(t): untyped = high(t.data)
16:12:28Araqthat's for a different reason.
16:12:29SalewskiWould we use a inline proc for that now?
16:14:14Araqmy rule of thumb is: internal use, use a template, external use, use a proc.
16:15:54Araqand often you can shorten the code further with templates like I tried to show you with my '!' example
16:16:13SalewskiThat 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:08SalewskiFor me templates looks a bit unsecure like C macros still...
16:17:35*yglukhov joined #nim
16:18:36SalewskiBye -- 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:30SalewskiI 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:49Araqoh yeah, wanted to reply
16:34:09SalewskiWould be fine, thanks.
16:34:28Araqin a nutshell, don't use .header and the LLVM backend works with it
16:34:55Araqinstead of .importc, header ensure the data layouts actually match
16:35:22Araqand for procs, use importc, but not .nodecl and not .header
16:37:21SalewskiOK, 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:00dom96Nimble 0.8.0 is out https://github.com/nim-lang/nimble/blob/master/changelog.markdown#080---05012017
21:33:57FromGitter<martinium> @dom96 Good work
21:35:31dom96thanks :)
21:36:13FromGitter<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:19euantorNice 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:48def-pri-pubHow does one update nimble?
22:49:56euantorI think you can do it via nimble? `nimble update nimble` might do the trick?
22:50:56dom96unfortunately it may not be so easy
22:51:17dom96it depends how you installed Nimble and what version of Nim you have
22:51:34euantorNope, didn't work for me, but I'm not sure I have the nimble bin directory in my path
22:51:35dom96also, it would be `nimble install nimble`
22:51:46euantorYeah, I just ran that myself
22:55:30def-pri-pubI installed nimble from the Nim git repo
23:00:10*07EAAAAGG quit (Quit: -)
23:09:23*confundus joined #nim
23:12:37dom96What 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:12dom96I guess docopt it is
23:19:50*pregressive quit (Ping timeout: 248 seconds)
23:20:24*confundus quit (Quit: leaving)
23:34:00Araqparseopt, the one and only
23:34:54Araqthe 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