Hacker Newsnew | comments | show | ask | jobs | submit | mediocregopher's comments login

I very often have a vertical split in vim, both panes with the same file. I can skip around the file and look at stuff in one while actually writing code in the other. Is that more or less what the op is asking for?

-----


I assume he wants the impression that the file wraps around to the same column, with the buffers synchronised across the split.

Emacs does have that using follow-mode, I don't know if other editors do.

-----


So I believe the 2/3 answer to be true. I see the evidence in those tables. But intuitively, I still don't get it, and the explanation in the article isn't helping

> The short answer is that your initial odds of winning with door #1 (⅓) don’t change simply because the host reveals a goat behind door #3; instead, Hall’s action increases the odds to ⅔ that you’ll win by switching.

Well, why don't they change simply because the host reveals a goat? If you show me a three sided coin, I'd say there's a 1/3 chance of getting a particular side. If you then magically change gravity such that one of the other sides will never ever be landed on, would the two remaining sides not now have 50/50? I guess the article asserts that the "probability" doesn't get redistributed amongst the remaining options evenly, and I want to know why it doesn't and why it instead all "goes" to the one I didn't pick.

I don't mean to be confrontational in asking, and I don't doubt the answer, I just don't get why. Could anyone explain it better, or point me somewhere that does?

-----


The way I like to think about it is as follows: You pick door 1. Out of three doors you have a 1/3 chance of having a car behind your door. The chance that the car is behind one of either of the other two doors is 2/3. Let's pretend that instead of opening a door and revealing a goat, Monty instead says to you "You can switch to both of the remaining doors. If the car is behind either one of them you get to keep it." Your likelyhood of getting the car by switching is now 2/3.

Instead, Monty does the statistical equivalent: He allows you to know for sure which of the other doors definitely has a goat.

-----


This is a great answer.

To answer the question about the 3-sided die: the question is flawed for 2 reasons.

First, the way you phrased it, you know the information a priori. It's like me learning that the car isn't behind door #1 before I choose. In that case, I have a 50/50 chance on the other doors.

But what if you didn't tell me before? This introduces our second problem. Let's say I roll the die and you hide it under a cup. I tell you I chose side A and you tell me A is physically impossible and ask me if I want to switch. Well of course I want to switch ... but I didn't learn any more information about sides B and C. It's a 50/50 toss-up. In terms of the game show, you basically just opened the constant's door.

A critical element of the original problem is when the information is learned and knowing that the contestant's door will not be opened. It is what allows the phrasing from zaksoup above.

-----


Thank you for a great answer. I've known about this problem for a long time and never had a way to intuitively think about it. I will now be stealing yours. :)

-----


I find it's easier to explain the answer when you consider 100 doors. You've selected 1 door out of 100 - which is a 1/100 chance of getting it right. The host then opens 98 doors, leaving you with 2 doors - the one you selected, and one other.

Are you going to change your choice? No matter what you selected initially, the host was still going to open 98 doors and give you the chance to swap your choice. Would you? It's obviously not a 1/2 selection at that point, is it? There were still 100 options, but now 98 of them are eliminated. Your original door was (and is) 1/100, making the other option 99/100 for a total of 100/100.

If you extend that out to 1,000,000 doors the game is even easier to play. What are the odds that you just happened to select that one special door out of 1,000,000 options?

-----


I'll toss in another nudge to intuition. You select one of the hundred doors. Then Monty takes the other 99 and opens door after door, displaying goats, but when he reaches one of them, he carefully skips over it, then continues to the last door showing goat after goat.

Then he says, "Okay, the car is either behind the door you selected or the one I selected by skipping over it. There's only one car, so if you picked the right one, then I had to pick a random goat door to skip, but if the door you picked was the wrong one, the door I skipped was the one with the car. And, unlike you, I know which door has the car. Would you like to keep the door that you originally picked or switch to the one that I just picked?"

You don't know where the car is; he does. Do you want your pick or his?

