Found in 21 comments on Hacker News
lazyant · 2016-05-02 · Original thread has a chapter on recommendation systems
Buttons840 · 2015-09-04 · Original thread
I really enjoyed the books "Learning From Data"[1], and "Programming Collective Intelligence"[2].

Both are accessible to beginners.

Learning From Data gives a more theoretical introduction to machine learning. One of the central ideas from the book that I still think about often is that machine learning is merely function approximation. There exists a function which will drive a car perfectly, but we don't know what that function is, so we try to approximate that function with machine learning.

Programming Collective Intelligence is a more hands-on introduction to machine learning. The book has examples in Python, but I believe the Python code is low quality. Ignoring the example code (and I did ignore it), the book is a very enjoyable introduction to many different machine learning algorithms. If you don't know the difference between linear regression, nearest-neighbors clustering, support vector machines, and a neural networks, this book will explain how each of these work and give a good intuition about when to use each.

[1] [2]

loumf · 2015-07-17 · Original thread
I liked "Programming Collective Intelligence", but it might be a little dated (in not using the latest libraries). It's a good way to learn some simple algorithms (optimization, clustering).

Also, rather than learning ML in 2 months (which is a very unfocussed and unattainable goal) -- try to narrow it down to some problem domain. You'd get better recommendations if you are more specific.

jkldotio · 2015-04-27 · Original thread
Programming Collective Intelligence: Building Smart Web 2.0 Applications by Toby Segaran is a bit old now but is excellent, 4.5 stars on Amazon from 100+ reviews.[1] A bit of overlap with this one, but there are some great explanations.


bjourne · 2015-04-24 · Original thread
I got a lot of mileage out of this book: All his examples are in Python, so if you already know Python it should work well for you. The only minor thing is that there are a few typos here and there in the code, but usually you can just use your common sense and figure out what the author intended.
doorhammer · 2014-03-04 · Original thread
Code Complete 2 [1] was one of the first coding books I've read. As with anything else, it's good to look around (HN is a good place) for people who have problems with the book. I think I learn as much reading the commentary people make about books like that as I do from the book itself.

I think I've listened to every podcast on software engineering radio a few times [2]. The older ones are especially nice because they usually pick a specific topic and cover the high points. I liked that I could listen to it while I was driving, or otherwise not in front of a computer.

It's specific, but Javascript: The Good Parts is probably the most used book I have on my shelf. It has such a perfect amount of usable information in it. It's pretty great. Again, it's definitely worth looking up critiques and counterpoints.

I've also got Introduction to Algorithms, which I use as a reference, sometimes. I switched over to The Algorithm Design Manual [5] after I saw it referenced in an older Steve Yegge post [6]. I read through the intro and it seemed like a book that would be more appropriate from an autodidactic standpoint. I really have no idea if that's going to pan out, since I'm not that far into it, but we'll see, for sure. Doesn't kill me to have an extra algorithms book laying about, though, and I've always got intro to algorithms for cross reference. I've found that I really need to have as many sources available as possible when I'm learning alone. Usually I don't get something until the fifth person describes it from the tenth different angle.

That's most of what I can think of off hand. I really enjoyed The Joy of Clojure [7], though haven't checked out the newer version. Programming Collective Intelligence [8] is a fun book, and is what made me want to go back down the maths route to get more into machine learning.

And of course habitually reading hacker news for an hour or three every night :)

So that's my totally inexpert list of random stuff that I enjoy

[1] [2] [3] [4] [5] [6] [7] [8]

alleycat · 2014-01-25 · Original thread

I found this to be quite a good introduction.

mjouni · 2012-12-26 · Original thread
Signal and the noise by Nate Silver(Very nice read. Chapters on climate change and GDP forecasting were a bit slow, but everything else was a page turner)

Why I left Goldman Sachs by Greg Smith (Good insight into the 2008 financial breakdown and a look into the day to day operations of Goldman Sachs)

The Hobbit

Data Mining: Concepts and Techniques(Great intro into data mining)

Programming Collective Intelligence(You can play around with actual implementations of the concepts in the previous book)

