Basically, the puzzle is:
You have three boxes, each with 2 coins:
Gold/Gold
Gold/Silver
Silver/Silver
Assuming you chose a Gold Coin first, what is the probability that the second coin is also Gold?
The answer appears to be 1/2, but is actually 2/3
How?
After all of the machinations, the problem comes down to this: You have twice as much likelihood to choose Gold/Gold as you do Gold/Silver. (There are two gold vs one gold). And three boxes? Not relevant (if you look at it from the question after the first gold coin is pulled.) You have a 50/50 chance after a 3/4 chance of getting a gold coin.
Or, another way to look at it: out of the three remaining coins that are possible, two of them are Gold.
(Three coins? But only one box of two!)
But not really: the coin you grabbed must be one of three available gold coins (out of 4 possible coins to pick). There are now two available gold coins in that original set (of 3 remaining coins) = 2/3.
No, you don't go to 1/2 just because the box is chosen and there is one other coin left. Your original choice is one of 4 coins, three of which are Gold. Assuming that the first pick is gold (a 3 in 4 chance), there are now three coins that are left from what you could have chosen. Two of those are Gold. (2/3).
Tuesday, May 27, 2014
Sunday, May 4, 2014
Thursday, April 3, 2014
Reference/Dereference for languages
I get a bit confused on reference/dereference, etc... until I figured out an analogy that worked for my purposes.
A ref/reference to an array, hash is where it is in memory. (use \ in perl to reference)
Dereference is what the contents are.
http://perldoc.perl.org/perlreftut.html
In another environment, I've explained how, instead of automatically sending an attachment email, one should send a link to data, and not the data itself. "But why? Isn't that just another step for the end user?" Yes, but the key is ... it's cheaper for both parties to have knowledge of and access to where the attachment/data/array/hash is stored so it can be retrieved as often as necessary without having it take up space in email. "But the user has to click a link to download!" Yeah, but the user can do that when he's in a position to do that, and if you send *the link* again, the user won't have the [potentially large] attachment *again* in the inbox and the sender won't have the attachment *again* in Sent Items.
So it is with programming. If you want to pass a variable's data to/as part of another variable, it's cheaper to point to the location of the data than to pass the entire structure of the contents of the variable.
Think of it like symlinks or shortcuts to folders on another storage device. They are references to where data is stored, but you can make LOTS of symlinks, all having the same access to the same data, without duplicating the data.
A ref/reference to an array, hash is where it is in memory. (use \ in perl to reference)
Dereference is what the contents are.
http://perldoc.perl.org/perlreftut.html
In another environment, I've explained how, instead of automatically sending an attachment email, one should send a link to data, and not the data itself. "But why? Isn't that just another step for the end user?" Yes, but the key is ... it's cheaper for both parties to have knowledge of and access to where the attachment/data/array/hash is stored so it can be retrieved as often as necessary without having it take up space in email. "But the user has to click a link to download!" Yeah, but the user can do that when he's in a position to do that, and if you send *the link* again, the user won't have the [potentially large] attachment *again* in the inbox and the sender won't have the attachment *again* in Sent Items.
So it is with programming. If you want to pass a variable's data to/as part of another variable, it's cheaper to point to the location of the data than to pass the entire structure of the contents of the variable.
Think of it like symlinks or shortcuts to folders on another storage device. They are references to where data is stored, but you can make LOTS of symlinks, all having the same access to the same data, without duplicating the data.
Tuesday, December 10, 2013
Combine wget plus git to reduce storage, maintain versions.
Problem: You want to have backups of your huge website, but only new and changed, and yet have some way to recover any point in time restore of files. Meanwhile, you don't really want to have multiple entire site backups. Further, you only really have ftp access to download the website.
Solution: So, here's what you can do...
wget -r -N ftp://username:password@yoursite.com
git add .
git commit -m "daily backup"
Basically, browse and no-clobber files (update if timestamp is newer) and then add and commit to a git repository.
wget will only grab new files, git add will only add new files, and git commit stores the status of your folder structure with the new changes.
git log will show you your transaction history and you can git checkout any previous backup.
Solution: So, here's what you can do...
wget -r -N ftp://username:password@yoursite.com
git add .
git commit -m "daily backup"
Basically, browse and no-clobber files (update if timestamp is newer) and then add and commit to a git repository.
wget will only grab new files, git add will only add new files, and git commit stores the status of your folder structure with the new changes.
git log will show you your transaction history and you can git checkout any previous backup.
Friday, October 25, 2013
Here-doc literal @ (at symbol)
So, you have a here-doc/heredoc and need a literal @ at symbol for things like email addresses.
Answer: Replace it with \100.
Answer: Replace it with \100.
Friday, October 11, 2013
3CXPhone dial from web page
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\dial] @="URL:Dial Protocol" "EditFlags"="hex:02,00,00,00" "URL Protocol"="" [HKEY_CLASSES_ROOT\dial\DefaultIcon] @="C:\\Program Files (x86)\\Microsoft Lync\\Communicator.exe,0" [HKEY_CLASSES_ROOT\dial\shell] [HKEY_CLASSES_ROOT\dial\shell\open] [HKEY_CLASSES_ROOT\dial\shell\open\command] @="\"c:\\Program Files (x86)\\3CXPhone\\3CXPhone.exe\" %1"So, copy that, put it in a .reg file, import it.
(NOTE THIS MODIFIES YOUR REGISTRY) Determine if you want to do this.
Now, if you have a link that says:
<a href="dial:8005551212">8005551212</a>
3cxPhone will dial that link.
8005551212
Tuesday, July 9, 2013
Network Choices Windows
With Vista/Win7/8, you get the awful choice of Public/Work/Home for the *network* that you connect to.
Unfortunately, this is easily confusing to people who read "Public/Work/Home" for the *computer* that they're using. As in, the first thing that one might think about re: "Public" is that they want their computer to be *Public* (See me!) rather than private (I want to be hidden).
Frankly, I think this is a better question to ask... "You are on a new network. Do you want your computer to be Public (people can see and connect to your computer) or Private (people can't see your computer)." And that's about it.
It takes the ambiguity away ... I realize this argument can be presented in the other manner, but I'm writing this from a perspective of working with people who honestly don't understand computers in the way that I do, and if I, the computer guy, can comprehend this confusion on the users' behalf, I don't think it's an unreasonable position to state. A user who doesn't know the difference between a network and a computer can't be asked what to do on their network.
Unfortunately, this is easily confusing to people who read "Public/Work/Home" for the *computer* that they're using. As in, the first thing that one might think about re: "Public" is that they want their computer to be *Public* (See me!) rather than private (I want to be hidden).
Frankly, I think this is a better question to ask... "You are on a new network. Do you want your computer to be Public (people can see and connect to your computer) or Private (people can't see your computer)." And that's about it.
It takes the ambiguity away ... I realize this argument can be presented in the other manner, but I'm writing this from a perspective of working with people who honestly don't understand computers in the way that I do, and if I, the computer guy, can comprehend this confusion on the users' behalf, I don't think it's an unreasonable position to state. A user who doesn't know the difference between a network and a computer can't be asked what to do on their network.
Subscribe to:
Posts (Atom)



