Jon's bookshelf: programming en-US Tue, 24 Sep 2024 11:21:27 -0700 60 Jon's bookshelf: programming 144 41 /images/layout/goodreads_logo_144.jpg <![CDATA[MongoDB Applied Design Patterns]]> 18981956
Many businesses launch NoSQL databases without understanding the techniques for using their features most effectively. This book demonstrates the benefits of document embedding, polymorphic schemas, and other MongoDB patterns for tackling specific big data use cases,

Operational Perform real-time analytics of business data Use MongoDB as a product catalog master or inventory management systemContent Learn methods for storing content nodes, binary assets, and discussionsOnline advertising Apply techniques for frequency capping ad impressions, and keyword targeting and biddingSocial Learn how to store a complex social graph, modeled after Google+Online Provide concurrent access to character and world data for a multiplayer role-playing game]]>
244 Rick Copeland 1449340067 Jon 3 programming, databases 3.70 2013 MongoDB Applied Design Patterns
author: Rick Copeland
name: Jon
average rating: 3.70
book published: 2013
rating: 3
read at: 2013/05/16
date added: 2024/09/24
shelves: programming, databases
review:

]]>
<![CDATA[Programming Language Pragmatics]]> 2249888
* Addresses the most recent developments in programming language design, spanning more than forty different languages, including Ada 95, C, C++, Fortran 95, Java, Lisp, Scheme, ML, Modula-3, Pascal, and Prolog. * Places a special emphasis on implementation issues-how the techniques used by compilers and related tools influence language design, and vice versa. * Covers advanced topics in language design and implemenation, such as iterators, coroutines, templates (generics), separate compilation, I/O, type inference, and exception handling. * Reviews language-related topics in assembly-level architecture critical for understanding what a compiler does to a program. * Offers in-depth coverage of object-oriented programming, including multiple inheritance and dynamic method binding. * Devotes a special section to static and dynamic linking. * Includes a comprehensive chapter on concurrency, with detailed coverage of both shared-memory and message-passing languages and libraries. * Provides an accessible introduction to the formal foundations of compilation (automata theory), functional programming (lambda calculus), and logic programming (predicate calculus).]]>
700 Michael L. Scott 1558604421 Jon 0 maybe-someday, programming 3.79 1997 Programming Language Pragmatics
author: Michael L. Scott
name: Jon
average rating: 3.79
book published: 1997
rating: 0
read at:
date added: 2016/12/29
shelves: maybe-someday, programming
review:

]]>
<![CDATA[Probabilistic Models of Cognition]]> 22816817 Noah D. Goodman Jon 0 4.60 Probabilistic Models of Cognition
author: Noah D. Goodman
name: Jon
average rating: 4.60
book published:
rating: 0
read at: 2016/12/16
date added: 2016/12/16
shelves: artificial-intelligence, programming, school-2016
review:

]]>
<![CDATA[Neural Networks and Learning Machines]]> 19550271 For graduate-level neural network courses offered in the departments of Computer Engineering, Electrical Engineering, and Computer Science.

Neural Networks and Learning Machines, Third Edition is renowned for its thoroughness and readability. This well-organized and completely up-to-date text remains the most comprehensive treatment of neural networks from an engineering perspective. This is ideal for professional engineers and research scientists.

Matlab codes used for the computer experiments in the text are available for download at:

Refocused, revised and renamed to reflect the duality of neural networks and learning machines, this edition recognizes that the subject matter is richer when these topics are studied together. Ideas drawn from neural networks and machine learning are hybridized to perform improved learning tasks beyond the capability of either independently.

]]>
936 Simon Haykin 0132642239 Jon 0 4.00 1993 Neural Networks and Learning Machines
author: Simon Haykin
name: Jon
average rating: 4.00
book published: 1993
rating: 0
read at:
date added: 2016/07/25
shelves: to-read, artificial-intelligence, programming
review:

]]>
<![CDATA[Reinforcement Learning: An Introduction (Adaptive Computation and Machine Learning)]]> 739791 Richard Sutton and Andrew Barto provide a clear and simple account of the key ideas and algorithms of reinforcement learning. Their discussion ranges from the history of the field's intellectual foundations to the most recent developments and applications.

Reinforcement learning, one of the most active research areas in artificial intelligence, is a computational approach to learning whereby an agent tries to maximize the total amount of reward it receives when interacting with a complex, uncertain environment. In Reinforcement Learning, Richard Sutton and Andrew Barto provide a clear and simple account of the key ideas and algorithms of reinforcement learning. Their discussion ranges from the history of the field's intellectual foundations to the most recent developments and applications. The only necessary mathematical background is familiarity with elementary concepts of probability.

The book is divided into three parts. Part I defines the reinforcement learning problem in terms of Markov decision processes. Part II provides basic solution methods: dynamic programming, Monte Carlo methods, and temporal-difference learning. Part III presents a unified view of the solution methods and incorporates artificial neural networks, eligibility traces, and planning; the two final chapters present case studies and consider the future of reinforcement learning.]]>
322 Richard S. Sutton 0262193981 Jon 0 the canonical introduction to reinforcement learning.
I'm reading parts as necessary � not sure if I'll ever read cover-to-cover. In any case this has been an indispensable resource in my research career.
From the outside, RL seems mathy and somewhat stilted; from the inside, there is a lot of room for creativity and the core concepts are quite straightforward. I credit this book (along with some incredibly talented mentors) for introducing me to that beautiful insider's view.]]>
4.55 Reinforcement Learning: An Introduction (Adaptive Computation and Machine Learning)
author: Richard S. Sutton
name: Jon
average rating: 4.55
book published:
rating: 0
read at:
date added: 2015/12/18
shelves: artificial-intelligence, machine-learning, programming, read-part
review:
Despite its age, this book is still the canonical introduction to reinforcement learning.
I'm reading parts as necessary � not sure if I'll ever read cover-to-cover. In any case this has been an indispensable resource in my research career.
From the outside, RL seems mathy and somewhat stilted; from the inside, there is a lot of room for creativity and the core concepts are quite straightforward. I credit this book (along with some incredibly talented mentors) for introducing me to that beautiful insider's view.
]]>
Apache Solr Beginner's Guide 20761235
Solr is an open source enterprise search platform from the Apache Lucene project. Full-text search, faceted search, hit highlighting, dynamic clustering, database integration, and rich document handling are just some of its many features. Solr is highly scalable thanks to its distributed search and index replication.

Solr is written in Java and runs as a standalone full-text search server within a servlet container such as Apache Tomcat or Jetty. Solr uses the Lucene Java search library at its core for full-text indexing and search, and has REST-like HTTP/XML and JSON APIs that make it usable with most popular programming languages. Solr's powerful external configuration allows it to be tailored to many types of application without Java coding, and it has a plugin architecture to support more advanced customization.

With "Apache Solr Beginner's Guide" you will learn how to configure your own search engine experience. Using real data as an example, you will have the chance to start writing step-by-step, simple, real-world configurations and understand when and where to adopt this technology.

"Apache Solr Beginner's Guide" will start by letting you explore a simple search over real data. You will then go through a step-by-step description that gives you the chance to explore several practical features. At the end of the book you will see how Solr is used in different real-world contexts.

Using data from public domains like DBpedia, you will define several different configurations, exploring some of the most interesting Solr features, such as faceted search and navigation, auto-suggestion, and rich document indexing. You will see how to configure different analysers for handling different data types, without programming.

You will learn the basics of Solr, focusing on real-world examples and practical configurations.

ApproachWritten in a friendly, example-driven format, the book includes plenty of step-by-step instructions and examples that are designed to help you get started with Apache Solr.

This book is an entry level text into the wonderful world of Apache Solr. The book will center around a couple of simple projects such as setting up Solr and all the stuff that comes with customizing the Solr schema and configuration. This book is for developers looking to start using Apache Solr who are stuck or intimidated by the difficulty of setting it up and using it.

For anyone wanting to embed a search engine in their site to help users navigate around the mammoth data available this book is an ideal starting point. Moreover, if you are a data architect or a project manager and want to make some key design decisions, you will find that every example included in the book contains ideas usable in real-world contexts.]]>
326 Alfredo Serafini Jon 0 programming, paused 3.83 2013 Apache Solr Beginner's Guide
author: Alfredo Serafini
name: Jon
average rating: 3.83
book published: 2013
rating: 0
read at:
date added: 2015/01/01
shelves: programming, paused
review:

]]>
<![CDATA[Data Smart: Using Data Science to Transform Information into Insight]]> 17682206
But how does one exactly do data science? Do you have to hire one of these priests of the dark arts, the "data scientist," to extract this gold from your data? Nope.

Data science is little more than using straight-forward steps to process raw data into actionable insight. And in Data Smart, author and data scientist John Foreman will show you how that's done within the familiar environment of a spreadsheet.

Why a spreadsheet? It's comfortable! You get to look at the data every step of the way, building confidence as you learn the tricks of the trade. Plus, spreadsheets are a vendor-neutral place to learn data science without the hype.

But don't let the Excel sheets fool you. This is a book for those serious about learning the analytic techniques, the math and the magic, behind big data.

Each chapter will cover a different technique in a spreadsheet so you can follow along:

- Mathematical optimization, including non-linear programming and genetic algorithms
- Clustering via k-means, spherical k-means, and graph modularity
- Data mining in graphs, such as outlier detection
- Supervised AI through logistic regression, ensemble models, and bag-of-words models
- Forecasting, seasonal adjustments, and prediction intervals through monte carlo simulation
- Moving from spreadsheets into the R programming language

