IRC logs for #trustable for Tuesday, 2017-03-28

*** chrispolin has quit IRC01:24
*** chrispolin has joined #trustable01:25
*** AlisonChaiken has joined #trustable05:18
*** ctbruce has joined #trustable07:35
*** toscalix has joined #trustable08:54
*** sambishop has quit IRC09:33
*** sambishop has joined #trustable09:48
*** sebbu has joined #trustable10:01
sebbuhi10:01
KinnisonGood morning sebbu10:04
*** sambishop has quit IRC10:05
*** sambishop has joined #trustable10:06
sebbui found the channel from the logs by searching about cert-c / misra-c10:08
*** locallycompact has joined #trustable10:09
* Kinnison believes there may be people here who can talk usefully about those topics. I'm afraid I'm more interested in the tooling side of things :-)10:09
KinnisonA lot of the cert-c and misra-c people hang out on the mailing list rather than on IRC though10:10
* locallycompact has had a toy with this SAT stuff in Purescript for kicks http://locallycompact.gitlab.io/SMTSandbox/10:11
KinnisonSpecifically https://lists.trustable.io/cgi-bin/mailman/listinfo/c-safe-secure-studygroup10:11
Kinnisonsebbu: ^^10:11
sebbuchecking ^^10:21
rjekhttps://daniel.haxx.se/blog/2017/03/27/curl-is-c/10:21
* Kinnison nods. that was linked from /r/rustlang/ yesterday10:21
locallycompactThat is utterly pathetic reasoning10:24
rjek"C runs in more places than Rust does" is pretty important10:25
locallycompact"Does building a house out of liquid shit require more carefulness and more tricks than building the same house out of solid brick? Yes it does, but what does that matter"10:25
*** locallycompact has quit IRC10:27
*** locallycompact has joined #trustable10:27
KinnisonHaving seen a lot of the complexity of what cURL has to deal with, "Rewriting means adding heaps of bugs" is the most compelling argument there I think10:27
locallycompact" The simple fact is that most of our past vulnerabilities happened because of logical mistakes in the code. Logical mistakes that aren’t really language bound and they would not be fixed simply by changing language." is false10:28
KinnisonSome languages can make it harder to make logic errors; but you can't eliminate them entirely in any given language10:30
sebbuwell, you make a do while instead of a while, a > instead of a >=, etc...10:31
sebbuno languages will prevent that10:31
jmacsKinnison: That's absolutism10:46
Kinnisonjmacs: How do you mean?10:46
jmacsIt's a common argument used to denounce any attempt at reducing errors on the basis that you cannot remove them all10:47
jmacsSome logical mistakes are language bound10:48
KinnisonI fear we're about to violently agree.10:49
jmacsWell, that's no fun.10:50
KinnisonSorry :-/10:50
KinnisonPerhaps I didn't make my point well enough.  I was trying to say that switching to any given language is not going to be a way to eliminate all possible logic errors.10:50
jmacsNo10:51
jmacsThat doesn't mean it's not worthwhile though10:52
rjekMore importantly, there will be functionality bugs (ie, missing features) for years.10:53
jmacsI agree with all those points and the "wrtiting adds heaps of bugs" statement10:54
*** toscalix has quit IRC10:54
jmacsBut every bit of code will be rewritten.10:54
jmacsIf curl is not rewritten, something else will take its place10:55
KinnisonEventually, yes.10:56
KinnisonBut likely not until something other than C comes center-stage10:56
jmacsI'm happy to accelerate that process too10:57
locallycompactWhat infuriates me is that I can not browse something (say the curl source), find something I like, pull it in and lob a typeclass over the top.11:00
locallycompactAll programs are monoliths11:01
locallycompactin C11:01
locallycompactSo everything always comes down to a "total rewrite"11:02
jmacsType-checking bolt-ons exist for javascript and python (probably not to your level of type-safety though). Is it something we could do with C, or is it impossible?11:03
locallycompactType class is like a logic interface11:03
locallycompactWhen I browse a haskell source and see a nice type I can think "That would be good as a monoid/profunctor/whatever", and then you can do it, and then it will work with all code for that type class no effort needed11:04
locallycompactClosest thing is like an interface in java11:06
locallycompactor C#11:06
locallycompactBut less boilerplate11:06
jmacsA java interface is just a pure abstract class in c++11:07
Kinnisonlocallycompact: Or a Trait in Rust presumably11:07
locallycompactright that too11:08
KinnisonThough Rust's traits have certain completeness/correctness constraints that make them slightly less universal than Haskell typeclasses11:08
sebbulocallycompact, you can't do it either in java, C++, javascript, perl, php or python11:28
sebbu(take a small part of a source, get it out, reuse it immediately)11:28
sebbujmacs, except when such class will use glib, qt, boost, eclipse sdk, rails or similar11:29
locallycompactyes, those are all worth burying/incinerating11:29
sebbuand you're forced to use it too11:29
sebbui'm not a fan of functionnal programming (syntax/paradigm with no variables), although i very much like the no-side effects guarantee11:30
sebbuand there's some kind of side-effects that i do like, ie aspect-programming11:31
locallycompactno side effects, nothing ever run that doesn't get used, solve every problem in the universe with a handful of abstractions11:32
locallycompactand rarely in over 100 lines11:32
* Kinnison finds the abstraction of FP to be very attractive, but that oftentimes grokking *why* something works in (say) Haskell can be harder than grokking *how* it works in something moderately more imperative such as Rust11:33
* locallycompact appreciates11:34
locallycompactbut I'm way past the bell curve on that one, nothing imperative can be quicker to read for me now11:35
Kinnison:-)11:36
*** locallycompact has quit IRC13:25
*** locallycompact has joined #trustable13:25
*** sambishop has quit IRC13:50
*** locallycompact has quit IRC13:51
*** tiagogomes has quit IRC13:51
*** ctbruce has quit IRC13:51
*** tiagogomes has joined #trustable13:54
*** ctbruce has joined #trustable13:54
*** locallycompact has joined #trustable13:55
*** sambishop has joined #trustable13:55
*** sambishop has quit IRC14:27
*** sambishop has joined #trustable14:31
*** AlisonChaiken has quit IRC14:32
*** ctbruce has quit IRC15:20
*** locallycompact has quit IRC17:12
*** locallycompact has joined #trustable20:39
*** locallycompact has quit IRC20:55
*** tiagogomes has quit IRC21:43

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!