trentmkelly/LessWrong-43k huggingface dataset:
Cryptography/Software Engineering Problem: How to make LW 1.0 logins work on LW 2.0
by habryka — 2018-03-16T04:01:48.301Z

So, as part of making the transition to LessWrong.com smooth, I've been working on trying to get the old passwords to work on the new site. Now I want to be very careful with this, since it's super easy to mess up crypto and I have no interest in leaking everyone's private info from the old site (or messing up authentication for the new site)

The current situation is that we have the old password hashes (SHA1 hashes) from the LW 1.0 database, as well as their corresponding salts. And we are running on the Meteor Accounts system on the new page, which uses bCrypt for hashing.

The Meteor accounts system is designed so that you can't really override any of its login procedures, probably to avoid users shooting themselves in the foot. Meteor also hashes the passwords on the client, so on the server we have no access to what password the user typed into the password field. This puts us into a bit of a dilemma about how to deal with the old passwords.

So to summarize, we have the following variables:

lw1_hash_function(password, salt); lw_1_password_hash(user); lw_1_password_salt(user); authenticate_lw2_client(plaintext_password); authenticate_lw2_server(password_hash); set_lw2_password(plaintext_password, user)

Besides setting passwords, these are really all the functions we can access. Now, there is one thing we could do that would work, but that seems like a somewhat hacky solution to me, so I wanted to get input from people who are better at crypto than me:

First, we set everyone's password to be equivalent to their old LW1 hashes (i.e. they could log in if they would type in their old LW1 password hash into the password field). This means their original plaintext password would now have gone through two hashing functions, once the LW1 hash function, and then again through the LW2 hash function.