You get your hands dirty as you work alongside John through each technique. But never fear, the topics are readily applicable and the author laces humor throughout. You'll even learn what a dead squirrel has to do with optimization modeling, which you no doubt are dying to know.

]]>
409 John W. Foreman 111866146X Jon 0 4.13 2013 Data Smart: Using Data Science to Transform Information into Insight
author: John W. Foreman
name: Jon
average rating: 4.13
book published: 2013
rating: 0
read at:
date added: 2014/12/21
shelves: programming, statistics, pop-math, read-part
review:

]]>
Solr in Action 17364147
Solr in Action is the definitive guide to implementing fast and scalable search using Apache Solr 4. It uses well-documented examples ranging from basic keyword searching to scaling a system for billions of documents and queries. Readers will gain a deep understanding of how to implement core Solr capabilities such as faceted navigation through search results, matched snippet highlighting, field collapsing and search results grouping, spell checking, query auto-complete, querying by functions, and more.

Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.]]>
664 Trey Grainger 1617291021 Jon 0 programming, nlp, to-read 4.08 2013 Solr in Action
author: Trey Grainger
name: Jon
average rating: 4.08
book published: 2013
rating: 0
read at:
date added: 2014/09/14
shelves: programming, nlp, to-read
review:

]]>
<![CDATA[SQL and Relational Theory: How to Write Accurate SQL Code]]> 16607967 448 C.J. Date 1449319734 Jon 0 4.00 2009 SQL and Relational Theory: How to Write Accurate SQL Code
author: C.J. Date
name: Jon
average rating: 4.00
book published: 2009
rating: 0
read at:
date added: 2014/08/03
shelves: programming, databases, didnt-finish
review:

]]>
<![CDATA[Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming]]> 18228446
Author Simon Marlow walks you through the process with lots of code examples that you can run, experiment with, and extend. Divided into separate sections on Parallel and Concurrent Haskell, this book also includes exercises to help you become familiar with the concepts presented: Express parallelism in Haskell with the "Eval" monad and Evaluation Strategies Parallelize ordinary Haskell code with the Par monad Build parallel array-based computations, using the Repa library Use the Accelerate library to run computations directly on the GPU Work with basic interfaces for writing concurrent code Build trees of threads for larger and more complex programs Learn how to build high-speed concurrent network servers Write distributed programs that run on multiple machines in a network]]>
322 Simon Marlow 1449335926 Jon 0 0.0 2013 Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming
author: Simon Marlow
name: Jon
average rating: 0.0
book published: 2013
rating: 0
read at:
date added: 2014/08/03
shelves: haskell, parallel-programming, programming, paused
review:

]]>
Effective Java 11268422 Are you looking for a deeper understanding of the Java(TM) programming language so that you can write code that is clearer, more correct, more robust, and more reusable? Look no further! Effective Java(TM), Second Edition, brings together seventy-eight indispensable programmer's rules of working, best-practice solutions for the programming challenges you encounter every day. This highly anticipated new edition of the classic, Jolt Award-winning work has been thoroughly updated to cover Java SE 5 and Java SE 6 features introduced since the first edition. Bloch explores new design patterns and language idioms, showing you how to make the most of features ranging from generics to enums, annotations to autoboxing. Each chapter in the book consists of several "items" presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and outstanding code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. Highlights coverage of generics, enums, annotations, autoboxing, the for-each loop, varargs, concurrency utilities, and much moreUpdated techniques and best practices on classic topics, including objects, classes, libraries, methods, and serializationHow to avoid the traps and pitfalls of commonly misunderstood subtleties of the languageFocus on the language and its most fundamental java.lang, java.util, and, to a lesser extent, java.util.concurrent and java.io Simply put, Effective Java(TM), Second Edition, presents the most practical, authoritative guidelines available for writing efficient, well-designed programs.]]> 368 Joshua Bloch 0132778041 Jon 4 programming, java 4.55 2001 Effective Java
author: Joshua Bloch
name: Jon
average rating: 4.55
book published: 2001
rating: 4
read at: 2014/08/02
date added: 2014/08/02
shelves: programming, java
review:

]]>
<![CDATA[Introduction to Functional Programming using Haskell]]> 1817364 433 Richard S. Bird 0134843460 Jon 0 3.96 1988 Introduction to Functional Programming using Haskell
author: Richard S. Bird
name: Jon
average rating: 3.96
book published: 1988
rating: 0
read at:
date added: 2014/04/04
shelves: to-read, programming, functional-programming, haskell
review:

]]>
<![CDATA[Data Analysis with Open Source Tools: A Hands-On Guide for Programmers and Data Scientists]]> 8360735 530 Philipp K. Janert 0596802358 Jon 0 4.08 2010 Data Analysis with Open Source Tools: A Hands-On Guide for Programmers and Data Scientists
author: Philipp K. Janert
name: Jon
average rating: 4.08
book published: 2010
rating: 0
read at:
date added: 2014/04/01
shelves: programming, data-science, to-read
review:

]]>
Python for Data Analysis 14744694 400 Wes McKinney 1449319793 Jon 0 programming, to-read 4.17 2011 Python for Data Analysis
author: Wes McKinney
name: Jon
average rating: 4.17
book published: 2011
rating: 0
read at:
date added: 2014/04/01
shelves: programming, to-read
review:

]]>
<![CDATA[sed and awk Pocket Reference: Text Processing with Regular Expressions]]> 354485
The sed & awk Pocket Reference is a companion volume to sed & awk, Second Edition, Unix in a Nutshell, Third Edition , and Effective awk Programming, Third Edition . This new edition has expanded coverage of gawk (GNU awk), and includes sections This small book is a handy reference guide to the information presented in the larger volumes. It presents a concise summary of regular expressions and pattern matching, and summaries of sed and awk.

Arnold Robbins, an Atlanta native now happily living in Israel, is a professional programmer and technical author and coauthor of various O'Reilly Unix titles. He has been working with Unix systems since 1980, and currently maintains gawk and its documentation.]]>
52 Arnold Robbins 0596003528 Jon 0 unix, programming, to-read 3.97 2000 sed and awk Pocket Reference: Text Processing with Regular Expressions
author: Arnold Robbins
name: Jon
average rating: 3.97
book published: 2000
rating: 0
read at:
date added: 2014/04/01
shelves: unix, programming, to-read
review:

]]>
<![CDATA[Natural Language Annotation for Machine Learning: A Guide to Corpus-Building for Applications]]> 15808115 339 James Pustejovsky 1449306667 Jon 0 nlp, programming, to-read 3.54 2012 Natural Language Annotation for Machine Learning: A Guide to Corpus-Building for Applications
author: James Pustejovsky
name: Jon
average rating: 3.54
book published: 2012
rating: 0
read at:
date added: 2014/04/01
shelves: nlp, programming, to-read
review:

]]>
<![CDATA[Structured Parallel Programming: Patterns for Efficient Computation]]> 14788830 432 Michael McCool 0124159931 Jon 0 4.10 2012 Structured Parallel Programming: Patterns for Efficient Computation
author: Michael McCool
name: Jon
average rating: 4.10
book published: 2012
rating: 0
read at:
date added: 2014/04/01
shelves: parallel-programming, programming, to-read
review:

]]>
<![CDATA[Speech and Language Processing]]> 908048 1024 Dan Jurafsky 0131873210 Jon 4 4.28 2000 Speech and Language Processing
author: Dan Jurafsky
name: Jon
average rating: 4.28
book published: 2000
rating: 4
read at: 2014/03/16
date added: 2014/03/24
shelves: school-2014, computer-science, programming, linguistics, nlp
review:

]]>
<![CDATA[Introduction to Information Retrieval]]> 3278309 506 Christopher D. Manning 0521865719 Jon 0 4.22 2008 Introduction to Information Retrieval
author: Christopher D. Manning
name: Jon
average rating: 4.22
book published: 2008
rating: 0
read at: 2014/03/09
date added: 2014/03/09
shelves: programming, computer-science, linguistics, machine-learning, school-2014
review:

]]>
<![CDATA[The Haskell School of Expression: Learning Functional Programming through Multimedia]]> 912216 382 Paul Hudak 0521644089 Jon 0 3.66 2000 The Haskell School of Expression: Learning Functional Programming through Multimedia
author: Paul Hudak
name: Jon
average rating: 3.66
book published: 2000
rating: 0
read at:
date added: 2013/08/19
shelves: to-read, haskell, functional-programming, programming
review:

]]>
Learning GNU Emacs 860315 534 Debra Cameron 0596006489 Jon 3 programming, unix 3.66 1991 Learning GNU Emacs
author: Debra Cameron
name: Jon
average rating: 3.66
book published: 1991
rating: 3
read at:
date added: 2013/07/31
shelves: programming, unix
review:

]]>
<![CDATA[Data Mining: Practical Machine Learning Tools and Techniques (The Morgan Kaufmann Series in Data Management Systems)]]> 7480479
Thorough updates reflect the technical changes and modernizations that have taken place in the field since the last edition, including new material on Data Transformations, Ensemble Learning, Massive Data Sets, Multi-instance Learning, plus a new version of the popular Weka machine learning software developed by the authors. Witten, Frank, and Hall include both tried-and-true techniques of today as well as methods at the leading edge of contemporary research.
*Provides a thorough grounding in machine learning concepts as well as practical advice on applying the tools and techniques to your data mining projects *Offers concrete tips and techniques for performance improvement that work by transforming the input or output in machine learning methods *Includes downloadable Weka software toolkit, a collection of machine learning algorithms for data mining tasks-in an updated, interactive interface. Algorithms in toolkit cover: data pre-processing, classification, regression, clustering, association rules, visualization]]>
664 Ian H. Witten 0123748569 Jon 0 3.87 1999 Data Mining: Practical Machine Learning Tools and Techniques (The Morgan Kaufmann Series in Data Management Systems)
author: Ian H. Witten
name: Jon
average rating: 3.87
book published: 1999
rating: 0
read at:
date added: 2013/07/31
shelves: programming, machine-learning, artificial-intelligence, school-2012, data-science, paused
review:

]]>
The Senior Software Engineer 18215039
You already write great code, and can figure out the latest frameworks. This book isn't about that - it's about everything else. As such, there's very little code inside, meaning everyone from PHP hackers to hardcore embedded C programmers will get a lot out of it.

This book covers 10 topics crucial to being an amazing developer:

Focus on Delivering Results
Fix Bugs Efficiently and Cleanly
Add Features with Ease
Deal With Technical Debt and Slop
Play Well With Others
Make Technical Decisions
Bootstrap a Greenfield System
Learn to Write
Interview Potential Co-Workers
Lead a Team]]>
209 David Bryant Copeland Jon 0 3.75 2013 The Senior Software Engineer
author: David Bryant Copeland
name: Jon
average rating: 3.75
book published: 2013
rating: 0
read at:
date added: 2013/07/22
shelves: to-read, programming, programming-career
review:

]]>
A Little Riak Book 17839217 65 Eric Redmond Jon 0 3.62 2013 A Little Riak Book
author: Eric Redmond
name: Jon
average rating: 3.62
book published: 2013
rating: 0
read at:
date added: 2013/07/19
shelves: to-read, databases, programming
review:

]]>
<![CDATA[ZeroMQ: Messaging for Many Applications]]> 17721066 516 Pieter Hintjens 144933444X Jon 3
Hintjens abandons all pretense at the very beginning of Chapter 1, acknowledging the fervor of the community:

How to explain ĂMQ? Some of us start by saying all the wonderful things it does. It’s sockets on steroids. It’s like mailboxes with routing. It’s fast! Others try to share their moment of enlightenment, that zap-pow-kaboom satori paradigm-shift moment when it all became obvious. Things just become simpler. Complexity goes away. It opens the mind. Others try to explain by comparison. It’s smaller, simpler, but still looks familiar.


Yes–the whole book is like that. Our author has a wonderfully lucid and light-hearted writing style [1] that keeps you focused during the long stretches of code.

And is there code! The majority of the book offers a tour through a dizzying array of ĂMQ network patterns, each accompanied by a cute name and often a diagram. See, for example, the “Majordomo Pattern.â€�

The Majordomo Pattern

