Live data from Hacker News

Tor in a safer language: Network team update from Amsterdam

lists.torproject.org

81–90 of 254 posts

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

#81
post #21
post #5

I don't know much about Tor. But I hope I can route all of my home network traffic through it. That or route everything through VPN. I'll bet you can guess why I'm suddenly interested.

Founder of https://easyvpnrouter.com/ ask me anything or how to build one yourself if you want a project

We use OpenDNS for safer kid surfing and logging. Can I get similar functionality? Your FAQ says you use "Private Internet Access’ custom DNS servers".

Also, what about the Netflix issue?

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

#82
post #79

Earlier quoted context omitted.

So was Erlang. The language, the runtime, and the standard library were all purpose-built together to solve a real world problem... to build fault-tolerant, distributed network applications. Which makes Go's rapid popularity as a language for solving the same problem even more peculiar. Especially since Go's surrounding tracing, debugging, and online code swapping facilities are so much worse. I'm sure some component…

> So was Erlang. The language, the runtime, and the standard library were all purpose-built together to solve a real world problem... to build fault-tolerant, distributed network applications. I'm probably outing myself as the lord regent of all impostor plebs, but Erlang is not IMO an approachable language regardless of its origins. Put differently : it looks completely nuts. I'm sure there's a method to the madness…

Erlang is a very simple language. It doesn't look like C, but it has a very basic syntax and a narrow set of core constructs.

Elixir by comparison is significantly more complicated, but the fact that it looks tacitly like Ruby is apparently very attractive.

I suspect I could sit down with you for an hour and remove all the weirdest seeming bits which feel alien. Such that the rest of it would just feel like any other programming language, and you'd be able to immediately start dissecting and understanding other people's code.

Part of the problem with Erlang (again an evangelism problem) is that there's not much in the way of attractive and we'll structured on-boarding documentation. It's mostly really simple. It's just that the Erlang docs seem to go to great lengths to obfuscate that fact. In large part because they don't do anything to intentionally build "background schema" with the reader by drawing comparisons to similar things they're probably already familiar with in other ecosystems.

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

#83

As a mere average user of computer languages, every time I play around with Go I start wondering how a language like this became so popular. It feels like it was invented in a universe where Haskell, OCaml, Erlang, Smalltalk, Lisp and so many more languages and research in languages never happened.

Sometimes I think the syntactical difference of functional languages alone is the reason they're unpopular. Iterative languages seem to match more closely how people speak/think in verbal language.

It may match more with the way we speak but not really the way we think, imho. When you ask someone to do something you usually just give him a general description of what the end result would be and then add more details if necessary. You don't tell him exactly what to do step by step from the start to the end, because you don't really care most of the time. Markup and declarative style are closer to the way we think.

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

#84
post #35

Earlier quoted context omitted.

To be honest, you can probably also pick up Lisp in a weekend, experienced programmer or not. The syntax is also simpler.

But all those parentheses! I know it sounds like a lame reason to dislike a language, but I've always found staring at Lisp to be so much more difficult and distracting than C-style syntax.

    printf("Hello world");
Lisp mode, move left parenthesis, remove semicolon

    (printf "Hello world")
Second round

    if (var == 2) {
      do_something1 ();
    } else {
      do_something2 ();
    }
Lisp mode, move left parenthesis, remove semicolon and curly brackets

    (if (= var 2)
        (do_something1)
        (do_something2)
    )
On a big source file I am not sure if the amount of parenthesis is bigger than parenthesis , bracket, curly brackets and semicolons counted together.

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

#85

Earlier quoted context omitted.

Go is designed for average programmers working in a huge organization. That's why its dullness is a virtue.

So, Java?

No, Java has become too advanced for the typical Go developer.

Too many features.

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

#86
post #62

As a mere average user of computer languages, every time I play around with Go I start wondering how a language like this became so popular. It feels like it was invented in a universe where Haskell, OCaml, Erlang, Smalltalk, Lisp and so many more languages and research in languages never happened.

If you're used to dynamic languages, it gives you type safety and performance for little effort. I love Python but always wished for a simple, type-safe language; Go gives me that. It's not worse than Python IMHO.

Without support for meta-classes, annotations, generators, iterators and list comprehensions it surely is worse.

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

#87
post #9

Earlier quoted context omitted.

you can, but it's not really nice, because TOR is relatively slow, it only makes sense for heavily text based sites and not images/video etc.

*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/

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

#88
post #4

I am curious why they were advised not to use Go. Probably not a safety concern. Edit: cgo != Go. Thanks for the responses. I have done a bit of Go, but just pure Go.

They were advised against cgo. In my not so recent experience, it is a huge PITA.

I never understood the idea behind cgo instead of having a proper FFI like Delphi, .NET, Eiffel and so many other languages.

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

#89

As a mere average user of computer languages, every time I play around with Go I start wondering how a language like this became so popular. It feels like it was invented in a universe where Haskell, OCaml, Erlang, Smalltalk, Lisp and so many more languages and research in languages never happened.

> As a mere average user of computer languages, every time I play around with Go I start wondering how a language like this became so popular. You can pick it up in a weekend. A lower entry bar means more people will try it out. > It feels like it was invented in a universe where Haskell, OCaml, Erlang, Smalltalk, Lisp and so many more languages and research in languages never happened. It was developed in a large en…

[I apologize for the absurdly snarky and ranty post, but I'm going to do it anyway:]

> You can pick it up in a weekend. A lower entry bar means more people will try it out.

... and then you get the JavaScript situation where everyone thinks they're an actual programmer at $TEAM_LEAD level of sophistication when it comes to modeling, design, architecture, testing and implementation... but they're really not. It's not their fault per se, it's just that they do not have the necessary experience to realize the areas that they're lacking in. (This is a well-known cognitive bias: More than 50% of people think that they're an above-average driver. There are a precious few who realize that they're not -- they are the exception.)

Programming is hard[1] and if there was an instant-humbling device, I'd buy it in spades.

[1] Most people focus on the "oh, that's Undefined Behavior" bits of it, but it's not really about that. It's about recognizing the types of mistakes that you make and working to avoid them or creating a system that does, whether that's by testing or proof or whatever. Obviously it still has to be _practical_, but AGAIN... it's about tradeoffs. If you don't care about correctness, I'm pretty sure I can whip up a "solution" to any problem that's fast as hell... and not correct. Summa summarum: I think we need to be thinking a lot more in terms of tradeoffs and not so much in absolutes.

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

#90

Earlier quoted context omitted.

1) Two words: "begin" and "end"; 2) Unix, C is so fundamental to building software, that I think any language that doesn't share syntax with it is doomed. Having a common syntax helps in learning new languages, IMO, and can also be a launching point for differing semantics...

I'll give you it's overly verbose even though quite a bit of it was justifiable. The theory of Ada's designers was that people read software more than write it. So, the syntax should be designed to facilitate catching errors in maintenance mode, during extensions, or during integrations. It's done phenomenal at that per industrial, case studies despite having been invented in the 80's when lots of language decisions…

> I keep thinking a different language that acts as a front end w/ a better syntax might be a good idea... Also, a seemless FFI for C libraries like Julia's.

You mean Rust I think ;)

Post reply on HN