Live data from Hacker News

Tor in a safer language: Network team update from Amsterdam

lists.torproject.org

231–240 of 254 posts

Re: Tor in a safer language: Network team update from Amsterdam

#231

How has this community reached the point where the vast majority of comments on this decision are arguing about Go, which isn't even the language that they picked?

pg's early essays like http://www.paulgraham.com/avg.html and http://www.paulgraham.com/power.html drew a crowd who want to see language design move in the polar opposite direction. From that viewpoint, Tor only barely dodged a bullet.

Re: Tor in a safer language: Network team update from Amsterdam

#232
post #87

Earlier quoted context omitted.

*This and almost every CDN starts popping up 'Captchas' atleast the last time I tried.. I find it easier to setup a VPN server and use one.

*This and some sites block completely if they use cloudflare for example https://blog.cloudflare.com/the-trouble-with-tor/

Please forward to me any Cloudflare site on which you still see a CAPTCHA.

Re: Tor in a safer language: Network team update from Amsterdam

#234
post #158
post #106

Earlier quoted context omitted.

I totally agree that code should be written to be read. It certainly wouldn't hurt if people simply used a more literate programming style no matter what language they choose Far too many people think code as below is acceptable. This is C obviously, but pretty much equal horrors around in every language. This isn't 1994 and the compiler really doesn't care how long your variable names are, plus EatWhite() is pretty…

> This is C obviously No, that's C++.

It is C.

Re: Tor in a safer language: Network team update from Amsterdam

#235
post #158

Earlier quoted context omitted.

> This is C obviously No, that's C++.

You can't say that definitively based on that code. It could very well be C code. There's nothing there syntactically that a straight C compiler would barf on.

Absolutely correct.

Re: Tor in a safer language: Network team update from Amsterdam

#236
post #168
post #140

Earlier quoted context omitted.

Because again you are deviating from the industry standard completely portable lingua-franca language that is designed explicitly for precisely these types of problem spaces, and is perfectly in tune with the OS and existing standard library. What would be the advantage, just improved memory safety guarantees for people working on the project? If that's the case start again from scratch and the first thing you do is…

You can do all of these things in C - but at the point that you're enforcing use of your Safexxxx() functions, you've already given up on the industry standard. You can't use the normal OS libraries; you've got to route everything through your special functions. The advantage of Rust is, honestly, that it has a community of people who are excited to do this sort of work in a language. At least 50% of the advantage of…

So basically what it comes down to is the argument for building it in Rust is there are some excited people.

And is funny you talk about community, since as the guys on slashdot and others pointed out, the community of people who can use and work in C effectively is orders of magnitudes more than Rust. Have you any idea how many Linux Kernel developers there are alone?

http://m.slashdot.org/story/324469

Building API's specific to the use case is part of our jobs as professional developers.

Abstracting a few things things isn't "rewriting libc", that is just general practice for most decent size projects.

Anyway, the decision is made, so the whole thing is moot at this point.

Re: Tor in a safer language: Network team update from Amsterdam

#237
post #236
post #168

Earlier quoted context omitted.

You can do all of these things in C - but at the point that you're enforcing use of your Safexxxx() functions, you've already given up on the industry standard. You can't use the normal OS libraries; you've got to route everything through your special functions. The advantage of Rust is, honestly, that it has a community of people who are excited to do this sort of work in a language. At least 50% of the advantage of…

So basically what it comes down to is the argument for building it in Rust is there are some excited people. And is funny you talk about community, since as the guys on slashdot and others pointed out, the community of people who can use and work in C effectively is orders of magnitudes more than Rust. Have you any idea how many Linux Kernel developers there are alone? http://m.slashdot.org/story/324469 Building API'…

> the community of people who can use and work in C effectively is orders of magnitudes more than Rust

The key word here is "effectively." For the purposes at hand, effectiveness includes memory-safety. Do you know of a single project that implements cmsg(3) in C or C++ in a memory-safe, well-typed, cross-platform way? Or a project where I can submit a pull request and expect it to be reviewed, tested across platforms, and fixed?

I do genuinely believe that the community of people who can use and work in C effectively, in the sense of effectiveness that I and the Tor Project are interested in, is orders of magnitudes smaller than Rust.

I have a very good idea of how many Linux kernel developers there are - and also how many high-severity security bugs there are. I'm a coauthor of a research paper where we wanted to talk about exploitable security bugs in Linux, so we sat down and found a local privilege escalation in hours (CVE-2009-0024).

Re: Tor in a safer language: Network team update from Amsterdam

#238
post #141

Earlier quoted context omitted.

It is for me. Could not figure out advanced tools like Maven or gradle. Maybe it was beneath Java experts at Sun/Oracle develop simple cli tool that could compile a java project with one command.

'gradle build' Unless the project is very badly configured, that should be all you need to compile it. Now, writing those .gradle files...

> Now, writing those .gradle files...

Gradle build files have confusing syntax. Just knowing which lines have an equals sign and which don't is a bit of work.

Re: Tor in a safer language: Network team update from Amsterdam

#239
post #188

Earlier quoted context omitted.

Galois, Facebook and Microsoft are some examples, and all ML derived languages tend to be used for data modelling in the financial sector. https://wiki.haskell.org/Haskell_in_industry https://ocaml.org/learn/companies.html

Erm Facebook is built on PHP, Microsoft on C++ (or C#) and I've never heard of Galois. I mean the fact that there is even an exhaustive "Haskell in industry" page at all shows you how rare it is. There isn't a "C++ in industry" page! I did actually find a Go one here: https://github.com/golang/go/wiki/GoUsers But it's both hilariously long and also obviously not exhaustive.

If you mean https://wiki.haskell.org/Haskell_in_industry, it is not exhaustive. The first three Haskell startups to come to mind (AlphaSheets, LeapYear, Takt) are all missing - as is the (very limited) use at Uber.

Re: Tor in a safer language: Network team update from Amsterdam

#240

Earlier quoted context omitted.

A non commercial University research group and commercial Corporation research group can be focused on solving very different problems. I think Pike and the other designers skew more towards corporate research (Bell Labs). And surely the development of GO as well as other Google research projects are intended to win in the market place.

It's probably useful to look at the goals that the designers of go had when they designed the language. All other discussions seem irrelevant about what go has or doesn't have if it wasn't one of the goals. Pike, et al, weren't interested in solving metaphorically "your" programming language problems. They wanted to solve problems they observed at Google and just happened to open source the resulting language. From h…

IIRC Pike worked on concurrent programming models long before entering Google.
Post reply on HN