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:02 | Sahnvour | hi |
09:57:36 | Sahnvour | new nim user here, I have a noobish question to ask |
09:59:03 | infinity0 | hi 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:09 | infinity0 | the first error is: gcc: error: «BUILDDIR»/nim-0.11.2+dfsg1/compiler/nimcache/nimsrc_cgen.o: No such file or directory |
09:59:15 | infinity0 | does anyone have a clue why that could possibly happen |
09:59:19 | * | Trustable joined #nim |
09:59:29 | infinity0 | (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:43 | bogen | infinity0: 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:59 | infinity0 | lol parallel 1 wtf |
10:10:20 | bogen | infinity0: I'm using default FreeBSD though, not Debian/KFreeBSD |
10:10:37 | infinity0 | hm 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:41 | bogen | well, that limits nim to 1 thread while building |
10:10:51 | bogen | how many cores in your VM? |
10:10:52 | infinity0 | ah ok. i thought it was like -j1 |
10:10:56 | infinity0 | 8 cores for me |
10:11:04 | infinity0 | my own vm is limited to 1 core though |
10:11:07 | infinity0 | aha, maybe that's why |
10:11:18 | infinity0 | i'll try to give it more cores and see if i can reproduce the failure, thanks! |
10:11:19 | bogen | yeah, --parallelBuild:1 is -j1 |
10:12:06 | infinity0 | oh, i thought that would be the default |
10:12:28 | bogen | no, the default is 0, not 1. 0 is autodetect |
10:15:28 | bogen | I 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:06 | infinity0 | hm ok |
10:17:13 | infinity0 | well i'm using gcc because that's easier for debian |
10:17:13 | bogen | there might be another issue, clang is assumed I think for freebsd, the debian/kfreebsd build is using gcc |
10:17:18 | infinity0 | it worked before on 1 core |
10:17:44 | bogen | I've not tried building nim with gcc on freebsd, I could try that |
10:17:49 | infinity0 | ok my vm reporduces the build failure with >1 core |
10:18:11 | infinity0 | thanks, i will work around this. i guess we should probably file another bug? |
10:19:09 | bogen | yeah |
10:19:38 | bogen | so, with gcc and clang it fails with parallel builds |
10:19:46 | bogen | in the current state |
10:20:59 | infinity0 | yeah |
10:21:10 | * | unclechu joined #nim |
10:21:49 | bogen | so, the buildbot shows the failure, and the debian buildd shows the failure, you could file reference both |
10:23:10 | infinity0 | yeah. 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:26 | Sahnvour | what's the canonical way to write and name complex initializers for compound types in nim ; ie not using field initialization ? |
10:51:09 | flyx | Sahnvour: the stlib usually has proc newMyType(params): ref MyType |
10:53:38 | Sahnvour | thanks |
11:28:43 | * | filwit joined #nim |
11:37:47 | infinity0 | managed 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:57 | infinity0 | ah well, i'll pause this madness here :p |
11:45:37 | filwit | lol infinity0. That sounds cool actually |
11:45:56 | filwit | anyways. 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:37 | Araq | infinity0: gnu hurd encrypts pointers for "security" and thus breaks our GC |
12:22:48 | Araq | (just an educated guess ...) |
12:25:34 | Araq | bogen: no idea why parallebuild still fails on FreeLSD, there have been bugfixes for this, are you on devel? |
12:30:18 | Sahnvour | FreeLSD, 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:16 | bogen | Araq: I'm on devel, because the non devel lacks some bug fixes I need |
14:23:19 | federico3 | randomizes or encrypts? |
14:27:09 | bogen | Araq: parallelbuild works find on the standard nim package for FreeBSD |
14:29:25 | bogen | works fine... |
14:31:36 | * | BitPuffin|osx quit (Ping timeout: 264 seconds) |
14:33:18 | bogen | federico3: https://sourceware.org/glibc/wiki/PointerEncryption (a glibc "security" feature) |
14:35:40 | federico3 | why the scare quotes? |
14:41:07 | * | yglukhov joined #nim |
14:42:55 | bogen | that 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:48 | bogen | security 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:25 | federico3 | is 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:36 | Araq | federico3: 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:31 | Araq | it'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:27 | federico3 | wait, what? |
14:55:51 | Araq | oooh so it protects exactly the stuff that it's on the live CD anyway. ridiculous. |
14:56:31 | Araq | federico3: but to answer your question, yes Nim doesn't need heap randomization. |
14:57:56 | Araq | these are all hacks for the fact that C cannot do bounds checking |
15:07:19 | bogen | Araq: 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:30 | federico3 | *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:13 | Araq | federico3: 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:39 | jonathon | Hi! 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:50 | Araq | jonathon: it's a security feature when a download doesn't work. (just kidding) |
15:28:54 | jonathon | lol |
15:34:23 | jonathon | http://pastie.org/private/mnry9apweav6cytfytrjzg |
15:35:35 | * | jszymanski quit (Ping timeout: 256 seconds) |
15:36:20 | * | jszymanski joined #nim |
15:40:48 | jonathon | any idea where to start debugging this? or could anyone replicate it so i know whether it's just me? |
15:40:56 | federico3 | yes, good luck figuring out how to compare different binaries |
15:45:57 | Araq | federico3: it's not hard dude |
15:47:03 | renesac | but 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:45 | renesac | reproduceable builds are much simpler for them |
15:48:33 | Araq | surely patching every tool that produces a timestamp and keep doing this for every new tool that comes along is much "simpler" |
15:49:01 | federico3 | Araq: go talk to them |
15:49:03 | renesac | they hope the upstream take care of it |
15:49:22 | renesac | and yes, it seems more reliable |
15:50:01 | Araq | and all they need to do is to demonize time stamps. that's not simple. that's pathetic. |
15:50:09 | federico3 | (btw, it's not just about timestamps, there's more stuff that can leak in during the build) |
15:51:06 | Araq | not too mention that "reproducible" doesn't imply what you think it implies |
15:52:10 | Araq | it 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:09 | renesac | but that backdoor must be in the source code |
15:56:22 | Araq | jonathon: doesn't work for me either |
15:57:37 | Araq | in fact, when you read "trusting trust" the whole point of his talk is that reproducible builds do not prevent these things. |
16:01:43 | jonathon | Araq: 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:37 | jonathon | I'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:51 | onionhammer | @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:33 | jonathon | New 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:55 | onionhammer | @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:16 | infinity0 | reproducible 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:44 | infinity0 | "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:17 | infinity0 | with reporducible builds, we know that (secure tools) => { binary == source }, without reproducible builds we can't make any such statement |
18:23:14 | infinity0 | (secure tools being themselves also reproducible, with hashes stored in the buildinfo of the binary results) |
18:23:22 | infinity0 | s/secure/maybe-secure |
18:24:49 | infinity0 | anyway, for the freebsd parallel builds thing i have been testing 0.11.2 |
18:25:26 | infinity0 | but as i got from the first bug, the fix was "use clang" which doesn't seem great |
18:25:40 | infinity0 | and clang fails on whatever bogen was testing with |
18:28:24 | infinity0 | (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:56 | infinity0 | s/point is that/point that |
18:30:55 | Araq | for 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:32 | Araq | you might as well buy CPUs that are immune to radiation |
18:32:22 | Araq | and pretend you develop software for NASA |
18:33:14 | infinity0 | well, we'll see the state of things in a few decades. cost-benefit analysis is inherently hard for this sort of thing. |
18:33:32 | infinity0 | however, 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:52 | infinity0 | there is no path to reach our ideal goal (of eliminating "trusting trust") where we don't have reporducible builds |
18:46:10 | Araq | you'll also never get there with string-ly typed designs |
18:48:08 | Varriount | onionhammer: ? |
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:08 | Sahnvour | how 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:53 | dom96 | 'discard' |
19:20:23 | Sahnvour | right, thanks dom96 |
19:21:46 | dom96 | np |
19:27:54 | bogen | infinity0: another issues with the debian/kfreebsd nim build failing might be libc/glibc related |
19:28:33 | bogen | infinity0: their maybe freebsd conditionals that include work arounds for freebsd's libc, whereas debian/freebsd uses glibc |
19:29:20 | bogen | https://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:33 | jonathon | dom96: quickest pull request merge evar :) |
19:49:07 | dom96 | too quick |
19:49:17 | dom96 | Read my comments |
19:49:26 | jonathon | ooup |
19:49:45 | jonathon | give me a mo |
19:50:17 | dom96 | np |
19:54:39 | jonathon | Right, maybe this time. :) |
19:55:49 | dom96 | yep |
19:56:33 | jonathon | nice |
20:23:14 | * | BitPuffin|osx joined #nim |
20:35:30 | jonathon | Which 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:10 | Araq | jonathon: 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:18 | jonathon | Right, thanks |
20:39:30 | jonathon | It'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:00 | Yaiyan | Anyone got any suggestions for things to code to learn nim? |
21:05:44 | dv- | timsort |
21:05:55 | Araq | Yaiyan: check out our gsoc project |
21:06:07 | Araq | (which wasn't accepted but the ideas are great) |
21:08:10 | Araq | r-ku: ping |
21:10:04 | * | gokr joined #nim |
21:15:49 | Yaiyan | Araq, sure, cheers |
21:15:57 | Yaiyan | You weren't accepted? :( |
21:16:14 | Yaiyan | I only discovered Nim today, but it seems bigger than a lot of other projects that often are |
21:18:19 | dom96 | Yaiyan: websocket library |
21:18:29 | dom96 | everybody wants one, but we don't have one |
21:18:39 | Yaiyan | That would involve learning nim, and learning sockets ;) |
21:18:46 | Yaiyan | Of which I currently know neither |
21:20:55 | dom96 | hmmm |
21:21:19 | dom96 | Yaiyan: what sort of projects have you written in other languages? |
21:22:05 | Yaiyan | Not a lot of finished stuff, but anything that's not insanely technical I can take a shot at, heh |
21:22:14 | Yaiyan | Just want something small-ish to help learn it more than anything |
21:25:19 | * | jonathon|afk is now known as jonathon |
21:25:41 | jonathon | Yaiyan: make a "simple" cli weather update app |
21:25:55 | Yaiyan | jonathon, hmm, good idea |
21:25:57 | jonathon | get data from a web page, parse it, output |
21:26:07 | jonathon | hits a lot of aspects |
21:26:12 | Yaiyan | I'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:45 | onionhammer | @varriount http://i.imgur.com/OtWzJji.png |
23:09:11 | onionhammer | i need help testing as always; if anyone wants to help you need NimLime, ST2 or 3, and nimsuggest |
23:12:01 | Varriount | O_o |
23:12:12 | Varriount | I'm guessing that's a feature new to ST3? |
23:15:04 | onionhammer | yeap |
23:15:38 | onionhammer | it renders html |
23:15:43 | onionhammer | so it's pretty flexible |
23:17:30 | onionhammer | Varriount it would be great if we could have it on hover |
23:17:33 | onionhammer | mouseover ;) |
23:21:42 | Varriount | onionhammer: Does ST3 have mouse move events? |
23:24:38 | Varriount | onionhammer: 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:12 | SirCmpwn | how can I define a proc that mutates an object passed in through the parameters? |
23:54:13 | Araq | proc p(x: var string) = x = "you might want to read something about Nim somewhere" |
23:54:39 | SirCmpwn | I defined a type and tried to use var in the parameters |
23:54:49 | SirCmpwn | but it gives me "illegal capture" |
23:55:05 | SirCmpwn | I figured I was missing something special about objects in particular |
23:55:09 | Araq | don't capture it then ;-) |
23:55:15 | SirCmpwn | I don't know what capturing it means ;_; |
23:55:34 | Araq | you cannot capture a 'var T' in a closure as that wouldn't be memory safe |
23:55:56 | SirCmpwn | oh, this proc is decorated with {.async.}, does that have side effects? |
23:56:15 | Araq | indeed, it transforms the body of your proc into a closure |
23:56:20 | SirCmpwn | I see |
23:57:06 | Araq | I wonder if C# has the same limitation or if they lift it onto the heap instead |
23:57:18 | SirCmpwn | works as expected in C# |
23:57:25 | SirCmpwn | C# is pretty generous |
23:57:44 | SirCmpwn | which can lead to shooting yourself in the foot, admittedly |
23:57:44 | Araq | you can use ref in a C# async method? |
23:57:57 | SirCmpwn | all objects are passed by reference |
23:58:02 | SirCmpwn | ref is only relevant on value types |
23:58:14 | SirCmpwn | all objects are heap allocated in C# |
23:58:30 | Araq | don't lecture me |
23:58:44 | SirCmpwn | you asked the question, dickhead |
23:59:04 | Araq | I asked about 'ref' which is nim's 'var' |
23:59:15 | Araq | didn't ask for how class works in C# |
23:59:17 | SirCmpwn | still being a dickhead |
23:59:35 | Araq | it's the one thing I cannot stand... ;-) |
23:59:36 | SirCmpwn | ref in C# doesn't make sense when talking about objects |
23:59:41 | Araq | it does |
23:59:46 | SirCmpwn | so your question was nonsense and required more elaboration |
23:59:53 | Araq | nope. |