Thanks for this one. Extremely well written.
HN user
daivd
I also use org-mode for my daily journal. Have been for about a year and I'm very happy with it. I used to use Evernote, but I like the idea of keeping it to myself with encrypted backups better.
It is not a conventional quantum computer. You cannot use it to factor numbers. You use it to find approximate solutions to optimization problems.
I have never quite understood all these desktop emotions. I run Kubuntu, but almost never interact with any desktop features. What is it in your workflow that requires you to interact with Gnome/Unity? (just curious)
I whipped together something here, before I saw that someone else did it too: http://ideone.com/jyPOhs
It is the most counter-intuitive statistic problem I know (worse than Monty Hall), it trips everyone up at first.
No problem about the stubborness ;)
The wiki article is not valid, since it considers a subtly different problem than the one I do. If you read the comment at the top of the code, you will see that I changed the question to be less ambiguous.
In the problem I pose, the person does not randomly come forward and tell me "I have a boy born on a tuesday". In my problem I ask random people who I know have two children if they have "at least on boy born on a tuesday" until someone says yes.
Actually you are still wrong.
Try something easier, for example two dice. The probability to roll 1 1 is less than to roll 1 2, because 1 2 can be rolled either by first rolling a 1 or a 2, while 1 1 can be rolled only by first rolling a 1. That information is used often in dice games like backgammon.
Same with children: BT BT can only be "rolled" if your first child is BT, whil BT BW can be "rolled" if your first child is either BT or BW.
Do you see?
No, it does not exclude that possibility (print the final list of pairs if you want to check). The calculation is correct. The result is counter-intuitive to almost everyone, which is why I made the program, so you can convince yourself.
One subset for each TLD would be nice. Or, if you can afford more CPU-power, per language, using a good open language detector.
I have a fundamental issue with bitcoins that I have not seen anyone address. Sooner or later a better bitcoin will be invented. One that can perform transactions faster, or is more anonymous or where mining for the coin helps some nice project (SETI@home, math proofs, protein folding, etc), or something completely different. When an alternative better currency catches on, at some point it will become obvious that bitcoins will be obsolete and the value should suddenly be 0 again.
It is the nature of technology that bitcoins will someday become MySpace.
I am open to be convinced otherwise by someone knowledgeable.
No, you are correct. The oil money is hardly spent at all. It is invested for future security.
I agree that syntax is more important than us "rational" programmers like to let on. The syntax will be similar to Python, but nothing fantastic.
I think switching the usual meaning of = and == will be confusing. O'Caml uses = and == for deep and shallow comparison respectively and <- for assignment. That is a possibility.
I plan to sneak in something similar with a capable type system and contracts for stuff that you can't express in the types. That way you could "one day" use a solver like Z3 and start proving or disproving some of the tractable contracts, without having to even change the programs. A bit like LiquidHaskell.
Not exactly dependent types, but practical, I think.
Thanks for the list of related projects!
1. Yes, the linear typing for mutable data is inspired by Clean. 2. I look at Shen from time to time. It looks nice, but I have never gotten around to play with it.
I do like an expressive high-level encoding like that, but 1) I just needed a silly example to show what pipes are. In practice you would probably use higher-order library functions (or components) like group for the same thing. 2) In my experience, very compressed expressions can be hard to modify in certain directions. Practical stuff like printing, logging or storing progress every X seconds, which is a small modification in a for-loop, can be a hassle.
If Internet comments were always this encouraging, the world would be a better place :).
Dammit.. I checked to see that Glow was not taken :). Almost every name, that is not an outright racial slur is already used. Still, Java and Javascript are completely different languages and that has never lead to much confusion..
Yep, it is influenced by CSP. It is implicit in the text, since the primary influences (Pipes, Go, etc) are directly influenced by CSP.
Visual programming used to leave me completely cold, but with the emergence of tablets and the promise not to make _everything_ visual, I hope to convince people otherwise. If you have not seen Bret Victor's brilliant "Future of programming" http://vimeo.com/71278954 and "Inventing on principle" http://vimeo.com/36579366, I highly recommend it.
I promise not to make the Haskell struct mistake.
It is not quite that simple. The government will have to say yes, since this is a big infrastructure project that wants land next to existing highways. I don't know much about politics, but I do know that, sadly, the net gain for the country over time is not a weighty criterion in such decisions.
AFAIK you don't pay a Windows tax on most laptops. All the adware, crapware, trial software and whatnot that are pre-installed pay for the Windows license. This is why the few Linux laptops that do exist are not really cheaper.
It has turned out to be quite hard to implement higher-level cognitive phenomena directly, so they decrease level until they find one they can implement and then try to get emergent properties from there.
He is physically large. Very large.
I have yet to find a single one that is anywhere close to Google Reader :(
If they "stop associating with you" on account of a pair of glasses, perhaps they were not your friends..
Hofstadterian
Diagonal proofs like the Halting Problem say that in general you can not prove properties about all programs in a Turing complete language. Thus, there is a class of troublesome programs.
Likewise there is obviously a great number of programs in Turing complete languages that you can prove properties about. Thus, there is a class of pleasant programs (or [program, property] pairs).
We do not know for certain how many of the programs that we want to write that is in each class. I would venture a guess that >99% of all programs ever written are in the "nice" class. If it is really impossible to reason about some property of a program, why would you think it works?
I recently wrote a guide on this, too: http://fendrich.se/blog/2013/01/24/pre-programming-mental-si...
From my own experience measuring heart rate while meditating, my heart rate is at lowest at normal sitting rest rate and often even a few beats higher. This surprised me.