<< 23-05-2018 >>

00:04:09FromGitter<data-man> @Aearnus: Is nodejs supports file IO?
00:06:00*cavariux joined #nim
00:06:55*zszf6cefj5iz quit (Ping timeout: 245 seconds)
00:07:47*JStoker quit (Ping timeout: 255 seconds)
00:08:42dom96Aernus: I think you should just put the whole function in a `when not defined(js)`
00:09:17FromDiscord<Aearnus> data-man: readFile and writeFile aren't defined for JS so it seems that nim has already taken a stance that js != node
00:10:24FromDiscord<Aearnus> dom96: it's used throughout the PEG file for (optional, user triggered) logging
00:10:27*cavariux quit (Ping timeout: 240 seconds)
00:10:58FromDiscord<Aearnus> so not defining the function will mean that every time the function was called i'd have to surround it with a when block
00:11:02*JStoker joined #nim
00:11:47FromDiscord<Aearnus> which is... never, actually
00:12:14FromDiscord<Aearnus> so yeah i'll do that ahaha
00:13:18FromDiscord<citycide> @Aearnus rubber duck development at its finest right there
00:13:34FromDiscord<Aearnus> I just never bothered to ctrl-f ¯\_(ツ)_/¯
00:14:54FromDiscord<Aearnus> updatd
00:16:01FromDiscord<citycide> Araq: re: the whole os.pathMatches you may have seen since data-man linked it in the issue but I published `glob` on nimble already. it parses glob syntax independently of OS so even on windows it should support all the fun stuff
00:21:24*xkapastel quit (Quit: Connection closed for inactivity)
00:39:16*zszf6cefj5iz joined #nim
00:45:37*zszf6cefj5iz quit (Ping timeout: 245 seconds)
00:48:15skrylarhmm. seems you have to install the openblas-lapack from AUR; just using openblas/cblas/lapack from pacman doesn't work
00:48:32FromDiscord<citycide> why doesn't `proc fn [T: string | openArray[string]] (arr: T) =` work? it doesn't accept a `seq` or an array, only strings. if I use `string | seq[string]`
00:48:51FromDiscord<citycide> .. it accepts string or `seq` but not array
00:57:47*zszf6cefj5iz joined #nim
01:47:13FromGitter<data-man> @citycide: ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ Works for me on devel. [https://gitter.im/nim-lang/Nim?at=5b04c821ee623e2e41f68858]
02:04:40FromGitter<gogolxdong> Why don't you use `fn(arr:varargs[string])` instead ?
02:06:29FromGitter<data-man> ```varargs``` is variable number of arguments to a procedure.
02:08:49FromGitter<gogolxdong> What's the difference?
02:09:16FromGitter<gogolxdong> It serves as in your context.
02:09:35FromGitter<data-man> No.
02:12:26FromGitter<gogolxdong> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b04ce0a556e4c40fb62b8b0]
02:13:48FromGitter<gogolxdong> It works the same as the generics.
02:16:15FromDiscord<citycide> the difference is that `varargs` would make the proc variadic
02:17:38FromGitter<gogolxdong> generic makes the proc longer.
02:32:08FromDiscord<citycide> what does 'making a proc longer' mean?
02:38:39*rauss quit (Read error: Connection reset by peer)
02:40:59*rauss joined #nim
02:54:08*tefter joined #nim
02:55:58skrylargenerics do tend to take up more space on compiled outputs
02:58:38skrylarfor instance if you have a pointer, then two different distinct pointers, you can end up with three copies of the same function
02:58:57skrylareven though they all are really just pushing pointers. (although you can de-duplicate some of those, i have no idea if nim *does*)
03:04:04*SenasOzys quit (Ping timeout: 252 seconds)
03:23:14*endragor joined #nim
03:27:29*endragor quit (Ping timeout: 248 seconds)
03:30:57*max3 joined #nim
03:37:14*endragor joined #nim
04:49:07*xkapastel joined #nim
05:18:12*ftsf joined #nim
05:21:02*dddddd quit (Remote host closed the connection)
05:26:32*nsf joined #nim
05:28:57FromDiscord<Aearnus> hey, could I get some help debugging this PEG? https://github.com/TristanBomb/chemical-capitalism/blob/master/nim/src/chemical_capitalismpkg/chemical.nim#L109
05:29:18FromDiscord<Aearnus> it's telling me `pattern(1, 1) Error: invalid token [EInvalidPeg]`
05:52:36FromDiscord<Aearnus> so apparently it works with the C backend
05:52:46FromDiscord<Aearnus> and now I'm very confused
05:54:19FromGitter<Varriount> It doesn't work with the JS backend?
05:55:28FromDiscord<Aearnus> nope
05:55:50FromDiscord<Aearnus> (well, it's broken with the C backend, but I'm _pretty_ sure it's just because it's not correctly written. at least it compiles and runs)
05:55:58FromDiscord<Aearnus> the JS version just doesn't run
05:56:25FromDiscord<Aearnus> with this error https://hastebin.com/raw/niyuqugisu
05:57:09FromDiscord<Aearnus> I changed it to `let pegGrammar = peg"""num <- '3'"""` and it's still doing that
05:57:38FromGitter<Varriount> Aearnus: ^
05:57:51FromDiscord<Aearnus> ?
05:59:14FromGitter<Aearnus> i'm here now btw. but i'm going to go in and look at what it claims the error is being thrown from
06:01:41FromGitter<Aearnus> y'know, even worse, when I compile it with the C backend, this is what I get when I print matches: https://hastebin.com/raw/lepoboguca
06:01:48FromGitter<Aearnus> just a whole list o' nils
06:17:48FromGitter<Varriount> @Aearnus Are you using the latest commit of the compiler? I know that Araq was working on representing 0-length strings as nils
06:18:07FromGitter<Aearnus> I was actually just working on that
06:18:18FromGitter<Aearnus> using the latest commit, it's the exact same on the C side
06:18:44FromGitter<Aearnus> now it's a different error in JS though
06:18:45FromGitter<Aearnus> Error: Error: unhandled exception: index out of bounds [IndexError] ⏎ Traceback (most recent call last) ⏎ chemical.stringToChemical, line: 109 ⏎ pegs.peg, line: 1703 ⏎ pegs.parsePeg, line: 1696 ... [https://gitter.im/nim-lang/Nim?at=5b0507c56309af743d07f6bd]
06:18:51FromGitter<Aearnus> (oops, sorry IRC)
06:24:15FromGitter<Aearnus> looks like it's not detecting the end of input and trying to parse past it
06:25:57FromGitter<Aearnus> manually appending a `\0` to the end of the grammar in the compiled JS fixes it
06:26:08FromGitter<Varriount> Hm.
06:26:10FromGitter<Aearnus> ... where would I even start looking to fix that bug?
06:26:41FromGitter<Varriount> Well, I would first find out what is different between JS and C, that this bug only happens on one platform
06:27:02FromGitter<Varriount> As soon as the bootstrap process finishes upgrading my compiler, I will help
06:27:18FromGitter<Aearnus> alright, thanks
06:27:39FromGitter<Aearnus> it would be in the `makeNimstrLit` function in JS -- but there seems like there's nothing wrong with it
06:28:29*leorize joined #nim
06:31:32FromGitter<Varriount> Hm, perhaps. I wonder how that function handles newlines from multi-line strings
06:33:17FromGitter<Varriount> @Aearnus I'm looking at https://github.com/nim-lang/Nim/blob/master/lib/pure/pegs.nim#L1116 . Isn't that procedure incorrect? If "pos" is the last index in L.buf, then the check for a "\L" will be out of bounds.
06:34:17FromGitter<Aearnus> that's not where the OOB error occurs
06:34:52FromGitter<Aearnus> but maybe -- let me see if it changes when I add a trailing newline
06:34:55FromGitter<Aearnus> just out of curiosity
06:35:06*skrylar quit (Remote host closed the connection)
06:35:53FromGitter<Aearnus> nope, still works. there's probably checks for the OS somewhere to handle the newlines properly across different OSes
06:38:07FromGitter<Aearnus> found something interesting
06:38:57FromGitter<Varriount> Also, how does this PEG work? Wouldn't it recurse infinitely?
06:39:32FromGitter<data-man> @Aearnus: I'll push fix soon.
06:39:50FromGitter<Varriount> @Aearnus Also: https://github.com/nim-lang/Nim/blob/master/lib/pure/pegs.nim#L31
06:39:53FromGitter<Aearnus> here's raw output from the parsing in JS: https://hastebin.com/raw/bejojoyowa
06:40:46FromGitter<Aearnus> ah, see, I never said the PEG was correct in what it does haha. but it shouldn't fail to be parsed (thank you @data-man !)
06:41:53FromGitter<Aearnus> it looks like 2 things are happening: instead of copying the name `Chemical`, it copies an empty string. then, when it gets to the `\d` at the end of the string, it skips one character too far for some reason
06:42:05FromGitter<Aearnus> **end of the line, not the end of the string
06:42:19FromGitter<Varriount> I mean, the C result makes sense, since it tries to match 'Chemical' recursively, up to 20 times.
06:43:16FromGitter<Aearnus> ah; I see
06:43:35FromGitter<Aearnus> I expected it to fail on matching chemical and so instead try to match an element
06:44:13FromGitter<Aearnus> I'm kind of clueless on how it's supposed to work 😅
06:46:29FromGitter<data-man> @Aearnus: Pushed, check please. Also added a value of illegal character in exception's message.
06:48:30*yglukhov[i] joined #nim
06:49:43FromGitter<Aearnus> still gives the same out-of-bounds error @data-man
06:50:32*max3 quit (Quit: Connection closed for inactivity)
06:51:01FromGitter<data-man> With the same output?
06:51:35FromGitter<Aearnus> yeah. here's a paste of it https://hastebin.com/raw/besaqosivi
06:52:01FromGitter<Aearnus> slightly different traceback because I tested it with a different grammar
06:52:16FromGitter<Aearnus> but both grammars fail (both of which are valid) with the same error
06:52:27FromGitter<Aearnus> the one I tested with up there was just simply `a <- '3'`
06:53:10FromGitter<Aearnus> and it works correctly if I modify the JS to include a (second) null character at the end of the grammar string. i'm going to add logging to the string conversion in JS and make a new paste
06:53:34*sz0 quit (Quit: Connection closed for inactivity)
06:55:28FromGitter<Varriount> @Aearnus To be honest, you might be better off using regex.
06:55:41FromGitter<Varriount> The PEG module is ok, but it really needs some love/an upgrade
06:55:58FromGitter<Aearnus> yeah, I'm going to get that pure regex library set up. now I've been caught by this bug though
07:04:09FromGitter<Aearnus> incorrect https://hastebin.com/raw/ekujiqeruz vs. correct https://hastebin.com/raw/fitijoloro
07:04:30FromGitter<Aearnus> seems like the PEG library isn't properly appending the `[EOF]`
07:08:59FromGitter<data-man> Wait a bit, fix coming soon. :)
07:10:04FromGitter<Aearnus> thank you! was that enough to find the bug
07:10:44FromGitter<data-man> Yes, thanks.
07:17:04FromGitter<Varriount> @Aearnus Thanks for your help!
07:19:55FromGitter<gogolxdong> @PMunch I think you could change wxnim somehow to make it support latest nim version which I have done , but just commented out an ambigious call of getMode()
07:24:19*PMunch joined #nim
07:24:24FromGitter<data-man> @Aearnus: Check, please. I hope that all fixed now.
07:26:41FromGitter<Aearnus> hmm. looks like the same thing's happening
07:27:15FromGitter<data-man> :( The output, please.
07:27:53FromGitter<Aearnus> @data-man ```
07:28:01FromGitter<Aearnus> oops -- ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b051801b435f21fb8bdbf3d]
07:28:47FromGitter<data-man> What for C backend?
07:28:53FromGitter<Aearnus> JS backend
07:31:30FromGitter<data-man> For ⏎ """ ⏎ ⏎ ```Chemical <- ('(' Chemical ')' \d* / Element*)* ⏎ Element <- [A-Z][a-z]?[a-z]? \d* ⏎ """``` ⏎ ... [https://gitter.im/nim-lang/Nim?at=5b0518d260209a1187d85758]
07:31:51FromGitter<Aearnus> just for ` let pegGrammar = peg"a <- '3'"`
07:32:03FromGitter<Aearnus> which was pretty much the simplest case I could think of
07:32:22FromGitter<Aearnus> it's the same error (or a very, very similar one) for the longer grammar, too
07:33:04FromGitter<Aearnus> line 1356 in pegs.nim skips too far and causes line 1358 to go out of bounds
07:33:38FromGitter<gogolxdong> @PMunch How is protobuf-nim js backend supporting.
07:37:30PMunchGood question
07:37:39PMunchI think it should work
07:39:03PMunchHmm, I get internal compiler errors when I try example2
07:39:05PMunchSo maybe no
07:41:48FromGitter<Aearnus> aha!!
07:41:54FromGitter<Aearnus> line 1238 is the problem
07:42:05FromGitter<Aearnus> read the comment @data-man
07:42:05PMunchdom96, wishlist for choosenim, support a debug compilation (./koch temp js/c <file>)
07:42:26FromGitter<Aearnus> it's assumed that you'll have an EOF at the end of the string, when we should really be checking for a '\0' as well
07:42:38FromGitter<Aearnus> i'm editing it then i'll make a PR
07:42:43FromGitter<Aearnus> unless you just want to make the changes
07:42:55PMunchHmm, does Nim use a different VM based on target?
07:43:37FromGitter<Aearnus> jk it doesn't work
07:43:43FromGitter<Aearnus> the fix is going to be something like that though
07:44:28PMunchI get this error: http://ix.io/1b8o/ when using the js target, but everything works fine with the C target
07:45:54FromGitter<data-man> @Aearnus: current version https://gist.github.com/data-man/3582e6b8a2a8071bc0d1b0a6b75a36b9
07:48:16*sendell joined #nim
07:51:02FromGitter<data-man> @PMunch: Thanks for parsetoml updates! ⏎ https://github.com/toml-lang/toml/issues/540 :)
07:51:55*floppydh joined #nim
07:52:21FromGitter<Aearnus> same thing
07:52:28FromGitter<Aearnus> it's quick to text if you're using node
07:52:32FromGitter<Aearnus> let me paste the trace
07:53:04FromGitter<Aearnus> https://hastebin.com/raw/evisaduluc
07:53:27FromGitter<Aearnus> i'm almost sure it's a problem with the `skip` proc
07:53:46FromGitter<data-man> @Aearnus: Oh! I think that you made a PR :)
07:53:52FromGitter<Aearnus> no not yet
07:59:32FromGitter<Aearnus> woah -- I added this code right after line 1227 (in skip()) ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b051f64b435f21fb8bdd88f]
08:00:03FromDiscord<awr> now this is a feature nim 1.0 truly needs https://twitter.com/lexi_lambda/status/998658802672074752
08:04:11FromGitter<data-man> @Aearnus: The gist is updated. Check, please.
08:04:45*gmpreussner_ quit (Ping timeout: 252 seconds)
08:05:28*gmpreussner joined #nim
08:07:01*cavariux joined #nim
08:07:45FromGitter<Aearnus> not yet
08:07:54FromGitter<Aearnus> i'm going to keep working at it too
08:08:11FromGitter<Aearnus> what function creates that buffer?
08:10:01FromGitter<Aearnus> ah! what you did actually made a lot of the test cases pass
08:10:08FromGitter<Aearnus> @data-man
08:10:11FromGitter<Aearnus> just not all of them
08:10:31FromGitter<data-man> ```var buf = c.buf```
08:10:59FromGitter<Aearnus> they pass all the way down to ` assert match("_______ana", peg"A <- 'ana' / . A")`
08:11:07FromGitter<Aearnus> which is the first test case that uses an "<-"
08:11:46*cavariux quit (Ping timeout: 264 seconds)
08:12:24FromGitter<Aearnus> so progress has been made
08:15:06FromDiscord<awr> this TOML parsing library looks really nice
08:15:38FromGitter<data-man> @Aearnus: Nice! :)
08:16:35*ftsf quit (Quit: Leaving)
08:17:01FromGitter<data-man> So, ```index out of bounds``` don't appear anymore?
08:17:07FromDiscord<awr> i've never used TOML before but from looking at it it seems like YAML but with a spec cut down to size
08:17:37FromGitter<Aearnus> @data-man it still appears, just not for the first few test cases in the file
08:17:45FromGitter<Aearnus> before, it would appear on the very first test case
08:18:04FromGitter<Aearnus> but now we get through 10 test cases before it appears
08:18:18FromGitter<Aearnus> and it appears on the first usage of the arrow `<-`
08:25:01FromGitter<Aearnus> @data-man here's the output, along with the passed tests at the top. the final test is the one that causes the error https://hastebin.com/raw/yegelubavo
08:37:33FromGitter<Aearnus> it failed because there was an alphanumeric character at the end I guess
08:39:47*Vladar joined #nim
08:41:22FromGitter<data-man> I just installed nodejs, so the task will be resolved faster. :)
08:42:34FromGitter<Aearnus> @data-man thank you so much. what I did as well was add an ` echo input` to line 1140 to see what grammars were being processed
08:44:15*skrylar joined #nim
08:44:47skrylarmratsim: well, did manage to get arraymancer running. and (i think) Hidden Markov Models on top of it
08:50:34FromGitter<data-man> @Aearnus: the pegs module was excluded from CI-testing, otherwise these bugs would have been detected earlier.
08:50:47FromGitter<Aearnus> unfortunate
08:51:10FromGitter<Aearnus> it's something with `getSymbol` now I believe
08:51:17FromGitter<Aearnus> but I can't figure it out
08:51:22*gokr joined #nim
08:55:17PMunchWhy doesn't JS have StringStreams?
08:58:03PMunchJS has no streams?
09:00:31FromGitter<data-man> @PMunch: Yes ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b052daf97a0361fb7593cee]
09:00:51FromGitter<gogolxdong> seems it's called bytebuffer https://www.npmjs.com/package/bytebuffer
09:01:03skrylarjavascript doesn't have *any* memory twiddling stuff natively
09:01:12skrylarwhich is vaguely required for a stringstream ^^;;
09:02:48*cavariux joined #nim
09:07:04*cavariux quit (Ping timeout: 252 seconds)
09:14:53FromGitter<mratsim> @skrylar, awesome!
09:15:45FromGitter<mratsim> I’ll pause on arraymancer for about ~3 months probably, got drafted into a Data Science competition: https://www.kaggle.com/c/home-credit-default-risk
09:19:29cremIn the end I dropped implementing lczero client in nim, someone has almost implemented it in golang.
09:21:29skrylari just want a text to speech system on linux :x although some of the reinforcement learning tools might be neat to keep around
09:21:58skrylaris it bad that Baidu got a lot of fanfare for deep voice 3 cloning samples, but some nobodies have actually done a better job using non-wavenets
09:22:05skrylarhttps://arxiv.org/pdf/1802.06984.pdf
09:23:08skrylarmratsim: what else is there to really do, it looks like a tensor library usually does
09:23:27skrylaralthough i did open a bug report earlier because mabs is broken
09:24:10FromGitter<mratsim> bringing OpenCL and Cuda to the same level of support of CPU
09:24:18FromGitter<mratsim> RNNs
09:24:22FromGitter<mratsim> Cross-validation
09:24:33skrylarso nontensor stuff
09:24:35FromGitter<mratsim> implementing common loss functions/and scores like AUC
09:24:40skrylarmeh, can live without ^^
09:25:07FromGitter<mratsim> for tensor stuff I have to implement proper loop-fusion
09:25:32skrylari hate the way code looks with these things though. even my own tensors
09:25:47skrylarwhen i did the stuff in C# i just used loops and they read very cleanly but didn't do GPGPU
09:26:01skrylartransliterating to tensors (and having to manage scratch registers and whatnot) and its now very unreadable
09:26:15FromGitter<mratsim> it will look like this: https://github.com/numforge/loop-fusion
09:27:34skrylarfortunately there seem to be some simpler register allocators (linear scan) so
09:49:50*leorize quit (Quit: WeeChat 2.1)
09:55:17PMunchskrylar, it's not really required for a stream though..
10:11:36*olleh joined #nim
10:11:41ollehhi guys
10:12:05ollehare there any plans to support encryption algorithms in the std library ? (aes, rc4, and others)
10:12:43*gokr quit (Quit: Leaving.)
10:12:55*gokr joined #nim
10:16:47FromGitter<mratsim> @olleh, you can use this: https://github.com/cheatfate/nimcrypto
10:17:34ollehwow
10:17:50ollehnice
10:17:51ollehthanks
10:17:59FromGitter<mratsim> It will be used in production at my company Status for a blockchain project.
10:18:09FromGitter<mratsim> so it will be thoroughly tested
10:18:15FromGitter<mratsim> Relevant RFC: https://github.com/nim-lang/Nim/issues/7337
10:18:43ollehsadly, it's not documented
10:19:00FromGitter<mratsim> the main function is “digest"
10:19:19FromGitter<mratsim> https://github.com/cheatfate/nimcrypto/blob/master/nimcrypto/hash.nim#L30
10:20:04FromGitter<mratsim> for example `keccak256.digest(data, 0, length - 1)`
10:21:00FromGitter<mratsim> AES is called RIJNDAEL in the lib btw
10:21:07ollehthanks a lot mate
10:23:07FromGitter<mratsim> you can also encrypt a stream: https://github.com/nim-lang/Nim/issues/7337#issuecomment-377709574 ⏎ ⏎ with “init”, “update”, “finish”, “clear” that all hash algorithms implement. digest is just a wrapper around them.
10:34:49*endragor quit (Remote host closed the connection)
10:36:59*endragor joined #nim
11:03:42PMunchmratsim, how fast is nimcrypto?
11:04:11PMunchMy keepass library is really slow because of this: https://github.com/PMunch/libkeepass/blob/master/src/libkeepass.nim#L195
11:04:48*skrylar quit (Quit: Leaving)
11:10:49*xet7 joined #nim
11:15:38*endragor quit (Remote host closed the connection)
11:16:29*endragor joined #nim
11:16:39*endragor quit (Remote host closed the connection)
11:16:43*PMunch quit (Quit: Leaving)
11:18:23*endragor joined #nim
11:19:02*PMunch joined #nim
11:24:04*olleh quit (Quit: Leaving)
11:28:34*floppydh quit (Quit: WeeChat 2.1)
11:32:04*dddddd joined #nim
11:45:29FromGitter<mratsim> I don’t see any perf bottleneck in nimcrypto in the part i benchmarked (keccak)
11:46:04FromGitter<mratsim> AFAIK keepass uses pbkdf2 for keyfile hashing so you can re-use implementation by nimcrypto
11:47:27*SenasOzys joined #nim
11:48:42shashlickdom96: I'm looking at adding support in choosenim to install the binary build on Windows but the archives are .zip. Are you okay with this method of extraction?
11:48:49shashlickhttps://github.com/genotrance/nimgen/blob/master/nimgen.nim#L55
11:49:03FromGitter<mratsim> @Pmunch ugh, it seems like keepass does not used pbkdf2 or scrypt :/: https://news.ycombinator.com/item?id=9727297
11:49:11PMunchWell the stuff I used was Salsa, AES-ECB, and SHA
11:49:14PMunchYea
11:49:18dom96shashlick: If you can unzip without dependencies then sure
11:50:01shashlickYa using power shell on Windows
11:51:14shashlickOr we could update the zip library to statically link zlib like untar does on Windows
11:51:50dom96Up to you, but if you use powershell be sure to fall back to the tar.gz on Windows XP
11:52:25shashlickWell do we have a tar.gz of the binary build or just the zip?
11:52:34dom96just zip
11:52:36FromGitter<mratsim> @pmunch this decision from keypass author is very questionable: https://dev.keepassx.org/issues/160
11:52:41dom96we can create tar.gz but ugh
11:52:58shashlickI'll anyway have to code it in a way where it falls back to the current method if a zip isn't available
11:53:03dom96just fall back to the C sources
11:53:11shashlickOk
11:53:12FromGitter<ephja> some vital form features are missing from libui if I'm not mistaken
11:53:17dom96yeah, good
11:53:55dom96mratsim: Haven't used keepassx since it corrupted its own db and I lost my passwords
11:54:26shashlickWhy do you download a tar.gz from nim-lang.org for versions when you can get it from GitHub itself
11:54:29FromGitter<mratsim> I use MacPass and Keepass4Android, it’s working fine
11:55:34PMunchI looked into that while writing my library
11:55:40PMunchIt's actually fairly sound
11:56:03shashlickdom96: https://github.com/nim-lang/Nim/releases has tar.gz for source by tag
11:56:18PMunchAlso read a paper comparing different password manager formats, and KeePass only had one discovered vulnerability that wasn't major and has later been fixed
11:56:39dom96shashlick: That doesn't include the C sources
11:56:39FromGitter<mratsim> @dom96 I think there is an opportunity to do a proper KeePass and OTP library in Nim.
11:57:00*Snircle joined #nim
11:57:08shashlickBut you download that separately anyway
11:57:20shashlickCan master not build older versions?
11:57:23dom96for releases?
11:57:24dom96Are you sure?
11:57:44shashlickI'll check
11:58:19dom96mratsim: I'm using LastPass now. It's often terrible :/
11:58:25PMunchmratsim, you calling my KeePass lib not proper? :P
11:59:07FromGitter<mratsim> I mean, same usage. but rolling their own encryption scheme is meeh
12:00:07FromGitter<mratsim> @dom96 many startups in France are using Dashlane, apparently it’s the best for passwords shared by teams, they had syncing and reporting issues with all other managers.
12:00:26FromGitter<ephja> I thought there was some issue with KeePass that didn't matter in practice, but I must have missed some other issues..
12:01:38FromGitter<zetashift> @mratsim OTP? As in the BEAM VM ;p?
12:01:43shashlickdom96: csources are also tagged by release
12:02:01FromGitter<mratsim> @zetashift lol, no as in Google Authenticator ;)
12:02:02shashlickhttps://github.com/nim-lang/csources/releases
12:02:18dom96shashlick: Yes, but does choosenim use the c sources inside the release?
12:03:01shashlickI'll check that
12:03:18FromGitter<ephja> hmm, KeePassXC
12:07:54PMunchXC?
12:09:11FromGitter<zetashift> @PMunch maybe he ment this: https://keepassxc.org/
12:09:49PMunchHuh, how does it compare to KeePassX?
12:14:36PMunchHmm, really annoying that streams aren't available for the JS target
12:14:46PMunchHow can I get protobuf to work there then..
12:14:56*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
12:16:32*Snircle joined #nim
12:28:18*PMunch quit (Quit: Leaving)
12:32:28*PMunch joined #nim
12:42:15shashlickdom96: choosenim only downloads csources master if the Nim archive doesn't contain it already
12:42:36shashlickI can update it to download both separately from GitHub
12:43:00shashlickThat way you no longer need to maintain the tar.gz
12:43:41dom96I'd rather keep it
12:43:51shashlickOnly thing would be to add release tags for all csources mapping to Nim releases going forward
12:43:58*jjido joined #nim
12:44:08shashlickYa we can leave what's there as is
12:44:22shashlickI mean going forward
12:47:33shashlickDo you want to make binary archive the default with source build as fallback, or add a new flag to pick mode
12:48:19shashlickIf Windows and binary available, use that, else build from source
12:48:58shashlickIf force source build mode, ignore binary build
12:51:01dom96I don't want new flags
12:51:23dom96just use binaries if available
13:04:34shashlickokay cool
13:04:40dom96Soooo
13:04:43shashlickwhat about 32 vs 64-bit
13:04:45dom96Who wants to see the new forum? :)
13:05:02*arecaceae quit (Remote host closed the connection)
13:05:09shashlickme me
13:05:11dom96that can have a flag
13:05:26*leorize joined #nim
13:05:27*arecaceae joined #nim
13:05:48dom96https://forum2.nim-lang.org/
13:06:21dom96please test and let me know if you find any issues
13:06:59shashlicklooks great
13:07:25Yardanicodom96 wow, looks really great!
13:07:37dom96:D
13:08:34*athenot joined #nim
13:08:54shashlickmobile view works too
13:08:57*SenasOzys quit (Ping timeout: 245 seconds)
13:09:03dom96Yep :)
13:09:12Yardanicoonly "issue" - for me "search" box is somehow weird... maybe because I'm not used to the new forum yet
13:09:13dom96I'd like to make it even more compact
13:09:24YardanicoI mean it *feels* weird
13:09:41Yardanicobut it looks really cool
13:09:45dom96why weird?
13:10:04*endragor quit (Remote host closed the connection)
13:10:14FromDiscord<2vg> awesome design :3
13:10:21Yardanicodom96 idk, maybe because I see it for the first time :D
13:10:35dom96Yardanico: How would you change it? :)
13:11:04yglukhovdom96: Looks fresh. Good job!
13:11:21dom96thanks :)
13:11:30*athenot_ joined #nim
13:11:36shashlickvery nice work
13:11:43shashlicki like the load more posts style too
13:12:30*vivus joined #nim
13:13:27dom96Super glad you like it :)
13:13:40FromGitter<data-man> Cool! ⏎ Feature request: support themes (in Settings). Too bright for me. :)
13:13:57FromGitter<Vindaar> @dom96 wow, that looks really nice! just noticed that on one of my monitors here (bright TN panel), the line between posts is a little hard to see and the background of code blocks almost merges with the background.
13:13:59Yardanicoyeah, maybe dark/light theme
13:14:37dom96Vindaar: turn down the brightness? :P
13:15:01*SenasOzys joined #nim
13:15:09*athenot quit (Ping timeout: 260 seconds)
13:15:16ddddddIs there no-js fallback for the new forum?
13:15:33FromGitter<data-man> And account can be deleted now. :)
13:15:35dom96In all seriousness though, if you can play around with the colours and send me a darker color that is visible on your monitor :)
13:15:37FromGitter<Vindaar> on the crappy monitor I can't really (sun / contrast / crappy montir :P). On my main monitor it's fine, just thought I'd mention it :)
13:15:44FromGitter<Vindaar> ok!
13:15:49PMunchdom96, for the search box, maybe go for the solid underline and "Search" text, but keep the background colour of the top-bar?
13:16:26Yardanicodom96 will you include the possibility to change nickname? in new forum
13:16:38Yardanicojust wondering :P
13:17:00federico3and send direct messages
13:17:01dom96PMunch: A black input field? That would look weird I think
13:17:14dom96Maybe a slightly brighter than the nav bar colour
13:17:22dom96dddddd: Afraid not
13:18:02ddddddMore important than colors, IMHO. No-js first. Thanks anyway for the effort.
13:18:26*xkapastel quit (Quit: Connection closed for inactivity)
13:19:10dom96dddddd: How come no-js is so important to you?
13:19:30dom96Yardanico: Probably not
13:20:03dom96There is a lot of things I wanted to include that I didn't
13:20:04federico3yay for no-js
13:20:10dom96Some of those things are hidden via CSS ;)
13:20:47FromGitter<data-man> Personal messages in the forum! :)
13:21:11Yardanicodom96 https://forum2.nim-lang.org/t/3575#22867 I think there should be scrolling (well, maybe it's just not implemented yet) :)
13:21:18dom96data-man: that's what email is for :P
13:21:49dddddddom96, it's a matter or resources, bloat, "is it really necessary?", and some more reasons, too long to explain just now.
13:21:51dom96Yardanico: good find!
13:21:58federico3dom96: unfortunately the email is not displayed
13:22:00FromGitter<data-man> I don't read the mail. :)
13:22:22dom96federico3: Maybe I could add an email request system
13:22:31dom96"federico3 would like to see your email, allow it?"
13:22:40Yardanicoyeah, that's very good
13:23:05Yardanicobut I think it should be 2-way, if you ask someone to share his email, he will know your email too
13:23:23federico3isn't it quicker to have send a message through email?
13:23:27federico3bonus points for protecting the user email
13:23:33dom96Yardanico: makes sense
13:23:54FromGitter<data-man> https://github.com/nim-lang/opengl/issues/53 <- macOS users
13:23:56dom96federico3: perhaps, I'd rather the forum send as few emails as possible
13:24:16dddddddom96, https://en.wikipedia.org/wiki/Progressive_enhancement
13:24:19federico3otherwise, implementing a mailbox might be a matter of creating a dedicated, hidden "forum thread" structure
13:24:23Yardanico@data-man I'm on hackintosh rn :D
13:25:16*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
13:25:43*endragor joined #nim
13:27:19FromGitter<data-man> @Yardanico: Here, not only you. :-D
13:28:22Yardanicoare you serious? xD
13:28:59FromGitter<mratsim> wow @dom96 did you sell your soul to EmberJS/Discourse? :P looks awesome
13:29:47*floppydh joined #nim
13:29:57*endragor quit (Ping timeout: 240 seconds)
13:29:59FromGitter<data-man> @Yardanico I'm always serious. ⏎ Well ... almost always.
13:30:01dom96mratsim: I definitely stole a lot of ideas from Discourse, but everything is 100% Nim :)
13:30:38FromGitter<mratsim> as Picasso said "good artists copy, great artists steal"
13:31:11dom96:D
13:31:45dom96Yardanico: Fixed that issue :)
13:33:06FromGitter<data-man> Well, I'll reveal the secret. Soon there will be another surprise. :)
13:33:24dom96oh? :O
13:34:42FromGitter<data-man> Most likely, tomorrow. :-D
13:36:37dom96Feel free to post on this forum instance btw (it's not linked to the main forum and the db will be recreated once I migrate everything fully)
13:41:35dom96bbl
13:45:05*gokr quit (Ping timeout: 248 seconds)
13:46:18FromGitter<krux02> dom96: yea sadly though "being 100% Nim" doesn't create any positive feelings in non Nim developers.
13:46:20FromGitter<data-man> lol "bbl" I always read as Russian 'ьы'
13:46:44FromGitter<krux02> well it looks similar
13:46:47FromGitter<krux02> do boubt
13:47:34PMunchdom96, just a quick and dirty CSS change, but I meant something like this: https://i.imgur.com/hlC4MZm.png
13:48:32euantorI take it the big block of empty whitespace on the right is going to be filled with something eventually?
13:49:16euantorWOuld also be nice for the thread list to show when the last reply was posted so it's easy to know if a thread has unread posts
13:51:20*nsf quit (Quit: WeeChat 2.1)
13:52:11FromGitter<data-man> https://forum2.nim-lang.org/t/3834 :)
14:01:34*leorize quit (Ping timeout: 264 seconds)
14:02:38FromGitter<data-man> Why admin's icon is horse? lol
14:07:20*rokups joined #nim
14:07:44*yglukhov[i] quit ()
14:08:07YardanicoYou can now like messages!
14:08:12Yardanicothat's so cool!
14:10:30*leorize joined #nim
14:10:56FromGitter<data-man> Hmm, moderators can't change other messages.
14:11:03*cavariux joined #nim
14:12:47FromGitter<data-man> And can unlike. It's more cool! :-D
14:14:32YardanicoCan I become a moderator too? :D
14:15:17FromGitter<mratsim> with great power comes great responsibility
14:15:59Yardanicowait, new forum can't send password change emails yet? :D
14:17:06FromGitter<data-man> @Yardanico: Create a new thread for feature requests. Admin is there now. :)
14:21:22PMunchSome more images showing what I meant, with a slightly better style: https://i.imgur.com/Y1o9eY8.png, https://i.imgur.com/Pg7gTdP.png
14:21:57PMunchDoesn't stand out as much as the current search box, while still being plenty obvious that it is one
14:22:21Yardanicodom96 what should I do to become a moderator? :P and also, I can't change my password yet because I don't get email for password change
14:26:27Yardanico(my current one is not really good)
14:27:17Yardanicoah, nvm, it worked
14:28:39Yardanicobut it's strange - now my account status is "moderated". I think user shouldn't become "moderated" when he changes his email
14:29:28*endragor joined #nim
14:34:06*endragor quit (Remote host closed the connection)
14:37:05FromGitter<data-man> > You're posting too fast! ⏎ ⏎ :)
14:40:01shashlickdom96: can you please share what binaries are posted in the /download directory?
14:44:38FromGitter<data-man> ```input(0, 1) Error: grid table is not implemented```
14:54:55dom96euantor: the "activity" heading has a title, so just hover over it to see the time of last reply
14:55:03dom96And no, that space will remain empty
14:55:18FromGitter<gogolxdong> @PMunch Do you mean `Error: cannot open file: private/richtext/richtextdialogpage/nim` in term of example2 failed?
14:56:03FromGitter<data-man> reStructuredText tests is finished :)
14:56:03FromGitter<gogolxdong> This can be fixed with wrapping a pair of double quote for each included file.
14:56:17dom96data-man: your tests look like markdown to me
14:56:36PMunchgogolxdong, uhm no
14:56:43PMunchThat's not in the protobuf example2..
14:56:48FromGitter<data-man> I created the second thread for rst
14:57:37FromGitter<data-man> Examples from https://github.com/ralsina/rst-cheatsheet/blob/master/rst-cheatsheet.rst
14:57:54FromGitter<gogolxdong> I have made it works with latest nim, should I pull request?
14:58:10dom96shashlick:
14:58:11dom96https://gist.github.com/dom96/2019900588e37a9d07028684359b897b
14:58:15PMunchexample2 for protobuf works with the JS target?
14:58:23PMunchIf so then yes, please make a PR :)
14:58:28FromGitter<gogolxdong> wxnim
14:58:34PMunchOh wxnim :P
14:58:56shashlickdom96: awesome thanks
14:59:00PMunchI didn't even know that anything was wrong with it, but sure, PRs are always nice :)
14:59:17shashlickdom96: how's the .xz different from the tar.gz? much smaller - how did that happen?
14:59:24PMunchdom96, this is what I meant with the search bar: https://i.imgur.com/Y1o9eY8.png, https://i.imgur.com/Pg7gTdP.png
15:00:23dom96Looks cool but it's a bit too difficult to notice I think
15:00:35dom96shashlick: Indeed, it's smaller.
15:00:44dom96and choosenim doesn't support it
15:00:55shashlickwell, you have code to extract .xz files
15:01:08dom96yes, it's new and only for unix
15:01:09shashlickbut ya I guess you don't download them
15:01:50shashlickok another question - what's the older .exe files? are those self-extracting ZIPs?
15:02:01*athenot_ quit (Ping timeout: 260 seconds)
15:02:03FromGitter<data-man> @dom96: Bug report: For a new message, when you click on "Preview", preview is shown from the previous message.
15:02:39*athenot joined #nim
15:02:56dom96oh really, hm
15:03:26dom96Works for me
15:03:49dom96Can reproduce it?
15:04:04dom96*Can you
15:04:27shashlicklooks like an installer, but hopefully I can extract those - not sure if we want to allow install of older versions before 0.15.2
15:05:02dom96shashlick: Try to keep things simple
15:05:20FromGitter<data-man> @dom96: Maybe because I created messages very quickly.
15:05:42dom96data-man: maybe you clicked preview really fast? :)
15:05:56dom96I guess there might be some race condition somewhere
15:06:09PMunchDifficult to notice? It's right where you expect search to be, and it says "Search". Just because the current search box is the first thing you notice when you enter the page since it's extremely contrasting to the background doesn't make this unnoticeable :P
15:07:37*BitPuffin joined #nim
15:08:42FromGitter<data-man> @dom96: Yes. ⏎ Is rst-bugs it stdlib issues?
15:10:03dom96yep
15:11:01shashlickdo we have a quick way to move contents of a directory to another directory?
15:11:05*athenot quit (Ping timeout: 245 seconds)
15:11:08shashlickor do i need to do the whole walkDir() routine
15:12:57FromGitter<data-man> @shashlick: There is moveDir from os?
15:13:16shashlickya but i want to move all contents - files and directories inside a directory to another one
15:13:58*athenot joined #nim
15:14:03FromGitter<data-man> Yes, look at implementation :)
15:15:26shashlicki don't want to move the dir, I want to move it's contents
15:15:57*SenasOzys quit (Read error: Connection reset by peer)
15:16:03*SenasOzys__ joined #nim
15:16:03FromGitter<data-man> And remove this dir?
15:16:13shashlickya
15:16:23shashlickdoes moveFile() work on directories
15:16:54FromGitter<data-man> moveDir does what you need.
15:18:10*athenot quit (Ping timeout: 245 seconds)
15:18:34*athenot joined #nim
15:18:49*leorize quit (Ping timeout: 260 seconds)
15:22:28*PMunch quit (Quit: Leaving)
15:23:45dom96The old forum's uptime is surprisingly impressive: "Active: active (running) since Wed 2018-03-28 14:27:14 UTC; 1 months 25 days ago"
15:36:55*athenot quit (Ping timeout: 245 seconds)
15:37:13*athenot joined #nim
15:38:27FromGitter<Varriount> What took it down in March?
15:40:56shashlickdom96: I'm able to do binary installs on Windows using choosenim, however, all DLLs are in the bin directory but choosenim will not "shim" those, any ideas?
15:41:45dom96Varriount: good question
15:41:59dom96I need to look at logs more often :)
15:42:14dom96shashlick: Which `bin` dir?
15:42:30shashlick~\.choosenim\toolchains\nim-0.17.2\bin
15:43:48FromGitter<mratsim> @data-man for your grid table error: https://github.com/nim-lang/Nim/issues/6429
15:45:48FromGitter<7sDream> ```code paste, see link``` ⏎ ⏎ I try to use unittest module and found it do not tell me the type of exception I raised (log: http://ix.io/1baG), is this by designed or missed? [https://gitter.im/nim-lang/Nim?at=5b058cac97a0361fb75acd99]
15:46:18*floppydh quit (Quit: WeeChat 2.1)
15:51:32dom96shashlick: DLLs should be put into ~/.nimble/bin
15:51:36dom96I thought choosenim did that
15:52:37shashlickya, i'm just saying if we are downloading the windows binary then those dlls are already present, so we will have redundant copies of those
15:52:49FromGitter<7sDream> when I remove the suite and test block, just keep `raise newException(ValueError, "a value error")`,the log has a line `Error: unhandled exception: a value error [ValueError]`. ⏎ I think the type is very useful when digging what happened, maybe we should add it?
15:52:55shashlickplus the copy choosenim puts in ~/.nimble/bin
15:54:31*gokr joined #nim
15:54:49FromGitter<data-man> @mratsim: Thanks! In my ToDos (isn't soon)
16:03:27*fvs joined #nim
16:04:22*cavariux quit (Ping timeout: 245 seconds)
16:08:53*xkapastel joined #nim
16:13:32FromGitter<mratsim> @7sDream I think it’s an issue with the unittest module, it captures too much info and left devs stranded :P
16:15:39FromGitter<7sDream> yes, I'm trying add the type output in unittest module
16:17:38FromGitter<7sDream> https://i.loli.net/2018/05/24/5b059415d80a5.png ⏎ just finish it
16:20:09Yardanico@7sDream make a PR for discussion
16:20:25Yardanicobut I think you doesn't want to use "fmt" here
16:20:29FromGitter<7sDream> BTW, the name is a parameter of `test` template, so `e.name` won't work ⏎ I'm new to Nim and not familiar with it's macro or template syntax ⏎ any idea how to use name as normal property when is a template parameter on same time
16:20:31Yardanicojust use & e.name
16:20:34Yardanicooh
16:20:37*CodeVance joined #nim
16:20:57Yardanicowait what? e is not a template
16:21:09FromGitter<7sDream> `test` is a template
16:21:26FromGitter<7sDream> and it has a `name` and `body`
16:21:43YardanicogetCurrentException() returns a "ref Exception" object
16:21:52FromGitter<mratsim> typetraits.name(e) but even then I think the template might replace it.
16:22:15FromGitter<7sDream> yes, I tried this too
16:22:49FromGitter<mratsim> change the template `name` to something else then
16:23:40FromGitter<7sDream> emmm, good idea. working on a my first PR 😄
16:23:42*cavariux joined #nim
16:23:57shashlicklooks like csources for 0.14.0, 0.14.2, 0.15.0 were never committed
16:24:41FromGitter<data-man> @shashlick: So, moveDir works for you?
16:25:04shashlicknope, like I said, I have to move a bunch of dirs/files inside the dir
16:27:09FromGitter<7sDream> Is there a *Contribute Guide* or something like it?
16:27:42FromGitter<7sDream> like which branch I should PR to
16:28:34*cavariux quit (Ping timeout: 264 seconds)
16:28:48*CodeVance1 joined #nim
16:29:12*CodeVance quit (Read error: Connection reset by peer)
16:30:11*CodeVance joined #nim
16:30:12*CodeVance quit (Client Quit)
16:30:20*cavariux joined #nim
16:30:26*CodeVance joined #nim
16:30:35*fvs left #nim ("ERC (IRC client for Emacs 25.3.1)")
16:31:01*CodeVance1 quit (Read error: Connection reset by peer)
16:32:13*sendell quit (Remote host closed the connection)
16:33:17shashlickdom96: just built 0.13.0 using choosenim
16:33:29shashlickbut it can't find nimble
16:33:49dom96older nim versions didn't bundle Nimble
16:34:23shashlickwhen was it introduced
16:35:02*cavariux quit (Ping timeout: 268 seconds)
16:35:05FromGitter<mratsim> @7sDream, contribute to devel
16:35:22dom96no idea
16:35:34FromGitter<mratsim> also here is the doc: https://nim-lang.org/docs/contributing.html
16:35:50FromGitter<7sDream> Thx u, I'll check
16:36:19*cavariux joined #nim
16:37:23FromGitter<data-man> @shashlick It's very strange... ⏎ ⏎ mvnim.nim ⏎ ⏎ ```code paste, see link``` ... [https://gitter.im/nim-lang/Nim?at=5b0598c25f3e6b40fadc4be8]
16:38:04FromGitter<genotrance> ya but here, ./a = dir, I want to move ./a/* ./z/.
16:39:33FromGitter<data-man> Now is clear :)
16:39:39shashlick:)
16:40:40shashlickheh, koch in 0.13.0 doesn't even have a tools option
16:41:51FromGitter<data-man> But it's simple implementation :)
16:42:50shashlickok i'll come back to this later
16:44:49*jjido quit (Ping timeout: 248 seconds)
16:49:35*vivus quit (Quit: Leaving)
17:00:50shashlickdid the old NSIS installers write anything into the registry?
17:04:37dom96yep iirc
17:06:02shashlickthere's nothing in add/remove programs
17:07:14shashlicknever mind, it's here
17:07:37shashlickwish I could extract these .exe files with powershell, unable to
17:08:08shashlickanyway, who would want to install 0.15.0
17:10:27dom96indeed :)
17:10:37dom96I'll check how many tried later
17:10:43dom96That's what analytics are for :)
17:11:18*DarkArctic joined #nim
17:15:55shashlickdom96: is it possible to avoid printing the download bar if a URL is a 404
17:17:52*SenasOzys joined #nim
17:19:09*SenasOzys__ quit (Read error: Connection reset by peer)
17:19:56FromGitter<7sDream> emm
17:20:07FromGitter<7sDream> how to write test for unittest module...
17:20:21Yardanicolike every other test in nim stdlib?
17:20:32Yardanicolook in tests folder
17:22:47FromGitter<data-man> Or look at the end of almost every module
17:22:54FromGitter<7sDream> yes, I notice we use when isMainModule block to test... ⏎ but I need to get the result of unittest output to confirm it has the type of exception...
17:23:45FromGitter<7sDream> https://i.loli.net/2018/05/24/5b05a39c7007b.png
17:24:10subsetparkwell unittest has `expect`, so if you can't use `expect` you can at least look at its implementation and use that
17:24:10FromGitter<7sDream> how can I confirm the output contains a [ValueError] substring?
17:24:42dom96Don't parse the output
17:24:45dom96use doAssertRaises
17:24:52FromGitter<7sDream> but what I Changed is the output...
17:26:12FromGitter<7sDream> I add the `[ValueError]` ouput for exception raise from a test...the type name is missing in 0.18.0
17:27:01dom96hrm, can you explain what you're trying to do?
17:27:18FromGitter<data-man> @7sDream: https://github.com/nim-lang/Nim/blob/devel/tests/stdlib/tunittest.nim#L50
17:27:30FromGitter<7sDream> > ```nim ⏎ import unittest ⏎ ⏎ suite "throw exception": ⏎ test "show exception type": ... [https://gitter.im/nim-lang/Nim?at=5b05a4826309af743d0a70ae]
17:27:50FromGitter<7sDream> ```code paste, see link``` ⏎ ⏎ I try to use unittest module and found it do not tell me the type of exception I raised (log: http://ix.io/1baG), is this by designed or missed? [https://gitter.im/nim-lang/Nim?at=5b05a495b435f21fb8c0098c]
17:29:38FromGitter<7sDream> What I want confirm is *the output contains* the exception's type, not the exception's type is ValueError
17:31:31dom96Why do you want that though?
17:31:36dom96Why are you checking the output?
17:32:21FromGitter<7sDream> Because there is no type of exception shown when raise from test, I want add for it
17:32:51dom96oh, so you want to add a test for unittest
17:33:04FromGitter<7sDream> yes!
17:33:43FromGitter<7sDream> or do we need it?
17:33:54dom96Then you should add a test here: https://github.com/nim-lang/Nim/tree/devel/tests/stdlib
17:34:08dom96See how these tests use `output`: https://github.com/nim-lang/Nim/blob/devel/tests/stdlib/txmltree.nim#L3
17:34:12dom96Do something similar
17:34:23dom96then you can run these tests by executing `koch tests cat stdlib`
17:35:08dom96Instead of `output` you can also use `outputsub` (although I've never used it so, it might very well not work :))
17:35:34FromGitter<7sDream> Thx, Iet me try
17:37:57*SenasOzys quit (Ping timeout: 240 seconds)
17:42:52*cavariux quit (Ping timeout: 268 seconds)
17:46:35*cavariux joined #nim
17:46:47*max3 joined #nim
17:47:29*SenasOzys joined #nim
17:50:19*elrood joined #nim
17:54:06FromGitter<7sDream> test of httpclient use google.com for testing... ⏎ And it is blocked in china... ⏎ So it takes about 2min toi run the test, and get a `Network is unreachable` error...
17:54:32FromGitter<7sDream> hate the GFW...
17:57:40FromGitter<7sDream> output test is OK now, but tester also check the exit code ⏎ I need raise the exception for the output, then the exit code becomes 1, so test not passed :(
17:58:44FromGitter<7sDream> Oh, excepted exitcode is configuable
18:00:33livcdgithub is also blocked in china right ?
18:01:46FromGitter<7sDream> github is ok, but speed will be VERY slow in some special time
18:02:08FromGitter<7sDream> and it's depends on ISP
18:03:19livcdyeah korean sites are also very slow here in europe :/
18:04:13*Trustable joined #nim
18:10:56shashlickdom96: every nim version that choosenim installs has it's own copy of mingw if there's not a global copy
18:11:41dom96wow, they block Google?
18:11:56livcdyeah lots of websites are blocked
18:12:05dom96shashlick: yeah, I opted for reliability
18:12:12dom96at the expense of some garbage :)
18:12:23shashlickcouldn't we put it in ~/.nimble/bin
18:13:16shashlickoh never mind, you put it in .choosenim/toolchains/mingw32
18:13:36dom96so it's not every nim version? :P
18:13:51shashlicknope, i mistook installDir for something else
18:30:47*Sargun_ is now known as Sargun
18:31:11*WA9ACE joined #nim
18:31:12*nsf joined #nim
18:35:15*rockcavera quit (Remote host closed the connection)
18:36:58*rokups quit (Quit: Connection closed for inactivity)
18:40:53FromGitter<Aearnus> @data-man did you ever figure out the issues from last night?
18:50:23Yardanicodom96 you know that 1BXfuKM2uvoD6mbx4g5xM3eQhLzkCK77tJ (nim's bitcoin address for donations) has 0.33 BTC on its balance?
18:50:34dom96Yardanico: yep
18:53:52Araqwhat does it mean? are we rich now?
18:55:19YardanicoAraq well, it's $2.5k usd by current btc price, and also it was like $7.5k usd in december :)
19:00:06dom96Forum will be down for a bit while I migrate
19:00:21Yardanicoold forum to the new one?!
19:00:24dom96yep
19:00:29Yardanicoso forum.nim-lang.org will point to the new one? cool
19:00:49livcdwhat is the new one ?
19:01:22dom96Goodnight sweet prince
19:01:52Yardanicolivcd forum2.nim-lang.org
19:02:00Yardanicowell, it's already offline :)
19:02:22livcdoh :(
19:02:28shashlickdom96: do choosenim tests run on Win and Lin?
19:02:43dom96shashlick: Please check the repo
19:03:16dom96strangely the VPS is slower at importing the data from the old db than my macbook
19:03:33Yardanicolol, strange indeed
19:03:49livcdhttps://news.ycombinator.com/item?id=17136729 -> feel free to add your opinions guys. Title is: Anyone else just tired of JavaScript ?
19:04:39dom96Totally. That's why the new nimforum is 100% nim :)
19:06:11Yardanicodom96 also - you may want to use closure compiler (or some other software) to minify JS code of nimforum
19:06:46dom96Already got a task for that https://github.com/nim-lang/nimforum/blob/master/nimforum.nimble#L41 :)
19:06:50dom96Thanks for the reminder
19:07:42Yardanicodom96 there's a nim wrapper for closure_compiler by the way :)
19:08:01Yardanicofor local and remote (binary and web api)
19:09:12dom96well... that failed lol
19:09:23dom96looks like the version of closure_compiler on ubuntu can't handle Nim's JS
19:09:30dom96oh well
19:09:56dom96most of it will be gzipped anyway
19:10:47dom96lol wat
19:10:48dom96https://forum.nim-lang.org/
19:10:51dom96It's caching the old logo
19:11:42dom96cloudflare, oh you...
19:11:55dom96I should probably make that logo smaller too
19:11:57dom96oops
19:12:34livcdoh discourse theme :D
19:12:39Yardanicolivcd :D
19:12:45dom96lol
19:12:47dom96https://forum.nim-lang.org/t/3834
19:13:25livcdthe logo does not look good.. :D
19:13:55dom96refresh?
19:14:09livcdi still see mine-me logo
19:14:47Yardanicodom96 a little bit of an issue - when you change your email, you can edit contents of a "rank" input (well, server doesn't accept it, but it's a little bit annoying)
19:14:48dom96"mine-me"?
19:14:53Yardanicohttps://transfer.sh/RLyg9/Screenshot%20at%20May%2023%2022-13-49.png https://transfer.sh/CIZGd/Screenshot%20at%20May%2023%2022-13-55.png
19:15:17dom96Yardanico: GitHub issue :)
19:15:19Yardanicook :)
19:15:29dom96Anybody else still seeing the old logo?
19:15:58YardanicoI see a new one
19:16:44livcdhttps://imgur.com/a/HosozGw
19:16:51*nuxdie quit (Quit: WeeChat 2.1)
19:17:37livcdis that tiny logo the right one ?
19:17:43*nuxdie joined #nim
19:19:18dom96livcd: yeah, it isn't
19:19:22dom96Does refreshing not help?
19:20:09livcdno but deleting browser stuff helps
19:20:13livcdit's okay now
19:20:28dom96hrmmm
19:20:42dom96I'll add a timestamp to the logo too to ensure this doesn't happen
19:20:44dom96Gotta love caching!
19:21:03livcdbut it looks good! gj :)
19:21:21livcdi mean overall...the logo looks weird albeit better than the old one
19:21:32FromGitter<OldhamMade> hey, I can't see anything in the chat history so wanted to check: is anyone aware https://nimble.directory is giving a "not secure" warning in Safari and Chrome?
19:21:43FromGitter<OldhamMade> looks like the certificate expired today: Wednesday, 23 May 2018 at 09:51:48 British Summer Time
19:21:57dom96federico3: oh dear ^
19:22:10YardanicoI can't even access this website because of... our government
19:22:24dom96livcd: Argh, the image url is in the CSS so I can't add a timestamp easily
19:22:26Yardanico(by blocking Telegram they block big chunks of AWS/Google/Digital Ocean)
19:22:28dom96Oh well, it's not that big of a deal
19:22:51dom96Yardanico: At least you can still VPN, right? :)
19:23:00YardanicoOf course, VPN is not blocked yet :D
19:23:00livcdYardanico: i want to flame your government and fellow citizens but maybe this is not the right chan for it :D
19:24:08livcddom96: without going into too much detail all the karax / frontend stuff is only in the frontend dir ?
19:24:38FromGitter<kayabaNerve> I'm going to leave immediately, kinda a jerk move, sorry. That said, how can I link against a C file that has functions in it? Just using the header and importc pragma isn't working. I know if I did it manually, I would compile both programs and then link the two (`gcc main.o cFile.o`). Trying to figure out the... Nim way to do things.
19:25:15dom96livcd: yep
19:25:43dom96karayabNerve: for a second I thought this was the beginning of a "I'm leaving Nim forever" post, whew.
19:25:47Araquse {.compile: "mycfile.c".}
19:26:11Yardanico@kayabaNerve ^
19:26:40Araqdon't have code in headers, but that's a C rule, not a Nim rule. I know you used C for 100 years already and have your code in headers anyway. You're special, everybody else sticks to what linkers actually support.
19:27:07Yardanicodom96 how httpbeast is used in nimforum?
19:27:43dom96Yardanico: NimForum -> Jester -> httpbeast
19:28:09dom96and: httpbeast <-> nginx <-> cloudflare of course :)
19:28:24dom96hrm, I need an emoji that signifies code
19:29:03Yardanicohttps://emojipedia.org/male-technologist/ :D
19:29:10Yardanico👨‍💻
19:29:26FromDiscord<treeform> wow new form
19:29:44Yardanicoyes!
19:30:22dom96Yardanico: Ended up using a glowing star
19:30:28dom96https://twitter.com/nim_lang/status/999371887120699392 :D
19:32:49FromDiscord<treeform> wow great feature:
19:32:50FromDiscord<treeform>
19:32:51FromDiscord<treeform> https://cdn.discordapp.com/attachments/371759389889003532/448931333063049228/unknown.png
19:32:58Yardanicolol xD
19:33:42dom96:D
19:33:50dom96Inspired by Discourse
19:34:01dom96But a big more emphasises
19:34:06dom96*emphasised
19:34:21dom96I want people who resurrect old thread to have it in their face :P
19:34:25dom96*thrads
19:34:27dom96*threads
19:34:28Araqa dark theme would make it less like Discourse
19:34:31Araq:P
19:34:32dom96omg I can't type anymore
19:34:41dom96Araq: lol, discourse has plenty of dark themes
19:34:52Araqok, so make a green theme
19:35:00Araqor blue
19:35:07Araqactually
19:35:15Araqgive us 2 color selectors
19:35:27Araqforeground and background
19:35:48Araqthen I can have dark green on brighter green and be reminded of the 70ies
19:36:04Yardanicodom96 can you please remove "moderated" from my account? https://forum.nim-lang.org/profile/Tiberium it became moderated after I changed my email (I already made an issue about that)
19:36:06livcdthe hacker theme ?
19:36:30dom96Yardanico: done
19:36:43Yardanicothanks!
19:36:59Araqlivcd, yeah
19:37:02dom96Yardanico: Yeah, hrm, that'll be a bit annoying to fix. When someone changes their email it would be great to restore their previous rank.
19:37:14Yardanicoyeah, I understand why it does that
19:37:27dom96Definitely a high priority bug though
19:37:37YardanicoMaybe we'll need to introduce yet another status? "EmailChanged"
19:37:43dom96Yeah
19:38:24dom96I should have done that from the start lol
19:38:27dom96silly me
19:38:30Araqcolor selector!
19:38:35AraqKarax needs one.
19:38:44Araqwho is up for the challenge?
19:38:51*gokr quit (Ping timeout: 256 seconds)
19:39:00Araqok, gokr is out.
19:42:15livcdcolor selector ? karax ? how is that related ?
19:42:33Araqit could be a karax component
19:43:39Araqhttps://imgur.com/a/t9O5XfS this is how things should look...
19:44:38Araqa unique theme
19:44:50Araqthat everybody can hate
19:44:58Araq:-)
19:46:10FromDiscord<treeform> Araq, I don't like this theme.
19:46:33Araqtreeform: I'm sure nobody does :-)
19:47:27YardanicoAraq my eyes :D
19:52:47FromGitter<kayabaNerve> Thanks Araq
19:52:57FromGitter<kayabaNerve> dom96: Nah. Just had to shower. Wanted to be ready when I got back
19:53:01federico3oops
19:53:21federico3and I received at least 2 emails for that :D
19:53:24FromGitter<kayabaNerve> I do love Nim. I'll be here for a while
19:54:01federico3dom96: there, refreshed
19:54:20dom96OldhamMade: ^
19:54:41dom96federico3: Are you using let's encrypt?
19:54:45federico3OldhamMade: thanks for the ping
19:55:10*cavariux quit (Ping timeout: 256 seconds)
19:55:26federico3dom96: yes. Unfortunately nginx doesn't support it natively - still
19:56:10dom96federico3: Hrm, but isn't it just a case of running their tool every n days?
19:56:13*rockcavera joined #nim
19:56:29federico3dom96: you have to shut down nginx while the tool runs
19:56:59federico3or use DNS as an alternative
19:57:21FromGitter<stisa> great work on the forum @dom96 !
19:57:25dom96oh well I'm just using it for our IRC BNC
19:57:28dom96thanks stisa!
20:01:24FromGitter<cabhishek> @dom96 no easy way to navigate back to nim-lang.org/docs from the forum ?
20:01:51dom96cabhishek: nope, I consider these separate sites now
20:03:38FromGitter<cabhishek> ok, also the `preview` tab next to `message` seems to be not working when composing a reply.
20:03:53FromDiscord<r00ster> hi
20:04:19dom96cabhishek: works fine for me
20:04:29dom96can you see any errors in the console?
20:04:32FromDiscord<r00ster> uhm im new to nim. Whats the name of the function to exit a program?
20:04:33dom96bbl
20:05:39FromDiscord<r00ster> oh its quit nevermind
20:07:13FromGitter<stisa> dom96 doesn't work for me too, on edge I get `expected 1 real 0TEXTAREA nesting 6 ` and `Error: unhandled exception: same(kxi.currentTree, getElementById(document, kxi.rootId), 0) [AssertionError]`
20:08:10*endragor joined #nim
20:08:22FromGitter<cabhishek> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b05ca36b435f21fb8c09f48]
20:08:46*qwertfisch quit (Ping timeout: 256 seconds)
20:08:49FromGitter<cabhishek> Version 66.0.3359.139 (Official Build) (64-bit) Chrome
20:08:53*qwertfisch joined #nim
20:09:40FromGitter<tim-st> just finished my nim uca implementation, it can compare unicode strings like humans actually would compare them :)
20:10:20*Ven`` joined #nim
20:12:17*endragor quit (Ping timeout: 245 seconds)
20:12:40FromGitter<mratsim> (https://files.gitter.im/nim-lang/Nim/hVTq/image-_2_.png)
20:12:43FromGitter<mratsim> ^are you human?
20:13:12Yardanicothat's really easy
20:13:19Yardanicomaybe
20:13:38YardanicoI just don't know maths in English xD
20:14:07*Ven`` quit (Client Quit)
20:14:26YardanicoIt's -4 ?
20:16:51*Ven`` joined #nim
20:17:55*Ven`` quit (Client Quit)
20:19:51FromGitter<Varriount> Yeah
20:20:14Yardanicowell, then I understood it correctly and it's very easy indeed
20:20:30Yardanicoand this captcha can be easily solved by any library made for maths, like sympy in python
20:20:34Araqit's 0
20:20:48Araq"the least" refers to the absolute value
20:20:53Araq:P
20:21:17FromDiscord<Kayaba> Araq: I have libraries in C. I don't care about the don't have code in headers rule.
20:21:26FromDiscord<Kayaba> All the code I'm writing is in Nim
20:22:05FromDiscord<Kayaba> Thanks again for the pragma
20:23:23Araqyeah I know you don't care. others care their programs do link.
20:23:46FromGitter<mratsim> the everything in header movement is strong in C/C++ land though.
20:23:56FromGitter<mratsim> “Easy, just include the header"
20:24:08FromGitter<mratsim> I blame that on the lack of proper package manager.
20:24:14FromDiscord<Kayaba> Some linkers don't allow code in headers?
20:24:59FromDiscord<Kayaba> I started with DevCpp. Moved to G++. Both have tolerated code in headers
20:25:18Araqusually the code needs to be 'inline'
20:25:37FromDiscord<Kayaba> And here it's gcc that doesn't allow code not in the header
20:25:49FromDiscord<Kayaba> Got it
20:26:10*Trustable quit (Remote host closed the connection)
20:36:19FromGitter<dom96> @stisa @cabhishek seems like a karax bug :(
20:36:33FromGitter<dom96> I'd expect this of Edge, but chrome? I tested chrome
20:38:28FromGitter<dom96> And just tested chrome on my mobile too and it works fine. Wonder what the issue is.
20:39:33*cavariux joined #nim
20:40:40*Ven`` joined #nim
20:43:36FromGitter<matrixbot> `ehmry` I like to write most of my C++ code in headers, then include it all in one compilation unit
20:43:43FromGitter<mratsim> @dom96 any plan on a reddit and HN post for the new forum?
20:44:00*cavariux quit (Ping timeout: 245 seconds)
20:44:03FromGitter<matrixbot> `ehmry` if it takes too long to compile, its bloated
20:44:41FromGitter<dom96> @mratsim yes, but I want to improve the readne
20:44:49FromGitter<dom96> Ugh. Gitter
20:44:57FromGitter<dom96> *readme
20:45:01FromGitter<dom96> So tomorrow
20:46:08FromGitter<mratsim> try to time it for US morning coffee
20:46:18*BitPuffin quit (Remote host closed the connection)
20:46:34FromGitter<mratsim> so that people discuss it while drinking coffee “wow did you see the new Nim forum, what an awesome language"
20:47:22FromGitter<stisa> @dom96 works for me too on chrome, on edge it switches tab if there's no text, otherwise it raises that AssertionError. It also complains about the implicit closing tag? in `<div id="ROOT" />` , but I think that's unrelated
20:49:53*Vladar quit (Quit: Leaving)
20:50:06FromGitter<dom96> Probably something wrong with my verbatim implementation in karax. Hopefully @Araq will be able to help out.
20:54:17*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:08:20FromGitter<data-man> @Aearnus: Sorry, I slept a bit. :) I'll continue now.
21:17:42FromGitter<data-man> Oh, I'm not a moderator on the new forum. forum2 was better. :)
21:42:06*nsf quit (Quit: WeeChat 2.1)
21:43:19*Ven`` joined #nim
21:44:09FromGitter<data-man> @dom96: We should write a new article about new forum in the blog! :)
21:44:46dom96Not sure what that article would contain that I haven't already written in that forum post
21:45:38FromGitter<data-man> Maybe more details about implementation?
21:46:46FromGitter<data-man> Feature request: links to the main site, docs, etc.
21:47:02dom96I'd rather keep that off the forum
21:47:18dom96if you want the main site then go to the main site :P
21:49:28*athenot quit (Remote host closed the connection)
21:50:02*athenot joined #nim
21:50:23FromGitter<data-man> E.g. someone on the forum will write 'see the documentation for the binarySearch, it's the best'. Uncomfortable to use, IMHO.
21:51:55*sz0 joined #nim
21:51:59FromGitter<zetashift> I also wanted to suggest adding the links to the main site docs etc
21:52:07dom96so open a new tab?
21:52:46dom96I've never clicked any of the links in the old forum's header
21:52:59FromGitter<data-man> Browsers eat memory :)
21:53:08dom96But I can appreciate if I'm breaking your habits
21:53:20*elrood quit (Quit: Leaving)
21:54:35Araqdom96, yeah a footer with links won't kill us
21:55:05dom96sure, I can add a footer
21:55:19FromGitter<zetashift> Mhmhm it's definitely not important(maybe some links at the bottom) or maybe a notice including a short message like : https://elixirforum.com/
21:55:28FromGitter<zetashift> oh well footer is fine ;p
21:55:29dom96I have some other links that will need a place somewhere and I would like to avoid a hamburger menu :)
21:56:03FromGitter<zetashift> ah okay. I think the main thing I needed to say was
21:56:14dom96no links in that message :)
21:56:17FromGitter<zetashift> new layout looks awesome, great work
21:56:23dom96zetashift: thanks!
21:56:45FromGitter<zetashift> yea, I ment more a notice that's somewhat visually like that but content a bit more explanatory
22:00:18FromGitter<data-man> Oh, the idea! Special tag for reference to the docs. With a spoiler containing a description of the proc, type, etc.
22:14:15FromGitter<data-man> And yet, why is the icon of a moderator a horse? :)
22:14:24dom96cabhishek: what OS? I have Version 66.0.3359.181 (Official Build) (64-bit)
22:19:24FromGitter<cabhishek> OS X `Darwin 16.7.0 Darwin Kernel Version 16.7.0: Thu Jan 11 22:59:40 PST 2018; root:xnu-3789.73.8~1/RELEASE_X86_64 x86_64`
22:21:43FromGitter<cabhishek> I confirmed "preview" works fine on Safari and FireFox
22:22:55dom96I'm on OSX too
22:23:00dom96Probably older OSX though
22:28:25dom96odd, in any case, Araq is graciously looking into it now :)
22:28:34dom96but I must sleep now
22:30:41FromGitter<cabhishek> @dom96 awesome. thanks
22:33:49FromDiscord<awr> the new nim forum looks cool, but the nim icon on the top looks
22:33:55FromDiscord<awr> stretched
22:36:21FromGitter<data-man> @awr: 💯
22:42:44FromDiscord<awr> maybe its just the way webkit resamples pngs or something
22:43:08FromDiscord<awr> the logo on the main main page is a svg and looks sharp
22:43:17*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:43:44FromDiscord<awr> (predictably, being a vector)
22:44:17FromGitter<data-man> Check on Firefox, if it installed.
22:48:11FromDiscord<awr> renders sharp on firefox
22:49:54FromDiscord<awr> i tried it in three browsers
22:49:58FromDiscord<awr> firefox = sharp
22:50:10FromDiscord<awr> chrome = sort of sharp
22:50:23FromDiscord<awr> vivaldi (webkit/blink) = blurry
22:51:57FromDiscord<awr> i don't really know why vivaldi renders differently from chrome, seeing as vivaldi is chrome-based
22:52:50FromDiscord<awr> https://imgur.com/nTNrNNn
22:54:06*CodeVance quit (Read error: Connection reset by peer)
22:54:24*CodeVance joined #nim
22:54:50*athenot quit (Ping timeout: 245 seconds)
23:01:21FromGitter<zetashift> yea I have no problems on firefox with blur or anything
23:14:34*Snircle joined #nim
23:25:16*gangstacat quit (Ping timeout: 256 seconds)
23:26:16*gangstacat joined #nim
23:41:27*leorize joined #nim
23:45:44*leaf__ joined #nim
23:46:07*leaf__ is now known as Guest599
23:47:06Guest599hey, is there a way to pause/resume a function without turning it into a state machine? something like the yield feature in other languages
23:54:10*Guest599 quit (Ping timeout: 260 seconds)
23:57:42FromGitter<data-man> @Guest599: How you can pause a function in C/C++, e.g.? :)