Ghost in the Wires by Kevin Mitnick (Was really nice to see the details behind Mitnick's adventures)

On War By Clausewitz(Really enjoyed this book.)

jph · 2012-05-24 · Original thread
Ruby's great for recommendation engines and JRuby has all the Java libraries. Programming Collective Intelligence is a good starter book:;

joverholt · 2012-02-17 · Original thread
Check out [Programming Collective Intelligence]( I found it to be a good introduction to machine learning because it uses practical (and neat) examples to teach the concepts. One of my top 5 programming books.
showerst · 2012-02-08 · Original thread
Just a quick note if you're interested, this book is similar and is an absolutely fantastic 'applied beginner' ML book "Programming Collective Intelligence"

Wump · 2011-06-12 · Original thread
Programming Collective Intelligence ( is a great resource. It serves as a practical introduction to several different machine learning algorithms. Although they are presented from a specific perspective (collaborative filtering), many of the techniques are general and are used across machine learning. The explanations of the algorithms are clear, simple, and the author does a nice job of building up the level of complexity over the course of the book. Also, you will get much more out of it if you follow along with the provided python-based implementations.
jayliew · 2010-10-03 · Original thread
Recently I've set out on a quest to actively find new ideas; going as far as making it a goal to find one new idea a day (no matter how crazy, for the sake of flexing my brain and getting it better at stumbling on opportunities). This is as opposed to my previous method of passively reading about things and hoping that as things accumulate in my head, I will subconsciously one day while taking a shower have a eureka moment and think of an awesome idea (which does happen, just not as frequent as I would like).

I've found that by just sitting down and clearing my head and forcing myself to think really hard, trying to connect the dots half-baked ideas and just mixing it up with random thoughts, I've gotten a whole lot better at thinking up of ideas. Patrick (patio11)'s article about his not understanding why people complain they can't find ideas really gave me a good kick in the side and motivated me to do this: and I do find his comment about "walking in a store to find what people buy" a great starting point! I also have this book which I recommend 'A Whack on the Side of the Head' which certainly did literally help me look at ideas in a different light and generate new ideas.

As a part of my effort to just find new opportunities, I've been documenting meta-algorithms to find algorithms (if a business idea/model is an algorithm). An entry I just added is:

* Learn a new concept, algorithm, (e.g. 'Programming Collective Intelligence', and apply it to some problem in a different field (e.g. non-technical things in real life, or things I use such as Facebook, Twitter, etc). <-- An example of this: I read up on Shazam's clever algorithm and tried to use that method to solve something else.

Does anyone else collect such meta algorithms?

ghotli · 2010-05-04 · Original thread
I've been deep into building a geocoder the past month. While we may get rid of Solr eventually, it was a great foot in the door to information retrieval. It helps that I have a problem to solve and a deadline, so I'm motivated to read and work through these books. These three texts have been very helpful. The last book is an excellent overview of text processing and some real world problems you may encounter writing your search engine.

Solr 1.4 Enterprise Search Server

Programming Collective Intelligence

Building Search Applications: Lucene, LingPipe, and Gate

steveeq1 · 2009-11-21 · Original thread
Programming Collective Intelligence also has high marks from a lot of programmers whom I respect:
gtani · 2009-08-27 · Original thread
There's really good books on Data Mining at Borders, and a recent bunch of "collective intelligence" books; the Manning books are excellent, but you have know java; you probably also want to install Weka and R, look at the Python suite (numpy, scipy, matplotlib), tools like that; also look up the ~107 (!) algorithms that Bellkor used for Netflix comp.

abecedarius · 2009-08-16 · Original thread
Since it's a vacation, here's a novel with lots of interesting ideas about ubiquitous computing, augmented reality, etc.:

Fun with Python:

richesh · 2008-07-04 · Original thread
Collective Intelligence book has some examples -

I am not sure which technology you've used to develop your site, but Project Aura being developed by Sun developers looks really promising and is open source. Here is a link to their PDF from this year's JavaOne, they are suppose to launch it within the next month.

almost · 2008-06-01 · Original thread
Can I recommend the book "Programming Collective Inteligence" ( It doesn't actually describe a Reddit-like algorithm but it does describe looks of recommendation algorithms along with practical Python code. Should get you thinking in the right direction.

Fresh book recommendations delivered straight to your inbox every Thursday.