Then when the login request arrives on the server, we check whether the user is using one of the old LW1 accounts, and if they do, we send back an error to the client (and this is where I am hesitant), together with the lw_1_password_salt for the user they are trying to login with. On receiving that error, the client uses the old lesswrong hash function (lw1_hash_function()), and combines the password they just typed in with the salt they just received, and then tries to login again with the resulting hash (which would now succeed for legacy user...
The Costly Coordination Mechanism of Common Knowledge
by Ben Pace — 2018-03-15T20:20:41.566Z

Recently someone pointed out to me that there was no good canonical post that explained the use of common knowledge in society. Since I wanted to be able to link to such a post, I decided to try to write it.

The epistemic status of this post is that I hoped to provide an explanation for a standard, mainstream idea, in a concrete way that could be broadly understood rather than in a mathematical/logical fashion, and so the definitions should all be correct, though the examples in the latter half are more speculative and likely contain some inaccuracies.

Let's start with a puzzle. What do these three things have in common?

Dictatorships all through history have attempted to suppress freedom of the press and freedom of speech. Why is this? Are they just very sensitive? On the other side, the leaders of the Enlightenment fought for freedom of speech, and would not budge an inch against this principle.
When two people are on a date and want to sleep with each other, the conversation will often move towards but never explicitly discuss having sex. The two may discuss going back to the place of one of theirs, with a different explicit reason discussed (e.g. "to have a drink"), even if both want to have sex.
Throughout history, communities have had religious rituals that look very similar. Everyone in the village has to join in. There are repetitive songs, repetitive lectures on the same holy books, chanting together. Why, of all the possible community events (e.g. dinner, parties, etc) is this the most common type?

What these three things have in common, is common knowledge - or at least, the attempt to create it.

Before I spell that out, we’ll take a brief look into game theory so that we have the language to describe clearly what’s going on. Then we’ll be able to see concretely in a bunch of examples, how common knowledge is necessary to understand and build institutions.

Prisoner's Dilemmas vs Coordination Problems

To understand why common knowledge is useful, I want to contrast two types of situations in game theory: Prisoner’s Dilemmas and Coordination Problems. They look similar at first glance, but their payoff matrices have important differences.

The Prisoner's Dilemma (PD)

You’ve probably heard of it - two players have the opportunity to cooperate, or defect against each other, based on a story about two prisoners being offered a deal if they testify against the othe...
Welcome to LessWrong Israel [Edit With Your Details]
by Joshua_Fox — 2018-03-15T15:51:06.114Z

(The following are our suggestions for what kind of information is best to include in the welcome post of your group, feel free to replace them with whatever you think is best)

What kind of events does your group usually run? What does it usually do?

How frequently does your group organize events or meet?

Who would be a good fit for you group?

Should they have any particular skills or have done some specific background reading?
Using lying to detect human values
by Stuart_Armstrong — 2018-03-15T11:37:05.408Z

In my current research, I've often re-discovering things that are trivial and obvious, but that suddenly become mysterious. For instance, it's blindingly obvious that the anchoring bias is a bias, and almost everyone agrees on this. But this becomes puzzling when we realise that there is no principled ways of deducing the rationality and reward of irrational agents.

Here's another puzzle. Have you ever seen someone try and claim that they have certain values that they manifestly don't have? Seen their facial expression, their grimaces, their hesitation, and so on.

There's an immediate and trivial explanation: they're lying, and they're doing it badly (which is why we can actually detect the lying). But remember that there is no way of detecting the preferences of an irrational agent. How can someone lie about something that is essentially non-existent, their values? Even if someone knew their own values, why would the tell-tale signs of lying surface, since there's no way that anyone else could ever check their values, even in principle?

But here evolution is helping us. Humans have a self-model of their own values; indeed, this is what we use to define what those values are. And evolution, being lazy, re-uses the self-model to interpret others. Since these self-models are broadly similar from person to person, people tend to agree about the rationality and values of other humans.

So, because of these self-models, our own values "feel" like facts. And because evolution is lazy, lying and telling the truth about our own values triggers the same responses as lying or telling the truth about facts.

This suggests another way of accessing the self-model of human values: train an AI to detect human lying and misdirection on factual matters, then feed that AI a whole corpus of human moral/value/preference statements. Given the normative assumption that lying on facts resembles lying on values, this is another avenue by which AIs can learn human values.

So far, I've been assuming that human values are a single, definite object. In my next post, I'll look at the messy reality of under-defined and contradictory human values.
Upcoming stability of values
by Stuart_Armstrong — 2018-03-15T11:36:56.990Z

What would you say to someone old who hadn't changed their values since they were five years old?

What would you say to anyone old who hadn't changed their values since they were eighteen years old?

You'd probably have cause to pity the second and seriously worry about the first. The process of learning, and ageing, inevitably reshape our values and preferences, and we have well-worn narratives about how life circumstances change people.

But we may be entering a whole new era. Human values are malleable, and super-powered AIs may become adept at manipulating them, possibly at the behest of other humans.

Conversely, when we start becoming able to fine-tune our own values, people will start to stabilise their own values, preventing value drift. Especially if human lifespan increases, there will be a strong case to keeping your values close, and not allowing a random walk until it hits an attractor. The more we can self-modify, the more the argument about convergent instrumental goals will apply to us - including stability of terminal goals.

So, assuming human survival, I expect that we can look forward to much greater stability of values in the future, with humans making their values fixed, if only to protect themselves against manipulation.

Possible Consequences

In such a world, the whole narrative of human development will change, with "stages of life" marked more by information, wealth, or position, than by changes in values. Nick Bostrom once discussed "super-babies" - entities that preserved the values of babies but had the intelligence of adults. Indeed, many pre-adolescents would object to going through adolescence, and this is unlikely to be formed on all of them. So we may end up with perpetual pre-adolescents, babies created with adult values, or a completely different maturation process, which didn't involve value changes.

Thus, unlike today, creators/parents will be able to fix the values of their offspring with little risk that these values would change. There are many ways this could go wrong, the most obvious being the eternal conservation of pernicious values and the potential splintering of humanity into incompatible factions - or strict regulations on the creation of new entities, to prevent that happening.

In contrast, interactions between different groups may become more relaxed than previously. Change of valu...
Values determined by "stopping" properties
by Stuart_Armstrong — 2018-03-15T10:53:46.412Z

The lotus-eaters are examples of humans who have followed hedonism all the way through to its logical conclusion. In contrast, the "mindless outsourcers" are a possible consequence of the urge to efficiency: competitive pressures making uploads choose to destroy their own identity.

In my "Mahatma Armstrong" version of Eliezer's CEV, a somewhat altruistic entity ends up destroying all life, after a series of perfectly rational self-improvements. And in many examples where AIs are supposed to serve human preferences, these preferences are defined by a procedure (say, a question-answer process) that the AI can easily manipulate.

Stability and stopping properties

Almost everyone agrees that human values are under-determined (we haven't thought deeply and rigorously about every situation) and changeable by life experience. Therefore, it makes no sense to use "current human values" as a goal; this concept doesn't even exist in any rigorous sense.

So we need some way of extrapolating true human values. All the previous examples could be considered examples of extrapolation, and they all share the same problem: they are defined by their "stopping criteria" more than by their initial conditions.

For example, the lotus eaters have reached a soporific hedonism they don't want to wake out of. There no longer is "anyone there" to change anything in the mindless outsourcers. CEV is explicitly assumed to be convergent: convergent to a point where the idealised entity no longer sees any need to change. The AI example is a bit different in flavour, but the "stopping criteria" are whatever the human /chooses/is tricked into/is forced into/ saying. This means that the AI could be an optimisation process pushing the human to say whatever it wants us to.

Importantly, all these stopping criteria are local: they explicitly care only about the situation when the stopping criteria is reached, not about the journey there, nor the initial conditions.

Processes can drift very far from their starting point, if they have local stopping criteria, even under very mild selection pressure. Consider the following game: each of two players is to name an number, N1 and N2, between 0 and 1,000,000. The player with the highest number gets that much in euros, and the one with the strictly lowest one gets that much plus two in... ,,,,,,,,,,
Don't put all your eggs in one basket
by Douglas_Reay — 2018-03-15T08:07:53.034Z

2. Don't put all your eggs in one basket

Summary of entire Series: An alternative approach to designing Friendly Artificial Intelligence computer systems.

Summary of this Article: The 'putting all your eggs in one basket' approach to developing Friendly AI only makes sense if certain assumptions hold true. We should consider what changes could be made to program designs and their computing environment, that could change which approach makes most sense.

Links to all the articles in the series:

Optimum number of single points of failure
Don't put all your eggs in one basket
Defect or Cooperate
Environments for killing AIs
The advantage of not being open-ended
Trustworthy Computing
Metamorphosis
Believable Promises

Links to the parts of this article:

Eggs in a basket
Throw of the dice
AIs in a race to control the world
Assumptions
What could we change, that might alter which of those assumptions still hold true?
Potential Gains

Don't put all your eggs in one basket

Eggs in a basket

Suppose you have 50 eggs, that you have to transport from a hen house to the kitchen, and you can decide whether to make one trip walking slowly using a big basket that will hold all the eggs, or five trips running fast using a smaller basket that will hold 10 eggs.

If the cook is about to make breakfast for 15 people, each of whom wants 2 eggs, then if you put all your eggs in one basket, if you drop a basket even once, all the eggs will break and nobody gets their breakfast. Whereas if you spit the carrying into five smaller trips, you can afford to drop a basket on two of those trips, and still manage to satisfy the cook. You have a safety margin of 20 eggs.

But suppose instead that the cook has to cater for 25 people, and will fire you from your job if even one of those people goes unfed. You now have no safety margin. You want to maximise your chances of delivering all 50 eggs safely, and delivering only 49 is the same as delivering none at all. In this case, if the probability of not dropping the big basket is higher than the probability of not dropping any of the smaller baskets, then you do want to put all your eggs in one basket.

But, if you know in advance what the cooks requirements are going to be, then a better solution (if possible) would be to change the situation to one in which a strategy containing a single point of failure (putting all your eggs in o...
TAPs 3: Reductionism
by alkjash — 2018-03-15T05:20:01.089Z

This is part 23 of 30 in the Hammertime Sequence. Click here for the intro.

In school, we spend thousands of hours learning about the building blocks of the universe. We learn that reality reduces into little pieces: organisms into cells, books into pages, skyscrapers into atoms.

Your life belongs inside this infinitely divisible reality. Your psyche divides into subpersonalities, emotions into qualia, actions into goals and aversions, habits into TAPs. In fact, what we think of as objects are usually patterns of interaction between many tiny pieces.

Day 23: Reductionism

Trigger-action plans are the building blocks of habits – all habits can be built out of single steps.

I want to share a model for why it’s so important to break actions down with reductionism.

Zeno’s Paradox Retold

Here’s the old paradox of Zeno:

To win a race, you have to run the first half. Before you finish the first half, you must complete the first quarter. Before you finish the first quarter, there’s the first eighth, and so on ad infinitum. Thus, by halving the first segment, every race is divisible into infinitely parts, and to complete the race you must make infinitely many actions.

What can we learn from Zeno’s paradox?

Of the infinitely many steps in the race, the first step accomplishes almost all of them. It follows that the first step in a race is infinitely more difficult than every later one.

The Method of Exhaustion

From Zeno’s Paradox, we readily derive the following algorithm for deconstructing problems:

Pick an action.
Divide it into halves. Focus on the first half.
Repeat to exhaustion.

For example, I can decompose the action of “write a blog post” in exponentially ascending order of difficulty:

Take a deep breath.
Visualize success.
Turn on computer.
Open Chrome.
Log in.
Type a letter.
Type a word.
Type a sentence.
Type a paragraph.
Type a section.
Type a post.
Click “publish.”

After having completed the method of exhaustion, executing the action is much easier. Notice that even though I’m ostensibly only 1/3 of the way through writing this post, I’ve already accomplished 10.5/12 steps in the workflow.

I’m almost done!

Steps of Equal Difficulty

You may think the last section was flippant or self-delusion.

Nope.

I’m completely serious.

Walk through the whole activity of blogging (if blogging’s not aversive to you, pick whatever else you’re procrastinating on and apply the method of exhaustion to that one ...
Welcome to Berkeley Effective Altruism Community Group
by stardust — 2018-03-15T04:53:16.177Z

This is a group for members of the Berkeley community. We are separate from the UC Berkeley Student group, but welcome cross collaboration :)

We hold weekly meetups on the first floor of Event Horizon. Topics are chosen ahead of time and announced on the recurring facebook event.

https://www.facebook.com/events/590458461293449/

This group is open to anyone who is interested in the ideas around Effective Altruism, whether you've been involved for years or you just heard about it.

Sometimes community members use jargon that they forget that not everyone knows yet, so if you hear a term you don't know, please ask about it!
On Dualities
by Chris_Leong — 2018-03-15T02:10:47.612Z

I’ve been finding the word duality useful quite a bit recently. I find it very useful for describing situations where there are two very valuable perspectives (or lens) through which we can look at a situation and any attempt to answer the question needs to grapple with and account for both of these. The way I use the word, I’m not claiming that two logically contradictory viewpoints are simultaneously true, but rather that aspects of both can be synthesised together to reach the truth.

Here’s a few examples. Maybe you agree or disagree with these specific examples, but I think they should suffice for illustrative purposes:

Some people are born with major disadvantages and we need to be sympathetic to them. At the same time, people can act in a way which makes their decisions better or worse and we need to encourage personal responsibility. If we’re too harsh, we don’t give them the help that they need, if we’re too sympathetic, we simply enable people to ruin their own lives. We need to find a balance between the two
On one hand, tolerance is important for enabling us to get along with people who are different from us. On the other hand, too much tolerance means that there are no standards of behaviour. We need find a way to merge these two considerations without simply tolerating that which we approve and refusing to tolerate that which we dislike (it is possible to synthesise a worst of both worlds approach)
On one hand, a person can be acting in a way that is horrific from a moral standpoint, on the other hand, it may be hard to blame them given the circumstances. This sets up a tough conflict between the demands of justice and the desire to be merciful and it can be hard to figure out how to navigate these systems

Dualities allow you to avoid a particular dysfunctional pattern of thought. Most people will have one side of the duality stick out for them more than the other. Since both sides contradict (or seem to contradict), they conclude that they must reject the other side of the duality. This resolves the contradiction, but it doesn’t give them the truth. Finding the truth would require considering both sides, but now that they’ve settled for consistency instead, they’ve prevented themselves from making further progress. There is value in having a part of the truth-finding process where you can identify ideas as containing a lot of truth without having to...
A Concrete Multi-Step Variant of Double Crux I Have Used Successfully 
by sapphire — 2018-03-15T01:26:16.028Z

=== Intro

Raymond Arnold has written about the failure of many discussions to result in clear progress recognizable by both sides. In general, the ideas around double crux are useful but the technique can be under-specified (especially for people who have not been to CFAR). Additionally, progress can be difficult to achieve until participants have a good understanding of the other person’s relevant mental models.

=== Step by Step Instructions

1- Both people independently write down their positions and which arguments and pieces of evidence they find the most convincing. Split this into claims/cruxes. Each claim should have a bullet point list of reasoning. If possible, give an estimate of how convinced you are by this claim. These claims should be sufficiently connected with your overall model, such that if you felt the claim was actually false you would update your views a substantial amount. Admittedly lists of claims is not a great model of how people think, but it’s helpful to try to make your views ‘cruxy’.

2 - Both people exchange write ups.

3 - After reading the other person’s write up, the participants agree on a list of ~5 topics to discuss in more detail. You want to choose topics which can be fruitfully discussed in ten to twenty minutes. This can be done via a short email exchange or via discord/irc/etc.

4 - The two people discuss the above list of topics for 1-2 hours. The main goals are to understand the confusing parts of your opponent’s argument and resolve contentious points. However, once it becomes clear a contentious point is hard to resolve, move on for now. You only have 1-2 hours; don’t waste them arguing what ‘true’ means, find fertile ground. This needs to be done in person or via real time chat; email will not work.

5 - Try to find explicit points of agreement. Find a list of non-trivial points that both people can explicitly endorse. For example myself and Jacob ‘putanumonit’ Falkovich double cruxed about which people would benefit from a CFAR workshop. In the end we agreed the following list of factors were predictive:

-- You find the CFAR teachers (and to a lesser degree alumni) impressive and would like to be more like them in some important ways

-- You would have a good culture fit among CFAR attendees

-- You find rationality techniques relatively cool even if you have trouble doing them consistently

-- Some sense that you might benef...
Welcome to Effective Altruism Sydney
by Chris_Leong — 2018-03-14T23:32:31.443Z

We meet monthly, currently at Lentil as anything. We are just experimenting with this platform, so I can't guarantee that this will be updated, but please follow our Facebook and add Sydney Altruist as a friend to get fb event invites. Note, to get event invites you must both follow us on fb AND add Sydney Altruist.