<< 01-08-2015 >>

00:01:41*strcmp1 joined #nim
00:22:30*drewsrem quit (Quit: Leaving)
00:35:49*solidsnack joined #nim
00:40:02*solidsnack quit (Client Quit)
00:49:10*solidsnack joined #nim
00:58:47*solidsnack quit (Read error: Connection reset by peer)
01:08:09*Sahnvour joined #nim
01:10:59*Sahnvour quit (Client Quit)
01:14:12*Gonzih quit (Ping timeout: 264 seconds)
01:22:37*filwit quit (Quit: Leaving)
01:26:00*Gonzih joined #nim
01:28:13*porglezomp quit (Ping timeout: 252 seconds)
01:30:04*porglezomp joined #nim
01:58:24*Pisuke joined #nim
01:58:50*vendethiel quit (Ping timeout: 240 seconds)
01:59:01*MyMind quit (Read error: Connection reset by peer)
02:01:27*Pisuke quit (Read error: No route to host)
02:02:18*Pisuke joined #nim
02:05:49*Pisuke quit (Read error: Connection reset by peer)
02:06:27*Sembei joined #nim
02:10:20*Sembei quit (Read error: No route to host)
02:11:12*Sembei joined #nim
02:14:51*MyMind joined #nim
02:15:04*Sembei quit (Read error: Connection reset by peer)
02:19:00*MyMind quit (Read error: No route to host)
02:19:31*Pisuke joined #nim
02:22:49*Pisuke quit (Read error: No route to host)
02:23:03*Sembei joined #nim
02:26:48*Sembei quit (Read error: Connection reset by peer)
02:27:10*MyMind joined #nim
02:30:24*MyMind quit (Read error: No route to host)
02:31:50*MyMind joined #nim
02:34:30*MyMind quit (Read error: No route to host)
02:35:43*MyMind joined #nim
02:39:23*MyMind quit (Read error: No route to host)
02:39:31*Pisuke joined #nim
02:43:16*Pisuke quit (Read error: Connection reset by peer)
02:43:40*Sembei joined #nim
02:47:00*Sembei quit (Read error: No route to host)
02:48:26*Sembei joined #nim
02:51:58*Sembei quit (Read error: No route to host)
02:52:34*MyMind joined #nim
02:55:07*MyMind quit (Read error: No route to host)
02:56:03*MyMind joined #nim
02:59:37*MyMind quit (Read error: No route to host)
03:00:09*Pisuke joined #nim
03:03:36*Pisuke quit (Read error: No route to host)
03:04:32*Sembei joined #nim
03:06:56*darkf joined #nim
03:07:41*Sembei quit (Read error: No route to host)
03:08:28*MyMind joined #nim
03:11:50*jefus quit (Ping timeout: 240 seconds)
03:11:58*MyMind quit (Read error: No route to host)
03:13:10*MyMind joined #nim
03:15:43*MyMind quit (Read error: No route to host)
03:17:17*MyMind joined #nim
03:19:53*MyMind quit (Read error: No route to host)
03:20:46*MyMind joined #nim
03:24:18*MyMind quit (Read error: Connection reset by peer)
03:25:34*MyMind joined #nim
03:28:26*MyMind quit (Read error: No route to host)
03:29:05*Pisuke joined #nim
03:29:24*yglukhov joined #nim
03:32:13*Pisuke quit (Read error: No route to host)
03:32:18*jefus joined #nim
03:33:12*Pisuke joined #nim
03:33:45*yglukhov quit (Ping timeout: 240 seconds)
03:36:25*Pisuke quit (Read error: No route to host)
03:37:55*Pisuke joined #nim
03:40:50*Pisuke quit (Read error: No route to host)
03:41:27*Sembei joined #nim
03:44:59*Sembei quit (Read error: Connection reset by peer)
03:46:10*Sembei joined #nim
03:49:30*Sembei quit (Read error: No route to host)
03:50:17*MyMind joined #nim
03:53:14*MyMind quit (Read error: No route to host)
03:54:07*MyMind joined #nim
03:57:24*MyMind quit (Read error: Connection reset by peer)
03:58:32*MyMind joined #nim
04:01:10*MyMind quit (Read error: No route to host)
04:02:05*MyMind joined #nim
04:05:20*MyMind quit (Read error: No route to host)
04:06:11*MyMind joined #nim
04:09:33*MyMind quit (Read error: No route to host)
04:10:55*MyMind joined #nim
04:14:00*MyMind quit (Read error: Connection reset by peer)
04:15:02*MyMind joined #nim
04:17:36*MyMind quit (Read error: No route to host)
04:18:34*MyMind joined #nim
04:21:55*MyMind quit (Read error: No route to host)
04:23:19*MyMind joined #nim
04:26:14*MyMind quit (Read error: No route to host)
04:26:48*Pisuke joined #nim
04:27:01*pregressive quit (Remote host closed the connection)
04:30:42*Pisuke quit (Read error: Connection reset by peer)
04:31:33*Pisuke joined #nim
04:35:01*Sembei joined #nim
04:35:05*Pisuke quit (Read error: No route to host)
04:38:31*Sembei quit (Read error: Connection reset by peer)
04:39:51*Sembei joined #nim
04:42:46*Sembei quit (Read error: Connection reset by peer)
04:43:21*MyMind joined #nim
04:46:36*MyMind quit (Read error: No route to host)
04:47:42*MyMind joined #nim
04:50:44*MyMind quit (Read error: Connection reset by peer)
04:51:35*Pisuke joined #nim
04:54:47*Pisuke quit (Read error: No route to host)
04:56:18*Pisuke joined #nim
04:59:10*Pisuke quit (Read error: No route to host)
04:59:50*Sembei joined #nim
05:03:21*Sembei quit (Read error: No route to host)
05:04:34*Sembei joined #nim
05:07:32*Sembei quit (Read error: Connection reset by peer)
05:08:07*MyMind joined #nim
05:11:52*MyMind quit (Read error: Connection reset by peer)
05:12:45*MyMind joined #nim
05:16:22*Pisuke joined #nim
05:16:31*MyMind quit (Read error: No route to host)
05:19:52*Pisuke quit (Read error: Connection reset by peer)
05:21:02*Pisuke joined #nim
05:24:38*Pisuke quit (Read error: No route to host)
05:24:57*Sembei joined #nim
05:27:48*Sembei quit (Read error: No route to host)
05:29:21*Sembei joined #nim
05:31:57*Sembei quit (Read error: No route to host)
05:32:48*Sembei joined #nim
05:37:02*Sembei quit (Read error: No route to host)
05:37:34*MyMind joined #nim
05:40:24*MyMind quit (Read error: Connection reset by peer)
05:41:01*Pisuke joined #nim
05:44:17*Pisuke quit (Read error: No route to host)
05:45:10*Pisuke joined #nim
05:48:49*Pisuke quit (Read error: No route to host)
05:49:29*Sembei joined #nim
05:52:30*Sembei quit (Read error: No route to host)
05:53:24*Sembei joined #nim
05:57:15*Sembei quit (Read error: Connection reset by peer)
05:58:10*Sembei joined #nim
06:00:43*Sembei quit (Read error: No route to host)
06:02:19*Sembei joined #nim
06:05:29*Sembei quit (Read error: Connection reset by peer)
06:06:27*Sembei joined #nim
06:09:53*Sembei quit (Read error: No route to host)
06:10:00*MyMind joined #nim
06:13:13*MyMind quit (Read error: No route to host)
06:14:45*MyMind joined #nim
06:17:16*MyMind quit (Read error: No route to host)
06:18:50*MyMind joined #nim
06:19:05*jszymanski joined #nim
06:19:21*yglukhov joined #nim
06:22:08*MyMind quit (Read error: No route to host)
06:22:20*Pisuke joined #nim
06:25:42*Pisuke quit (Read error: No route to host)
06:27:05*Pisuke joined #nim
06:29:54*Pisuke quit (Read error: No route to host)
06:31:13*Pisuke joined #nim
06:34:40*Sembei joined #nim
06:34:50*Pisuke quit (Read error: No route to host)
06:38:23*Sembei quit (Read error: Connection reset by peer)
06:38:53*MyMind joined #nim
06:42:21*MyMind quit (Read error: No route to host)
06:43:31*MyMind joined #nim
06:46:31*MyMind quit (Read error: Connection reset by peer)
06:47:07*Pisuke joined #nim
06:50:02*yglukhov quit (Remote host closed the connection)
06:50:31*Pisuke quit (Read error: No route to host)
06:51:46*Pisuke joined #nim
07:05:21*mytrile joined #nim
07:55:50*BitPuffin|osx quit (Ping timeout: 240 seconds)
08:13:03*zahary joined #nim
08:28:00*[CBR]Unspoken1 quit (Ping timeout: 272 seconds)
09:01:48*X67r joined #nim
09:01:57*yglukhov joined #nim
09:06:06*X67r quit (Ping timeout: 240 seconds)
09:06:10*yglukhov quit (Ping timeout: 240 seconds)
09:08:32*vendethiel joined #nim
09:10:03*X67r joined #nim
09:33:21*filcuc joined #nim
09:34:55*jszymanski quit (Quit: computer sleeps...)
09:56:45*Sahnvour joined #nim
09:57:02Sahnvourhi
09:57:36Sahnvournew nim user here, I have a noobish question to ask
09:59:03infinity0hi guys https://buildd.debian.org/status/fetch.php?pkg=nim&arch=kfreebsd-amd64&ver=0.11.2%2Bdfsg1-2&stamp=1438295991 i can't reproduce this on my own debian kfreebsd-amd64 vm
09:59:09infinity0the first error is: gcc: error: «BUILDDIR»/nim-0.11.2+dfsg1/compiler/nimcache/nimsrc_cgen.o: No such file or directory
09:59:15infinity0does anyone have a clue why that could possibly happen
09:59:19*Trustable joined #nim
09:59:29infinity0(my own vm builds fine)
10:02:08*boopisaway is now known as boop
10:02:16*boop is now known as boopisaway
10:09:43bogeninfinity0: not sure. FreeBSD currently won't build for me without --parallelBuild:1 http://buildbot.nim-lang.org/waterfall (current FreeBSD builds are failing agaiin)
10:09:59infinity0lol parallel 1 wtf
10:10:20bogeninfinity0: I'm using default FreeBSD though, not Debian/KFreeBSD
10:10:37infinity0hm yeah and my vm should be pretty much the same as the debian buildd's, at latest "unstable", i really need access to one of the actual build machines
10:10:41bogenwell, that limits nim to 1 thread while building
10:10:51bogenhow many cores in your VM?
10:10:52infinity0ah ok. i thought it was like -j1
10:10:56infinity08 cores for me
10:11:04infinity0my own vm is limited to 1 core though
10:11:07infinity0aha, maybe that's why
10:11:18infinity0i'll try to give it more cores and see if i can reproduce the failure, thanks!
10:11:19bogenyeah, --parallelBuild:1 is -j1
10:12:06infinity0oh, i thought that would be the default
10:12:28bogenno, the default is 0, not 1. 0 is autodetect
10:15:28bogenI have to use --parallelBuild:1 on everything with nim after I get it built on FreeBSD. This was fixed for a while, but it broke again. https://github.com/nim-lang/Nim/issues/1934 that is closed, but it is failing again, and the current waterfall status shows that
10:17:06infinity0hm ok
10:17:13infinity0well i'm using gcc because that's easier for debian
10:17:13bogenthere might be another issue, clang is assumed I think for freebsd, the debian/kfreebsd build is using gcc
10:17:18infinity0it worked before on 1 core
10:17:44bogenI've not tried building nim with gcc on freebsd, I could try that
10:17:49infinity0ok my vm reporduces the build failure with >1 core
10:18:11infinity0thanks, i will work around this. i guess we should probably file another bug?
10:19:09bogenyeah
10:19:38bogenso, with gcc and clang it fails with parallel builds
10:19:46bogenin the current state
10:20:59infinity0yeah
10:21:10*unclechu joined #nim
10:21:49bogenso, the buildbot shows the failure, and the debian buildd shows the failure, you could file reference both
10:23:10infinity0yeah. will file the bug after i get the build to work :)
10:30:01*xcombelle joined #nim
10:30:40*strcmp1 quit (Quit: Leaving)
10:40:25*unclechu quit (Ping timeout: 246 seconds)
10:41:14*unclechu joined #nim
10:46:26Sahnvourwhat's the canonical way to write and name complex initializers for compound types in nim ; ie not using field initialization ?
10:51:09flyxSahnvour: the stlib usually has proc newMyType(params): ref MyType
10:53:38Sahnvourthanks
11:28:43*filwit joined #nim
11:37:47infinity0managed to build nim for gnu hurd using the linux sources and defining PATH_MAX = 8192, MAP_POPULATE = 0 but then the resulting binary segfaults
11:37:57infinity0ah well, i'll pause this madness here :p
11:45:37filwitlol infinity0. That sounds cool actually
11:45:56filwitanyways. g2g bye
11:45:59*filwit quit (Quit: Leaving)
11:56:08*drewsrem joined #nim
12:12:02*UberLambda joined #nim
12:12:56*UberLambda quit (Read error: Connection reset by peer)
12:13:40*jszymanski joined #nim
12:22:37Araqinfinity0: gnu hurd encrypts pointers for "security" and thus breaks our GC
12:22:48Araq(just an educated guess ...)
12:25:34Araqbogen: no idea why parallebuild still fails on FreeLSD, there have been bugfixes for this, are you on devel?
12:30:18SahnvourFreeLSD, seems nice :p
13:01:28*k1i quit (Ping timeout: 240 seconds)
13:01:58*k1i joined #nim
13:11:19*mytrile quit ()
13:32:22*vendethiel quit (Ping timeout: 246 seconds)
13:39:36*vendethiel joined #nim
13:45:00*BitPuffin|osx joined #nim
14:22:16bogenAraq: I'm on devel, because the non devel lacks some bug fixes I need
14:23:19federico3randomizes or encrypts?
14:27:09bogenAraq: parallelbuild works find on the standard nim package for FreeBSD
14:29:25bogenworks fine...
14:31:36*BitPuffin|osx quit (Ping timeout: 264 seconds)
14:33:18bogenfederico3: https://sourceware.org/glibc/wiki/PointerEncryption (a glibc "security" feature)
14:35:40federico3why the scare quotes?
14:41:07*yglukhov joined #nim
14:42:55bogenthat question for me or Araq? :) because encypting pointer breaks other form of GC as well. randomizing pointers is one thing. but even stuff like https://en.wikipedia.org/wiki/XOR_linked_list breaks some GC https://en.wikipedia.org/wiki/XOR_linked_list#Drawbacks
14:46:48bogensecurity to what end? No I'm not anti security. heap randomization while it take an initial hit to set it up, and one can't hardcode a fixed heap start, is minor compared to pointer mangling and de mangling. I guess the GC could do a pointer demangle on each address sized value it suspectes to be a pointer, but that would get a expensive fast.
14:52:25federico3is Nim meant to be safe enough not to need pointer encryption (or even heap randomization)?
14:53:12*xcombelle quit (Remote host closed the connection)
14:53:36Araqfederico3: I'm anti "security". last time I checked on unix based systems routinely 40K loc configure scripts can easily upload everything of your $home to some random server. the unix definition of "security" can kiss my ass.
14:54:22*jefus quit (Remote host closed the connection)
14:54:31Araqit's an academic pseudo-definition where everything that might be useful for end users has been left out because it's perhaps harder to deal with.
14:55:27federico3wait, what?
14:55:51Araqoooh so it protects exactly the stuff that it's on the live CD anyway. ridiculous.
14:56:31Araqfederico3: but to answer your question, yes Nim doesn't need heap randomization.
14:57:56Araqthese are all hacks for the fact that C cannot do bounds checking
15:07:19bogenAraq: as far as security, yes there is an extreme imbalance... one should do all builds in sandboxed build system (for "security" and dependency issues) but for practical every day use justing needing to build a few things outside of package management, it becomes more hassle than it is worth. So in regards to security/anti-security, because of the extreme imbalanaces, the points you make are valid, so I'm not going to argue them. And yeah, C not d
15:11:01*xet7_ joined #nim
15:15:14*xet7 quit (Ping timeout: 272 seconds)
15:20:30federico3*cough* reproducible builds
15:22:20*UberLambda joined #nim
15:23:55*xet7_ quit (Remote host closed the connection)
15:24:11*jonathon joined #nim
15:24:13Araqfederico3: that's just a euphemism for "we couldn't figure out how to filter timestamps in our comparison function"
15:24:18*xet7_ joined #nim
15:26:38*Trustable quit (Remote host closed the connection)
15:26:39jonathonHi! With httpclient, using getContent, trying to set a proxy with 'getContent(url="blah", proxy = newProxy("http://127.0.0.1:8118") )'. The URL returns data fine without a proxy, but with proxy returns 404. The proxy itself works fine in e.g. Firefox. Am I missing something obvious?
15:28:50Araqjonathon: it's a security feature when a download doesn't work. (just kidding)
15:28:54jonathonlol
15:34:23jonathonhttp://pastie.org/private/mnry9apweav6cytfytrjzg
15:35:35*jszymanski quit (Ping timeout: 256 seconds)
15:36:20*jszymanski joined #nim
15:40:48jonathonany idea where to start debugging this? or could anyone replicate it so i know whether it's just me?
15:40:56federico3yes, good luck figuring out how to compare different binaries
15:45:57Araqfederico3: it's not hard dude
15:47:03renesacbut they need to make a hack for each binary they want to distribute, and keep it update for random changes the upstream may have
15:47:45renesacreproduceable builds are much simpler for them
15:48:33Araqsurely patching every tool that produces a timestamp and keep doing this for every new tool that comes along is much "simpler"
15:49:01federico3Araq: go talk to them
15:49:03renesacthey hope the upstream take care of it
15:49:22renesacand yes, it seems more reliable
15:50:01Araqand all they need to do is to demonize time stamps. that's not simple. that's pathetic.
15:50:09federico3(btw, it's not just about timestamps, there's more stuff that can leak in during the build)
15:51:06Araqnot too mention that "reproducible" doesn't imply what you think it implies
15:52:10Araqit can easily do introduce a backdoor based on some external data like the computer's clock time, the currently logged in user etc etc etc
15:54:09renesacbut that backdoor must be in the source code
15:56:22Araqjonathon: doesn't work for me either
15:57:37Araqin fact, when you read "trusting trust" the whole point of his talk is that reproducible builds do not prevent these things.
16:01:43jonathonAraq: thanks for checking that. i think there may be a bug in the proxy handling code. getContent with proxy is setting the host header to the proxy host, which is different to what e.g. curl is doing: http://pastie.org/private/ws03oatotj9s028aqreg
16:03:37jonathonI'll report an issue and see what comes of it. :)
16:05:48*xet7_ quit (Read error: Connection reset by peer)
16:05:57*xet7_ joined #nim
16:10:59*darkf quit (Quit: Leaving)
16:21:26*xet7_ quit (Read error: Connection reset by peer)
16:21:34*xet7_ joined #nim
16:26:51onionhammer@varriount were you ever to get nimsuggest to work for you? i just got it working again locally for me..
16:27:21*xet7_ quit (Read error: Connection reset by peer)
16:27:37*xet7_ joined #nim
16:27:46*xet7_ is now known as xet7
16:29:33jonathonNew issue: https://github.com/nim-lang/Nim/issues/3166
16:31:15*yglukhov quit (Remote host closed the connection)
16:42:59*xet7_ joined #nim
16:46:25*xet7 quit (Ping timeout: 256 seconds)
17:06:42*yglukhov joined #nim
17:11:03*yglukhov quit (Ping timeout: 255 seconds)
17:19:21*drewsrem quit (Quit: Leaving)
17:19:35*Yaiyan joined #nim
17:25:07*cazov_ is now known as cazov
17:43:06*perturbation joined #nim
17:44:55onionhammer@varriount show_popup (!!!)
17:52:43*nande joined #nim
18:08:56*nande quit (Read error: Connection reset by peer)
18:18:19*UberLambda quit (Quit: GTG)
18:20:16infinity0reproducible builds is to make FOSS actually FOSS, i.e. "more confidence" that binary == source. yes backdoors are still possible but harder, since they would have to backdoor everyone
18:20:44infinity0"trusting trust" does not mean reproducible build are ineffective, "diverse double compilation" explains that
18:21:10*filcuc quit (Remote host closed the connection)
18:21:32*filcuc joined #nim
18:22:17infinity0with reporducible builds, we know that (secure tools) => { binary == source }, without reproducible builds we can't make any such statement
18:23:14infinity0(secure tools being themselves also reproducible, with hashes stored in the buildinfo of the binary results)
18:23:22infinity0s/secure/maybe-secure
18:24:49infinity0anyway, for the freebsd parallel builds thing i have been testing 0.11.2
18:25:26infinity0but as i got from the first bug, the fix was "use clang" which doesn't seem great
18:25:40infinity0and clang fails on whatever bogen was testing with
18:28:24infinity0(to return to the repro-builds thing, maybe the point is that the tools are also themselves reproducible, and their hashes are remembered for each binary result, is what people are missing)
18:28:56infinity0s/point is that/point that
18:30:55Araqfor me this is all completely detached from reality. for me it's obvious that nobody did a proper cost vs benefit analysis for these things and i bet not a single realworld backdoor has been prevented by these stunts.
18:31:32Araqyou might as well buy CPUs that are immune to radiation
18:32:22Araqand pretend you develop software for NASA
18:33:14infinity0well, we'll see the state of things in a few decades. cost-benefit analysis is inherently hard for this sort of thing.
18:33:32infinity0however, this strategy is fundamentally different from the encrypt-pointers thing, in that "in the ideal world we can imagine" it is *necessary* work
18:33:52infinity0there is no path to reach our ideal goal (of eliminating "trusting trust") where we don't have reporducible builds
18:46:10Araqyou'll also never get there with string-ly typed designs
18:48:08Varriountonionhammer: ?
18:50:28*pregressive joined #nim
18:53:39*titanomachy quit (Ping timeout: 255 seconds)
19:03:50*yglukhov joined #nim
19:07:50*yglukhov quit (Ping timeout: 240 seconds)
19:11:08*xet7_ is now known as xet7
19:19:08Sahnvourhow would one define a variant type that, for some values of its discriminator, introduces no new field ? What i've found is using an 'else: none: void' clause for this, but i wonder if there is something fancier
19:19:53dom96'discard'
19:20:23Sahnvourright, thanks dom96
19:21:46dom96np
19:27:54bogeninfinity0: another issues with the debian/kfreebsd nim build failing might be libc/glibc related
19:28:33bogeninfinity0: their maybe freebsd conditionals that include work arounds for freebsd's libc, whereas debian/freebsd uses glibc
19:29:20bogenhttps://wiki.debian.org/Debian_GNU/kFreeBSD_FAQ#Q._Why_was_the_choice_made_to_use_glibc.3F
19:37:21*onionhammer quit (Read error: Connection reset by peer)
19:38:09*onionhammer joined #nim
19:47:00*titanomachy joined #nim
19:48:33jonathondom96: quickest pull request merge evar :)
19:49:07dom96too quick
19:49:17dom96Read my comments
19:49:26jonathonooup
19:49:45jonathongive me a mo
19:50:17dom96np
19:54:39jonathonRight, maybe this time. :)
19:55:49dom96yep
19:56:33jonathonnice
20:23:14*BitPuffin|osx joined #nim
20:35:30jonathonWhich is better for string interpolation: "Words " & variable & " more words" , or "Words $1 more words" % [variable] ?
20:39:10*zahary quit (Read error: Connection reset by peer)
20:39:10Araqjonathon: first is currently faster, but eventually they will be of the same speed. use what you like better
20:39:15*zahary1 joined #nim
20:39:18jonathonRight, thanks
20:39:30jonathonIt's also one less import :)
20:47:59*jszymanski quit (Quit: computer sleeps...)
20:56:55*jonathon is now known as jonathon|afk
21:04:00YaiyanAnyone got any suggestions for things to code to learn nim?
21:05:44dv-timsort
21:05:55AraqYaiyan: check out our gsoc project
21:06:07Araq(which wasn't accepted but the ideas are great)
21:08:10Araqr-ku: ping
21:10:04*gokr joined #nim
21:15:49YaiyanAraq, sure, cheers
21:15:57YaiyanYou weren't accepted? :(
21:16:14YaiyanI only discovered Nim today, but it seems bigger than a lot of other projects that often are
21:18:19dom96Yaiyan: websocket library
21:18:29dom96everybody wants one, but we don't have one
21:18:39YaiyanThat would involve learning nim, and learning sockets ;)
21:18:46YaiyanOf which I currently know neither
21:20:55dom96hmmm
21:21:19dom96Yaiyan: what sort of projects have you written in other languages?
21:22:05YaiyanNot a lot of finished stuff, but anything that's not insanely technical I can take a shot at, heh
21:22:14YaiyanJust want something small-ish to help learn it more than anything
21:25:19*jonathon|afk is now known as jonathon
21:25:41jonathonYaiyan: make a "simple" cli weather update app
21:25:55Yaiyanjonathon, hmm, good idea
21:25:57jonathonget data from a web page, parse it, output
21:26:07jonathonhits a lot of aspects
21:26:12YaiyanI'll try that, cheers :)
21:28:05*jonathon left #nim (#nim)
21:30:10*gmpreussner|lapt joined #nim
21:37:22*hardmath123 joined #nim
21:40:18*hardmath123 left #nim ("So long, and thanks for all the fish.")
21:44:14*yglukhov joined #nim
21:48:50*gmpreussner|lapt quit (Quit: Leaving)
21:49:00*yglukhov quit (Ping timeout: 264 seconds)
21:51:19*Demon_Fox quit (Quit: Leaving)
21:58:45*elbow_jason quit (Ping timeout: 252 seconds)
22:02:36*unclechu quit (Remote host closed the connection)
22:07:32*Trustable joined #nim
22:25:36*elbow_jason joined #nim
22:25:55*elbow quit (Ping timeout: 244 seconds)
22:33:12*Trustable quit (Remote host closed the connection)
22:36:15*wan joined #nim
22:38:08*elbow joined #nim
22:41:55*perturbation quit (Quit: Leaving)
23:08:45onionhammer@varriount http://i.imgur.com/OtWzJji.png
23:09:11onionhammeri need help testing as always; if anyone wants to help you need NimLime, ST2 or 3, and nimsuggest
23:12:01VarriountO_o
23:12:12VarriountI'm guessing that's a feature new to ST3?
23:15:04onionhammeryeap
23:15:38onionhammerit renders html
23:15:43onionhammerso it's pretty flexible
23:17:30onionhammerVarriount it would be great if we could have it on hover
23:17:33onionhammermouseover ;)
23:21:42Varriountonionhammer: Does ST3 have mouse move events?
23:24:38Varriountonionhammer: How about using an eventlistener with on_selection_modified, and showing the popup when someone double-clicks a variable/identifier?
23:30:24*johnsoft quit (Ping timeout: 264 seconds)
23:30:41*johnsoft joined #nim
23:33:48*dddddd joined #nim
23:43:50*filcuc quit (Ping timeout: 240 seconds)
23:44:48*dddddd quit (Ping timeout: 264 seconds)
23:52:53*SirCmpwn joined #nim
23:53:12SirCmpwnhow can I define a proc that mutates an object passed in through the parameters?
23:54:13Araqproc p(x: var string) = x = "you might want to read something about Nim somewhere"
23:54:39SirCmpwnI defined a type and tried to use var in the parameters
23:54:49SirCmpwnbut it gives me "illegal capture"
23:55:05SirCmpwnI figured I was missing something special about objects in particular
23:55:09Araqdon't capture it then ;-)
23:55:15SirCmpwnI don't know what capturing it means ;_;
23:55:34Araqyou cannot capture a 'var T' in a closure as that wouldn't be memory safe
23:55:56SirCmpwnoh, this proc is decorated with {.async.}, does that have side effects?
23:56:15Araqindeed, it transforms the body of your proc into a closure
23:56:20SirCmpwnI see
23:57:06AraqI wonder if C# has the same limitation or if they lift it onto the heap instead
23:57:18SirCmpwnworks as expected in C#
23:57:25SirCmpwnC# is pretty generous
23:57:44SirCmpwnwhich can lead to shooting yourself in the foot, admittedly
23:57:44Araqyou can use ref in a C# async method?
23:57:57SirCmpwnall objects are passed by reference
23:58:02SirCmpwnref is only relevant on value types
23:58:14SirCmpwnall objects are heap allocated in C#
23:58:30Araqdon't lecture me
23:58:44SirCmpwnyou asked the question, dickhead
23:59:04AraqI asked about 'ref' which is nim's 'var'
23:59:15Araqdidn't ask for how class works in C#
23:59:17SirCmpwnstill being a dickhead
23:59:35Araqit's the one thing I cannot stand... ;-)
23:59:36SirCmpwnref in C# doesn't make sense when talking about objects
23:59:41Araqit does
23:59:46SirCmpwnso your question was nonsense and required more elaboration
23:59:53Araqnope.