What follows this reasonably simple diagram is no less than 500 lines of C code. Inline. I appreciate this in some amount � there’s nothing more practical than a real implementation � but was blown away (rather, smothered by) the piles of code in this book. The density of the code hindered my reading experience, especially in the Kindle edition, where there were no bookmarks within sub-chapter sections to help me easily jump around between the massive code blocks. Many of the most important sections of the book that offered real, usable patterns were difficult to scan and reference later on given the lack of navigation aids. [2]

This publishing error, however serious, is my only major gripe with the book. I learned quite a lot about the core of ZeroMQ, and am now interested in exploring the bindings written for my everyday languages. [3] I’m excited to see how I can integrate the library at the core of horizontally scalable systems in the near future.

(Disclosure: I received an electronic copy of this book in exchange for writing a review.)

---

Footnotes

1. This is likely something of a rarity, I’d assume, when it comes to guides on message-passing libraries.

2. To be fair, this would be much less of an issue with a physical book (or in the online guide, where much of the code is held externally and simply referenced by hyperlink). I am still disappointed by O’Reilly’s apparent lack of concern for the usability of this work’s ebook format.

3. The book does make reference to the large amount of language bindings available, but keeps all code in C.]]>
3.75 2012 ZeroMQ: Messaging for Many Applications
author: Pieter Hintjens
name: Jon
average rating: 3.75
book published: 2012
rating: 3
read at: 2013/06/30
date added: 2013/06/30
shelves: programming, distributed-systems
review:
ZeroMQ is one of those technologies today that have sizeable shares of breathless adherents. I had been aware of the hubbub over the open-source messaging library for quite some time when I heard that the popular online tutorial � known simply as , written by Pieter Hintjens, an author of ZeroMQ � would be made available in print and ebook. I snagged my chance to get a nice Kindle edition of the . Apart from some serious formatting problems with the ebook (read on), I was extremely satisfied with the breadth and depth of this guide.

Hintjens abandons all pretense at the very beginning of Chapter 1, acknowledging the fervor of the community:

How to explain ĂMQ? Some of us start by saying all the wonderful things it does. It’s sockets on steroids. It’s like mailboxes with routing. It’s fast! Others try to share their moment of enlightenment, that zap-pow-kaboom satori paradigm-shift moment when it all became obvious. Things just become simpler. Complexity goes away. It opens the mind. Others try to explain by comparison. It’s smaller, simpler, but still looks familiar.


Yes–the whole book is like that. Our author has a wonderfully lucid and light-hearted writing style [1] that keeps you focused during the long stretches of code.

And is there code! The majority of the book offers a tour through a dizzying array of ĂMQ network patterns, each accompanied by a cute name and often a diagram. See, for example, the “Majordomo Pattern.â€�

The Majordomo Pattern

What follows this reasonably simple diagram is no less than 500 lines of C code. Inline. I appreciate this in some amount � there’s nothing more practical than a real implementation � but was blown away (rather, smothered by) the piles of code in this book. The density of the code hindered my reading experience, especially in the Kindle edition, where there were no bookmarks within sub-chapter sections to help me easily jump around between the massive code blocks. Many of the most important sections of the book that offered real, usable patterns were difficult to scan and reference later on given the lack of navigation aids. [2]

This publishing error, however serious, is my only major gripe with the book. I learned quite a lot about the core of ZeroMQ, and am now interested in exploring the bindings written for my everyday languages. [3] I’m excited to see how I can integrate the library at the core of horizontally scalable systems in the near future.

(Disclosure: I received an electronic copy of this book in exchange for writing a review.)

---

Footnotes

1. This is likely something of a rarity, I’d assume, when it comes to guides on message-passing libraries.

2. To be fair, this would be much less of an issue with a physical book (or in the online guide, where much of the code is held externally and simply referenced by hyperlink). I am still disappointed by O’Reilly’s apparent lack of concern for the usability of this work’s ebook format.

3. The book does make reference to the large amount of language bindings available, but keeps all code in C.
]]>
<![CDATA[The Elements of Statistical Learning: Data Mining, Inference, and Prediction]]> 148009 552 Trevor Hastie 0387952845 Jon 0 4.41 2001 The Elements of Statistical Learning: Data Mining, Inference, and Prediction
author: Trevor Hastie
name: Jon
average rating: 4.41
book published: 2001
rating: 0
read at:
date added: 2013/06/29
shelves: to-read, data-science, programming, machine-learning
review:

]]>
<![CDATA[Scala on Android: How to do efficient Android programming with Scala]]> 18001442
In this book, you will learn the ins and outs of Scala development for Android, from installing the tools to publishing the app, with a lot of tips to improve your code.

For Android developers

Tired of seeing NullPointerExceptions? Frustrated by AsyncTask everywhere in your code? With a nice introduction ot the language, you will soon feel at ease with Scala and get faster at writing Android applications. Scala code is a lot smaller than the equivalent Java code, see the sample chapter if you don't believe me. Your code will be safer, faster and a joy to read.

For Scala developers
Interested in Android development? Reulctant to go back to the Java land? You will learn how to develop for this fun platform without writing one line of Java. As a bonus, you can even ignore Eclipse and use SBT and your editor of choice instead. I will go deep into how the development environment works and how SBT can help you automate most of your tasks.

What you will find in this book

* How to set up your environment
* Creating your first application from scratch
* Using Scala's powerful features to improve Android development
* How to tweak you development environment to get faster
* Unit testing techniques]]>
37 Geoffroy Couprie Jon 0 to-read, java, programming 0.0 2013 Scala on Android: How to do efficient Android programming with Scala
author: Geoffroy Couprie
name: Jon
average rating: 0.0
book published: 2013
rating: 0
read at:
date added: 2013/05/31
shelves: to-read, java, programming
review:

]]>
SQL Performance Explained 11361476 84 Markus Winand 395030780X Jon 4 programming 4.24 2011 SQL Performance Explained
author: Markus Winand
name: Jon
average rating: 4.24
book published: 2011
rating: 4
read at: 2012/04/02
date added: 2013/05/19
shelves: programming
review:
This little book contains so many useful nuggets of information. It focuses largely on indexes, but also touches on things like query parameters and their gotchas. With each major feature Winand includes a table listing usage details specific to each SQL implementation. Definitely worth a read.
]]>
Clojure Programming 13597343
Clojure Programming demonstrates the language’s flexibility by showing how it can be used for common tasks like web programming and working with databases, up through more demanding applications that require safe, effective concurrency and parallelism, data analysis, and more. This in-depth look helps tie together the full Clojure development experience, from how to organize your project and an introduction to Clojure build tooling, to a tutorial on how to make the most of Clojure’s REPL during development, and how to deploy your finished application in a cloud environment.

* Learn how to use Clojure while leveraging your investment in the Java platform
* Understand the advantages of Clojure as an efficient Lisp for the JVM
* See how Clojure is used today in several practical domains
* Discover how Clojure eliminates the need for many verbose and complicated design patterns
* Deploy large or small web applications to the cloud with Clojure]]>
632 Chas Emerick 1449394744 Jon 4 closet functional programmers � people who seem to have a genuine interest in acquainting themselves with a new paradigm, but just can’t manage to find the time to do it. Some of those who do invest the time often end up on something like the [1], where the combined force of jargon and type signatures kill whatever interest they began with.

Thanks to Clojure Programming, though, I’m happy to report that this will no longer be a problem. This book gives hope to those who have championed Lisp and / or functional programming in vain. Emerick et al. provide not only a thorough tour of the language, but also demonstrate the beauty and conciseness of its solutions to common problems. The book dedicates an entire section (“Practicum�) to describing how Clojure is idiomatically used in different application domains.

I was particularly pleased by the stellar coverage of some of Clojure’s most compelling features:

Concurrency primitives (ref, atom, agent, future, and friends)
The power of the JVM and easy Java interop
Lisp syntax (which makes for easy and powerful metaprogramming)
The sequence abstraction

These features are all explained in a bottom-up style (fitting for a Lisp!) � the authors build up a sizeable example by providing an implementation in small increments, explaining along the way. This style is a nice parallel to the nature of traditional Lisp programming.

This book would fit best any of these three groups:

Java refugees. Give me the JVM, hold the
. Clojure Programming shows you how to take advantage of the vast Java ecosystem while avoiding some of the pitfalls of having static typing and OOP forced upon you. The authors make a good case for interactive programming with the Clojure REPL, which gives you a direct line to the JVM not usually available in Java-land.
Beginning functional programmers. For those already acquainted with a scripting language like Python, Ruby, etc., your first Clojure programs will be a breeze. The book spends a chapter first easing you into Clojure syntax before presenting the basics of functional programming in all of their greatness. You’ll come to love the paradigm and appreciate how Clojure facilitates its use so effectively.
Lispers. While Clojure is by no means a mainstream language, it provides a compelling case of a successful Lisp dialect. The later chapters, which provide examples of Clojure applications in all sorts of distinct domains, will definitely be of interest.

Beginners, intermediate users and masters alike will find something of use in Clojure Programming. It’ll be one of the first books I recommend from now on to anyone curious about Lisp or functional programming.

(Disclosure: I received an electronic copy of this book in exchange for writing a review.)

----

Footnotes:

1. I’ve absolutely nothing against this document � it’s a fascinating and wonderfully helpful piece of work � but when the first few paragraphs include the words “category theory,� “monoid,� etc., etc., beginners will tend to get spooked!]]>
4.50 2011 Clojure Programming
author: Chas Emerick
name: Jon
average rating: 4.50
book published: 2011
rating: 4
read at: 2013/04/17
date added: 2013/05/19
shelves: programming, functional-programming, clojure, lisp
review:
I often run into what you might call closet functional programmers � people who seem to have a genuine interest in acquainting themselves with a new paradigm, but just can’t manage to find the time to do it. Some of those who do invest the time often end up on something like the [1], where the combined force of jargon and type signatures kill whatever interest they began with.

Thanks to Clojure Programming, though, I’m happy to report that this will no longer be a problem. This book gives hope to those who have championed Lisp and / or functional programming in vain. Emerick et al. provide not only a thorough tour of the language, but also demonstrate the beauty and conciseness of its solutions to common problems. The book dedicates an entire section (“Practicum�) to describing how Clojure is idiomatically used in different application domains.

I was particularly pleased by the stellar coverage of some of Clojure’s most compelling features:

Concurrency primitives (ref, atom, agent, future, and friends)
The power of the JVM and easy Java interop
Lisp syntax (which makes for easy and powerful metaprogramming)
The sequence abstraction

These features are all explained in a bottom-up style (fitting for a Lisp!) � the authors build up a sizeable example by providing an implementation in small increments, explaining along the way. This style is a nice parallel to the nature of traditional Lisp programming.

This book would fit best any of these three groups:

Java refugees. Give me the JVM, hold the
. Clojure Programming shows you how to take advantage of the vast Java ecosystem while avoiding some of the pitfalls of having static typing and OOP forced upon you. The authors make a good case for interactive programming with the Clojure REPL, which gives you a direct line to the JVM not usually available in Java-land.
Beginning functional programmers. For those already acquainted with a scripting language like Python, Ruby, etc., your first Clojure programs will be a breeze. The book spends a chapter first easing you into Clojure syntax before presenting the basics of functional programming in all of their greatness. You’ll come to love the paradigm and appreciate how Clojure facilitates its use so effectively.
Lispers. While Clojure is by no means a mainstream language, it provides a compelling case of a successful Lisp dialect. The later chapters, which provide examples of Clojure applications in all sorts of distinct domains, will definitely be of interest.

Beginners, intermediate users and masters alike will find something of use in Clojure Programming. It’ll be one of the first books I recommend from now on to anyone curious about Lisp or functional programming.

(Disclosure: I received an electronic copy of this book in exchange for writing a review.)

----

Footnotes:

1. I’ve absolutely nothing against this document � it’s a fascinating and wonderfully helpful piece of work � but when the first few paragraphs include the words “category theory,� “monoid,� etc., etc., beginners will tend to get spooked!
]]>
<![CDATA[Clojure Data Analysis Cookbook: Over 110 Recipes to Help You Diver into the World of Practical Data Analysis Using Clojure]]> 17716085
"The Clojure Data Analysis Cookbook" presents recipes for every stage of the data analysis process. Whether scraping data off a web page, performing data mining, or creating graphs for the web, this book has something for the task at hand.

You'll learn how to acquire data, clean it up, and transform it into useful graphs which can then be analyzed and published to the Internet. Coverage includes advanced topics like processing data concurrently, applying powerful statistical techniques like Bayesian modelling, and even data mining algorithms such as K-means clustering, neural networks, and association rules.]]>
326 Eric Rochester 178216264X Jon 0 3.64 2013 Clojure Data Analysis Cookbook: Over 110 Recipes to Help You Diver into the World of Practical Data Analysis Using Clojure
author: Eric Rochester
name: Jon
average rating: 3.64
book published: 2013
rating: 0
read at:
date added: 2013/05/09
shelves: to-read, lisp, machine-learning, programming, clojure
review:

]]>
<![CDATA[Learn you some Erlang for great good!]]> 6718693
Erlang maestro Fred Hébert starts slow and eases you into the You’ll learn about Erlang’s unorthodox syntax, its data structures, its type system (or lack thereof!), and basic functional programming techniques. Once you’ve wrapped your head around the simple stuff, you’ll tackle the real meat-and-potatoes of the concurrency, distributed computing, hot code loading, and all the other dark magic that makes Erlang such a hot topic among today’s savvy developers.

As you dive into Erlang’s functional fantasy world, you’ll learn
–Testing your applications with EUnit and Common Test
–Building and releasing your applications with the OTP framework
–Passing messages, raising errors, and starting/stopping processes over many nodes
–Storing and retrieving data using Mnesia and ETS
–Network programming with TCP, UDP, and the inet module
–The simple joys and potential pitfalls of writing distributed, concurrent applications

Packed with lighthearted illustrations and just the right mix of offbeat and practical example programs, Learn You Some Erlang for Great Good! is the perfect entry point into the sometimes-crazy, always-thrilling world of Erlang.]]>
593 Fred Hebert Jon 0 4.46 2012 Learn you some Erlang for great good!
author: Fred Hebert
name: Jon
average rating: 4.46
book published: 2012
rating: 0
read at:
date added: 2013/05/01
shelves: to-read, functional-programming, programming, erlang
review:

]]>
<![CDATA[ATDD by Example: A Practical Guide to Acceptance Test-Driven Development: A Practical Guide to Acceptance TestDriven Development (AddisonWesley Signature Series (Beck))]]> 13705173 236 Markus Gärtner 0321784154 Jon 0 programming, to-read 3.41 2012 ATDD by Example: A Practical Guide to Acceptance Test-Driven Development: A Practical Guide to Acceptance TestDriven Development (AddisonWesley Signature Series (Beck))
author: Markus Gärtner
name: Jon
average rating: 3.41
book published: 2012
rating: 0
read at:
date added: 2013/05/01
shelves: programming, to-read
review:

]]>
Continuous delivery 8686650 Winner of the 2011 Jolt Excellence Award!Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours-- sometimes even minutes-no matter what the size of a project or the complexity of its code base. Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the "deployment pipeline," an automated process for managing all changes, from check-in to release. Finally, they discuss the "ecosystem" needed to support continuous delivery, from infrastructure, data and configuration management to governance. The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes - Automating all facets of building, integrating, testing, and deploying software - Implementing deployment pipelines at team and organizational levels - Improving collaboration between developers, testers, and operations - Developing features incrementally on large and distributed teams - Implementing an effective configuration management strategy - Automating acceptance testing, from analysis to implementation - Testing capacity and other non-functional requirements - Implementing continuous deployment and zero-downtime releases - Managing infrastructure, data, components and dependencies - Navigating risk management, compliance, and auditing Whether you're a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever--so you can deliver value to your business rapidly and reliably.]]> 463 Jez Humble 0321601912 Jon 0 to-read, programming 4.20 2010 Continuous delivery
author: Jez Humble
name: Jon
average rating: 4.20
book published: 2010
rating: 0
read at:
date added: 2013/05/01
shelves: to-read, programming
review:

]]>
<![CDATA[Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement]]> 13605522 327 Eric Redmond Jon 0 4.60 2012 Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement
author: Eric Redmond
name: Jon
average rating: 4.60
book published: 2012
rating: 0
read at:
date added: 2013/04/24
shelves: to-read, programming, databases
review:

]]>
Cocoa Design Patterns 3048265 456 Erik M. Buck 0321535022 Jon 0 to-read, programming 4.09 2009 Cocoa Design Patterns
author: Erik M. Buck
name: Jon
average rating: 4.09
book published: 2009
rating: 0
read at:
date added: 2013/04/23
shelves: to-read, programming
review:

]]>
<![CDATA[The Art of Multiprocessor Programming]]> 3131525 528 Maurice Herlihy 7111247353 Jon 0 3.92 2008 The Art of Multiprocessor Programming
author: Maurice Herlihy
name: Jon
average rating: 3.92
book published: 2008
rating: 0
read at:
date added: 2013/04/20
shelves: to-read, parallel-programming, programming
review:

]]>
<![CDATA[Heterogeneous Computing with OpenCL]]> 11401383 Heterogeneous Computing with OpenCL teaches OpenCL and parallel programming for complex systems that may include a variety of device architectures: multi-core CPUs, GPUs, and fully-integrated Accelerated Processing Units (APUs) such as AMD Fusion technology. Designed to work on multiple platforms and with wide industry support, OpenCL will help you more effectively program for a heterogeneous future.

Written by leaders in the parallel computing and OpenCL communities, this book will give you hands-on OpenCL experience to address a range of fundamental parallel algorithms. The authors explore memory spaces, optimization techniques, graphics interoperability, extensions, and debugging and profiling. Intended to support a parallel programming course, Heterogeneous Computing with OpenCL includes detailed examples throughout, plus additional online exercises and other supporting materials.



Explains principles and strategies to learn parallel programming with OpenCL, from understanding the four abstraction models to thoroughly testing and debugging complete applications.
Covers image processing, web plugins, particle simulations, video editing, performance optimization, and more.
Shows how OpenCL maps to an example target architecture and explains some of the tradeoffs associated with mapping to various architectures
Addresses a range of fundamental programming techniques, with multiple examples and case studies that demonstrate OpenCL extensions for a variety of hardware platforms]]>
296 Benedict Gaster 0123877660 Jon 0 3.90 2003 Heterogeneous Computing with OpenCL
author: Benedict Gaster
name: Jon
average rating: 3.90
book published: 2003
rating: 0
read at:
date added: 2013/04/20
shelves: to-read, programming, opencl, parallel-programming
review:

]]>
sed & awk 354484

sed & awk describes two text processing programs that are mainstays of the UNIX programmer's toolbox.

sed is a "stream editor" for editing streams of text that might be too large to edit as a single file, or that might be generated on the fly as part of a larger data processing step. The most common operation done with sed is substitution, replacing one block of text with another.

awk is a complete programming language. Unlike many conventional languages, awk is "data driven" -- you specify what kind of data you are interested in and the operations to be performed when that data is found. awk does many things for you, including automatically opening and closing data files, reading records, breaking the records up into fields, and counting the records. While awk provides the features of most conventional programming languages, it also includes some unconventional features, such as extended regular expression matching and associative arrays. sed & awk describes both programs in detail and includes a chapter of example sed and awk scripts.

This edition covers features of sed and awk that are mandated by the POSIX standard. This most notably affects awk, where POSIX standardized a new variable, CONVFMT, and new functions, toupper() and tolower(). The CONVFMT variable specifies the conversion format to use when converting numbers to strings (awk used to use OFMT for this purpose). The toupper() and tolower() functions each take a (presumably mixed case) string argument and return a new version of the string with all letters translated to the corresponding case.

In addition, this edition covers GNU sed, newly available since the first edition. It also updates the first edition coverage of Bell Labs nawk and GNU awk (gawk), covers mawk, an additional freely available implementation of awk, and briefly discusses three commercial versions of awk, MKS awk, Thompson Automation awk (tawk), and Videosoft (VSAwk).

]]>
432 Dale Dougherty 1565922255 Jon 0 programming, to-read, unix 3.85 1990 sed & awk
author: Dale Dougherty
name: Jon
average rating: 3.85
book published: 1990
rating: 0
read at:
date added: 2013/04/15
shelves: programming, to-read, unix
review:

]]>
The Seasoned Schemer 475858 -- Gregg Williams, Byte

The notion that "thinking about computing is one of the most exciting things the human mind can do" sets both "The Little Schemer" (formerly known as "The Little LISPer" ) and its new companion volume, "The Seasoned Schemer," apart from other books on LISP. The authors' enthusiasm for their subject is compelling as they present abstract concepts in a humorous and easy-to-grasp fashion. Together, these books will open new doors of thought to anyone who wants to find out what computing is really about.

"The Little Schemer" introduces computing as an extension of arithmetic and algebra -- things that everyone studies in grade school and high school. It introduces programs as recursive functions and briefly discusses the limits of what computers can do. The authors use the programming language Scheme, and interesting foods to illustrate these abstract ideas. "The Seasoned Schemer" informs the reader about additional dimensions of computing: functions as values, change of state, and exceptional cases.

"The Little LISPer" has been a popular introduction to LISP for many years. It had appeared in French and Japanese. "The Little Schemer" and"The Seasoned Schemer" are worthy successors and will prove equally popular as textbooks for Scheme courses as well as companion texts for any complete introductory course in Computer Science.

Download DrScheme - a graphical environment for developing Scheme programs]]>
224 Daniel P. Friedman 026256100X Jon 4 4.29 1995 The Seasoned Schemer
author: Daniel P. Friedman
name: Jon
average rating: 4.29
book published: 1995
rating: 4
read at: 2012/12/01
date added: 2013/04/07
shelves: lisp, programming, functional-programming
review:

]]>
<![CDATA[Developing Web Applications with Haskell and Yesod]]> 13356522
By the time you finish this book, you’ll create a production-quality web application with Yesod’s ready-to-use scaffolding. You’ll also examine several real-world examples, including a blog, a wiki, a JSON web service, and a Sphinx search server.