-----


Exactly--this case shows at an intuitively obvious level that the original problem looks like even odds, but the elimination of only non-winning doors always provides valuable information.

-----


I think the difficulty in understanding have something to do with the way human interpret probability: it seems like frequentist is our default interpretation, and this problem is very much a Bayesian one. The host didn't pick the opened door randomly, it's conditioned on him not picking the door with a goat. If the door was opened truly random, then the chance of your door having the prize in all cases is 1/3, but then in 2/3 of all cases, the door being opened will have something behind it too (so the game then makes no sense!). The probability of the picked door doesn't change because the event following already conditioned on the door.

If you still don't have an intuition after reading the 2 explanation in the article (especially the one with 100 doors), I'm not good enough right now to explain it any better. But the one way that works for me is to play around with more Bayesian statistics -- one day it just suddenly doesn't feel weird anymore!

In Bayesian interpretation at least, knowledge does changes what the probability would be, as the number just correspond to your belief of an event happening. Just tangentially related, but this might have some interest to you: http://lesswrong.com/lw/oj/probability_is_in_the_mind/

-----


Think of it this way. If you choose door #1 and stay with your choice, you get one prize out of three: whatever is behind door #1. On the other hand, if you decide to change your answer you get two prizes out of three: the goat and the other door.

-----


I think it's easier to understand if you use more doors. There are 10 doors and you pick one at random. Now Monty Hall opens 8 other doors and they're all goats. So that leaves you with your original choice or the other door that hasn't opened. What does your gut feeling say you should do now? If the number of total number doors is more or less, how much does that change your gut feeling?

-----


The point is that under the standard assumptions, the host has to show you a goat: http://en.wikipedia.org/wiki/Monty_Hall_problem#Standard_ass...

If that assumption isn't true (e.g. maybe the host only shows you a goat when you pick the car), switching isn't necessarily beneficial.

-----


The probability is not about the doors, it's about who has the goat - which obviously doesn't change by removing false hiding places.

Let's say I have 10 doors, and put a goat behind 1 of them at random. You pick 1 door at random, leaving 9 for me. So, there is 9/10 chance that I still have the goat, and now 1/10 chance that you have it.

Now, I have 9 potential hiding places for this goat. BUT, I am willing to communicate to you which door I put it behind (if I have it, which 9/10 times I do). I tell you this by removing all but one (i.e. 8) of my doors.

So, there's 1/10 chance that you have the goat. There's 9/10 chance that I have the goat, and have just told you where it is. I then give you the option to choose my door instead of yours. Clearly, you should switch.

The key is that I'm removing not "one door" but "all but one" of my doors. In this way, I find the 3-door case to be the most confusing, because the minimum amount of doors is removed. With 3 doors, I only remove one door - which doesn't seem that spectacular. If there were 100 doors, I would be removing 98 of my 99 doors - which I think is easier to understand by intuition.

