Clever Algorithms: Nature-Inspired Programming Recipes

Sponsor Advertisement

My image
  • Author: Jason Brownlee PhD
  • Format: online HTML
  • Price: free (hard copy available on Amazon)

The book describes 45 algorithms from the field of Artificial Intelligence. All algorithm descriptions are complete and consistent to ensure that they are accessible, usable and understandable by a wide audience.

This book provides a handbook of algorithmic recipes from the fields of Metaheuristics, Biologically Inspired Computation and Computational Intelligence that have been described in a complete, consistent, and centralized manner. These standardized descriptions were carefully designed to be accessible, usable, and understandable. Most of the algorithms described in this book were originally inspired by biological and natural systems, such as the adaptive capabilities of genetic evolution and the acquired immune system, and the foraging behaviors of birds, bees, ants and bacteria. An encyclopedic algorithm reference, this book is intended for research scientists, engineers, students, and interested amateurs. Each algorithm description provides a working code example in the Ruby Programming Language.

Chapters include:

  • What is AI
  • Problem Domains
  • Unconventional Optimization
  • Random Search
  • Adaptive Random Search
  • Stochastic Hill Climbing
  • Iterated Local Search
  • Guided Local Search
  • Variable Neighborhood Search
  • Greedy Randomized Adaptive Search
  • Scatter Search
  • Tabu Search
  • Reactive Tabu Search
  • Genetic Algorithm
  • Genetic Programming
  • Evolution Strategies
  • Differential Evolution
  • Evolutionary Programming
  • Grammatical Evolution
  • Gene Expression Programming
  • Learning Classifier System
  • Non-dominated Sorting Genetic Algorithm
  • Strength Pareto Evolutionary Algorithm
  • Simulated Annealing
  • Extremal Optimization
  • Harmony Search
  • Cultural Algorithm
  • Memetic Algorithm
  • Population-Based Incremental Learning
  • Univariate Marginal Distribution Algorithm
  • Compact Genetic Algorithm
  • Bayesian Optimization Algorithm
  • Cross-Entropy Method
  • Particle Swarm Optimization
  • Ant System
  • Ant Colony System
  • Bees Algorithm
  • Bacterial Foraging Optimization Algorithm
  • Clonal Selection Algorithm
  • Negative Selection Algorithm
  • Artificial Immune Recognition System
  • Immune Network Algorithm
  • Dendritic Cell Algorithm
  • Perceptron
  • Back-propagation
  • Hopfield Network
  • Learning Vector Quantization
  • Self-Organizing Map
  • Programming Paradigms
  • Devising New Algorithms
  • Testing Algorithms
  • Visualizing Algorithms
  • Problem Solving Strategies
  • Benchmarking Algorithms

http://www.cleveralgorithms.com/nature-inspired/index.html

Learning Ruby

Sponsor Advertisement

My image
  • Author: Daniel Carrera
  • Format: online HTML, archived HTML
  • Price: free

This beginner book on Ruby covers the fundamentals of writing a program and the fundamental concepts needed to perform any task.

Chapters include:

  • First Steps
  • Strings
  • New names for old things
  • Variables
  • Your first program
  • Writing good programs
  • Loops
  • Getting user input
  • Conditionals
  • While loops
  • Arrays
  • What can arrays do?
  • Iterators
  • Hashes
  • Example: Addressbook
  • Printing the addressbook
  • Sorting the addressbook
  • Functions
  • Classes and methods
  • More on classes
  • Implementing AddressBook
  • Writing iterators
  • More features

http://www-rohan.sdsu.edu/doc/ruby/

Ruby Cookbook and Language Reference

Sponsor Advertisement

My image
  • Author: Ryan Davis
  • Format: online HTML
  • Price: free

A language guide and reference, by Ryan Davis, The Language Freak. This was a work in progress and not fully completed. The author has since abandoned the project, but there may still be merit in listing this as an available free book, since some of his completed chapters may be of help to someone.

Chapters include:

  • Arrays
  • CGI
  • ClassesAndObjects
  • Databases
  • DateAndTime
  • Directories
  • Exceptions
  • FileContents
  • Files
  • Hashes
  • InternetServices
  • Introduction
  • MethodsAndFunctions
  • Multithreading
  • NumbersAndRanges
  • Processes
  • Regex
  • Sockets
  • Strings
  • UI
  • WebAutomation
  • Ruby QuickRef
  • Rails Quickref
  • Ruby Snippets