Build a simple application to learn Yesod’s foundation datatype and Web Application Interface (WAI)
Use Shakespearean template languages for HTML, CSS, and Javascript output
Produce cleaner, more modular code by learning how Yesod monads interact
Implement the yesod-form declarative API to build forms on top of widgets
Learn how Yesod and Haskell store session data and handle persistence
Use techniques to serve an HTML page and a machine-friendly JSON page from the same URL
Create reusable components for several applications with Yesod subsites]]>
294 Michael Snoyman 1449316972 Jon 0 3.36 2012 Developing Web Applications with Haskell and Yesod
author: Michael Snoyman
name: Jon
average rating: 3.36
book published: 2012
rating: 0
read at:
date added: 2013/03/16
shelves: programming, web-development, haskell, to-read
review:

]]>
<![CDATA[Data Mining with R: Learning with Case Studies (Chapman & Hall/CRC Data Mining and Knowledge Discovery Series)]]> 7125665 A supporting website mirrors the do-it-yourself approach of the text. It offers a collection of freely available R source files that encompass all the code used in the case studies. The site also provides the data sets from the case studies as well as an R package of several functions.]]> 305 LuĂ­s Torgo 1439810184 Jon 0 3.83 2010 Data Mining with R: Learning with Case Studies (Chapman & Hall/CRC Data Mining and Knowledge Discovery Series)
author: LuĂ­s Torgo
name: Jon
average rating: 3.83
book published: 2010
rating: 0
read at:
date added: 2013/02/25
shelves: to-read, machine-learning, programming, r
review:

]]>
A Programming Language 6016310 286 Kenneth E. Iverson 0471430145 Jon 0 to-read, programming 4.40 1962 A Programming Language
author: Kenneth E. Iverson
name: Jon
average rating: 4.40
book published: 1962
rating: 0
read at:
date added: 2013/02/23
shelves: to-read, programming
review:

]]>
Mining of Massive Datasets 12818088 326 Jure Leskovec 1107015359 Jon 0 4.35 2011 Mining of Massive Datasets
author: Jure Leskovec
name: Jon
average rating: 4.35
book published: 2011
rating: 0
read at:
date added: 2013/02/16
shelves: to-read, programming, machine-learning, artificial-intelligence
review:

]]>
<![CDATA[Taming Text: How to Find, Organize, and Manipulate It]]> 10478952
Taming Text is a hands-on, example-driven guide to working with unstructured text in the context of real-world applications. It explores how to automatically organize text, using approaches such as full-text search, proper name recognition, clustering, tagging, information extraction, and summarization. This book gives examples illustrating each of these topics, as well as the foundations upon which they are built.

Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.]]>
322 Grant S. Ingersoll 193398838X Jon 0 to-read, programming 3.79 2011 Taming Text: How to Find, Organize, and Manipulate It
author: Grant S. Ingersoll
name: Jon
average rating: 3.79
book published: 2011
rating: 0
read at:
date added: 2013/02/14
shelves: to-read, programming
review:

]]>
<![CDATA[Processing 2: Creative Programming Cookbook: Over 90 Highly-Effective Recipes to Unleash Your Creativity with Interactive Art, Graphics, Computer Vision, 3D, and More]]> 15957453
Explore the Processing language with a broad range of practical recipes for computational art and graphics
Wide coverage of topics including interactive art, computer vision, visualization, drawing in 3D, and much more with Processing
Create interactive art installations and learn to export your artwork for print, screen, Internet, and mobile devices

In Detail

Processing is probably the best known creative coding environment that helps you bridge the gap between programming and art. It enables designers, artists, architects, students and many others to explore graphics programming and computational art in an easy way, thus helping you boost your creativity.

"Processing 2: Creative Programming Cookbook" will guide you to explore and experience the open source Processing language and environment, helping you discover advanced features and exciting possibilities with this programming environment like never before. You'll learn the basics of 2D and 3D graphics programming, and then quickly move up to advanced topics such as audio and video visualization, computer vision, and much more with this comprehensive guide.

Since its birth in 2001, Processing has grown a lot. What started out as a project by Ben Fry and Casey Reas has now become a widely used graphics programming language.

Processing 2 has a lot of new and exciting features. This cookbook will guide you to explore the completely new and cool graphics engine and video library. Using the recipes in this cookbook, you will be able to build interactive art for desktop computers, Internet, and even Android devices! You don't even have to use a keyboard or mouse to interact with the art you make. The book's next-gen technologies will teach you how to design interactions with a webcam or a microphone! Isn't that amazing?

"Processing 2: Creative Programming Cookbook" will guide you to explore the Processing language and environment using practical and useful recipes.

What you will learn from this book

Draw expressive shapes and images in 2D and 3D and get inspiration for your creativity
Extend the possibilities with Processing using libraries that help you create interactive computational art
Play and control video files using some of the coolest recipes with unmatched techniques
Visualize music and even live audio
Build basic tools for audio visual performances
Interact with computers using a webcam
Create Processing sketches for the web using the new JavaScript mode
Create interactive applications for your Android devices

Approach

A cookbook with a broad sweep of the topic, through lots of practical and useful recipes that are fun to read and do.

Who this book is written for

This book targets creative professionals, visual artists, designers, and students who have a starting knowledge of the Processing Development environment and who want to discover the next level of Processing. Anyone with a creative practice who wants to use computation in their design process. A basic understanding of programming is assumed. However, this book is also recommended to the non-artistic, looking to expand their graphics and artistic skills.]]>
306 Jan Vantomme 1849517940 Jon 0 4.00 2012 Processing 2: Creative Programming Cookbook: Over 90 Highly-Effective Recipes to Unleash Your Creativity with Interactive Art, Graphics, Computer Vision, 3D, and More
author: Jan Vantomme
name: Jon
average rating: 4.00
book published: 2012
rating: 0
read at:
date added: 2013/02/10
shelves: to-read, programming, processing
review:

]]>
The Nature of Code 16123828 520 Daniel Shiffman 0985930802 Jon 0 4.60 2012 The Nature of Code
author: Daniel Shiffman
name: Jon
average rating: 4.60
book published: 2012
rating: 0
read at:
date added: 2013/02/10
shelves: to-read, programming, processing, applied-comp-sci
review:

]]>
<![CDATA[Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp]]> 83884 976 Peter Norvig 1558601910 Jon 0 4.33 1991 Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp
author: Peter Norvig
name: Jon
average rating: 4.33
book published: 1991
rating: 0
read at:
date added: 2013/02/07
shelves: to-read, artificial-intelligence, lisp, programming
review:

]]>
<![CDATA[JavaScript: The Good Parts: The Good Parts]]> 6590008
Considered the JavaScript expert by many people in the development community, author Douglas Crockford identifies the abundance of good ideas that make JavaScript an outstanding object-oriented programming language-ideas such as functions, loose typing, dynamic objects, and an expressive object literal notation. Unfortunately, these good ideas are mixed in with bad and downright awful ideas, like a programming model based on global variables.

When Java applets failed, JavaScript became the language of the Web by default, making its popularity almost completely independent of its qualities as a programming language. In The Good Parts, Crockford finally digs through the steaming pile of good intentions and blunders to give you a detailed look at all the genuinely elegant parts of JavaScript,

SyntaxObjectsFunctionsInheritanceArraysRegular expressionsMethodsStyleBeautiful featuresThe real beauty? As you move ahead with the subset of JavaScript that this book presents, you'll also sidestep the need to unlearn all the bad parts. Of course, if you want to find out more about the bad parts and how to use them badly, simply consult any other JavaScript book.

With The Good Parts, you'll discover a beautiful, elegant, lightweight and highly expressive language that lets you create effective code, whether you're managing object libraries or just trying to get Ajax to run fast. If you develop sites or applications for the Web, this book is an absolute must.]]>
100 Douglas Crockford 0596107137 Jon 4 programming, javascript
To JavaScript newbies: save yourselves some trouble and don't follow in my footsteps. Check out this book. :)]]>
4.24 2008 JavaScript: The Good Parts: The Good Parts
author: Douglas Crockford
name: Jon
average rating: 4.24
book published: 2008
rating: 4
read at: 2013/02/01
date added: 2013/02/01
shelves: programming, javascript
review:
This book is just packed with useful information. I really wish I had discovered it when I was first learning JavaScript. Now I've learned the majority of the gotchas and less-popular features mentioned in here only from many painful hours of trial and error.

To JavaScript newbies: save yourselves some trouble and don't follow in my footsteps. Check out this book. :)
]]>
<![CDATA[UML Distilled: A Brief Guide to the Standard Object Modeling Language]]> 85001 208 Martin Fowler 0321193687 Jon 0 3.83 1997 UML Distilled: A Brief Guide to the Standard Object Modeling Language
author: Martin Fowler
name: Jon
average rating: 3.83
book published: 1997
rating: 0
read at:
date added: 2013/01/29
shelves: to-read, programming, java, oop
review:
I've always been a bit uneasy about UML—it seems to me a sort of hallmark of that über-strict, institutionalized OOP that I feel the need to avoid. The table of contents (available on Amazon) makes me think that some of these strategies might actually be useful, though. Maybe worth a skim, at least.
]]>
The AWK Programming Language 703101 224 Alfred V. Aho 020107981X Jon 0 to-read, programming 4.28 1988 The AWK Programming Language
author: Alfred V. Aho
name: Jon
average rating: 4.28
book published: 1988
rating: 0
read at:
date added: 2013/01/29
shelves: to-read, programming
review:
I'm always amazed by the powerful little one-liners awk can shoulder, but have never given the language much study. It'd be useful, probably, to delve a little deeper with a book like this and sharpen my text-processing skills a bit more.
]]>
<![CDATA[Applied Cryptography: Protocols, Algorithms, and Source Code in C]]> 351301
"…monumental� fascinating� comprehensive� the definitive work on cryptography for computer programmers�" –Dr. Dobb's Journal

"…easily ranks as one of the most authoritative in its field." —PC Magazine

"…the bible of code hackers." –The Millennium Whole Earth Catalog

