background preloader

Learning

Facebook Twitter

Absolutely No Machete Juggling » Top 10 Career-Changing Programming Books. When I grad­u­ated with a Com­puter Science degree ten years ago, I was excited to dive into the world of pro­fes­sional pro­gram­ming. I had done well in school, and I thought I was com­pletely ready to be em­ployed doing my dream job: writing code. What I dis­cov­ered in my very first in­ter­view, however, was that I was mas­sively un­der­pre­pared to be an actual pro­fes­sional pro­gram­mer.

I knew all about data struc­tures and al­go­rithms, but nothing about how actual pro­fes­sional, "en­ter­prise" soft­ware was written. I was lucky to find a job at a place willing to take a chance on me, and pro­ceeded to learn as much as I could as quickly as I could to make up for my de­fi­cien­cies. This in­volved reading a LOT of books. Here I reflect on my 10-year ex­pe­ri­ence pro­gram­ming pro­fes­sion­ally and all of the books I've read in that time, and offer up the ten that had the most pro­found impact on my career. None of these books are lan­guage books. So, without further ado... Gabriel Gambetta - Pathfinding Demystified (Part I): Introduction. Part I - Part II - Part III - Part IV Introduction Pathfinding is one of these topics that usualy baffles game developers. The A* algorithm in particular is poorly understood, and the general belief seems to be that it’s arcane magic. The objective of this series of articles is to explain pathfinding in general and A* in particular in a very clear and accessible way, and put an end to the misconception that it’s a difficult topic.

Note that the focus is on pathfinding for games; unlike a more academic approach, we’ll just skip search algorithms such as Depth-First or Breadth-First. This first article explains the very basic concepts of pathfinding. A Simple Setup Although you’ll be able to apply these concepts to arbitrarily complex 3D environments, let’s start with an extremely simple setup: a 5 x 5 square grid. The very first thing we do is to represent this environment as a graph.

Each node represents a “state” your character can be in. Now let’s add the edges. An Example explored = [] Dennis714/RE-for-beginners. Partitioned/PARTITIONING_EXPLAINED.txt at master · fiksu/partitioned. Green Tea Press: Free Computer Science Books. Think OS. A Brief Introduction to Operating Systems by Allen B. Downey Download Think OS in PDF. Read Think OS in HTML. Description Think OS is an introduction to Operating Systems for programmers. In many computer science programs, Operating Systems is an advanced topic. This book is intended for a different audience, and it has different goals. Most students taking this class learned to program in Python, so one of the goals is to help them learn C. Few of my students will ever write an operating system, but many of them will write low-level applications in C, and some of them will work on embedded systems. This book does not assume that you have studied Computer Architecture. If this book is successful, it should give you a better understanding of what is happening when programs run, and what you can do to make them run better and faster.

The current version of this book is an early draft. Think OS is a Free Book. Other Free Books by Allen Downey are available from Green Tea Press. Download. Code.tutsplus. Introduction Searching records is a common requirement in web applications. There is usually a requirement to allow users to quickly access the data they want from large records. While it is possible to do this using simple SQL queries, sometimes it is more efficient to use a search engine.

Solr is a popular search platform from the Apache Lucene project. Its major features include powerful full-text search, hit highlighting, faceted search, near real-time indexing, dynamic clustering, database integration, rich document handling, and geospatial search. In this tutorial, we'll be looking at performing full text search using Sunspot, which is a library that enables integration of Solr in ruby applications. Project Setup I've created a simple app on Github which I'll be using here instead of starting with a new project. The image below shows the application. Searching We'll start off by including the Sunspot and Solr gems in our Gemfile. Start the Solr server by running: Faceted Browsing. Become a Programmer, Motherfucker. If you don't know how to code, then you can learn even if you think you can't. Thousands of people have learned programming from these fine books: Learn Python The Hard Way Learn Ruby The Hard Way Learn Code The Hard Way I'm also working on a whole series of programming education books at learncodethehardway.org.

Learn C The Hard Way Learn SQL The Hard Way Graphics Programming Language Agnostic NerdDinner Walkthrough Assembly Language Bash Clojure Clojure Programming ColdFusion CFML In 100 Minutes Delphi / Pascal Django Djangobook.com Erlang Learn You Some Erlang For Great Good Flex Getting started with Adobe Flex (PDF) Forth Git Grails Getting Start with Grails Haskell Java JavaScript JavaScript (Node.js specific) Latex The Not So Short Introduction to LATEX (perfect for beginners) Linux Advanced Linux Programming Lisp Lua Programming In Lua (for v5 but still largely relevant)Lua Programming Gems (not entirely free, but has a lot of free chapters and accompanying code) Maven Mercurial Nemerle Nemerle NoSQL Oberon Objective-C.

Free-programming-books/free-programming-books.md at master · vhf/free-programming-books. Essential Math for Games Programmers. As the quality of games has improved, more attention has been given to all aspects of a game to increase the feeling of reality during gameplay and distinguish it from its competitors. Mathematics provides much of the groundwork for this improvement in realism. And a large part of this improvement is due to the addition of physical simulation. Creating such a simulation may appear to be a daunting task, but given the right background it is not too difficult, and can add a great deal of realism to animation systems, and interactions between avatars and the world. This tutorial deepens the approach of the previous years' Essential Math for Games Programmers, by spending one day on general math topics, and one day focusing in on the topic of physical simulation.

It, like the previous tutorials, provides a toolbox of techniques for programmers, with references and links for those looking for more information. Topics for the various incarnations of this tutorial can be found below. Slides. Rosetta Code.