Ask HN: What maths are critical to pursuing ML/AI? - <AUTHOR> What maths must be understood to enable pursuit of either of the above fields? are there any seminal texts/courses/content which should be consumed before starting? <comment><USER2> You absolutely need a solid grounding in multi-variable calculus, linear algebra, probability theory and information theory. It will also be helpful to be well versed in graph theory.

In my opinion one of the best starting points is "Information Theory, Inference and Learning Algorithms" by David MacKaye. It's a bit long in the tooth now, but it is still one of the most approachable and well written books in the field.

Another old book that stands up very well is "Probability Theory: the Logic of Science" by E. T. Jaynes.

"Elements of Statistical Learning" by Tibshirani is also good.

"Bayesian Data Analysis" by Andrew Gelman is another great read.

"Deep Learning" by Ian Goodfellow and Yoshua Bengio is useful for getting caught up with recent advances in that field.

<comment><USER3> I'm not super interested in ML but I am very interested in applied mathematics in computer science. I've got a fair bit of linear algebra due to cryptography, but have had virtually no need of any form of calculus (unless I'm relying on it without knowing it) in my career.

So beyond just saying that you'd need grounding in multivariable calculus to do serious ML work, I would be super interested in hearing more about why that is and what kinds of problems crop up in ML that demand it.

<comment><USER4> Most of ML is fitting models to data. To fit a model you minimise some error measure as a function of its real valued parameters, e.g. the weights of the connections in a neural network. The algorithms to do the minimisation are based on gradient descent, which depends on derivatives, i.e. differential calculus.

If you're doing Bayesian inference you're going to need integral calculus because Bayes' law gives the posterior distribution as an integral.

For ML you just need Calculus 1 and 2. The curl/div and Stokes is Calculus 3 which a physics thing. You don't need that for ML.

You may need the basics of functional analysis in certain areas of ML, which is arguably Calculus 4.

<comment><USER5> Could not agree more .......

> Most of ML is fitting models to data. To fit a model you minimise some error > measure as a function of its real valued parameters, e.g. the weights of the > connections in a neural network. The algorithms to do the minimisation are > based on gradient descent, which depends on derivatives, i.e. differential > calculus.

> If you're doing Bayesian inference you're going to need integral calculus > because Bayes' law gives the posterior distribution as an integral.

</comment></comment></comment></comment><comment><USER6> It will depend on the level you plan to engage in the ML/AI space. If you just want a job in ML/AI , you are in luck. Due to the growing assortment of available, mostly to fully automated, solutions like Datarobot, H2O, sckit- learn, keras(w/ tensorflow) the only math you will absolutely 'need' is probably just Statistics. Regardless of what's going on behind the scenes with whatever automatically tuned and selected algorithm your chosen solutions uses, you will still need some stats in the end to show the brass that 'your' model works. the upside is that then you can spend time, learning feature extraction, data engineering, and the aforementioned toolkits, in particular what models they make available.

If you want to develop new techniques and algorithms, the the skies the limit, you'll of course want Stats too though.

<comment><USER7> Can you recommend a Stats course that would be most relevant for people trying to be more practitioners (not researchers)?

<comment><USER8> Please just recommend the best online stats course you know of as a general toolbelt-notch.

<comment><USER9> There's a series of courses on Coursera, part of a Specialization from Duke titled something like "Statistics and Probability with R" or something like that. I've taken the first few classes in that series and have found them pretty good. The class on Bayesian Statistics is a little more difficult, but not too bad. I'll just say that you might want to complement the class with another book or other references on Bayesian stats. I've used this book:

[https://www.amazon.com/Bayes-Rule-Tutorial-Introduction- Baye...](https://www.amazon.com/Bayes-Rule-Tutorial-Introduction- Bayesian/dp/0956372848)

</comment></comment></comment></comment><comment><USER10> Basic probability is very helpful: Expectation, Standard deviation, P(A and B) = P(A)*P(B) is A and B are independent, P(A or B) = P(A)+P(B) if A and B are mutually exclusive. Also, knowing algebra is very helpful.

In a way, you don't really need to know much more because there is a lot of good software out there.

If you want to learn more math, learn Linear Regression, Logistic Regression, p-values, probability density functions, cumulative density function, the Central Limit Theorem, Gaussian Distributions, Exponential Distributions, Binomial Distribution, (maybe) Student-T distribution.

If you want to learn even more, first learn matrices (adding, multiplying, inverting, rank, span, matrix decomposition (SVD, and eigendecomposition are the most important)).

If you want to learn even more, it's time to learn calculus. Integral calculus is needed for continuous probability distributions and information theory. Differential calculus is needed to understand back propagation.

There are a lot of other good suggestions written by the other commentators.

<comment><USER11> This is a great list of the main concepts to know.

</comment></comment><comment><USER12> If you care about actually reading the nournals, as I do, and you had a very poor math education (as mine was abysmally opposed to both math and science as enemies of religion) then here are things I've determined I need to know to read journals:

\- Core statistics. You need to be familiar with how statisticians treat data, because it comes up a lot.

\- Calculus. You do not need to be a wizard at working the numbers but you do need to understand how to describe the process of differentiation and integration over multiple variables comfortably.

\- Linear algebra. It's essentially the basis for everything, even more than statistics.

\- Numerical nethods for computing. I constantly have to refer to references to understand why people make the choices they do.

\- Theory of computation and the research clustered around it. Familiarity here helps a lot. Sometimes I even catch errors or am able to recognize improvements available. Also there is a lot of crossover, as one would expect. An example: everyone is remembering how good automatic differentiation is! And given that properly combined differentiable equations are also differentiable, AD let's you optimize over your optimization process. It's differentiable turtles all the way down.

My next big challenge is nonparametric statistics. Many researchers tell me that this is a very fruitful place to be and many methods there are increasingly making improvements in ML.

<comment><USER13> How did you learn these topics? Did you solve problems for each of them?

<comment><USER12> Reading, study, and textbooks.

Tbh, I'm not where I want to be with them. So maybe next year I can talk about 2017 and my math oddessy.

</comment></comment></comment><comment><USER9> It depends on how deep you want to go and what your goals are, but I'd say that CuriouslyC pretty much nailed it. Multi-variable calculus, linear algebra, and probability / stats are definitely the core.

If you're interested in finding more "freely available online" maths references, check out:

[http://people.math.gatech.edu/~cain/textbooks/onlinebooks.ht...](http://people.math.gatech.edu/~cain/textbooks/onlinebooks.html)

[http://www.openculture.com/free-math- textbooks](http://www.openculture.com/free-math-textbooks)

[https://open.umn.edu/opentextbooks/SearchResults.aspx?subjec...](https://open.umn.edu/opentextbooks/SearchResults.aspx?subjectAreaId=7)

[https://ocw.mit.edu/courses/online- textbooks/#mathematics](https://ocw.mit.edu/courses/online- textbooks/#mathematics)

[https://aimath.org/textbooks/approved- textbooks/](https://aimath.org/textbooks/approved-textbooks/)

There's also a TON of high-quality maths instructional content on Youtube, Videolectures.net, etc. For example, there's some really good stuff by David McKay (also mentioned in CuriouslyC's post) here:

[http://videolectures.net/david_mackay/](http://videolectures.net/david_mackay/)

Be sure to check out Professor Leonard:

[https://www.youtube.com/user/professorleonard57](https://www.youtube.com/user/professorleonard57)

Gilbert Strang:

[https://www.youtube.com/results?search_query=gilbert+strang](https://www.youtube.com/results?search_query=gilbert+strang)

and 3blue1brown:

[https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw](https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw)

as well.

<comment><USER14> Another upvote for 3blue1brown. I just watched his linear algebra series and it's probably the most outstanding math instruction I've encountered.

<comment><USER15> [https://www.youtube.com/user/EugeneKhutoryansky](https://www.youtube.com/user/EugeneKhutoryansky)

another nice yt channel about math and physics.

</comment></comment></comment><comment><USER16> Surprising level of disagreement here on a few items for a sub field that has its own degree tracks.

Multiavariable calc you either "abolsutely" need or don't really need. Should be well versed in graph theory, or don't need it much.

Surely some of the contradiction is caused by different assumptions of what the goal is. But some of its hard to relate to as a reader. For example, I haven't been in the field but but have tried to read enough to understand the concepts, and having studied graph theory I don't see how it's a top 5 recommendation.

I don't doubt anyone's experience, would just be nice to know which assumption is behind a suggestion.

<comment><USER17> To apply known methods in cases where they mostly work, you don't need to know the math behind them, you just need to know _basic_ stats and _basic_ probability to interpret the results. So if the assumption is that you'll simply be solving your problems by applying the known methods using the (great!) tooling made by others, then you don't need the math background; you can certainly train undergrads to solve quite nifty problems with the powerful tools without going into much if any detail about the underlying math, treating it as an engineering problem of following best practices. After all, the choice of e.g. a particular gradient descent optimization algorithm is _not_ based on their mathematical properties (the proven bounds are _so_ far away from practical results, and a better proven bound doesn't correlate that much with having better results) but on empirical evaluation, and in most cases you're not going to implement any of the low-level structures/formulas on your own anyway, in practical solution development you're just going to choose them from a list by name in the framework of your choice.

On the other hand, if the assumption is that your particular problem _is not_ solvable easily and reliably with the current approaches, then quite a lot of the math background helps - if you want to improve on the current results, or debug/understand why your solution doesn't work as intended, or why the conceptual solution can't work on your problem because of incompatible assumptions, then these areas of math are useful. If you want to use a new bleeding-edge construct, or a rare niche construct that's not yet implemented in the framework of your choice, then you're going to need to write it yourself, and _then_ you need to understand how it works.

There's a large distance between _using and applying_ ML techniques and _researching and improving_ ML techniques; it's a continuum, but there's space for _many_ people standing purely in the applied end.

<comment><USER16> I think it's more nuanced. On average the better grasp of the theory an engineer has, the more pathways to success they have. Making better decisions, less guessing, leading a team, wanting to have input into future products and services, and so on.

Just having things be less opaque reduces cognitive load, makes more room for creative solutions.

</comment></comment></comment><comment><USER18> None. You can be a productive ML engineer without understanding the math. Many elitist engineers here will downvote me, but its true. ML libraries that allow you to quickly get productive have come a long way. BUT, you have to have a solid understanding of WHICH algorithms/tools to use WHEN. There is also a lot of "voodoo" knowledge to gain that isn't well documented or explained (unrelated to maths).

</comment><comment><USER19> For going all in, [https://ocw.mit.edu/courses/mathematics/18-657-mathematics-o...](https://ocw.mit.edu/courses/mathematics/18-657-mathematics- of-machine-learning-fall-2015/syllabus/)

But a good number of people that are doing work haven't taken real analysis, or it's been awhile and so you should be current on multivariable and vector calculus. Calculus of variations shows up from time to time.

For math reviews, look at the following (there's others if you want more refs, ping me):

[http://www.deeplearningbook.org/](http://www.deeplearningbook.org/)

[https://metacademy.org/roadmaps/](https://metacademy.org/roadmaps/)

[http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning...](http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/understanding- machine-learning-theory-algorithms.pdf)

</comment><comment><USER20> Make sure to differentiate between AI researcher and applied AI software engineer, or whatever that is called.

The former needs the mathematical background mentioned here to develop groundbreaking algorithms or improve on existing ones, while the latter merely implements them and requires a much smaller mathematical toolset.

</comment><comment><USER21> It depends whether you want to work more as an engineer / data analyst, or more as a "ML researcher". For the latter, then, yes, as everyone says below, you need to be totally comfortable with multivariable calculus, linear algebra, probability and statistics, numerical optimization etc. But many jobs are more practical in nature, in which the main case essential skill is, being able to run a bunch of different models with different parameter values and collect and interpret the results, efficiently and reproducibly, and be able to talk about them and make recommendations for the way forwards. In those jobs you're not actually going to need to be able to derive updates for backpropagation, even though it's certainly satisfying to understand it.

<comment><USER9> Yep. We have to keep in mind the distinction between "applied ML" and "ML research" (while realizing that this is a continuum, not a binary distinction). Not everybody is doing cutting edge original research... some people really can just get by with downloading DL4J, reading a few tutorials, and then applying a basic network to their problem, and create some value in the process.

I think cars are a good analogy. In the early days of automobiles, you needed to be something just short of a mechanical engineer to keep one going for any length of time, and it was routine to need to carry around tools and spare parts to perform significant repairs. You really needed to know a pretty good bit about how the car worked to use it effectively. But over time cars developed better abstractions and became more dependable and it became possible to operate a car without caring one lick about how it works, beyond know that it needs gas (or electricity!) and taking it in for the occasional tuneup /tire change / alignment / etc.

I wouldn't say we're at the point yet where ML afford one the opportunity to be completely divorced from caring about the underlying details, but I think we are at a point where you can legitimately get useful stuff done without needing to be able to, say, derive the equations for backprop by hand.

</comment></comment><comment><USER22> Honestly, I don't think having to learn some stuff before starting anything is nessecary, especially for learning a field as wide as ML/AI. It's much better to start out trying to learning something you're interested in, and then trying to fill in the gaps. This will also help you understand and motivate the underlying theory you're reading.

So for example, start with some source in ML/AI you'd like to read. If you get stuck, ask somewhere (possibly an online forum like this) what field you're having trouble with and how to get started there.

</comment><comment><USER23> Totally depends on where you want to land on the engineering-AI-products to pure-AI-research spectrum.

So, what do you mean by "pursuing"?

But even still, I would caution against trying to upload a bunch of new math concepts into your brain without first understanding the ML/AI context.

I would say go through both of Andrew Ng's ML and DL courses on Coursera.

Then, pick a domain/ problem that you're interested in.

Then, read papers about how ML/AI is applied in that domain.

Then, try to reproduce a paper that you understand and are interested in.

</comment><comment><USER24> Michael I. Jordan's suggested reading list has been posted here a few times

[https://news.ycombinator.com/item?id=1055389](https://news.ycombinator.com/item?id=1055389)

</comment><comment><USER25> Maybe unrelated to OP's question but I have always felt that it is impossible to get a job in AI/ML without a PhD in that field (by getting a job I mean do something new/useful and not just coding algorithm devised by other people). I studied mechatronics in university and fairly comfortable with math (calculus, linear algebra and stats), I have even written a small neural network back then to optimise parameters for lathe machining. But that's no where near enough for a job in AI/ML. Unlike writing a web page, which someone can learn within a week to produce something usable, I feel like you need years and years of studying to barely get a start in ML/AI and there is no hope for us non computer scientist at all.

[Added] Of course writing webpages pays well enough, but I still can't shake off this feeling that I am missing something by not jumping on the AI/ML train though.

</comment><comment><USER26> Statistics and Probability - For non-math background, Openintro.org with R and Sas lab is a good one. Khan academy videos on the same again makes a lot of concepts easier.

[http://www.r-bloggers.com/in-depth-introduction-to- machine-l...](http://www.r-bloggers.com/in-depth-introduction-to-machine- learning-in-15-hours-of-expert-videos/) Introduction to Statistical Learning [http://www-bcf.usc.edu/~gareth/ISL/](http://www-bcf.usc.edu/~gareth/ISL/) (Rob S and by Trevor H, Free I guess) for more in depth, Elements of Statistical Learning by the same.

Linear Algebra (Andrew Ng's this part in Introduction to Machine Learning is a short and crisp one)

If you're not scared by Derivatives, you can check them. But you can easily survive and even excel as a data scientist or ML practitioner with these.

</comment><comment><USER27> I won't really comment about ML/AI in general. But, if you specifically care about getting into Deep Learning, I would say only bother looking into: \- Basic linear algebra and matrix algebra.

Since you would rely on frameworks like Tensorflow to handle figuring out the derivatives for you, you don't really need to know much calculus. Just read up on what derivative of a function at a particular point signifies. This should give you enough intuition to understand things initially.

A skill that would really come in useful would be ability to look at a function and think how increasing/decreasing one of the variables would affect it's value. This would help develop intuition around a lot of concepts used in Deep Learning topologies.

</comment><comment><USER28> I previously attempted Andrew Ng's old course, but didn't complete the tutorials. Now I would start in this order:

Watch the course.fast.ai lectures quickly, just to see a lot of practical ML/AI applications. You'll see how effective you can be just by knowing the tools with very little math background.

Next I'd look at the NEW Andrew Ng introduction on Coursera. It is much more approachable than his first course. You might still feel a little overwhelmed by a few equations, but then you'll implement them yourself in numpy. (And the ipython/jupyter notebooks are really well written, walking you through every step.)

</comment><comment><USER29> I wish the people who answer this question are people that are current deep learning engineers or data scientist that use deep learning in real world settings, I am worried that people who are not credible are giving advice, which is not valuable. I am a masters student taking a PhD class in Bayesian machine learning to figure this out as well. I hope to have a better answer for this by the end of the course!

<comment><USER9> _I wish the people who answer this question are people that are current deep learning engineers or data scientist that use deep learning in real world settings,_

Why do you want answers only from people doing deep learning? Deep learning is just a subset of the overall field (albeit an incredibly popular and useful one).

Anyway, the simple solution is just to use some simple machine learning of your own to analyze the data set which these threads constitute. Look for patterns... are certain answers being repeated over and over again, by different posters? Then I'd argue that your Bayesian posterior for "this is legitimately important" should go up.

Take Linear Algebra for example... given the sheer number of people saying "linear algebra" in their answers, it seems a reasonably bet to me that LA is really, truly useful. Either that or there's some _really_ freaking group- think shit going on. :-)

<comment><USER29> I guess what I am looking for is advice from practitioners who wont lead people astray who are really interested in diving deep into ML.

I have attempted to read the Statistical Learning book, and its so daunting because the book expects a lot of background knowledge, and it takes a while to really wrap your head around these concepts. I think people should learn from a lighter book, before diving into these books if you are lacking the background.

My current approach to pursuing a career in DL and ML is going to graduate school, taking a graduate ML course, and trying to apply my knowledge to different problems I am interested in.

I am reading the Bishop book Pattern Recognition now. I think from the perspective of having to re-learn a lot of calculus and probability, that book is more approachable than Statistical learning.

My advice (which I am attempting now) to dive deep into ML is follows:

1\. Taking Bayesian ML class (at Cornell) 2\. Read/Study Pattern Recognition by Bishop, for 5hrs/day 3\. Try exercises, if fail, review solutions 4\. If lost(which is usually), review missing concepts from MIT OCW scholar courses

</comment></comment></comment><comment><USER30> 1\. You can get a long way with high school calculus and probability theory.

2\. Regarding books I second the late David McKay's "Information Theory, Inference and Learning Algorithms" and the second edition of "Elements of Statistical Learning" by Tibshirani et al. (there's also a more accessible version of a subset of the material targeting MBA students called James et al., An Introduction to Statistical Learning). Duda/Hart/Stork's Pattern Classification (2nd ed.) is also great. The self-published volume by Abu- Mostafa/Magdon-Ismail/Lin, Learning from Data: A Short Course is impressive, short and useful for self-study.

3\. Wikipedia is surprisingly good at providing help, and so is Stack Exchange, which has a statistics sub-forum, and of course there are many online MOOC courses on statistics/probability and more specialized ones on machine learning.

4\. After that you will want to consult conference papers and online tutorials on particular models (k-means, Ward/HAC, HMM, SVM, perceptron, MLP, linear and logistic regression, kNN, multinomial naive Bayes, ...).

</comment><comment><USER31> All I needed to write my conv net library was to understand the chain rule and some basic multiplication.

People like to make this look harder than it is.

</comment><comment><USER32> Probability theory and linear algebra are pretty much the core. Learning LA will help you become comfortable with multi-dimensional quantities, vector spaces, and give you some powerful computational techniques, e.g., SVG==PCA.

Here is a short tutorial on linear algebra: [https://minireference.com/static/tutorials/linear_algebra_in...](https://minireference.com/static/tutorials/linear_algebra_in_4_pages.pdf) and a preview of the full book: [https://minireference.com/static/excerpts/noBSguide2LA_previ...](https://minireference.com/static/excerpts/noBSguide2LA_preview.pdf)

</comment><comment><USER33> If you want to understand SVMs deeply, a course in convex optimization. In general, proving maximum likelihood estimation for a lot of classic machine learning models involves using the method of Lagrange multipliers. But not deep neural networks :)

</comment><comment><USER34> I found this study plan very useful for me. [https://www.analyticsvidhya.com/blog/2017/01/the-most- compre...](https://www.analyticsvidhya.com/blog/2017/01/the-most- comprehensive-data-science-learning-plan-for-2017/)

Provides a very good idea of the courses required and their time frame. I roughly followed along this path but took "Analytics Edge" [https://www.edx.org/course/analytics-edge- mitx-15-071x-3](https://www.edx.org/course/analytics-edge-mitx-15-071x-3) for introduction into ML algorithms.

</comment><comment><USER35> A thorough, intuitive grounding in statistics is crucial, IMO.

Doing any kind of ML means questioning all the assumptions that go into your results and understanding how those assumptions could affect the outcome. That process starts in stats.

</comment><comment><USER36> It depends on what "pursuing ML/AI" means. I've written a recommendation engine with barely understanding linear algebra and a spam filter without knowing Bayes theorem. A programmer can work on ML systems without having a solid foundation in higher maths. However, if you want to develop your own solutions then you surely need the math.

I would recommend reading Toby Segaran's Programming Collective Intelligence: [http://shop.oreilly.com/product/9780596529321.do](http://shop.oreilly.com/product/9780596529321.do)

</comment><comment><USER37> For ML, the other users gave a good coverage of topics. But AI is an incredibly broad field, and each specialty uses different math topics. Learning all of the math would be infeasible. What are your particular interests?

Russell and Norvig have a good book at [http://aima.cs.berkeley.edu](http://aima.cs.berkeley.edu) that covers many different topics in AI, although it is definitely not comprehensive. I would say that whatever you learn in an undergraduate CS degree would give you a good starting point for learning any particular AI topics.

</comment><comment><USER11> Not knowing anything about you, I'll assume that

\- you are starting with the equivalent of a high school level of maths

\- you want to take a ML course or read an ML book without feeling totally lost

As some commenters have said, Calculus, Probability and Linear Algebra will be very helpful.

Some people like to recommend the "best" or "most important" books which you "should" read, but there is a strong chance these will end up sitting on a bookshelf, barely touched. So I will recommend some books which are perhaps more accessible.

\- Calculus by Gilbert Strang

\- Linear Algebra by Gilbert Strang

For Probability: I don't have any favourites, sorry.

</comment><comment><USER34> You can also dive in first and then cover the math behind ML, by taking Andrew Ng's courses. [https://www.coursera.org/learn/machine- learning](https://www.coursera.org/learn/machine-learning) [https://www.coursera.org/specializations/deep- learning](https://www.coursera.org/specializations/deep-learning)

</comment><comment><USER38> Basic high school calculus and linear algebra is really the only _required_ thing.

I would recommend probability theory and statistics as well.

</comment><comment><USER39> You can learn the required maths along the way through Andrew Ng's deep learning course at coursera.

</comment><comment><USER40> The following is a concise and good explanation of necessary knowledge of information theory:

[http://colah.github.io/posts/2015-09-Visual- Information/](http://colah.github.io/posts/2015-09-Visual-Information/)

</comment><comment><USER4> * Calculus

* Linear algebra

* Optimisation

* Probability

Various universities have very good course content freely available online, often including textbook recommendations, course notes, exercises, sample exams, and video lectures. Realistically it is probably going to be quite difficult to learn this on your own.

</comment><comment><USER41> I'd say everything in this list is good to know [http://pages.cs.wisc.edu/~tdw/files/cookbook- en.pdf](http://pages.cs.wisc.edu/~tdw/files/cookbook-en.pdf)

<comment><USER42> I believe there's a more recent version of this document available here: [http://statistics.zone](http://statistics.zone)

</comment></comment><comment><USER43> Calculus Functions Derivatives Integration Analytic Geometry That's all I think *[http://shrugemojis.com/shrug-emoji/](http://shrugemojis.com/shrug- emoji/)

</comment><comment><USER44> Probability, and thus multivariate calculus and partial differential equations. Linear algebra. Convex Optimization, and thus multivariate and partial differential equations. Some principals of statistics is usually helpful

<comment><USER4> Why do you need partial differential equations? I don't think you necessarily need any knowledge of differential equations to do ML, though the top ML people certainly would know it because of their general math education.

<comment><USER11> I spent a lot of time messing with PDEs as a student but sadly that knowledge hasn't been very useful - I've only seen them come up in quite specialised areas like optical flow...

</comment></comment></comment><comment><USER45> Some people have had a more comprehensive view on this -- if I were to focus on one field of math to understand really well though, it'd be statistical reasoning and the understanding of probability and uncertainty.

</comment><comment><USER46> Calculus (preferably both multi-variate and discrete), probability, statistics, operations research, graph theory, topology, computational complexity. All depends on how deep you'd like to go.

<comment><USER47> Discrete calculus? I think you mean univariate.

</comment></comment><comment><USER43> Yet it depends. Theres a lot out there on google one could learn. [http://fitnessjab.com/](http://fitnessjab.com/)

</comment><comment><USER48> There are two way to approach ML/AI

1) First read all the prerequisites and then work on a problem

2) Start working on a problem and learn all the math ML/AI as you need

The second option works best.

</comment><comment><USER49> Part I

(1) Calculus

Generally should have college freshman and sophomore calculus.

(1.1) Functions

So, there can understand better what a _function_ is. E.g., function

         f(x) = 3x^2 + 1.

(1.2) Derivatives

Then will learn how to find the slope of the graph of a function. That is the _derivative_ of the function. E.g., for function f with f(x) = 3x + 2, as in high school algebra, the slope is 3. Then for each x, the derivative of f at x is just 3.

The derivative of function f is denoted by either of

         f'(x) = d/dx f(x)

E.g., for function f(x) = 3x^2 + 1 it turns out that

         f'(x) = 6x.

(1.3) Integration

For function

         g(x) = 6 x

maybe we want to know what function f(x) will give us

         f'(x) = g(x)

Finding such a function f is _anti-differentiation_ , that is, undoes differentiation. So, sure,

         f(x) = 3x^2 + C

for any constant C.

Such anti-differentiation is also the way to find the area under a curve. So, can use that to find the area of a circle, volume of a cylinder, etc. Doing that the anti-differentiation is _integration_.

The fundamental theorem of calculus shows how differentiation and integration are related.

(1.4) Analytic Geometry

Commonly taught at the beginning of a calculus course is _analytic_ geometry.

So, take a cone an cut it. Then the cut surfaces will be one of a circle, an ellipse, a parabola, a hyperbola, or just two crossed straight lines. So, those curves are from a cone and are the _conic sections_.

There is some simple associated algebra.

Conic sections are important off and on; e.g., applied math is awash in circles; the planets move in ellipses; a baseball moves in a parabola or nearly so; an electron moving toward a negative charge will turn away from that charge in a hyperbola.

It turns out that in linear algebra (below) circles and ellipses are important.

(1.5) Role of Calculus

Calculus was invented by Newton as part of working with force and acceleration for understanding the motion of the planets.

E.g., if at time t function d(t) gives distance traveled, then function v(t) = d'(t) is the velocity at time t and function a(t) = v'(t) is the acceleration at time t.

Then Newton's second law is

         F(t) = m a(t)

where F(t) is the force at time t applied to mass m.

Calculus is the first approach to the analysis of continuous change and is a pillar of civilization.

Knowledge of calculus will commonly be assumed in work in ML/AL, data science, statistics, optimization, applied math, engineering, etc.

E.g., a lot in ML, AI, and data science is getting best fits to data; best fitting is to minimize errors in the fit; such minimization is mostly a calculus problem; one of the main steps in ML is steepest descent, and that is from a derivative.

Probability theory (e.g., evaluating coin tossing, poker hands, accuracy in ML) will be important in ML/AI, etc.; two of the basic notions in probability are cumulative distributions and density distributions; the cumulative is from an integration, and the density is from a differentiation.

<comment><USER49> Part II

(2) Linear Algebra

(2.1) Linear Equations

The start of linear algebra was seen in high school algebra, solving systems of linear equations.

E.g., we seek numerical values of x and y so that

         3 x - 2 y = 7

         -x  + 2 y = 8

So, that is two equations in the two unknowns x and y.

Well, for positive integers m and n, we can have m linear ( _linear_ is in the above example but omitting here a careful definition) equations in n unknowns.

Then depending on the constants, there will be none, one, or infinitely many solutions.

E.g., likely the central technique of ML and data science is fitting a linear equation to data. There the central idea is the set of _normal equations_ which are linear (and, crucially, _symmetric_ and _non-negative semi-definite_ as covered carefully in linear algebra).

(2.2) Gauss Elimination

The first technique for attacking linear equations is Gauss elimination. There can determine if there are none, one, or infinitely many solutions. For one solution, can find it. For infinitely many solutions can find one solution and for the rest characterize them as from arbitrary values of several of the variables.

(2.3) Vectors and Matrices

A nice step forward in working with systems of linear equations is the subject of vectors and matrices.

A good start is just

         3 x - 2 y = 7

         -x  + 2 y = 8

we saw above. What we do is just rip out the x and y, call that pair a _vector_ , leave the constants on the left as a _matrix_ , and regard the constants on the right side as another vector. Then the left side becomes the matrix theory _product_ of the matrix of the constants and the vector of the unknowns x and y.

The matrix will have two rows and two columns written roughly as in

       /         \
       |  3  - 2 |
       |         |
       | -1    2 |
       \         /

So, this matrix is said to be 2 x 2 (2 by 2).

Sure, for positive integers m and n, we can have a matrix that is m x n (m by n) which means m rows and n columns.

The vector of the unknowns x and y is 2 x 1 and is written

       /   \
       | x |
       |   |
       | y |
       \   /

So, we can say that the matrix is A; the unknowns are the _components_ of vector v; the right side is vector b; and that the system of equations is

         Av = b

where the Av is the matrix product of A and v. How is this product defined? It is defined to give us just what we had with the equations we started with -- here omitting a careful definition.

So, we use a matrix and two vectors as new notation to write our system of linear equations. That's the start of matrix theory.

It turns out that our new notation is another pillar of civilization.

Given a m x n matrix A and an n x p matrix B, we can form the m x p matrix product AB. Amazingly, this product is associative. That is, if we have p x q matrix C then we can form m x q product

ABC = (AB)C = A(BC)

It turns out this fact is profound and powerful.

The proof is based on interchanging the order two summation signs, and that fact generalizes.

Matrix product is the first good example of a _linear operator_ in a _linear system_. The world is awash in linear systems. There is a lot on linear operators, e.g., Dunford and Schwartz, _Linear Operators_. Electronic engineering, acoustics, and quantum mechanics are awash in linear operators.

To build a model of the real world, for ML, AL, data science, ..., etc., the obvious first cut is to build a linear system.

And if one linear system does not fit very well, then we can use several in patches of some kind.

(2.4) Vector Spaces

For the set of real numbers R and a positive integer n, consider the set V of all n x 1 vectors of real numbers. Then V is a _vector space_. We can write out the definition of a vector space and see that the set V does satisfy that definition. That's the first vector space we get to consider.

But we encounter lots more vector spaces; e.g., in 3 dimensions, a 2 dimensional plane through the origin is also a vector space.

Gee, I mentioned _dimension_ ; we need a good definition and a lot of associated theorems. Linear algebra has those.

So, for matrix A, vector x, and vector of zeros 0, the set of all solutions x to

Ax = 0

is a vector space, and it and its dimension are central in what we get in many applications, e.g., at the end of Gauss elimination, fitting linear equations to data, etc.

(2.5) Eigen Values, Vectors

 _Eigen_ in German translates to English as special, unique, singular, or some such.

Well, for a n x n matrix A, we might have that

Ax = lx

for number l. In this case what matrix A does to vector x is just change its length by l and keep its direction the same. So, l and x are quite special. Then l is an _eigenvalue_ of A, and x is a corresponding _eigenvector_ of A.

These eigen quantities are central to the crucial singular value decomposition, the polar decomposition, principal components, etc.

(2.6) Texts

A good, now quite old, intermediate text in linear algebra is by Hoffman and Kunze, IIRC now available for free as PDF on the Internet.

A special, advanced linear algebra text is P. Halmos, _Finite Dimensional Vector Spaces_ written in 1942 when Halmos was an assistant to John von Neumann at the Institute for Advanced Study. The text is an elegant finite dimensional introduction to infinite dimensional Hilbert space.

At

[http://www.american.com/archive/2008/march-april-magazine- co...](http://www.american.com/archive/2008/march-april-magazine-contents/why- can2019t-a-woman-be-more-like-a-man/?searchterm=Sommers)

is an entertaining article about Harvard's course Math 55. At one time that course used that book by Halmos and also, see below, Baby Rudin.

For more there is

Richard Bellman, _Introduction to Matrix Analysis_.

Horn and Johnson, _Matrix Analysis_.

There is much more, e.g., on numerical methods. There a good start is LINPACK, the software, associated documentation, and references.

(5) More

The next two topics would be probability theory and statistics.

For a first text in either of these two, I'd suggest you find several leading research universities, call their math departments, and find what texts they are using for their first courses in probability and statistics. I'd suggest you get the three most recommended texts, carefully study the most recommended one, and use the other two for reference.

Similarly for calculus and linear algebra.

For more, that would take us into a ugrad math major. Again, make some phone calls for a list of recommended texts. One of those might be

W. Rudin, _Principles of Mathematical Analysis_.

aka, "Baby Rudin". It's highly precise and challenging.

For more,

H. Royden, _Real Analysis_

W. Rudin, _Real and Complex Analysis_

L. Breiman, _Probability_

M. Loeve, _Probability_

J. Neveu, _Mathematical Foundations of the Calculus of Probability_

The last two are challenging.

For Bayesian, that's conditional expectation from the Radon-Nikodym theorem with a nice proof by John von Neumann in Rudin's _Real and Complex Analysis_.

After those texts, often can derive the main results of statistics on your own or just use Wikipedia a little. E.g., for the Neyman-Pearson result in statistical hypothesis testing, there is a nice proof from the Hahn decomposition from the Radon-Nikodym theorem.

<comment><USER50> I have been inspired by some of your past posts suggesting a path for studying mathematics and doing graduate level work, and have changed my direction to try and follow what you suggest. Is there any way I can get in touch with you privately? (I'm not looking for help with specific technical questions if you're concerned about that.)

<comment><USER51> Are you doing the "Get the book. Read the book. Do the exercises." method? If you are, what's your experience?

I have had some books stored up since forever, and graycat's post did motivate me to finally get around to reading them, but I find it hard to integrate into my daily routine. His 24h challenge killed my productivity for a day, and I can't really afford to get distracted by some tricky proof when I'm supposed to do something else.

<comment><USER50> Yes, I'm working through a few books that way. I didn't see his 24h challenge so I'm not sure what it is, but what has been effective for me is blocking off a few hours every day to work on this stuff. I haven't gotten to the really difficult material he's talking about yet, but I'm looking forward to seeing how this goes. Good luck to both of us!

<comment><USER51> The exercises are here [https://news.ycombinator.com/item?id=15022458](https://news.ycombinator.com/item?id=15022458) (that post was downvoted & flagged to death, so you might have to turn on showdead in your profile to see it)

In a different comment chain on the same submission ([https://news.ycombinator.com/item?id=15024640](https://news.ycombinator.com/item?id=15024640)), he challenged the commenters disagreeing with him to do these exercises in 24 hours. The tone was pretty abrasive, TBH, but I found the questions interesting enough that I tackled them in earnest.

I posted my solution attempts, so don't scroll down too far if you want to try them on your own ;)

</comment></comment></comment></comment></comment></comment><comment><USER52> Probability and Statistics to begin with !

</comment><comment><USER53> Not a mention so far about game theory or Nash equilibrium.

I'm no expert but does anyone think these apply?

<comment><USER54> It very much does. Boosting, a one of the best off the shelf ensemble classifier is derived from a game theoretic formulation. Besides that there is this huge body of literature about prediction under non-probabilistic sequence of test cases. This line of work is primarily held up by game theoretic arguments and that of online convex optimization.

<comment><USER53> I wasn't familiar with Boosting. Now off the read some articles.

</comment></comment></comment><comment><USER55> Linear algebra, probability, and tree/graphs.

</comment><comment><USER56> demystified has good series on calculus and linear algebra. Its light weight

</comment><comment> blubb-fish just start learning and you will see what math comes along ;)

</comment><comment><USER57> Stanford EE263 is very spicy [http://ee263.stanford.edu](http://ee263.stanford.edu)

</comment><comment><USER58> > What maths must be understood to enable pursuit of either of the above > fields?

None.

> Are there any seminal texts/courses/content which should be consumed before > starting?

No.

You don't need to know binary to start being a programmer/developer either. Just start already. As long as you are not in charge of a medical diagnosis or financial model, you don't get any drawback in experimenting (and failing miserably).

Assuming applied ML, the most difficult part will be the human-political business element of it: People not understanding your model or using its output correctly, bias, feedback loops, acquiring enough resources, etc. The more you can explain to them, without resorting to heavy maths, the better communicator you are.

That said, it can't hurt to do Ng's Coursera course (a lot of top performers started out with this course). Learning from Data by Caltech's Abu-Mostafa goes very wide on machine learning. "Programming Collective Intelligence" is a, somewhat dated, good book.

As for seminal texts, the field is too wide for this. A better bet is: Find a professor in the field you are interested in. Say "Deep Learning", you could have a look at LeCun, Hinton, Schmidhuber, Bengio, ... Now look at their PhD- students, their papers, their courses, their conference talks, their software, their current research. Basically become a student under the most authoritative professor in the subfield you can find and resonate with, without ever paying any university tuition or them knowing you exist. This is very possible these days.

But by all means: Just start out. Machine learning is fun. Learning about dry 100 year old maths not so much. Make mistakes. Learn to detect and avoid overfit. Find out if you are passionate and curious about parts of the field, then the theory will come eventually. A lot of the time these questions seem to demand answers like: "You need a PhD-level understanding of mathematics" Just so your brain can go: "I am not good enough for this, so let's look at something easier". Don't use this as an excuse. Start making intelligent stuff. There are 16-year-olds on Kaggle routinely beating maths PhD's.

Also remember that, despite the current trend of calling everything "AI", that AI is a very wide field, of which mathematics is only a small part. There is philosophy, linguistics, cognitive science, physics, neuroscience, psychology, computer science, robotics, logic, ... all these parts vary wildly in their prerequisite maths knowledge.</comment>


Google Announces Plan to Improve URLs for AMP Pages, but AMP Will Still Suck - <AUTHOR> https://daringfireball.net/linked/2018/01/09/amp-will-still-suck <comment><USER2> The premise Google is responsible for the issues he mentions is demonstrably false.

AMP's foundational tenents don't include Google Search is the one and only search engine. Bing and Microsoft's apps have been using AMP publicly for 1.5 years, with Google's help and support during development.

The comments after are Apple bugs, not issues with Google or AMP. To wit, the AMP foundation hired an open source consultancy 6 months to bring WebKit's frame implementation in sync with modern browsers, which also fixes the scrolling issues. See [http://frederic-wang.fr/amp-and-igalia-working- together-to-i...](http://frederic-wang.fr/amp-and-igalia-working-together-to- improve-the-web-platform.html)

<comment><USER3> But is it necessary to do it using iframes? Why not open a web page (which would be better supported in general and wouldn't require fixes in the first place)?

</comment></comment><comment><USER4> On the one hand, I cry every time the open web loses a bit, and certainly AMP is a loss for the open web. After all Google is essentially trying to make the web its platform.

But as a user... I love, yes love AMP. All of these complaints about scrolling and Safari chrome and URLs are valid, but guess what: AMP has an awesome feature that the page actually loads!

I know some sites (like Daringfireball) load really nice and fast on mobile, and only have 1 or 2 ads on them, but that's not the state of the web. There are lots of sites with great content, but also 2MB of React Frameworks/Ads/Crap to display a 2KB article. I hit "Reader Mode" as soon as I can on these pages, which is usually after 5-10 seconds of load. Compare this to AMP which load in <1 second. That tradeoff is worth it to me.

<comment><USER5> Yeah this is the problem. I think some of the criticisms of AMP are valid but the sad reality is that sites are never going to clean up their act on their own. AMP dramatically improves web UX for people that might otherwise be inclined to give up and spend all their time in feeds in native apps.

Hopefully Google can address some of these concerns without losing the very real end user benefits of AMP as it's implemented now.

</comment></comment><comment><USER6> The road to hell is paved with good intentions. Google's new motto perhaps.

<comment><USER7> Good intentions?

Strip away the blue sky projects and the stuff they do for optics/PR, and you're left with a machine that is designed to collect deeply personal insights about every economic participant on Earth and use that intelligence to make money.

Google's road to hell was paved with deceit.

<comment><USER8> Not sure where the deceit was. This was always what they were doing.

<comment><USER9> But before all they had was a search engine instead of 500 services paired with analytics.

</comment></comment></comment></comment><comment><USER10> AMP as a "feature" is really just there to prevent you from leaving search results and google's sites.

It's a cover up for further closing down the open web and helping them bump ad revenue.

Hopefully you guy already know that.

<comment><USER11> I'm pretty sure everyone realizes what proxying all non-Google content through their servers does. The thing is, people who rely on Google are more afraid of it going away than they are upset at the lengths by which Google asserts itself over their life.

It's really funny to me. They already had Android Chrome's "traffic optimizer" to tunnel all traffic through their servers. But I guess they wanted Safari and other mobile content as well, so they made this crappy web proxy, and now it affects everyone's use of the web. Like... they really didn't have to do this. But they knew they could, and knew it would only provide a minor annoyance to most people, so they did it. And predictably, people defend it, as if reinventing WAP were a good idea.

(To be fair: when I used a J2ME phone, I wrote WAP web services. But I'm not runnning a J2ME phone any more.)

</comment></comment><comment><USER12> I'm still kind of confused as to why people dislike AMP. I thought it was just meant to be a fast subset of HTML, which allows for small, fast, cacheable pages?

<comment><USER13> It's not a subset of HTML, it's a system of delivering content that happens to shift some control from producers to Google.

Producers had disregarded users' interests for too long with increasingly bloated pages. Google was able to benefit both itself and users by cutting the bloat, but because the solution comes at the cost of further centralization, it's seen as part of the general erosion of the open and decentralized web.

<comment><USER12> AMP content is still hosted by the producers though isn't it?

If people are concerned by it being "centralised" due to Google caching the pages, shouldn't they also be concerned about CDNs like Akamai? Or am I missing something important?

<comment><USER14> The problem is, that you never leave Google's domain. Even if the content is hosted somewhere else, you are accessing it through an iframe on a Google domain. But without looking at the URL bar, you don't even know it, as there is no Google logo or anything. Not to mention, that it's a terrible user experience. The AMP header takes up a big part of your screen height and often causes browser URL bars not to hide, taking up even more. Add the site header and you barely have any space left for the content. And it's even worse on old devices - they have to render the Google page and the iframe inside it. This makes them much slower than if Google just let you access the page directly.

<comment><USER12> I'm not sure that being hosted on Google's domain is inherently a bad thing, given the ubiquity of CDNs, but the others are definitely fair points. If I'm understanding everything, AMP still seems like a good idea, it's just implementation details which can be problematic.

</comment></comment></comment></comment></comment><comment><USER15> I think the problem for mobile web would never be solved by "import" something.Every website should really find their own way, since websites varies in many aspect.

But to be honest, I really think developers these days are doing things wrong.they are adding more and more stuff for simplicity, which turn out to be bigger troubles</comment>


how I reduced my bounce rate 94% with cloudflare? - <AUTHOR> http://developdaly.com/web-design/cloudflare-review-and-how-i-reduced-my-bounce-rate-94/ <comment><USER2> Er. That must have been one hell of a slow site to start with. I am evaluating cloudflare at the moment. No noticeable change in any user retention stats. No real noticeable change in site speed either.</comment>


Essential Front End Checklists for Developers (Engineering, Performance, Design) - <AUTHOR> https://levelup.gitconnected.com/3-essential-front-end-checklists-for-web-developers-d873b226b1f0 <comment><USER2> Check your asset's load times in the Networking tab of DevTools.</comment>


TensorFlow on Mobile: TensorFlow Lite - <AUTHOR> https://towardsdatascience.com/tensorflow-on-mobile-tensorflow-lite-a5303eef77eb <comment><USER2> Some people are wondering if Tensorflow Lite would support CoreML / iPhone's neural engine. Tensorflow is not supported with coremltools (but I suppose Google could contribute a patch for this). I'm not sure about the CoreML libraries on the phone but from my understanding it may work.

Keras is supported out of the box with the Tensorflow backend though. See [https://medium.com/@JMangia/super-simple-end-to-end-test- of-...](https://medium.com/@JMangia/super-simple-end-to-end-test-of-keras- tensorflow-and-coreml-f247ab73fb42) and [https://github.com/apple/coremltools](https://github.com/apple/coremltools)

<comment><USER3> not supported (or is this the patch you mention)? [https://developers.googleblog.com/2017/12/announcing-core- ml...](https://developers.googleblog.com/2017/12/announcing-core-ml- support.html)

</comment></comment><comment><USER4> Would be super cool if they would even port their stuff to Web Assembly. Now we have some Android and some iOS solution, but webasm would be truly platform independent.

<comment><USER5> Without SIMD I'm guessing the performance wouldn't be great.

<comment><USER6> Doesn't JIT automatically SIMDifies some operations on arrays? Although I agree it would be better to have a control over that, instead of hoping JIT compiler would do the right thing.

<comment><USER7> Generic automatic vectorization remains very much an unsolved problem. Outside of very specific cases, even modern compilers very much suck at it. That's why most vectorizable libraries have hand-coded SSE/NEON assembly blocks. I would not expect a JIT, which has to be fast, to have time to auto-vectorize anything at all, much less to do it well.

</comment></comment></comment></comment><comment><USER8> I'm surprised it doesn't take advantage of the iPhone's "neural engine" if it's available.

<comment><USER9> Apple uses a different model format[0], so tensorflow models need to be converted first before they can be used. So Apple would need to add support for this tensorflow lite/mobile model format to work in Core ML.

[0][https://developer.apple.com/documentation/coreml/converting_...](https://developer.apple.com/documentation/coreml/converting_trained_models_to_core_ml)

<comment> J0-nas Another format is onnx [0], where Apple and Goodle don't seem to participate. I don't know the politics behind it but there should be a common format for all libraries/platforms.

[0] [https://onnx.ai/](https://onnx.ai/)

<comment><USER10> onnx seems to be an initiative to try to allow Microsoft's and Facebook's AI platforms to compete with Tensorflow.

Considering Tensorflow is more a grab at developer mindshare than an ideal platform [for example, its performance lags by a factor of two behind MXNet and Torch], I think it's a smart plan.

<comment> J0-nas I don't think the last sentence is fair to trensorflow. Torch has been around for ~15 years compared to the 3 of TF. You'd expect TF to catch up in terms of performance in the future.

<comment><USER10> I think it's more than fair. I'm certain that more developer-hours have been spent on TensorFlow than on Torch.

They very well may catch up, but that doesn't mean that hype and the Google name aren't the reason it's gotten popular.

</comment></comment></comment></comment></comment></comment><comment><USER11> The training export from Google CloudML -> Tensorflow Lite is still not clear. Since the freeze_graph scripts use Bazel, it is hard to pull this off on the cloud

<comment><USER12> You can call freeze_graph directly from Python code, it's in tensorflow.python.tools.freeze_graph. [https://github.com/tensorflow/tensorflow/blob/ba032db1362794...](https://github.com/tensorflow/tensorflow/blob/ba032db13627945e7cc772dbd3d85d257aef3ab9/tensorflow/python/tools/freeze_graph.py#L209)

</comment></comment><comment><USER13> I'm looking forward to some tflite on Raspberry Pi tutorials.

<comment><USER14> An issue has been created on github: [https://github.com/tensorflow/tensorflow/issues/14589](https://github.com/tensorflow/tensorflow/issues/14589)

It seems that it will be supported but there's no timeline.

<comment><USER15> It looks like this issue has been resolved to a reasonable extent.

I just tried building TFLite for a lark on a Raspberry Pi 2 and succeeded without much hassle and any of that bazel nonsense. It's a standalone component - they provide a Makefile and I just had to run make.

The example label_image inference app took a bit more work - I had to write my own Makefile - but wasn't difficult. I'm able to run inference on images on RPi2 with both floating and quantized MobileNets tflite models. Will try videos now.

For anybody else interested in trying out TFLite on your desktop or Raspberry Pi or any SBC, I've put up instructions and Makefile at [https://pastebin.com/LDEGyG46](https://pastebin.com/LDEGyG46)

<comment><USER16> Thanks for providing those instructions. What kind of performance do you get for both MobileNet versions?

<comment><USER15> I did not do any performance profiling yesterday. I am currently interested in deploying object detection models for video streams, and plan to do detailed profiling of those when ready.

That said, the label_image classification example does provide some timing information. On the 500x600px test image that comes with it, non-quantized classifier for 10 iterations took ~900 ms on a RPi2 while quantized took ~300 ms. The confidence values were much lower in the quantized version, but I didn't spot any major misclassification.

</comment></comment></comment></comment></comment><comment><USER17> Just out of Fosdem and was attending a very interesting talk on tensorflow running on microcontrollers (uTensor project) not dissimilar to this.

</comment><comment><USER18> Be curious if Google will add support for the PVC in the Pixel 2 phones?</comment>


Bone marrow transplant 'cures HIV patient'  - <AUTHOR> http://news.bbc.co.uk/2/hi/health/7726118.stm

<comment><USER2> This received plenty of exposure at the time it happened:

In a statement, Professor Rodolf Tauber from the Charite clinic said: "This is an interesting case for research.

"But to promise to millions of people infected with HIV that there is hope of a cure would not be right."

<http://news.bbc.co.uk/2/hi/health/7726118.stm>

</comment><comment><USER3> I've heard of it before. It works, and it's not as obscure as this article makes it look.

The downside is that it's simply too impractical. There's too much chance that you will develop complications following the bone marrow transplant. Overall, you're better off just taking medication.

</comment><comment><USER4> It can't help that the only time I've heard of this so far is from this publication... Which appears to be a small-time local publication.

It's not even on their front page.

[Edit: When I posted this comment, the link to this submission was the Gulf Bay Area news or something like that.. It was a small gulf-state publication; NOT the BBC. I'd delete my comment since the title and the link have substantially changed, but there are replies, so I won't.]

<comment><USER5> The New England Journal of Medicine is not a small-time local publication. And this is exactly what the article is about - it should be BIG news.

<http://content.nejm.org/content/vol360/issue7/index.dtl>

<comment><USER6> Thanks for the link. I'm not able to read it without a subscription.

Is the relevant article titled: "Not an HIV Cure, but Encouraging New Directions"?

<comment><USER5> I guess its just an editors comment, and the source article is "Brief Report: Long-Term Control of HIV by CCR5 Delta32/Delta32 Stem-Cell Transplantation"

Anyway, I can't access it as well. This is the way scientific journals promote knowledge :/

</comment></comment></comment></comment><comment><USER7> Maybe because it is not applicable on a large scale? Not sure if it could become feasible to grow the bone marrow outside of humans, but I guess it is not feasible yet.

</comment><comment><USER6> If I understand the story correctly, it says that 1 patient stopped having AIDS who was being given adult stem cells as treatment.

Unfortunately, this does not mean that AIDS has been cured. Based on researching this story, it is not clear that anyone else has been cured by this treatment.

<comment><USER5> I haven't heard that many 'full recovery, no viruses left' HIV stories.

"one small step for man; one giant leap for mankind"

</comment></comment><comment><USER8> Best case long-term survival rate for bone marrow transplant is probably less than 90%.

<comment><USER9> Actually, the survival rate for the bone marrow transplant itself is about 75%. When the story was in the news some time ago, this was widely mentioned as the main reason why this is no viable AIDS treatment: unless you also have terminal leukaemia, you lower you survival chance by undergoing the treatment.

</comment></comment><comment><USER10> Well, if this does work, I hope that the medical community will finally get past the "no money in exchange for organs/body parts" thing. It has good intentions, but unfortunately it prevents thousands of people from receiving necessary parts (whether it is a kidney, liver or bone marrow).</comment>


How Tesla Model X can be about car-2-car transit at speed - <AUTHOR> I have realized that ones we have self-driving cars, the next step will be to switch between cars at speed. This could drastically reduce prices by higher car utilization, lower the number of cars on the highway, plus increase travel speed without the need for stops. Could this already be realized with Model X? It seems so. The Wing-doors can be opened more than 45degrees (not possible now due to SW) enabling two cars to drive up close to each other on the highway and open the doors at speed. It's also easy to remove the front arm-rest so all 6 people can exit through the same door. If this is part of Musk's, the other car producers will already be behind when they all have self-driving cars on the highway. <comment><USER2> When would switching cars at speed be desirable? Isn't the whole point of cars as opposed to public transit that they take you exactly from and to the places you want to be?</comment>


Facebook Climbs to 1.59B Users, Beats Q4 Estimates with $5.8B Revenue - <AUTHOR> http://techcrunch.com/2016/01/27/facebook-earnings-q4-2015/#.kqfyhh:2YGM <comment><USER2> Here's the thing that most people don't know unless they are in the "industry":

* The gaming industry is most likely driving a lot of this growth. I'm sure Machine Zone and Supercell are doing between $5M - $10M a day on FB alone.

* FB is re-defining attribution. They want to bring in big brands and are re-defining last-click to "Multi-touch". Their end game ofcourse is to say the reason why you decided to make a trip to Macys is because you first saw Macys content on FB.

* FB _requires_ developers to send them analytics when they want attribution for Ads. This means that not only does FB have info about the install, but they have all the data about the usage, in addition to all their demographic data.

* FB _still_ is the only reliable source for advanced targeting of ads. This has massive impact on ROI for performance marketers.

* FB by far has the best tools for advertisers with so many bells and whistles that resellers like Nanigans can make a healthy margin just by managing the optimization.

* FB allows any performance marketer to form a closed loop feedback system. Are CPI's on FB high? Yes. But if you know the LTV of your user (now possible with proliferation of analytics tools) you can afford to bid very high at volume (eg Uber) and still get a great ROI.

<comment><USER3> Pretty sure gaming is NOT where Facebook's revenue growth is coming from. Almost all the growth has been coming from mobile advertising for a couple years now.

<comment><USER2> Here's an exercise. Go to the App Store, click on Top Grossing. Out of the 150 apps displayed, how many are gaming-related? I counted 113. Thats 75%. I don't have the charts but you can compare this to a year ago period. My guess is that percentage has grown. This is not an accident.

<comment><USER4> FB gaming is dead. It's not the reason why their revenue is growing.

<comment><USER5> He's not talking about FB gaming. He's talking about mobile games.

Mobile games that are not played on Facebook are paying Facebook for ad space so that they can reel in additional whales. Games like Clash of Clans & Gears of War.

</comment></comment></comment></comment></comment><comment><USER6> Hopefully for their investors' sake that revenue isn't significantly driven by click fraud, a rumor that's been circulating for years [http://thesocialmediamonthly.com/startup-ceo-alleges- massive...](http://thesocialmediamonthly.com/startup-ceo-alleges-massive- click-fraud-on-facebook/)

* Is anyone aware of evidence of the extent of click fraud on Facebook? I see a lot of discussion about it but not a lot of data.

<comment><USER7> Sorry for the throwaway, I work in ad tech. Other posters are saying they see hardly any fraud on Facebook. My employer is a more traditional ad tech company (think exchange and direct buys) and we estimate 60-70% of our exchange inventory is fraudulent, and at least 15% of our impressions are delivered against fraudulent sites (of course we don't tell the customers). In reality the numbers are probably higher. The problem is that literally everyone except the end customer is making money off this. As soon as anyone talks about the need to do something about it the whole "let's not rock the boat", "what about our revenue targets", "well you can't tell Sales that" crowd comes out.

I personally think there's a reckoning coming soon to traditional ad tech. There is so much fraud, such ludicrous and impossible revenue and impression targets, so much pushback against shitty and annoying advertising, and so little incentive to be honest with the customer. It can't last like this.

<comment><USER8> I would think that customers are reasonably sophisticated when it comes to stuff like this, particularly when they are spending real $$$. How difficult is it, for something like brand advertising, to do before/after poll's to discern how effective the dollar spend is in promoting a brand (with conversion to sales, it's even more trivial.)

Done properly, the customer doesn't actually care if 99% of the exchange inventory and impressions are fraudulent, as long as they accomplish whatever objectives they set out to.

Put more explicitly, if the objective for an advertiser (or, more likely, their agency) is to build awareness of a brand, they can measure a measure awareness among their target group, run a few million dollars of advertising, and then measure awareness again to see the difference. Done with enough customers, and enough programs, you start to get a very clear sense of where the dollar is best spent.

<comment><USER9> Your hand wavy usage of "measure awareness" is the problem. How do you do such a thing?

When you're advertising on multiple channels, even if you did have a solid measurement of awareness (you don't), you still wouldn't know what was responsible.

This is the appeal behind things like Facebook ads. It seems you have a very clear sense of what return you're getting because there's such precise targeting and tracking. The issue is that neither of those have anything to do with the first portion of your comment: measuring awareness. You still need to measure awareness objectively and no one knows how to do it.

The people best equipped and most ready to act like they do, however, is — you guessed it — Facebook and similar ad networks!

Besides, the ad industry has been kept afloat with exactly the type of behavior that grandparent describes for decades if not centuries. What makes you think they're more sophisticated now?

<comment><USER8> Two ways to measure brand awareness - polling, and are people buying your product.

And you run many, many programs on lots of channels in different demographics, and geographies - and see which program is most effective.

<comment><USER7> The polling is often done by randomly inserting Vizu polls into the page somewhere and hoping someone fills them out. Of course hardly anyone does - who can be bothered? Still, they've managed to establish themselves as a credible third-party verifier (not saying they actually are credible - I know sometimes people running the campaign will fill these out to show that the campaign is working)

Also, I'm not saying it's all fraudulent and doesn't work at all - of course if that were the case everyone would know. What I'm saying is that the brand is massively overpaying, because a large percentage of their delivery goes to fraudulent bot traffic. And it's pretty much in everyone's financial interest except the brand's to turn a blind eye.

Also, it's important to know how campaigns are actually delivered: firstly, Sales sells something wildly optimistic like delivering 1m impressions a day to 45-50 y/o women in Florida. As time goes on and delivery can't be met we loosen the targeting parameters in order to "deliver in full" even though this delivery is no longer to the customers specifications. We might tell them we're doing that, or we might not and hope we get away with it. Then after the campaign we take whatever numbers we got and create a story out of it that makes us look good. If we're working with an agency we give it to them and they presumably spin it some more before presenting it to the customer.

<comment><USER10> Don't forget that a lot of this is often driven by the brand managers who want to grow their budgets. If it turns out that they can't spend $1m on "45-50 y/o women in Florida" in a quarter, then their budget will get trimmed appropriately, reducing their stature and sway in the organization. The fraud problem in digital advertising is a hard cycle to break when there's people on the brand-side helping encourage it.

<comment><USER7> Yes, this is 100% accurate. No-one wants their budget to shrink. Agencies will come to us at the end of the year with unspent client budget that they really don't want to give back, lest they be given less to spend the next year.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> I wonder how much of that revenue came from VC-backed startups that just want to acquire a user-base whatever the cost. Mobile app install costs $4+ for iPad and $2.5+ for iPhone. Even at a 100% install to launch rate and a 5% conversion rate, companies need to make $80 per paying users for the numbers to work. This just doesn't seem sustainable to me.

<comment><USER2> If you run a gaming company, you're most likely tracking everything you possibly can about who is spending in your game.

If you are running a facebook campaign, you will buy either on volume (don't care what the price is, just give me the user, ie Uber), ROI (make sure the LTV of the user is less than the CPI), or profit (make sure we're still making money even after apple's cut)

Facebook allows you to form a closed loop feedback system. If Uber knows the LTV of a customer is $100 and CPI's on FB are $10, go to the bank and get as many of those customers you can.

</comment></comment><comment><USER12> At my company we're realizing how great of an advertising channel Facebook is, in the fact that we can immediately narrow down our target audience to people who have liked a certain page.

It's just very weird to me that a social network that everyone my age and younger never use. I never, ever post to Facebook and rarely look at it because it's just my family on it. I connect with friends over snapchat and meet new people on Twitter.

Meeting new people is nearly impossible on Facebook. Maybe that's why it's such a great advertising platform with such great revenue? Everyone is on it (your whole family joined) and the only way for a company to get your attention is to pay.

<comment><USER13> There a psychological bias called the "false consensus effect" whereby people overestimate how similar other people are to themselves. It's backed up by things like confirmation bias where you tend to socialise with people similar to yourself so it feels like most people really are like you.

The simple reality is that you just don't know enough people to draw any statistically relevant conclusions about society. It may well be the case that none of the young people that you know are on Facebook, but that really only says something about who you know, not about young people's attitude towards Facebook in general.

<comment><USER14> To your point, I'm also younger and have very few friends on Twitter. If anything, twitter is old and full of noise. My friends all use fb, Snapchat and IG

</comment></comment></comment><comment><USER15> It will be interesting to see how much of that revenue came at Google's expense.

<comment><USER16> Google is all about searching for results and Facebook is all about demography and thus brands.

So Facebook is taking a lot of advertising budget to establish brands that used to be for print and television.

Simple example: Diapers. By the time you have a baby, Facebook knows that you as a couple are expecting and you will see ads establishing relevant brands. You would never see those ads on Google, because at that time you're not searching for them. This used to be the business of television advertising. So you know the brand Pampers long before you ever think of buying a pack of them.

<comment><USER17> Can you elaborate on why you think Google wouldn't know before FB?

Many (most?) people don't go posting anything about pregnancy before for ~3 months traditionally, and odds are you are going to be searching for symptoms when you first notice something is wrong health-wise.

When a doctor or test confirms you are pregnant, I'd be willing to bet that users are immediately pulling up their favorite search engine to figure out next steps vs. blabbing about it to their BFFs on FB.

Now, if you are basing it purely off of carpet bombing people targeting off of demographics, yes, FB probably has more solid data there as it is self- reported and not inferred. But you sure as heck won't get self-reported pregnancy info earlier than Google will know you are interested in it.

If anything, I'd argue Amazon would have that data in a similar timeframe if people start looking up pregnancy books.

This also entirely discounts the notion that there is 3rd party data sets at play which both Google and FB leverage to enrich their data.

All of this is not to say your point on the brand advertising is incorrect--I actually agree with that as the "feed" has become the new television. But definitely do not agree on the specific example cited.

<comment><USER18> The odds are very good that people start discussing things like pregnancy in Messenger at the same time they start googling symptoms. Public posts aren't all FB has available.

<comment><USER17> That's actually a great point that I forgot about. It is scary to think about how they are mining personal conversations like that, particularly about something so sensitive.

Could easily lead to a situation like when Target outed a girl as pregnant to her father [1].

[1] [http://www.forbes.com/sites/kashmirhill/2012/02/16/how- targe...](http://www.forbes.com/sites/kashmirhill/2012/02/16/how-target- figured-out-a-teen-girl-was-pregnant-before-her-father-did/)

</comment></comment></comment></comment></comment><comment><USER19> I graphed Google search trends for different platforms [1] a few weeks ago. If Facebook is like the others, it crossed its peak three years ago and is dying ever since, something that matches my personal experience on Facebook. So where does this disparity come from, how can Facebook keep announcing new records while the search trend points downwards for about three years? Did they manage to break free from the correlation? Maybe because of the widespread use of its apps? Does the rise of WhatsApp play a role in the presented numbers?

Don't get mislead by the normalization, Facebook has still more than six times the search volume compared to the peak of Myspace.

[1] [http://i.imgur.com/SGci58n.png](http://i.imgur.com/SGci58n.png)

<comment><USER20> * If someone has the Facebook app then they're not going to be heading there via Google.

* Instant articles means they get a cut of advertising revenue from external sites such as Daily Mail and New York Times when users click on a shared story

* It is plausible that they have improved their ad targeting algorithms so that those who want to see an ad are more likely to see it.

<comment><USER19> _If someone has the Facebook app then they 're not going to be heading there via Google._

On the other hand a lot of other searches contribute to the search volume and should track the popularity of Facebook, problems with the app, developers looking for API documentation, discussions of policy changes, people looking for jobs, news about the company and so on. So even if people are using the app the search volume should say something about the popularity. One thing I can imagine though is that a shift from the web to the app might decrease the search volume by such a large amount that it totally obscures the trend of the other kinds of searches I mentioned above.

<comment><USER20> I expect most searches are from people typing Facebook into Chrome and hitting Enter.

If those people are shifting more and more to the mobile app then they won't be doing that so much. Sure, they'll search if there are problems with the app, or they're after a job but that has got to be less than those trying to access the site.

<comment><USER19> That is exactly what I meant with my last sentence. According to the graph from this article [1] the number of web users halved between Q1/12 and Q4/14 while the number of web and mixed users combined increased by about seven percent. It's hard to match against the search volume, it may or may not explain it.

As already mentioned, from my personal experience I would say I see evidence for the decline, I see no new users but I have seen a few users leave. Maybe there is also regional variations, older markets already losing users while newer markets are still growing.

[1] [http://pandawhale.com/post/57536/jan-2015-facebook- has-119-b...](http://pandawhale.com/post/57536/jan-2015-facebook- has-119-billion-monthly-mobile-active-users-and-70-of-ad-revenue-is-from- mobile-ads)

</comment></comment></comment></comment></comment><comment><USER21> So Facebook makes less than $3.7 per user per quarter or some $15 per user per year.

Don't anyone find it amazing how little money they make per user (and still have a good business)?

The article doesn't say how much time the users spend on FB, but they say that users spend 100 million hours monthly on watching videos. If we assume that's 50% of the time spent on FB, users spend 200 million *365 = 73 billion hours yearly on FB or in average a little less than 50 hours per user. For $15.

So roughly speaking, Facebook makes $1 for every 3 hours a user spends.

<comment><USER22> $1 every 3 hours is pretty good no?

</comment></comment><comment><USER23> Still very less given the amount and talent of people working there. I see a downhill graph over the years. Next Yahoo in making.

</comment><comment><USER24> Except that most of Americans between 16-22 (the oldest FB audience) have quit. The lagging indicators are the user acquisition in emergent markets and the revenue. In the case of Blackberry for example, the revenue peaked at least two years after the actual product was dead.

<comment><USER25> > Except that most of Americans between 16-22 (the oldest FB audience) have > quit.

That's an extraordinary claim and requires extraordinary evidence. You don't have any.

As someone who's actually _in_ that demographic I can tell you it's patently false. Facebook continues to be the hub of social networking, particularly on college campuses. If you're having an event of any sort, Facebook is the place you announce it. Messenger is becoming the dominant messaging platform for most people I know.

If you're going to make extraordinarily bold claims, it'd be good to offer some actual evidence. Or at least put your money where your mouth is by taking a large short position.

<comment><USER26> As someone in that demographic, I see new posts on my timeline every 2 or 3 weeks.

If I want to know what's going on on the campus, I check Jodel.

If I want to message others, I use WhatsApp.

Facebook's acquisition of WhatsApp is the only reason why I use any of the products.

<comment><USER25> From your profile, it looks like you're German, not American. Germans have always had a tepid relationship with Facebook and it's definitely not a core or strategic market for them.

(If I'm wrong, I apologize for assuming.)

</comment></comment></comment></comment><comment><USER27> I was wondering what all those bots and fake clicks where about! now we now!

</comment><comment><USER28> FB stocks up 12%

[https://www.google.com/finance?cid=296878244325128](https://www.google.com/finance?cid=296878244325128)

</comment><comment><USER29> Apple makes more profit than all of Facebook's revenue times 3. Yet Apple stock goes down and Facebook, which has a price/revenue ratio that makes no sense whatsoever, goes up. Apple makes products people generally love, and Facebook makes money from ad and ad like things which people hate (and eventually will block). I really don't understand the stock market at all.

<comment><USER20> Stock isn't bought just based upon last quarters profits, but on how much investors think can be derived in the long term.

Facebook have done better than investors expected. Apple have done worse than investors expected. What makes you think people hate Facebook ads? Facebook ads are the only ones that I have ever clicked on, and then made a purchase. I think they are well targeted and very effective.

</comment></comment><comment><USER30> How many of the 1.59B users are still active, at least once a week? Not just have the app installed and receive just notifications but actually open the app or website?

Facebook is mainly used by 30+ woman's nowadays, to share their baby, cat and dog photos. And is a huge ghost town with much of the profiles haven't been updated or have posts for multiple years. It's like MySpace in 2010.

Facebook (and to some extend Google with its bullish Google+ auto-written posts based on Youtube comments, etc that no one wanted) single handed destroyed/burned the notion of social networks because of pure greed. Yet social network as in 2008/09 (at its peek) were great, than came the broken "newsfeed" that doesn't show all friend updates in chronologic order anymore, but selected featured filtered crap.

[I am talking about Facebook the app or website - the social network. Not the messenger app nor WhatsApp nor Instagram]

<comment><USER31> If you bothered to read the article, you would know the answer to your question. All of those 1.59B users login to facebook at least once a month, which are reported separetly from the Messenger users, who are 800M.

Imagine how the rest of your musings sound.

</comment></comment><comment><USER17> The big question mark for me is whether FB will be the advertising giant to finally crack the attribution nut.

You see, the age old problem of "I know I'm wasting half my budget, I just don't know which half" is still alive and well. These days, we have SO MUCH data about cross-channel attribution that it can be hard to plot a path forward (and that's if you are even aware of this concept and its implications).

For those who are savvy, display and video CPMs might seem a bit inflated right now. There is a major opportunity to leverage analytics to prove to advertisers the incremental lift of their display and branding efforts. Dedicated attribution services like VisualIQ, Adometry, and Convertro have been getting snapped up by big advertisers, but so far nothing has really reached the SMB and mid-market level for solution pricing.

I'd LOVE to spend more of my budget on FB and display, but when they mix view- throughs in with click conversions by default, that raises red flags. What is the value of a view-through? It is sure as heck not 100% attribution credit, which is what the default would place it at.

Attribution is a super deep and very complex subject (and one I'm very passionate about). Getting better visibility is my top priority for 2016 as it is many other advertisers. Structuring proper tests is unfortunately not just a software issue, particularly with smaller businesses with less data as you need to control for many factors.

That said, Google has fired the first shots in this fight with their awesome basic attribution tools in GA that they give away FOR FREE. I'm dying to see what they do with their Adometry acquisition and whether they will make that available to the masses.

FB has a huge opportunity here and I know they've been making inroads in this area with Atlas, but I'd personally love to see them release "Facebook Analytics" as a direct competitor to Google Analytics, and make a real effort to prove the value of their inventory from an incremental lift/attribution standpoint.

I'd LOVE to spend more on branding if I could be more certain of the actual impact it is making to allow me to justify the budget I'm putting towards it compared against more directly measurable options lower in the funnel (like some aspects of paid search, which has its own attribution issues). The tools just aren't there though.

If FB can provide advertisers with the tools to more definitively say "this is making you money" and not just "oh, we summed up all these random stats and call it Engagement--look at the shiny engagement metric!" I'm confident they would find advertisers even more willing to open their wallets, shift spend away from the GDN and exchanges, and stop questioning or caring about click fraud since it would be a self-correcting issue (ie. high levels of click fraud would in theory result in lower perceived incremental lift if proper analysis was conducted).

If you are at FB and touch Insights or anything related to attribution on Atlas, please dear god contact me--I live right near HQ and would LOVE to have a deep conversation on how to improve this for advertisers.

<comment><USER32> Are you familiar with conversion tracking? You can attribute conversion (checkout, sign-ups, etc) with clicking or viewing of FB ads. More details here: [https://www.facebook.com/business/help/460491677335370](https://www.facebook.com/business/help/460491677335370)

<comment><USER17> I appreciate you sharing your information as it came across as an honest attempt to be helpful, however I think you might find it helpful to read this post by Avinash Kaushik [1] and then reread my post. I do digital advertising for a living, and that post is what I recommend to all who are new to the concept of cross-channel attribution as it is a very complex topic from both a data, math, and business standpoint. Easily one of the biggest opportunities and problems in the ad industry at the moment (and has been for some time).

[1] [http://www.kaushik.net/avinash/multi-channel-attribution- mod...](http://www.kaushik.net/avinash/multi-channel-attribution-modeling- good-bad-ugly-models/)

<comment><USER32> No worries. I am actually in conversations with a client right now about multi-channel attribution, as I know it's a problem. The reason I responded the way I did was about your comment here:

> _If FB can provide advertisers with the tools to more definitively say "this > is making you money" and not just "oh, we summed up all these random stats > and call it Engagement--look at the shiny engagement metric!" I'm confident > they would find advertisers even more willing to open their wallets, shift > spend away from the GDN and exchanges, and stop questioning or caring about > click fraud since it would be a self-correcting issue (ie. high levels of > click fraud would in theory result in lower perceived incremental lift if > proper analysis was conducted)._

Engagement metrics to me are much more about brand awareness then it is converting sales, so I didn't understand why you would point to engagement metrics when questioning tools that drive sales. Are you saying that you use conversion based ads on FB and aren't confident that their attribution window provides a highly accurate view of their performance?

<comment><USER17> NP, I can see why that might have been read in a different way.

I may have mixed my points up a bit, but basically I've noticed that they seem to lump quite a few things under "engagement" (an autoplayed video that plays for 3 seconds from someone scrolling in their feed is apparently a valid view). I'm using engagement in the broader sense, not the specific definition in the FB platform here, although it is pretty all encompassing there as well in terms of Likes/Comments/Shares (none of which are really the apples to apples at all).

My bigger beef is on the view-through side. Attribution windows alone don't dictate attribution weighting. You really need to be measuring incremental lift, otherwise you end up with lots of people seeing an ad and a ton of view- throughs, but a lot of wasted spend since many would have converted without the impression.

</comment></comment></comment></comment></comment><comment><USER33> Facebook is the biggest scam for most businesses.

1) They've pulled bait and switch when they decided to charge to reach users that have already liked your page. Most of those users liked your page because you've posted a link to FB on your site.

2) Click fraud is rampant [1]

3) They make money on copyrighted videos + ripping off YouTube content creators [2]

[1] [https://www.youtube.com/watch?v=oVfHeWTKjag](https://www.youtube.com/watch?v=oVfHeWTKjag)

[2] [https://www.youtube.com/watch?v=t7tA3NNKF0Q](https://www.youtube.com/watch?v=t7tA3NNKF0Q)

<comment><USER34> Big spenders do a lot of due diligence to make sure that the money they spend is actually giving them a positive return. It's not like businesses just throw millions down the drain and hope it gives them results. Facebook is working great for them and it is not a scam otherwise businesses wouldn't be spending billions on advertising there every quarter.

<comment><USER9> Or, as pointed out in a comment above, everybody is lying to everybody and the only loser is the customer. The customer may still find advertising to be a net win, but they have no clue to what degree it is such.</comment></comment></comment>


Ask HN: Take a look at my weekend project: Newsalyzer? - <AUTHOR> http://newsalyzer.com

<comment><AUTHOR> It is site for organizing news in a simple, straightforward way. Anyway, that was the goal, I hope I was successful :)

</comment><comment><USER2> How are you selecting and ranking the stories?

<comment><AUTHOR> It's all according the prevalence of the topic in the current news cycle. "times square" keeps popping up all over the place, so it is currently #1

</comment></comment><comment><USER3> How do you cluster links/stories?

Do you use any open source software in the back-end? I wouldn't mind a list of what you used to make this.</comment>


Syberia – Make R a production-ready language for deployable machine learning - <AUTHOR> http://syberia.io/ <comment><USER2> We've tried using docker to put R applications into production. I'm no docker expert, and I found it pretty easy to do.

A couple of pointers: \- If you have a dependency on a library like blast that takes a long time to compile, you can make a base docker image that already has that library installed. That makes iteration quicker, as you'll only need to build that base image once.

\- If you put a web interface on the image using shiny, then it is straightforward to deploy it for your users to interact with.

<comment><USER3> We usually dockerize outputs of our Syberia projects as well. We have several dozen internal packages consumed by the root projects. With many contributors working on constituent packages daily, we've found frequent changes to packages can slow down a docker-only workflow. So far, using a base docker image with lockbox catching us up to the most recent daily and hourly changes has been working well.

</comment></comment><comment><USER4> This looks like it solves a big pain point in R. I hope that more tools like this crop up. R has a nice set of libraries but it lacks in data engineering at this point.

</comment><comment><USER5> What does this do that R on Azure Machine Learning doesn't? Not snark, genuine question.

<comment><USER3> One of the lead developers on the Azure suite wrote a blog post that might explain some of the differences: [http://blog.revolutionanalytics.com/2017/06/syberia.html](http://blog.revolutionanalytics.com/2017/06/syberia.html). A rough analogy is that Rails is to AWS/Heroku like Syberia is to Azure. You can replace the underlying components in your project with calls to Azure services, but a large developer team may prefer to work in a unified codebase over a set of UI tools.

</comment></comment><comment><USER6> How is this different from the caret package? Using if(interactive()) {} as the main function and including the extremely well documented caret package seems to accomplish much of the same thing that Syberia does unless I'm missing something.

<comment><USER3> Author here. Philosophically, Syberia can be thought of as an extension of caret with hopefully clearer abstractions in large projects. In particular, all of the packages supported by caret can and will eventually be parametrized into the modeling engine.

This is the 0.6 release in which we make the scaffold available. Over time, we will fill in the pieces that are currently provided by other tools like caret or Bernd Bischl's mlr.

<comment><USER7> You know, the real problem with R for production work is dealing with munged package dependencies. Writing a makefile with hand curated package deps is something I really wish I never had to do again.

<comment><USER8> Looks like robertk wrote `lockbox` specifically to solve this.

Dependency management still sucks in R. Too many options, each a little different: Packrat, checkpoint, now lockbox. I have friends using Docker specifically to encapsulate their R package dependencies, too.

<comment><USER9> disclosure: I work with robertk at Avant, where we've developed syberia and lockbox specifically to have reproducible model builds and to turn R model objects into API servers in a deterministic way. Lockbox is closely modelled after ruby's bundler, and syberia is like rails for data science. I've you've ever written a ruby-on-rails or a django app you'll feel like at home using lockbox. I encourage you to give it a try, and let us know in github issues if you are having any trouble using it

<comment><USER8> I'd love to hear more about how it compares to other workflows. Is it worth the learning curve? There's a lot going on here, and a lot of overlap with more popular and widely used tools in the R world.

My small team is R-first and a big fan of the tidyverse, and we're exploring using Docker in tandem with tools like plumber (R package for building simple API's around R code) and pachyderm (language-independent, containerized data pipelining with straightforward cloud integration) for different projects. Does Syberia fit in nicely with these tools, or aim to replace them with its own set of conventions and philosophies?</comment></comment></comment></comment></comment></comment>


Psychedelic mushrooms make Denver's 2019 election ballot - <AUTHOR> https://www.denverpost.com/2019/02/01/psychedelic-mushrooms-make-denver-2019-ballot/ <comment><USER2> _"Denver is quickly becoming the illicit drug capitol of the world," Jeff Hunt, director of the Centennial Institute, a conservative think tank at Colorado Christian University. "High potency pot, proposed needle injection sites, and now an effort to decriminalize mushrooms. … As a state, we should be encouraging a healthy lifestyle with less drug use, not more."_

Why do people consider harm reduction to be incompatible with other strategies, like limiting access (via minimum age laws, high tax rates, etc) or active discouragement (scary TV ads or whatever)?

EDIT: formatting</comment>