This new edition of the cryptography classic provides you with a comprehensive survey of modern cryptography. The book details how programmers and electronic communications professionals can use cryptography—the technique of enciphering and deciphering messages-to maintain the privacy of computer data. It describes dozens of cryptography algorithms, gives practical advice on how to implement them into cryptographic software, and shows how they can be used to solve security problems. Covering the latest developments in practical cryptographic techniques, this new edition shows programmers who design computer applications, networks, and storage systems how they can build security into their software and systems.
What's new in the Second Edition?
* New information on the Clipper Chip, including ways to defeat the key escrow mechanism
* New encryption algorithms, including algorithms from the former Soviet Union and South Africa, and the RC4 stream cipher
* The latest protocols for digital signatures, authentication, secure elections, digital cash, and more
* More detailed information on key management and cryptographic implementations]]>
784 Bruce Schneier 0471128457 Jon 0 4.19 1993 Applied Cryptography: Protocols, Algorithms, and Source Code in C
author: Bruce Schneier
name: Jon
average rating: 4.19
book published: 1993
rating: 0
read at:
date added: 2013/01/29
shelves: to-read, computer-science, programming
review:

]]>
<![CDATA[An Introduction to Computational Learning Theory]]> 1333865 221 Michael J. Kearns 0262111934 Jon 0 3.90 1994 An Introduction to Computational Learning Theory
author: Michael J. Kearns
name: Jon
average rating: 3.90
book published: 1994
rating: 0
read at:
date added: 2013/01/29
shelves: to-read, computer-science, programming
review:

]]>
<![CDATA[Quantitative Methods In Linguistics]]> 6241199 277 Keith Johnson 1405144254 Jon 0 3.87 2008 Quantitative Methods In Linguistics
author: Keith Johnson
name: Jon
average rating: 3.87
book published: 2008
rating: 0
read at:
date added: 2013/01/25
shelves: to-read, linguistics, statistics, programming
review:

]]>
<![CDATA[The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation]]> 248544 514 Gary William Flake 0262561271 Jon 0 4.36 1998 The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation
author: Gary William Flake
name: Jon
average rating: 4.36
book published: 1998
rating: 0
read at:
date added: 2013/01/20
shelves: mind-tickling, programming, chaos, paused
review:

]]>
<![CDATA[The Design of the UNIX Operating System]]> 337343 471 Maurice J. Bach 0132017997 Jon 0 unix, programming, paused 4.24 1986 The Design of the UNIX Operating System
author: Maurice J. Bach
name: Jon
average rating: 4.24
book published: 1986
rating: 0
read at:
date added: 2013/01/20
shelves: unix, programming, paused
review:

]]>
<![CDATA[Regular Expressions Cookbook: Detailed Solutions in Eight Programming Languages]]> 15806879 609 Jan Goyvaerts 1449319432 Jon 0 to-read, programming 4.30 2009 Regular Expressions Cookbook: Detailed Solutions in Eight Programming Languages
author: Jan Goyvaerts
name: Jon
average rating: 4.30
book published: 2009
rating: 0
read at:
date added: 2013/01/16
shelves: to-read, programming
review:

]]>
<![CDATA[Ray Tracing from the Ground Up]]> 2241769 784 Kevin Suffern 1568812728 Jon 0 4.20 2007 Ray Tracing from the Ground Up
author: Kevin Suffern
name: Jon
average rating: 4.20
book published: 2007
rating: 0
read at:
date added: 2012/12/30
shelves: to-read, programming, graphics
review:

]]>
<![CDATA[Language Implementation Patterns: Techniques for Implementing Domain-Specific Languages]]> 6770855

Knowing how to create domain-specific languages (DSLs) can give you a huge productivity boost. Instead of writing code in a general-purpose programming language, you can first build a custom language tailored to make you efficient in a particular domain.

The key is understanding the common patterns found across language implementations. Language Design Patterns identifies and condenses the most common design patterns, providing sample implementations of each.

The pattern implementations use Java, but the patterns themselves are completely general. Some of the implementations use the well-known ANTLR parser generator, so readers will find this book an excellent source of ANTLR examples as well. But this book will benefit anyone interested in implementing languages, regardless of their tool of choice. Other language implementation books focus on compilers, which you rarely need in your daily life. Instead, Language Design Patterns shows you patterns you can use for all kinds of language applications.

You'll learn to create configuration file readers, data readers, model-driven code generators, source-to-source translators, source analyzers, and interpreters. Each chapter groups related design patterns and, in each pattern, you'll get hands-on experience by building a complete sample implementation. By the time you finish the book, you'll know how to solve most common language implementation problems.

]]>
374 Terence Parr 193435645X Jon 0 to-read, programming 3.84 2009 Language Implementation Patterns: Techniques for Implementing Domain-Specific Languages
author: Terence Parr
name: Jon
average rating: 3.84
book published: 2009
rating: 0
read at:
date added: 2012/12/27
shelves: to-read, programming
review:

]]>
Practical Cryptography 984566 Niels Ferguson (Amsterdam, Netherlands) is a cryptographic engineer and consultant at Counterpane Internet Security. He has extensive experience in the creation and design of security algorithms, protocols, and multinational security infrastructures. Previously, Ferguson was a cryptographer for DigiCash and CWI. At CWI he developed the first generation of off-line payment protocols. He has published numerous scientific papers.
Bruce Schneier (Minneapolis, MN) is Founder and Chief Technical Officer at Counterpane Internet Security, a managed-security monitoring company. He is also the author of Secrets and Lies: Digital Security in a Networked World (0-471-25311-1).]]>
385 Niels Ferguson 0471223573 Jon 0 to-read, programming 4.16 2003 Practical Cryptography
author: Niels Ferguson
name: Jon
average rating: 4.16
book published: 2003
rating: 0
read at:
date added: 2012/12/27
shelves: to-read, programming
review:

]]>
Fractals, Visualization and J 6179886 256 Clifford A. Reiter 1430319801 Jon 0 programming, j, paused 0.0 2007 Fractals, Visualization and J
author: Clifford A. Reiter
name: Jon
average rating: 0.0
book published: 2007
rating: 0
read at:
date added: 2012/12/04
shelves: programming, j, paused
review:

]]>
<![CDATA[A Theory of Objects (Monographs in Computer Science)]]> 294115 409 MartĂ­n Abadi 0387947752 Jon 0 4.08 1996 A Theory of Objects (Monographs in Computer Science)
author: MartĂ­n Abadi
name: Jon
average rating: 4.08
book published: 1996
rating: 0
read at:
date added: 2012/12/03
shelves: maybe-someday, programming, computer-science
review:

]]>
<![CDATA[From Bash to Z Shell: Conquering the Command Line]]> 172313 - Ernest J. This is a totally neat idea for a book... the command line gets addictive quickly.
- Bill Ryan, Bill's House O Insomnia This comprehensive, hands-on guide focuses on two of the most popular and feature-rich shells, bash and zsh. From Bash to Z Conquering the Command Line is a book for all skill levels. Novices will receive an introduction to the features of shells and power users will get to explore the benefits of zsh--one of the most powerful, versatile shells ever written. Intermediate users will uncover hints, recipes, and ideas to enhance their skill sets. The book covers shell programming, but is unique in its thorough coverage of using shells interactively--a powerful and time-saving alternative to windows and a mouse. This strong author team has written an immediately useful book, packed with examples and suggestions that users of Unix, Linux, Mac OS X and Microsoft Windows can readily apply.]]>
472 Oliver Kiddle 1590593766 Jon 0 to-read, unix, programming 3.83 2004 From Bash to Z Shell: Conquering the Command Line
author: Oliver Kiddle
name: Jon
average rating: 3.83
book published: 2004
rating: 0
read at:
date added: 2012/11/29
shelves: to-read, unix, programming
review:

]]>
<![CDATA[The UNIX Hater's Handbook: The Best of UNIX-Haters On-line Mailing Reveals Why UNIX Must Die!]]> 174904 329 Simson L. Garfinkel 1568842031 Jon 0 to-read, unix, programming 3.77 1994 The UNIX Hater's Handbook: The Best of UNIX-Haters On-line Mailing Reveals Why UNIX Must Die!
author: Simson L. Garfinkel
name: Jon
average rating: 3.77
book published: 1994
rating: 0
read at:
date added: 2012/11/26
shelves: to-read, unix, programming
review:

]]>
<![CDATA[Natural Language Processing for the Working Programmer]]> 16166455 Daniël de Kok Jon 0 0.0 2011 Natural Language Processing for the Working Programmer
author: Daniël de Kok
name: Jon
average rating: 0.0
book published: 2011
rating: 0
read at:
date added: 2012/11/23
shelves: to-read, linguistics, programming, haskell
review:

]]>
<![CDATA[Introduction to Objective Caml]]> 8174311
"This book has been submitted for publication by Cambridge University Press. This draft may be used until the time the book appears in print."]]>
284 Jason Hickey Jon 0 4.50 2008 Introduction to Objective Caml
author: Jason Hickey
name: Jon
average rating: 4.50
book published: 2008
rating: 0
read at:
date added: 2012/11/17
shelves: to-read, functional-programming, programming
review:

]]>
<![CDATA[Kestrels, Quirky Birds, and Hopeless Egocentricity]]> 13485355 100 Reginald Braithwaite Jon 4 programming, to-reread
My only complaint is the choice of (main) language for the book. Ruby's quirks hurt many of the code examples by adding unnecessary complexity. I was pleased to find at the end of the book that the author shares my feelings on this:

We can learn a lot from combinatorial logic to help our Ruby programming, but Ruby is a terrible language for actually learning about combinatorial logic.


I'm biased, of course, but a Lisp would have been nice.]]>
4.30 Kestrels, Quirky Birds, and Hopeless Egocentricity
author: Reginald Braithwaite
name: Jon
average rating: 4.30
book published:
rating: 4
read at: 2012/11/10
date added: 2012/11/10
shelves: programming, to-reread
review:
Great concepts paired with well-written explanations. You won't become anywhere near a master of combinatory logic by reading this book, but you'll understand the subject's basic applications in computer science.

My only complaint is the choice of (main) language for the book. Ruby's quirks hurt many of the code examples by adding unnecessary complexity. I was pleased to find at the end of the book that the author shares my feelings on this:

We can learn a lot from combinatorial logic to help our Ruby programming, but Ruby is a terrible language for actually learning about combinatorial logic.


I'm biased, of course, but a Lisp would have been nice.
]]>
<![CDATA[Mathematical Structures for Computer Science: A Primer]]> 4915184 Mathematical Structures for Computer Science offers a pedagogically rich and intuitive introduction to discrete mathematical structures. The book is both accessible and comprehensive, and the first three editions have been very popular among students and professors for over 16 years.