http://www.zenspider.com/Languages/Ruby/

PLEAC-Ruby

Sponsor Advertisement

My image
  • Author: PLEAC Project
  • Format: online HTML
  • Price: free

Following the Perl Cookbook spirit, the PLEAC Project aims to gather fans of programming, in order to implement the solutions in other programming languages.

In this book, you’ll find an implementation of the Solutions of the Perl Cookbook in the Ruby language.

Chapters include:

  • Strings
  • Numbers
  • Dates and Times
  • Arrays
  • Hashes
  • Pattern Matching
  • File Access
  • File Contents
  • Directories
  • Subroutines
  • References and Records
  • Packages, Libraries, and Modules
  • Classes, Objects, and Ties
  • Database Access
  • User Interfaces
  • Process Management and Communication
  • Sockets
  • Internet Services
  • CGI Programming
  • Web Automation

http://pleac.sourceforge.net/pleac_ruby/index.html

Why’s Poignant Guide to Ruby

Sponsor Advertisement

My image
  • Author: Why the Lucky Stiff
  • Format: online HTML, archived HTML, PDF
  • Price: free (hard copy available on Amazon)

A programming adventure for Ruby beginners illustrated with cartoon foxes.

Chapters include:

  • About this book
  • Kon’nichi wa, Ruby
  • A Quick (and Hopefully Painless) Ride Through Ruby (with Cartoon Foxes): basic introduction to central Ruby concepts
  • Floating Little Leaves of Code: evaluation and values, hashes and lists
  • Them What Make the Rules and Them What Live the Dream: case/when, while/until, variable scope, blocks, methods, class definitions, class attributes, objects, modules, introspection in IRB, dup, self, rbconfig module
  • Downtown: metaprogramming, regular expressions
  • When You Wish Upon a Beard: send method, new methods in existing classes
  • The Tiger’s Vest (with a Basic Introduction to IRB): discusses IRB, the interactive Ruby interpreter.

HTML: http://poignant.guide/
archived HTML: https://github.com/mislav/poignant-guide
PDF: http://www.rubyinside.com/media/poignant-guide.pdf

Beginning Ruby: From Novice to Professional, Second Edition

Sponsor Advertisement

My image
  • Author: Peter Cooper
  • Format: PDF (NOTE: Please read author’s full page before downloading)
  • Price: free

Beginning Ruby is a Ruby programming book aimed at newcomers to the language. It’s written in an instructional format and walks through basic programming concepts through to building Web apps, database apps, networking daemons, and GUI based apps. It’s well suited for someone new to programming as well as experienced developers who are just new to dynamic languages.

Chapters include:

  • Let’s Get It Started: Installing Ruby
  • Programming == Joy: A Whistle-Stop Tour of Ruby and Object Orientation
  • Ruby’s Building Blocks: Data, Expressions, and Flow Control
  • Developing Your First Ruby Application
  • The Ruby Ecosystem
  • Classes, Objects, and Modules
  • Projects and Libraries
  • Documentation, Error Handling, Debugging, and Testing
  • Files and Databases
  • Deploying Ruby Applications and Libraries
  • Advanced Ruby Features
  • Tying It Together: Developing a Larger Ruby Application
  • Web Application Frameworks: Rails, Sinatra, and Ramaze
  • Ruby and the Internet
  • Networking, Sockets, and Daemons
  • GUI-Based Desktop Application Development
  • Useful Ruby Libraries and Gems

NOTE: Please read author’s full page before downloading.
Get the book: Beginning Ruby: From Novice to Professional, Second Edition

Mr. Neighborly’s Humble Little Ruby Book

Sponsor Advertisement

  • Author: Jeremy McAnally
  • Format: online HTML
  • Price: free

A book on Ruby programming, written in a style described as “a beautiful display of pragmatically chunky bacon, wrapped in a nutshell.” Or something like that.

Chapters include:

  • What’chu talkin’ bout, Mister?
  • Welcome to Ruby
  • Break it down now!
  • Hustle and Flow (Control)
  • The System Beneath
  • Looking Beyond Home
  • It’s a Library!