In fact, because of this your odds of winning-by-switching increase with the number of doors(see n-variant http://en.wikipedia.org/wiki/Monty_Hall_problem#N-doors).

-----


But let's take your scenario: even if you only showed me it's not behind one of your doors, I still know that there's a 9/10 chance it's behind one of the remaining 8 doors.

This still gives each of your doors a better chance than the door I initially picked, and I should still switch to one of them.

-----


Okay, how about this: Reverse the problem and talk about Monty's behaviour. Let's assume he wants to help you win the car because he's a nice guy. His goal is to give you the best signals he can.

His constraints are: (1) He has to open exactly one door, (2) he can't open the door you chose, and (3) he can't open the door with the car behind it.

If you've picked the car then he can't do anything for you (2), so he opens a door at random.

If you've picked the wrong door, he can help you out by showing you the other wrong door, leaving you with only one remaining option - an easy win!

So assuming you understand Monty's intentions, you can see that there's a 1/3 chance you've picked the right door and should do nothing, and a 2/3 you've picked the wrong door and should listen to what Monty's telling you.

(Monty's intentions are of course irrelevant because his behaviour is completely described by the constraints, but he doesn't know that and it's not polite to point it out.)

-----


Because when you ponder this problem, you're considering the probability of two different states. When the host reveals the goat, the state of the problem has changed, and so has the probability of choosing a correct answer (it improved).

Your mistake is somehow thinking they are the same state.

-----


When you select the door, you partition the set of doors into two subsets, the door you chose and the doors that you did not choose. At this stage the probabilities of the prize being in the partitions is fixed - 1/3 for the door you chose, 2/3 for those that you did not. The new information introduced with the revealing of the goat behind one of the doors in set 2, only pertains to that second set, the information you have on the first set remains fixed. On the other hand, you now have a 2/3 probability on the second set with only one door remaining (in that set).

-----


It makes a bit more sense(to me) if you adjust how you are looking at it. When you are choosing 1 door out of 3, your chance of being WRONG is 2/3. No matter what happens with the 2 other doors, your chance of being wrong with your original choice is still 2/3. By switching to the second set, you've doubled your chances to win. You can see this in action and try it out yourself with this code here: https://github.com/ardalis/MontyHallMvc

-----


When you pick a door, before the host does anything, there are three possibilities: a car; goat #1; goat #2. These are the same possibilities AFTER he reveals one of the goats -- the goat he shows could be goat #1 or goat #2. Now of the three possibilities for your door, two are losers; by changing doors you have a 1/3 chance of losing (if the car is behind the door you first picked) and consequently a 2/3 chance of winning.

-----


Look at it this way. You can choose 1 out of 3 doors. Or you can choose 1 out of 2 doors. That's essentially what's going on here. Of course the fewer the doors, the higher chance if success.

Increasing the numbers might help. Suppose you had to pick one out of 1000 doors, then 998 were revealed to have no prize. That might make it more intuitive that your first pick had a lower chance of being right.

-----


I'll give it a shot.

When you choose door 1, you have a 2/3 chance of goat. That means that 2/3 of the time, Monty doesn't get to choose a door (You're on one goat, he can only reveal the other goat). So he only has one choice, the other goat. Since 2/3 of the time he's forced to avoid the car, that means that 2/3 of the time you will switch to the car.

-----


I think another explanation where there's 100 doors and the host reveals 98 goats door after you choose a door sums up the idea of probability increasing by switching doors very well.

The host who reveals the goat door has more information than you, he didn't randomly open a door that just happen to have a goat behind it.

-----


The intuitive way to see it is to imagine 100 doors and then all but yours and one other door is eliminated. You almost certainly did not choose the right door from the outset so your odds are clearly better than 50/50 to switch.

The same logic applies to 3 doors.

-----


Because the host doesn't pick one of the doors and magically make the goat appear there. One of the doors already has a goat behind it; he just looks behind the doors and opens one of the doors that already has a goat behind it.

-----


It finally clicked for me when I understood the probabilities "behind the doors", if you will.

2 out of 3 times, you will not pick the door with the car. This means, 2 out of 3 times, your door has a goat.

Revealing a door does not change that fact- that your door 2 out of 3 times has a goat.

-----


because the door you "selected" was never selected - it was never opened, nor the contents changed. it was the representation of a concept of a door, but it could have just as easily been the other door. in fact, in statistics land, that's exactly what it was. "one of the doors".

when you "switch", you're also switching the representation of a door from 1/3 to 1/2. and the odds are better when there are only 2 doors remaining.

remember, you don't always win by switching - it's not magic. over time, it just wins more often than not.

-----


Think about it this way. What if there were a million doors, and you pick one. The host then opens 999,998 other doors, showing you nothing behind them. Stick with your choice, or pick the other door? Of course you pick the other door - you had only a one in a million shot at picking the right door.

-----


this makes a lot of sense, i.e. "the chances of you picking the right door out of a million on the first try are basically zero. do you want to try the other door now?"

-----


Groupcache addresses a very narrow use-case of caching: immutable data. Key's in groupcache cannot be changed or deleted, which is what allows for some of the cool things it does like distributing keys to multiple nodes automatically and prevention of stampeding. It's useful for things like caching lots of small static files (which I believe is what google uses it for), but it's not useful as a db cache where things are constantly changing.

Just glancing at dbox's caching package it looks like a much more general cache, with deletes and sets and all of that. So the two aren't really comparable.

-----


Thanks for the comparison, that makes a ton of sense. As someone else also pointed out, since a lot of Dropbox's infra is python, it does make sense for them to have a drop in memcached replacement. That means groupcache is effectively out.

-----


As a shameless, related plug, here's a clojure-like seq library I wrote for go:

https://github.com/mediocregopher/seq

It isn't quite as pretty as this one is, but it does support (thread-safe) lazy sequences.

As someone who writes lots of go code, I don't think either of these are actually necessary, although they may be fun to use in some cases.

-----


Also, for variety (and a shameless plug), check out:

https://github.com/mediocregopher/goat

-----


This was made by a friend of mine. It uses only CSS and DOM elements, no WebGL/canvas/anything-else. You can also check out the actual repo here:

https://github.com/likethemammal/css-visualizer

-----


Except that that's not true:

http://arstechnica.com/information-technology/2013/10/google...

Unless you're trying to run a commercial website from your apartment, but I don't think that's unreasonable.

-----


And why shouldn't I be able to run a commercial server? But apparently a commercial client is okay? You don't mind me making money, you don't mind traffic, but you care very much which direction TCP connections are initiated, but only when there might be commercial activity involved? Why?

(And "Too much traffic" isn't a valid answer here: if I have a client, I can use as much bandwidth as I like — respecting the other sections of the ToS, which are outside the scope of this discussion.)

-----


Because they've priced their service and agreements at a level that assumes that someone isn't running a business using their super-cheap Google Fiber connection.

It's all about economics, SLAs, etc. and network management.

They've already addressed this directly by mentioning how they plan on launching a business product eventually.

I'm perfectly ok with that.

-----


If you get a commercial account/connection then you should be fine.

Even if it is not technical, it might be like garbage services in my area where commercial operations subsidize residential operations. Residential connections might be getting a discount that is paid by commercial entities and you would be cheating their pricing model.

-----


I had never considered that before but I presume you're onto something there. There's likely some commercial interest or government subsidy/tax implications that come into play as to why business and residential pay different rates for the same line.

-----


I would guess it has to do with liability.

I can't run commercial stuff on my line either, according to my contract. I think it is pretty standard to have that in the contract.

However I am way more concerned about other stuff in my contract.

-----


> Unless you're trying to run a commercial website from your apartment

Actually, I'd say regulating on commercial vs. noncommercial rather than traffic or even, as a fairly blunt tool, a straight server ban is actually more of a violation of the "any legal software" rule (rather, its equally a violation of that rule, and its no longer even superficially about network management, the potential basis for exception to the rule, but instead is pure market segregation.)

-----


I think you'll find this ted talk interesting, as it explores that exact idea:

http://www.ted.com/talks/jack_horner_shape_shifting_dinosaur...

It's also pretty entertaining to watch

-----


Yes. This. This is exactly the sort of thing I was thinking...

-----


> flymake in emacs, don't know what in vim

https://github.com/scrooloose/syntastic for vim.

-----


What steps did you take to get it running on Arch? I got as far as convincing it to use python2, but then realized I need gnome-keyring, and kind of stopped there. Which keyring package did you install?

-----


There are already two packages in the AUR:

https://aur.archlinux.org/packages/atom-editor/

https://aur.archlinux.org/packages/atom-editor-git/

-----


Already had extra/gnome-keyring 3.12.0-1 installed.

-----

More

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: