Alen Ribic - software engineer, entrepreneur, husband and dad


Here is a list of some of my favorite reads in no particular order.

Structure and Interpretation of Computer Programs, Second Edition by Harold Abelson, Gerald Jay Sussman and Julie Sussman

On LISP: Advanced Techniques for Common LISP by Paul Graham

Real World Haskell by Bryan O’Sullivan, John Goerzen, Don Stewart

The Typeclassopedia (The Monad.Reader Issue 13) by Brent Yorgey

Typeclassopedia is a comprehensive publication through which Brent does a wonderful job explaining some of the standard Haskell type classes. Get it here

Pearls of Functional Algorithm Design by Richard Bird

Purely Functional Data Structures by Chris Okasaki

Effective Java (2nd Edition) by Joshua Bloch

Java Concurrency in Practice by Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea

Python for Software Design: How to Think Like a Computer Scientist by by Allen B. Downey

Programming Clojure by Stuart Halloway

C Programming Language (2nd Edition) by Brian W. Kernighan, Dennis M. Ritchie

The Blackwell Guide to the Philosophy of Computing and Information by Luciano Floridi

One Hundred Years of Solitude by Gabriel Garcia Marquez

The Story of Philosophy by Will Durant

Euclid’s Elements by AU Euclid

Haskell: The Craft of Functional Programming by Simon Thompson

A Guide to the Good Life: The Ancient Art of Stoic Joy by William B. Irvine

Basic Mathematics by Serge Lang

Probability Theory: The Logic of Science by E. T. Jaynes, G. Larry Bretthorst

Linear Algebra by Georgi E. Shilov

Animal Liberation by Peter Singer

Siddhartha by Hermann Hesse

Learning From Data by Yaser S. Abu-Mostafa, Malik Magdon-Ismail, Hsuan-Tien Lin

Probability Theory: A Concise Course by Y.A. Rozanov

The Computer and the Brain (Mrs. Hepsa Ely Silliman Memorial Lectures) by John von Neumann

A Book of Abstract Algebra: Second Edition by Charles C Pinter

Euler: The Master of Us All (Dolciani Mathematical Expositions, No 22) by William Dunham

Lambda-Calculus and Combinators: An Introduction by J. Roger Hindley, Jonathan P. Seldin