Read: Mr. Neighborly’s Humble Little Ruby Book

Programming Ruby: The Pragmatic Programmer’s Guide

Sponsor Advertisement

My image
  • Author: David Thomas and Andrew Hunt
  • Format: online HTML
  • Price: free

Ruby is an increasingly popular, fully object-oriented dynamic programming language, hailed by many practitioners as the finest and most useful language available today. When Ruby first burst onto the scene in the Western world, the Pragmatic Programmers were there with the definitive reference manual, Programming Ruby: The Pragmatic Programmer’s Guide.

In the Ruby community, this book is commonly known as “The PickAxe” because of the pickaxe on the cover.

The book is now in its fourth edition, and the complete first edition of this book is freely available under the Open Publication License v1.0,

Chapters include:

  • Roadmap
  • Ruby.new
  • Classes, Objects, and Variables
  • Containers, Blocks, and Iterators
  • Standard Types
  • More About Methods
  • Expressions
  • Exceptions, Catch, and Throw
  • Modules
  • Basic Input and Output
  • Threads and Processes
  • When Trouble Strikes
  • Ruby and Its World
  • Ruby and the Web
  • Ruby Tk
  • Ruby and Microsoft Windows
  • Extending Ruby
  • The Ruby Language
  • Classes and Objects
  • Locking Ruby in the Safe
  • Reflection, ObjectSpace, and Distributed Ruby
  • Built-in Classes and Methods
  • Standard Library
  • Object-Oriented Design Libraries
  • Network and Web Libraries
  • Microsoft Windows Support
  • Embedded Documentation
  • Interactive Ruby Shell

http://ruby-doc.com/docs/ProgrammingRuby/

Ruby on Rails Tutorial: Learn Web Development with Rails

Sponsor Advertisement

My image
  • Author: Michael Hartl
  • Format: online HTML
  • Price: free

Best-selling author and leading Rails developer Michael Hartl teaches Rails by guiding you through the development of your own complete sample application using the latest techniques in Rails web development. The updates to this edition include all-new site design using Twitter’s Bootstrap; coverage of the new asset pipeline, including Sprockets and Sass; behavior-driven development (BDD) with Capybara and RSpec; better automated testing with Guard and Spork; roll your own authentication with has_secure_password; and an introduction to Gherkin and Cucumber.

You’ll find integrated tutorials not only for Rails, but also for the essential Ruby, HTML, CSS, JavaScript, and SQL skills you’ll need when developing web applications. Hartl explains how each new technique solves a real-world problem, and he demonstrates this with bite-sized code that’s simple enough to understand, yet novel enough to be useful. Whatever your previous web development experience, this book will guide you to true Rails mastery.

Chapters include:

  • From zero to deploy
  • A toy app
  • Mostly static pages
  • Rails-flavored Ruby
  • Filling in the layout
  • Modeling users
  • Sign up
  • Log in, log out
  • Updating, showing, and deleting users
  • Account activation and password reset
  • User microposts
  • Following users

https://www.railstutorial.org/book

Schematics Scheme Cookbook

Sponsor Advertisement

  • Author: (multiple)
  • Format: online HTML
  • Price: free

The Scheme Cookbook’s primary aim is show how common programming problems can be solved in Scheme via short programming “recipes”. Parts of the Cookbook are specific to PLT Scheme but we aim to provide portable solutions when possible.

Given the current lack of practical documentation for Scheme we also aim to cover areas of practical programming that fall outside the strict Cookbook remit. This includes topics such as Scheme idioms, Programming pearls, and Scheme code libraries.

Chapters include:

  • Macros
  • Getting Started With PLT Scheme
  • Getting Started With Scheme
  • Common Idioms
  • String Recipes
  • Numbers
  • Dates, and Time
  • List Recipes
  • Regular Expressions
  • Hashes
  • Files and Directories
  • Data Structures
  • Structures
  • Vectors
  • Pattern Matching
  • GUI Recipes
  • Network Programming
  • Thread Recipes
  • Web Programming
  • XML
  • Pearls
  • Databases
  • Process Management and Communication
  • Dynamic Programming
  • Foreign Interface

Read the book: Schematics Scheme Cookbook