Text balances clear presentation of the concepts with applications relevant to the future computer scientist Focuses exclusively on the mathematical needs of the computer science major Coverage geared specifically for intro-level, one-term course ]]>
426 Judith L. Gersting 0716713055 Jon 3 math, programming, to-reread 2.50 1982 Mathematical Structures for Computer Science: A Primer
author: Judith L. Gersting
name: Jon
average rating: 2.50
book published: 1982
rating: 3
read at:
date added: 2012/11/01
shelves: math, programming, to-reread
review:

]]>
<![CDATA[Applicative High Order Programming]]> 5537215 256 Steve Sokolowski 0412392402 Jon 0 to-read, ml, programming 4.00 1991 Applicative High Order Programming
author: Steve Sokolowski
name: Jon
average rating: 4.00
book published: 1991
rating: 0
read at:
date added: 2012/10/29
shelves: to-read, ml, programming
review:

]]>
<![CDATA[An Introduction to Category Theory]]> 13831399 236 Harold Simmons 110701087X Jon 0 to-read, math, programming 3.54 2011 An Introduction to Category Theory
author: Harold Simmons
name: Jon
average rating: 3.54
book published: 2011
rating: 0
read at:
date added: 2012/10/27
shelves: to-read, math, programming
review:

]]>
<![CDATA[Elements of ML Programming, ML97 Edition]]> 258566 400 Jeffrey D. Ullman 0137903871 Jon 2 If you are looking for a good book with which to dive into FP, (free online) teaches the same concepts (and more) in a readable and lively style.
If you want to learn ML specifically, it's a decent read, albeit slow and dry at points.]]>
3.70 1994 Elements of ML Programming, ML97 Edition
author: Jeffrey D. Ullman
name: Jon
average rating: 3.70
book published: 1994
rating: 2
read at: 2012/10/27
date added: 2012/10/27
shelves: programming, functional-programming, ml
review:
If you are already acquainted with basic functional programming concepts, you won't find anything new here.
If you are looking for a good book with which to dive into FP, (free online) teaches the same concepts (and more) in a readable and lively style.
If you want to learn ML specifically, it's a decent read, albeit slow and dry at points.
]]>
<![CDATA[Mathematical Computing In J: Introduction (Industrial Control, Computers And Commumicatons Series)]]> 461213 Howard A. Peelle 0863802818 Jon 0 to-read, j, math, programming 5.00 2003 Mathematical Computing In J: Introduction (Industrial Control, Computers And Commumicatons Series)
author: Howard A. Peelle
name: Jon
average rating: 5.00
book published: 2003
rating: 0
read at:
date added: 2012/10/27
shelves: to-read, j, math, programming
review:

]]>
<![CDATA[Tmux: Productive Mouse-Free Development]]> 13506825
You’ll learn how to manage multiple terminal sessions within tmux using only your keyboard. You’ll see how to manage and run programs side-by-side in panes, and you’ll learn how to create the perfect development environment with custom scripts so that when you’re ready to work, your programs are waiting for you. Then you’ll discover how to manipulate text with tmux’s copy and paste buffers. Once you’ve got the basics down, you’ll discover how easy it is to use tmux to collaborate remotely with others. Finally, you’ll explore more advanced usage as you manage multiple tmux sessions, add custom scripts into the tmux status line, and integrate tmux with your system.

Whether you’re an application developer or a system administrator, you’ll find many useful tricks and techniques to help you take control of your terminal.]]>
88 Brian P. Hogan 1934356964 Jon 0 to-read, programming 3.89 2012 Tmux: Productive Mouse-Free Development
author: Brian P. Hogan
name: Jon
average rating: 3.89
book published: 2012
rating: 0
read at:
date added: 2012/10/23
shelves: to-read, programming
review:

]]>
The Little Schemer 548914 The Little Schemer (formerly known as The Little LISPer) and its new companion volume, The Seasoned Schemer, apart from other books on LISP. The authors' enthusiasm for their subject is compelling as they present abstract concepts in a humorous and easy-to-grasp fashion. Together, these books will open new doors of thought to anyone who wants to find out what computing is really about. The Little Schemer introduces computing as an extension of arithmetic and algebra; things that everyone studies in grade school and high school. It introduces programs as recursive functions and briefly discusses the limits of what computers can do. The authors use the programming language Scheme, and interesting foods to illustrate these abstract ideas. The Seasoned Schemer informs the reader about additional dimensions of computing: functions as values, change of state, and exceptional cases. The Little LISPer has been a popular introduction to LISP for many years. It had appeared in French and Japanese. The Little Schemer and The Seasoned Schemer are worthy successors and will prove equally popular as textbooks for Scheme courses as well as companion texts for any complete introductory course in Computer Science.]]> 210 Daniel P. Friedman 0262560992 Jon 5
I was unsure about this book (it seemed a little basic) until I reached the section on continuations. From that point on, I was pretty amazed by the code. You'll find Y-combinators and metacircular interpreters explained in plain English, with simple examples.. absolutely worth the read!]]>
4.29 1974 The Little Schemer
author: Daniel P. Friedman
name: Jon
average rating: 4.29
book published: 1974
rating: 5
read at: 2012/10/21
date added: 2012/10/21
shelves: programming, lisp, functional-programming
review:
A really fun read that reinforced my understanding of recursion and some FP concepts. Intermediate Lispers or people with a good grasp of basic functional programming can safely jump forward at least a few chapters (though you'll miss some function definitions used later on).

I was unsure about this book (it seemed a little basic) until I reached the section on continuations. From that point on, I was pretty amazed by the code. You'll find Y-combinators and metacircular interpreters explained in plain English, with simple examples.. absolutely worth the read!
]]>
A New Kind of Science 238558
Wolfram uses his approach to tackle a remarkable array of fundamental problems in science, from the origins of apparent randomness in physical systems, to the development of complexity in biology, the ultimate scope and limitations of mathematics, the possibility of a truly fundamental theory of physics, the interplay between free will and determinism, and the character of intelligence in the universe.]]>
1280 Stephen Wolfram 1579550088 Jon 0 3.61 2002 A New Kind of Science
author: Stephen Wolfram
name: Jon
average rating: 3.61
book published: 2002
rating: 0
read at:
date added: 2012/10/21
shelves: to-read, programming, science, chaos
review:

]]>
<![CDATA[Pragmatic Thinking and Learning: Refactor Your Wetware]]> 3063393 251 Andy Hunt 1934356050 Jon 0 4.12 2008 Pragmatic Thinking and Learning: Refactor Your Wetware
author: Andy Hunt
name: Jon
average rating: 4.12
book published: 2008
rating: 0
read at:
date added: 2012/10/18
shelves: to-read, programming, programming-career
review:

]]>
<![CDATA[The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine]]> 2333956 Programming Legend Charles Petzold unlocks the secrets of the extraordinary and prescient 1936 paper by Alan M. Turing

Mathematician Alan Turing invented an imaginary computer known as the Turing Machine; in an age before computers, he explored the concept of what it meant to be "computable," creating the field of computability theory in the process, a foundation of present-day computer programming.

The book expands Turing's original 36-page paper with additional background chapters and extensive annotations; the author elaborates on and clarifies many of Turing's statements, making the original difficult-to-read document accessible to present day programmers, computer science majors, math geeks, and others.

Interwoven into the narrative are the highlights of Turing's own life: his years at Cambridge and Princeton, his secret work in cryptanalysis during World War II, his involvement in seminal computer projects, his speculations about artificial intelligence, his arrest and prosecution for the crime of "gross indecency," and his early death by apparent suicide at the age of 41.]]>
372 Charles Petzold 0470229055 Jon 0 to-read, math, programming 4.27 2008 The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine
author: Charles Petzold
name: Jon
average rating: 4.27
book published: 2008
rating: 0
read at:
date added: 2012/10/18
shelves: to-read, math, programming
review:

]]>
<![CDATA[Concepts, Techniques, and Models of Computer Programming]]> 772585
After an introduction to programming concepts, the book presents both well-known and lesser-known computation models ("programming paradigms"). Each model has its own set of techniques and each is included on the basis of its usefulness in practice. The general models include declarative programming, declarative concurrency, message-passing concurrency, explicit state, object-oriented programming, shared-state concurrency, and relational programming. Specialized models include graphical user interface programming, distributed programming, and constraint programming. Each model is based on its kernel language—a simple core language that consists of a small number of programmer- significant elements. The kernel languages are introduced progressively, adding concepts one by one, thus showing the deep relationships between different models. The kernel languages are defined precisely in terms of a simple abstract machine. Because a wide variety of languages and programming paradigms can be modeled by a small set of closely related kernel languages, this approach allows programmer and student to grasp the underlying unity of programming. The book has many program fragments and exercises, all of which can be run on the Mozart Programming System, an Open Source software package that features an interactive incremental development environment.]]>
936 Peter Van Roy 0262220695 Jon 0 to-read, programming 4.11 2004 Concepts, Techniques, and Models of Computer Programming
author: Peter Van Roy
name: Jon
average rating: 4.11
book published: 2004
rating: 0
read at:
date added: 2012/10/18
shelves: to-read, programming
review:

]]>
Getting Started with D3 14514297 70 Mike Dewar 1449328792 Jon 0 to-read, programming 3.29 2012 Getting Started with D3
author: Mike Dewar
name: Jon
average rating: 3.29
book published: 2012
rating: 0
read at:
date added: 2012/10/18
shelves: to-read, programming
review:

]]>
<![CDATA[Effective Programming: More Than Writing Code]]> 15746409
Effective Programming: More Than Writing Code is your one-stop shop for all things programming. Jeff writes with humor and understanding, allowing for both seasoned programmers and newbies to appreciate the depth of his research. From such posts as

“The Programmer’s Bill of Rights� and “Why Cant Programmers... Program?� to “Working With the Chaos Monkey,� this book introduces the importance of writing responsible code, the logistics involved, and how people should view it more as a lifestyle than a career.]]>
283 Jeff Atwood Jon 5 programming, self-improvement 3.94 2012 Effective Programming: More Than Writing Code
author: Jeff Atwood
name: Jon
average rating: 3.94
book published: 2012
rating: 5
read at: 2012/10/14
date added: 2012/10/14
shelves: programming, self-improvement
review:

]]>
<![CDATA[The Haskell Road to Logic, Maths and Programming]]> 475675
This book does not assume the reader to have previous experience with either programming or construction of formal proofs, but acquaintance with mathematical notation, at the level of secondary school mathematics is presumed. Everything one needs to know about mathematical reasoning or programming is explained as we go along. After proper digestion of the material in this book the reader will be able to write interesting programs, reason about their correctness, and document them in a clear fashion. The reader will also have learned how to set up mathematical proofs in a structured way, and how to read and digest mathematical proofs written by others.]]>
432 Kees Doets 0954300696 Jon 3
If an exercise like the following sounds like fun, you'll enjoy this book:

Show that the relation < on N is the transitive closure of the relation R = {(n, n + 1) | n in N}.


In many chapters, the Haskell exercises are few and far between, but were (for me) a lot of fun:

Give a corecursive program for producing the as a stream.
]]>
3.65 2004 The Haskell Road to Logic, Maths and Programming
author: Kees Doets
name: Jon
average rating: 3.65
book published: 2004
rating: 3
read at: 2012/10/13
date added: 2012/10/13
shelves: programming, haskell, functional-programming, math, mind-tickling
review:
Without a doubt, the math contents of this book were over my head. I originally picked The Haskell Road more for its relation to functional programming than to anything else. For this reason, the chapters on induction, recursion and corecursion were more enlightening and understandable than any other section. For a kid with no formal mathematical training, though, the proofs in this book (mostly those in the later chapters) were often beyond my reach.

If an exercise like the following sounds like fun, you'll enjoy this book:

Show that the relation < on N is the transitive closure of the relation R = {(n, n + 1) | n in N}.


In many chapters, the Haskell exercises are few and far between, but were (for me) a lot of fun:

Give a corecursive program for producing the as a stream.

]]>
<![CDATA[Learn Prolog Now! (Texts in Computing, Vol. 7)]]> 3315678 284 Patrick Blackburn 1904987176 Jon 0 to-read, programming 3.65 2006 Learn Prolog Now! (Texts in Computing, Vol. 7)
author: Patrick Blackburn
name: Jon
average rating: 3.65
book published: 2006
rating: 0
read at:
date added: 2012/10/09
shelves: to-read, programming
review:

]]>
<![CDATA[An Introduction to Lambda Calculi for Computer Scientists (Texts in Computing)]]> 2268099 180 Chris Hankin 0954300653 Jon 0 4.00 1995 An Introduction to Lambda Calculi for Computer Scientists (Texts in Computing)
author: Chris Hankin
name: Jon
average rating: 4.00
book published: 1995
rating: 0
read at:
date added: 2012/10/08
shelves: to-read, programming, functional-programming
review:

]]>
<![CDATA[ML for the Working Programmer, 2nd Edition]]> 258562 500 Lawrence C. Paulson 052156543X Jon 0 3.93 1991 ML for the Working Programmer, 2nd Edition
author: Lawrence C. Paulson
name: Jon
average rating: 3.93
book published: 1991
rating: 0
read at:
date added: 2012/10/06
shelves: to-read, functional-programming, programming, ml
review:

]]>
Compiling with Continuations 1220264 Andrew W. Appel 052103311X Jon 0 to-read, programming 3.75 1991 Compiling with Continuations
author: Andrew W. Appel
name: Jon
average rating: 3.75
book published: 1991
rating: 0
read at:
date added: 2012/10/04
shelves: to-read, programming
review:

]]>
<![CDATA[Foundations of Statistical Natural Language Processing]]> 776349 679 Christopher D. Manning 0262133601 Jon 0 4.12 1999 Foundations of Statistical Natural Language Processing
author: Christopher D. Manning
name: Jon
average rating: 4.12
book published: 1999
rating: 0
read at:
date added: 2012/10/01
shelves: to-read, programming, linguistics
review:

]]>
R in Action 12404630
R in Action is the first book to present both the R system and the use cases that make it such a compelling package for business developers. The book begins by introducing the R language, including the development environment. Focusing on practical solutions, the book also offers a crash course in practical statistics and covers elegant methods for dealing with messy and incomplete data using features of R.
About the Technology
R is a powerful language for statistical computing and graphics that can handle virtually any data-crunching task. It runs on all important platforms and provides thousands of useful specialized modules and utilities. This makes R a great way to get meaningful information from mountains of raw data.
About the Book
R in Action is a language tutorial focused on practical problems. It presents useful statistics examples and includes elegant methods for handling messy, incomplete, and non-normal data that are difficult to analyze using traditional methods. And statistical analysis is only part of the story. You'll also master R's extensive graphical capabilities for exploring and presenting data visually.

Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
What's Inside
================================]]>
472 Robert Kabacoff 1935182390 Jon 0 4.19 2011 R in Action
author: Robert Kabacoff
name: Jon
average rating: 4.19
book published: 2011
rating: 0
read at:
date added: 2012/09/29
shelves: to-read, programming, statistics
review:

]]>
<![CDATA[Types and Programming Languages (Mit Press)]]> 112252 623 Benjamin C. Pierce 0262162091 Jon 0 to-read, programming 4.27 2002 Types and Programming Languages (Mit Press)
author: Benjamin C. Pierce
name: Jon
average rating: 4.27
book published: 2002
rating: 0
read at:
date added: 2012/09/06
shelves: to-read, programming
review:

]]>
<![CDATA[Monadic Design Patterns for the Web: Managing scale and complexity]]> 15794423
Monadic Design Patterns for the Web aims to demystify the monad. Using web applications as an example, this book will show you how you can apply monadic design patterns to help you solve practical, real-world programming problems. Reading this book will arm you with important techniques that will help you manage complexity.]]>
202 L.G. Meredith Jon 0 4.00 2012 Monadic Design Patterns for the Web: Managing scale and complexity
author: L.G. Meredith
name: Jon
average rating: 4.00
book published: 2012
rating: 0
read at:
date added: 2012/09/01
shelves: to-read, programming, web-development
review:

]]>
<![CDATA[Computers, Pattern, Chaos, and Beauty]]> 240286 412 Clifford A. Pickover 0486417093 Jon 0 to-read, math, programming 4.02 2012 Computers, Pattern, Chaos, and Beauty
author: Clifford A. Pickover
name: Jon
average rating: 4.02
book published: 2012
rating: 0
read at:
date added: 2012/09/01
shelves: to-read, math, programming
review:

]]>
Learning J 15825117 492 Roger Stokes Jon 0 programming, paused, j 4.00 2012 Learning J
author: Roger Stokes
name: Jon
average rating: 4.00
book published: 2012
rating: 0
read at:
date added: 2012/08/27
shelves: programming, paused, j
review:

]]>
<![CDATA[On Lisp: Advanced Techniques for Common Lisp]]> 41803 413 Paul Graham 0130305529 Jon 0 lisp, programming, paused 4.29 1993 On Lisp: Advanced Techniques for Common Lisp
author: Paul Graham
name: Jon
average rating: 4.29
book published: 1993
rating: 0
read at:
date added: 2012/08/27
shelves: lisp, programming, paused
review:

]]>
Text Processing in Python 853143 544 Mike Hendrickson 0321112547 Jon 0 to-read, programming 3.00 2002 Text Processing in Python
author: Mike Hendrickson
name: Jon
average rating: 3.00
book published: 2002
rating: 0
read at:
date added: 2012/08/27
shelves: to-read, programming
review:

]]>
Real World Haskell 13597389
With this book, you will:

* Understand the differences between procedural and functional programming
* Learn the features of Haskell, and how to use it to develop useful programs
* Interact with filesystems, databases, and network services
* Write solid code with automated tests, code coverage, and error handling
* Harness the power of multicore systems via concurrent and parallel programming

You'll find plenty of hands-on exercises, along with examples of real Haskell programs that you can modify, compile, and run. Whether or not you've used a functional language before, if you want to understand why Haskell is coming into its own as a practical language in so many major organizations, Real World Haskell is the best place to start.]]>
720 Bryan O'Sullivan 0596156928 Jon 0 3.33 2008 Real World Haskell
author: Bryan O'Sullivan
name: Jon
average rating: 3.33
book published: 2008
rating: 0
read at:
date added: 2012/08/24
shelves: programming, haskell, functional-programming, paused
review:

]]>
Single Page Apps in Depth 15736316 Mikito Takada Jon 4 3.14 2012 Single Page Apps in Depth
author: Mikito Takada
name: Jon
average rating: 3.14
book published: 2012
rating: 4
read at: 2012/08/20
date added: 2012/08/20
shelves: programming, javascript, to-reread
review:
Very informative and useful. Demonstrates lots of proper design patterns.
]]>
<![CDATA[Turing's Cathedral: The Origins of the Digital Universe]]> 12625589 Turing’s Cathedral, George Dyson focuses on a small group of men and women, led by John von Neumann at the Institute for Advanced Study in Princeton, New Jersey, who built one of the first computers to realize Alan Turing’s vision of a Universal Machine. Their work would break the distinction between numbers that mean things and numbers that do things—and our universe would never be the same.

Using five kilobytes of memory (the amount allocated to displaying the cursor on a computer desktop of today), they achieved unprecedented success in both weather prediction and nuclear weapons design, while tackling, in their spare time, problems ranging from the evolution of viruses to the evolution of stars.

Dyson’s account, both historic and prophetic, sheds important new light on how the digital universe exploded in the aftermath of World War II. The proliferation of both codes and machines was paralleled by two historic the decoding of self-replicating sequences in biology and the invention of the hydrogen bomb. It’s no coincidence that the most destructive and the most constructive of human inventions appeared at exactly the same time.

How did code take over the world? In retracing how Alan Turing’s one-dimensional model became John von Neumann’s two-dimensional implementation, Turing’s Cathedral offers a series of provocative suggestions as to where the digital universe, now fully three-dimensional, may be heading next.]]>
505 George Dyson Jon 0 to-read, programming, history 3.57 2012 Turing's Cathedral: The Origins of the Digital Universe
author: George Dyson
name: Jon
average rating: 3.57
book published: 2012
rating: 0
read at:
date added: 2012/08/16
shelves: to-read, programming, history
review:

]]>
<![CDATA[Just For Fun: The Story of An Accidental Revolutionary]]> 7745406
Part autobiography and part business philosophy, Just For Fun brims with biographical detail about the radical spirit and creativity of Linus Torvaids. Torvalds is the first to admit he never intentionally sought fame and fortune. Yet fame and fortune found him when he radically changed the world of technology for one selfish reason-He did it just for fun.

Read by David Diamond]]>
0 Linus Torvalds 0694525391 Jon 3 programming 3.00 2001 Just For Fun: The Story of An Accidental Revolutionary
author: Linus Torvalds
name: Jon
average rating: 3.00
book published: 2001
rating: 3
read at: 2012/08/15
date added: 2012/08/15
shelves: programming
review:

]]>
Lisp in Small Pieces 2047935 534 Christian Queinnec 0521562473 Jon 0 to-read, lisp, programming 4.86 1996 Lisp in Small Pieces
author: Christian Queinnec
name: Jon
average rating: 4.86
book published: 1996
rating: 0
read at:
date added: 2012/07/29
shelves: to-read, lisp, programming
review:

]]>
UNIX Shell Programming 293206 -- Presents information in step-by-step fashion
-- Covers all the features of the standard shell, with additional instructions for the Korn Shell
-- Teaches how to use the shell to tailor the UNIX environment]]>
512 Stephen G. Kochan 067248448X Jon 3 programming, unix 4.05 1985 UNIX Shell Programming
author: Stephen G. Kochan
name: Jon
average rating: 4.05
book published: 1985
rating: 3
read at: 2012/07/29
date added: 2012/07/29
shelves: programming, unix
review:

]]>
<![CDATA[Learning Javascript Design Patterns]]> 14289134 227 Addy Osmani Jon 0 3.82 2011 Learning Javascript Design Patterns
author: Addy Osmani
name: Jon
average rating: 3.82
book published: 2011
rating: 0
read at:
date added: 2012/07/23
shelves: to-read, programming, javascript
review:

]]>
<![CDATA[Growing Object-Oriented Software, Guided by Tests]]> 4268826 345 Steve Freeman 0321503627 Jon 0 4.19 2009 Growing Object-Oriented Software, Guided by Tests
author: Steve Freeman
name: Jon
average rating: 4.19
book published: 2009
rating: 0
read at:
date added: 2012/07/19
shelves: to-read, programming, software-testing
review:

]]>