There's a famous story that's a good example here, I think: George Dantzig solved two open problems in statistical theory, which he had mistaken for homework after arriving late to a lecture at university.
> In 1939, a misunderstanding brought about surprising results. Near the beginning of a class, Professor Neyman wrote two problems on the blackboard. Dantzig arrived late and assumed that they were a homework assignment. According to Dantzig, they "seemed to be a little harder than usual", but a few days later he handed in completed solutions for both problems, still believing that they were an assignment that was overdue. Six weeks later, an excited Neyman eagerly told him that the "homework" problems he had solved were two of the most famous unsolved problems in statistics. He had prepared one of Dantzig's solutions for publication in a mathematical journal. This story began to spread and was used as a motivational lesson demonstrating the power of positive thinking. Over time, some facts were altered, but the basic story persisted in the form of an urban legend and as an introductory scene in the movie Good Will Hunting.
On the other hand, if projects like this, as a side effect, increase the number of relays, and normalize using Tor, it's a win for everyone. Quiet should pay for a few servers to be used as relays and exit nodes, and also encourage users to do so, or to donate to that.
(Quiet founder here) We already support Tor financially and will probably also run relays someday!
Quiet is a founding member of Tor's Onion Services Resource Coalition, which started in response to last year's DDoS against the Tor network, which affected onion service connection times. Alongside a small circle of other affected products we helped Tor raise enough to hire ~2 full-time engineers to work on onion service reliability, which had been a bit underfunded because onion services only represent a small share of Tor's existing usage.
(Quiet dev here.) Correct. Quiet traffic does not use Tor exit nodes, though we might use them someday, e.g. for fetching preview metadata when you post a link.
A broadly used application that requires tor for everyday use would be beneficial for the general normalization of tor. How would many people using quiet be anything but a step in the direction of general normalization of tor?
You don't get to choose what flows through your exit node.
It could be a Chinese dissident, it could be someone accessing a child porn forum.
When authorities go to track down the IP that sent requests to another, your IP will be the one listed on that request with no ability to trace back what IP actually sent the request so it will be difficult to not pin you for whatever was accessed.
You don't get to choose what flows through your exit node.
This is why it is important to bookmark ExoneraTor [1] so that one can prove the IP in question is/was a Tor exit node accepting that it would still be a PITA to deal with boots-on-neck and legal fallout.
That said one could block some of the known illegal sites via DNS and IP null routing on the exit node at the risk of the Tor network flagging it as a malicious exit node.
My only assumption that would need citation (that I cannot give, I admit) is that currently the proportion of shady users is much higher on Tor than on the general Internet. From here, it's pure and simple logic: as more users transition to Tor (asymptotically all of them), this proportion can only decrease.
1. there's no clear indication whether the Tor userbase grows. Indeed, I would suspect the constant mobile is a hindrance
2. There's no clear indication in which direction the online CP people grow. They can be more or less over time. I am unaware of any studies because it's obviously extremely hard to measure.
> Racklog is an embedding of Prolog-style logic programming in Racket. “Embedding” means you don’t lose Racket: You can use Prolog-style and conventional Racket code fragments alongside each other. Racklog contains the full repertoire of Prolog features, including meta-logical and second-order (“set”) predicates, leaving out only those features that could more easily and more efficiently be done with Racket subexpressions.
There is also Minikanren. While not the same as Prolog, it still allows you to do similar reasoning from inside your language. I always found the talk by Byrd and Friedman about it at RacketCon fascinating and wish I would get to use it or something like it at $job.
This is also the common pattern for using Prolog in Common Lisp. It goes back to the first generation AI days back in the 70s. Peter Norvig's Lisp AI book has a nice rundown.
>Racket also has GUI, and basically everything else you may need.
How about good docs and examples, community, decent perf for small apps at least?
Racket newbie here. Had just played around with a little some years back when it was called MZ Scheme, PLT Scheme or such. There was an IDE called Dr Scheme, IIRC. I guess all that is part of Racket now.
Docs - oh boy. 90% of contributors to Racket are educators with many decades of experience teaching. The quality, depth, organization, interlinking, examples, references to papers... basically everything about Racket docs is at the level you just don't see anywhere else. Both the reference and guide are works of art. You get Realms of Racket and Beautiful Racket on top of that. Programming Languages: Application and Interpretation you'd find on the same shelf as SICP. How to Design Programs should be mandatory reading (and an antidote for the mind) for every OOP-focused dev out there (though, by the time they're "OOP-focused" they're most likely a lost cause anyway...) What's funny here is that Racket includes an OOP system, which is also described with incredible detail and thoughtfulness. The way they derive mixins from first-class anonymous classes is beautiful and enlightening. I've learned so much from docs.racket-lang.org that no other single resource can even begin to compare.
Performance: closer to Groovy, Clojure or Raku than to Python, Ruby or JS. That is, startup is not as fast, but execution after that is decent. For a few years, performance improvements were not the focus of development due to the migration from custom VM to Chez Scheme. Now Racket on Chez is the default and I think we'll see further improvements on that front (easier maintenance and better potential performance were the reasons behind the migration IIRC.)
The community is small, and the core strength of Racket is not something normal programmers use in day to day programming (that strength being the ability to shape the syntax and semantics of your code at will, ad hoc, anytime, with no friction at all, in any way you want). On the other hand, the results of giving that power to a bunch of very smart people are really worth seeing.
Don't forget that most of those VB apps you've seen were hacked together by amateurs, engineers, business and finance people, not professional programmers. It was great for their productivity. They automated their work, and they couldn't have done it in C.
https://www.smbc-comics.com/comic/the-talk-3