Nice article and effective demonstration of the FunctionalPlus library.
That said, this makes me a bit nervous about shoe-horning functional programming into contexts where it is inappropriate. FunctionalPlus aside, C++ is very clearly designed for an object oriented style (even the name, C++, refers to "C plus objects").
Going too far down the path of working against the intent of the standards committee seems like a recipe for trouble (unless you're just talking about hobby projects).
The author of the first STL has famously said that, even after all these decades, he has never written any C++ code that uses OO inheritance, because he hasn't found a use for it.
The STL is mainly a generic library, not an OO library.
As another comment points out, C++ is already full of non-OO components (take a look at the STL's <algorithm> interface for example). Moreover, the current path of the standards committee is clearly moving away from the gool-ol' OO and closer to the newer strong typing with better generics.
Just to clarify, there is no direct cost associated with RC. It is free to attend for all participants. Grants, for those who qualify, are for living expenses.
That said, 3 months of wages is still a prohibitive cost for many would-be participants.
I think there are similarly awesome events / opportunities! You could go to !!con (pronounced bangbangcon) also in NYC; or attend a hack && tell meet up in your area (or something similar or start one!?)
It's not for everyone, and that's a shame - I'd love to attend too. While I could swing it (being in the area, relatively low personal/family costs), I certainly understand not being able to.
And even still, I find I can get some of the benefit just from interacting with alums like @b0rk on Twitter
There are other things, yes. My area (Seattle) is more of a "beer && code" scene; the tendencies for meetups are excessive bro (or marketing), not enough hacker, IMO. Ce la vie.
Twitter is a hard medium for long-form thought, and, frankly, when I post thoughts there, they go to /dev/null unless it's a reply to a popular person. So... meh?
I keep ruminating on the idea of working on a "cyberhackerspace", dedicated to the sort of thing Recurse Center channels, but 100% online. Dedicated cluster, domain name, irc channel, forums, etc. But I can't do it alone - I have that pesky Responsibilities monkey on my back.
I try to be friendly! If I'm not, it's probably because I'm stuck inside and it's beautiful outside, so try again another time. :)
Thanks for promoting hifi, and hack && tell for that matter! I'm no longer involved in hack && tell (I moved away from NYC and don't have the energy to do it in San Diego). The people now in charge of it are "best in show," and I'm sure will continue to push hack && tell to be even better than it ever was.
The grants page says that they offer between $500 to $7000 to cover housing, food, childcare, transportation, etc, so that's a reasonable ballpark range on what someone not on a grant might need to spend as well.
Or if you're not interested in a bootcamp, but rather a self directed environment surrounded by a community of other developers (and want a free option) there's Recurse Center (https://www.recurse.com/)
Worth noting that selective schools also tend to be more expensive. Even if the ROI isn't markedly higher, high price tag means a "larger investment" into the high ROI option of college education.
That's a substantive advantage (to those that can afford it) given that 12% return opportunities are scarce.
That basic argument makes sense to me but the leap to say that AlphaGo proves automation is accelerating doesn't.
Go is one of many task-specific AI's. It's not clear that it implies anything about generalized AI (which most experts agree is still very far off) or the rate at which task-specific AI's are developed.
It's wishful thinking to think that men can be reduced to this and that an eventual revolution will not ensue. A new political and social order must be found. "Men were not meant to live like this," people will eventually agree.
True - though this means only that the signal (outperformance by a group that is the target of discrimination) might not be present (if discrimination continues past initial selection as you point out).
However, the test may still useful to help confirm bias. If outperformance is observed, you can infer one of 3 things is true:
1) there is bias at initial selection but not after (or at least reduced bias)
2) members of the outperforming group are simply stronger performers (different but still interesting)
3) there is no bias at selection but there are affirmative action effects after the initial selection (not obvious why this would be the case)
We push code (after review!) to production several times a day and are working on some cool technical challenges like building a scalable trade execution platform, automating portfolio rebalancing, and automated tax-loss harvesting. We use modern technologies like: Ruby on Rails, Backbone.js, SASS, PostgreSQL running on Heroku.
I can definitely understand wanting to classify Pavlov as supervised learning. I think it's a murky issue because supervised and reinforcement are very closely related (and it is frequently possible to reframe problems of one type as problems of the other depending on what type of model one uses).
My two main reasons for going with this name are as follows (if people see issues in my logic, I'm happy to be convinced):
1) Reinforcement learning gets its name from the behaviorist psychology concept of reinforcement in which an agent's actions are met with rewards in order to shape that agent's future behavior. This is precisely the kind of response conditioning that Pavlov is well known for.
2) The key difference is what the training data look like.
In a supervised learning problem, the training data are input/output pairs (a stimulus and an appropriate action).
In reinforcement learning, the training data are input and reward pairs (an action and the reward applied to that action).
I would argue that Pavlov's experiments more like the latter case - the dogs are not shown 'this is the correct action for this stimulus', they are shown 'this is the reward for this stimulus'.
Markov decision processes is an old,
mature, at times deep, and polished
field. Names include R. Bellman,
E. Dynkin, R. Rockafellar, D. Bertsekas.
There are connections with scenario
aggregation, potentials, linear-quadratic-Gaussian
certainty equivalence, currents
of sigma algebras, the strong Markov
property, stopping times, and much more.
Can we be more clear on just what the
Markov processes involved actually are
and, then, how they are to be used?
All I saw was the Github page of gibberish --
I don't use Github whatever the heck it is.
But your URL was fine.
So, the work is a relatively routine
application of classic work from
optimization going way back, e.g.,
to Bellman.
The "Reinforcement learning"
terminology looks like
a new label for some quite
ancient wine.
I've wondered what machine learning
had that was good and new, and so
far I've seen some that is
good but not new and some that is
new but not good.
For an application, it would be
good to justify the Markov
assumption, that is, that
the past and future of the process
are conditionally independent
given the present.
For a more detailed treatment, I'd
recommend, say,
E. B. Dynkin and
A. A. Yushkevich,
'Controlled Markov Processes'.
Hi - in a previous comment you mention a paper you wrote that describes a distribution-free multivariate anomaly detector (this is the comment: https://news.ycombinator.com/item?id=9580929)
Would you mind emailing me a copy of it please? Address in profile. Thanks in advance!
That said, this makes me a bit nervous about shoe-horning functional programming into contexts where it is inappropriate. FunctionalPlus aside, C++ is very clearly designed for an object oriented style (even the name, C++, refers to "C plus objects").
Going too far down the path of working against the intent of the standards committee seems like a recipe for trouble (unless you're just talking about hobby projects).