I'm not a specialist of FP, so please take what I say with a grain of salt. Before answering your questions, here's a preliminary point:
0) The problem is that FP is not really defined anywhere, or rather, everyone has its own definition. I was wondering about the definition of FP about a month ago, and discussed it with my roommate who's a phd student in programming languages. The conclusion of this 2-hour long conversation was: well FP is kind of a fuzzy concept. The concepts of FP languages, typed languages, static languages, etc.. all tend to conflate. Some people will consider that Scheme, Python, Ruby, Scala, Haskell, OCaml, R are all FP languages. Some will say that only Haskell and OCaml really are. Whatever..
Keeping that in mind, here some attempts at answers:
1) In a very loose sense, I guess that you can say that, and to make it possible, you need some constructs in your language, the minimum requirements being higher order functions, and maybe closures. I'd say that's the minimum, but again I'm no specialist. But then if you want to push this "no globals" moto to its logical extreme, you get to a point where you can't even use a "print" function, since it has some side effects. Haskell does, and solves the problem with monads. But to have monads you need a very particular type system, which leads to the question of wether you need a type system to go FP all the way? I don't know. Someone more knowledgeable should answer that
2) I don't know about hardware. But like I said, FP can deal with state. In fact, even hardcore FP as embodied by Haskell can deal with state. It's not trivial to wrap your head around the concept, but it's worth giving it a shot.
These are only speculations, but here are points based on my own habits:
1) The most important criterion for me when looking for a store, is walking distance. I don't want to bike, or drive to the store. So the closest store is almost guaranteed to win my business.
2) The second most important criterion is the price. I'm still a student so I'm a bit careful with my spending. So if a store is much much cheaper, and not too much further, then I might go there when I have big errands to run.
3) I am pretty much insensitive to the layout of the store. I'm already walking 10-15 minutes to get there, so 30 seconds between milk and bread is no problem really
Anyway, my point is that in my case, the reason why the "better" store doesn't win is that I don't really care about the criterion used to define it as "better". So going back to your point, a store doesn't have anything to do to serve my interest other than being close to my apartment and lowering the prices. The rest is almost totally irrelevant to me.
"None of the executives who signed the letter are scheduled to appear at today’s Senate hearing. Witnesses on the agenda include Deputy U.S. Attorney General James Cole, NSA Deputy Director Richard Ledgett and FBI Deputy Director Mark Giuliano."
The lineup they have is hilarious. It probably went something like:
- [senate] James, do you think we should end mass surveillance
- [Cole] No
- [senate] Dick, whaddya think?
- [Ledgett] Nope, it's allright
- [senate] Ok, Mark?
- [Giuliano] Meh, nah, I think we're fine
- [senate] Well then, after extensive consultation with all interested parties, blablabla
(I know, I know, it's way overboard, I don't believe it myself, but that's the first thing that came to mind when I read the quote, and I had a good laugh)
That's exactly what's going to happen. In fact, they already held a very similar hearing right after the Snowden leaks, and it was all about praising the NSA.
The request by the PRISM companies is just as hilarious as the hearing. A good show for the public to "commemorate" the one-year anniversary of the Snowden leaks.
* John Karmack's game engines for Commander Keen, Doom, Quake
* Palmer Luckey's original Rift design
* Feynman's "parallel" computer at Los Alamos
And many many more if you include mathematical / physical discoveries although these
are not strictly speaking "technological feats". I would add that I do not agree with Zuck's statement, no matter how many examples I can come up with (and despite the fact that I'm myself under 30)
Feynman worked on parallelism with a team of other scientists ranging in ages, he just happened to be put as head of the 'IBM Group' which had been tasked with yield calculations at that time. It's unfair to say he alone invented parallelism, which is sadly becoming the popular opinion.
I don't know enough about the other feats to comment on them.
It's way impressive how young Feynman was when he was apart of the whole project, though. He was the youngest member.
Let me quote an excerpt from Surely You're Joking, Mr Feynman (p. 127 from my edition): "... I had a very good group [..] clever boys from high school who had an engineering ability". So yes, it was a team of people, but those working on this specific problem seem to have been high schoolers or recently graduated kids :)
I read the book a while back and it is absolutely fantastic. What I understand about monads, I learnt it from this book (no other exposition of monads ever made sense to me), and I particularly like his progression functors -> applicative functors -> monads. I think it's the clearest way to proceed (certainly helped me a lot anyways)
You can do Applicative -> Alternative and study Alternatives as Monoids of Applicatives and then lay on the difference between (<*>) and (<>) as producing a seminearring!
And then go study Monads because why not. They're kind of cool, too.
It seems like this depends on the universities (and maybe also on undergrad vs grad), but I've done my masters, and am currently doing my phd at an Ivy in the US, and I've been pleasantly surprised to find out that we are almost never required to buy any books. Often, the professor uploads a set of very comprehensive notes accumulated over the previous years to complement the notes we take in class. It's happened (three times out of maybe 8 classes) that the professor is writing his own book on the subject, and so is giving us free copies. So instead of requiring books, the professor indicates which books are interesting/useful references on the subject and puts them on reserve in the library for the students of the class. I think it's a good system.
One thing though. This is doable in science because, well a theorem is a theorem. But about humanities where you have to study specific texts or corpora? I don't think there's much choice there..
I know that it doesn't matter in the grand scheme of things, and that given the awesome work they are doing, this is worth the hassle. But I'd like to make a comment concerning the payment method. Last week I make my very first donation to Wikipedia. How did it happen? I saw the usual banner, and then, one of the payment options was Amazon. So I entered an amount, clicked the "pay with amazon", and was done. No entering my credit card, filling out forms, or anything. Zero friction. Amazon style. At this moment I realized that the reason why I hadn't donated before isn't that I didn't think the cause was worthy, but simply that the perceived hassle outweighed my desire to give. They removed that friction, they got my money.
So again, given the work they are doing, that's no excuse for not donating. But still, I wonder if that would boost the donations..
... and this is why, selfishly, I would like to see the system implemented somewhere, albeit not necessarily where I live. People keep throwing peremptory statements here and there (on both sides of the argument), even though we really have no way to know what's going to happen. So let the Swiss implement it, and let the whole world see how it's gonna play out. If it works (which I sincerely hope, from the bottom of my heart), then that can give ideas to the rest of us. If it fails, we can draw the adequate conclusions too.
It's always refreshing to find someone who wants a good debate to be settled by experiment. Hopefully that would be enough. Portugal famously had great success with decriminalization of nearly all illicit drugs, but unfortunately I don't think too many countries have changed their own laws as a result. There's almost always too much politics involved, and it's usually easy to find a reason that is at least superficially convincing as to why what works elsewhere will not work at home.
2) I've also switched to DDG, but I still find that google gives me somewhat better results for things related to programming are academics. Apart from that, I like DDG a lot.
3) That's the big, big problem for me. I could stop using virtually any other product labelled google without problem (ok, youtube excluded), but gmail keeps me there. Not so much that gmail itself is so great (it is good, for sure), but the act of switching emails, updating contacts left and right, is just a pain.
4) it seems to me that most providers for hangout/video type of things are equally obnoxious with the way they handle your data..
Going back to the email stuff, I guess I'm also waiting for a decent alternative to pop up, as I'm not inclined to switch 10 times in the next 6 months..
One note here, if you're using Google Apps, moving should be a breeze as you can just change your MX records. However, hosting your own email could be painful.
For me it is especially great since my primary email is an alias domain on Google Apps, which means i can move my primary email off of google apps while keeping my google account working (also grandfathered into their free plan).
So switching email is just the matter of picking my own host. That could take a while, however.
For 3: email forwarding + vacation autoresponse help a lot. You get the messages anyway and whoever emails you gets an automatic reply with your new contact information.
0) The problem is that FP is not really defined anywhere, or rather, everyone has its own definition. I was wondering about the definition of FP about a month ago, and discussed it with my roommate who's a phd student in programming languages. The conclusion of this 2-hour long conversation was: well FP is kind of a fuzzy concept. The concepts of FP languages, typed languages, static languages, etc.. all tend to conflate. Some people will consider that Scheme, Python, Ruby, Scala, Haskell, OCaml, R are all FP languages. Some will say that only Haskell and OCaml really are. Whatever..
Keeping that in mind, here some attempts at answers:
1) In a very loose sense, I guess that you can say that, and to make it possible, you need some constructs in your language, the minimum requirements being higher order functions, and maybe closures. I'd say that's the minimum, but again I'm no specialist. But then if you want to push this "no globals" moto to its logical extreme, you get to a point where you can't even use a "print" function, since it has some side effects. Haskell does, and solves the problem with monads. But to have monads you need a very particular type system, which leads to the question of wether you need a type system to go FP all the way? I don't know. Someone more knowledgeable should answer that
2) I don't know about hardware. But like I said, FP can deal with state. In fact, even hardcore FP as embodied by Haskell can deal with state. It's not trivial to wrap your head around the concept, but it's worth giving it a shot.