Book picks similar to
Make Your Own Mandelbrot by Tariq Rashid
programming
science
tech-math
para-ninos
Clean Code: A Handbook of Agile Software Craftsmanship
Robert C. Martin - 2007
But if code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn't have to be that way. Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code on the fly into a book that will instill within you the values of a software craftsman and make you a better programmer but only if you work at it. What kind of work will you be doing? You'll be reading code - lots of code. And you will be challenged to think about what's right about that code, and what's wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft. Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code - of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and "smells" gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code. Readers will come away from this book understanding ‣ How to tell the difference between good and bad code‣ How to write good code and how to transform bad code into good code‣ How to create good names, good functions, good objects, and good classes‣ How to format code for maximum readability ‣ How to implement complete error handling without obscuring code logic ‣ How to unit test and practice test-driven development This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.
Single Variable Calculus
James Stewart - 1991
Stewart's Calculus is successful throughout the world because he explains the material in a way that makes sense to a wide variety of readers. His explanations make ideas come alive, and his problems challenge, to reveal the beauty of calculus. Stewart's examples stand out because they are not just models for problem solving or a means of demonstrating techniques--they also encourage readers to develp an analytic view of the subject. This edition includes new problems, examples, and projects.
Machine Learning: The Art and Science of Algorithms That Make Sense of Data
Peter Flach - 2012
Peter Flach's clear, example-based approach begins by discussing how a spam filter works, which gives an immediate introduction to machine learning in action, with a minimum of technical fuss. Flach provides case studies of increasing complexity and variety with well-chosen examples and illustrations throughout. He covers a wide range of logical, geometric and statistical models and state-of-the-art topics such as matrix factorisation and ROC analysis. Particular attention is paid to the central role played by features. The use of established terminology is balanced with the introduction of new and useful concepts, and summaries of relevant background material are provided with pointers for revision if necessary. These features ensure Machine Learning will set a new standard as an introductory textbook.
The Best of 2600: A Hacker Odyssey
Emmanuel Goldstein - 2008
Find the best of the magazine's writing in Best of 2600: A Hacker Odyssey, a collection of the strongest, most interesting, and often most controversial articles covering 24 years of changes in technology, all from a hacker's perspective. Included are stories about the creation of the infamous tone dialer "red box" that allowed hackers to make free phone calls from payphones, the founding of the Electronic Frontier Foundation, and the insecurity of modern locks.
Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement
Eric Redmond - 2012
As a modern application developer you need to understand the emerging field of data management, both RDBMS and NoSQL. Seven Databases in Seven Weeks takes you on a tour of some of the hottest open source databases today. In the tradition of Bruce A. Tate's Seven Languages in Seven Weeks, this book goes beyond your basic tutorial to explore the essential concepts at the core each technology. Redis, Neo4J, CouchDB, MongoDB, HBase, Riak and Postgres. With each database, you'll tackle a real-world data problem that highlights the concepts and features that make it shine. You'll explore the five data models employed by these databases-relational, key/value, columnar, document and graph-and which kinds of problems are best suited to each. You'll learn how MongoDB and CouchDB are strikingly different, and discover the Dynamo heritage at the heart of Riak. Make your applications faster with Redis and more connected with Neo4J. Use MapReduce to solve Big Data problems. Build clusters of servers using scalable services like Amazon's Elastic Compute Cloud (EC2). Discover the CAP theorem and its implications for your distributed data. Understand the tradeoffs between consistency and availability, and when you can use them to your advantage. Use multiple databases in concert to create a platform that's more than the sum of its parts, or find one that meets all your needs at once.Seven Databases in Seven Weeks will take you on a deep dive into each of the databases, their strengths and weaknesses, and how to choose the ones that fit your needs.What You Need: To get the most of of this book you'll have to follow along, and that means you'll need a *nix shell (Mac OSX or Linux preferred, Windows users will need Cygwin), and Java 6 (or greater) and Ruby 1.8.7 (or greater). Each chapter will list the downloads required for that database.
Homebrew Beyond the Basics: All-Grain Brewing and Other Next Steps
Mike Karnowski - 2014
Then explore whatever calls to you: take a crash course in water chemistry, try whirlpool hopping, brew a fruit beer, capture wild yeast, make your first Berliner Weisse, or kick the bottles and start kegging. Unique recipes cover everything from traditional parti-gyle stouts to a style-bending American wild ale.
Pro Git
Scott Chacon - 2009
It took the open source world by storm since its inception in 2005, and is used by small development shops and giants like Google, Red Hat, and IBM, and of course many open source projects.A book by Git experts to turn you into a Git expert. Introduces the world of distributed version control Shows how to build a Git development workflow.
One Day University Presents: Positive Psychology: The Science of Happiness
One Day University - 2010
He is also the Head Teaching Fellow for the most popular course at Harvard, “Positive Psychology,” which is taken by more than 1,000 students per semester and led by Professor Tal Ben-Shahar. Shawn received his B.A. in English from Harvard and a Master’s from Harvard Divinity School in Christian and Buddhist Ethics. Part of his interest in positive psychology stems from a troubling fact: studies have shown that many of Harvard’s undergraduates suffer from depression at some point in their college careers. One Day University is a unique educational experience that brings intellectuals together to learn from top rated professors at Yale, Harvard, Stanford, Columbia and other prestigious universities. Chosen for their excellent teaching abilities as rated by their students, these great thinkers represent a wide variety of academic disciplines and share their knowledge in 60 minute, highly entertaining lectures. Offering the ability to learn the highlights of academic thought in world affairs, politics, history, science, art, and more; One Day University is a way to truly enjoy the thrill of learning without the pressures of tests and the high price tag of college tuition. Once reserved only for students who could attend the lectures in New York and other major cities, One Day University courses are now available to everyone from the comfort of their own homes in Kindle format.
Networking for Systems Administrators (IT Mastery Book 5)
Michael W. Lucas - 2015
Servers give sysadmins a incredible visibility into the network—once they know how to unlock it. Most sysadmins don’t need to understand window scaling, or the differences between IPv4 and IPv6 echo requests, or other intricacies of the TCP/IP protocols. You need only enough to deploy your own applications and get easy support from the network team.This book teaches you:•How modern networks really work•The essentials of TCP/IP•The next-generation protocol, IPv6•The right tools to diagnose network problems, and how to use them•Troubleshooting everything from the physical wire to DNS•How to see the traffic you send and receive•Connectivity testing•How to communicate with your network team to quickly resolve problemsA systems administrator doesn’t need to know the innards of TCP/IP, but knowing enough to diagnose your own network issues transforms a good sysadmin into a great one.
The Pattern on the Stone: The Simple Ideas that Make Computers Work
William Daniel Hillis - 1998
What they don't realize—and what Daniel Hillis's short book brilliantly demonstrates—is that computers' seemingly complex operations can be broken down into a few simple parts that perform the same simple procedures over and over again.Computer wizard Hillis offers an easy-to-follow explanation of how data is processed that makes the operations of a computer seem as straightforward as those of a bicycle. Avoiding technobabble or discussions of advanced hardware, the lucid explanations and colorful anecdotes in The Pattern on the Stone go straight to the heart of what computers really do.Hillis proceeds from an outline of basic logic to clear descriptions of programming languages, algorithms, and memory. He then takes readers in simple steps up to the most exciting developments in computing today—quantum computing, parallel computing, neural networks, and self-organizing systems.Written clearly and succinctly by one of the world's leading computer scientists, The Pattern on the Stone is an indispensable guide to understanding the workings of that most ubiquitous and important of machines: the computer.
Learn Tunisian Crochet: Beginner Stitch Guide & 6 Easy Potholder Patterns (Tiger Road Crafts Book 2)
Tara Cousins - 2014
The "Getting Started" section will give you a great overview and help explain some things for the very beginner. Next, learn some easy stitch patterns in the section "Basic Stitches." When you're ready to try your first project, take a look at the "Potholder Patterns" section, but make sure to read the "Pattern Information & Notes" first for some important stuff that pertains to all the patterns. The ebook is also filled with photos to help you along your way.Why Potholders?Potholders are a great project to work with Tunisian crochet because:• The back/wrong side is hidden between the two layers• Tunisian crochet makes a very thick final product• Working square shapes is easy for the beginnerHave fun, and happy hooking to you!
Algorithms to Live By: The Computer Science of Human Decisions
Brian Christian - 2016
What should we do, or leave undone, in a day or a lifetime? How much messiness should we accept? What balance of new activities and familiar favorites is the most fulfilling? These may seem like uniquely human quandaries, but they are not: computers, too, face the same constraints, so computer scientists have been grappling with their version of such issues for decades. And the solutions they've found have much to teach us.In a dazzlingly interdisciplinary work, acclaimed author Brian Christian and cognitive scientist Tom Griffiths show how the algorithms used by computers can also untangle very human questions. They explain how to have better hunches and when to leave things to chance, how to deal with overwhelming choices and how best to connect with others. From finding a spouse to finding a parking spot, from organizing one's inbox to understanding the workings of memory, Algorithms to Live By transforms the wisdom of computer science into strategies for human living.
Hands-On Machine Learning with Scikit-Learn and TensorFlow
Aurélien Géron - 2017
Now that machine learning is thriving, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how.By using concrete examples, minimal theory, and two production-ready Python frameworks—Scikit-Learn and TensorFlow—author Aurélien Géron helps you gain an intuitive understanding of the concepts and tools for building intelligent systems. You’ll learn how to use a range of techniques, starting with simple Linear Regression and progressing to Deep Neural Networks. If you have some programming experience and you’re ready to code a machine learning project, this guide is for you.This hands-on book shows you how to use:Scikit-Learn, an accessible framework that implements many algorithms efficiently and serves as a great machine learning entry pointTensorFlow, a more complex library for distributed numerical computation, ideal for training and running very large neural networksPractical code examples that you can apply without learning excessive machine learning theory or algorithm details
Shell Scripting: How to Automate Command Line Tasks Using Bash Scripting and Shell Programming
Jason Cannon - 2015
My name is Jason Cannon and I'm the author of Linux for Beginners, Python Programming for Beginners, and an instructor to thousands of satisfied students. I started my IT career in the late 1990's as a Unix and Linux System Engineer and I'll be sharing my real-world shell scripting and bash programming experience with you throughout this book.By the end of this book you will be able to create shell scripts with ease. You'll learn how to take tedious and repetitive tasks and turn them into programs that will save you time and simplify your life on Linux, Unix, or MAC systems. Here is what you will get and learn by reading this Shell Scripting ebook: A step-by-step process of writing shell scripts that solve real-world problems. The #1 thing you must do every time you create a shell script. How to quickly find and fix the most shell scripting errors. How to accept input from a user and then make decisions on that input. How to accept and process command line arguments. What special variables are available, how to use them in your shell scripts, and when to do so. A shell script creation check list -- You'll never have to guess what to include in each of your shell scripts again. Just use this simple check list. A shell script template (boilerplate). Use this format for each of your shell scripts. It shows exactly what to include and where everything goes. Eliminate guesswork! Practice exercises with solutions so you can start using what you learn right away. Real-world examples of shell scripts from my personal collection. A download that contains the scripts used in the book and lessons. You'll be able to look at and experiment with everything you're learning. Learn to Program Using Any Shell Scirpting Language What you learn in this book can be applied to any shell, however the focus is on the bash shell and you'll learn some really advanced bash features. Again, whether you're using bash, bourne (sh), KornShell (ksh), C shell (csh), Z shell (zsh), or even the tcsh shell, you'll be able to put what you learn in this book to good use. Perfect for Linux, Unix, Mac and More! Also, you'll be able to use these scripts on any Linux environment including Ubuntu, Debian, Linux Mint, RedHat, Fedora, OpenSUSE, Slackware, Kali Linux and more. You're scripts will even run on other operating systems such as Apple's Mac OS X, Oracle's Solaris, IBM's AIX, HP's HP-UX, FreeBSD, NetBSD, and OpenBSD.
Scroll up, click the Buy Now With 1 Click button and get started learning Linux today!
Types and Programming Languages
Benjamin C. Pierce - 2002
The study of type systems--and of programming languages from a type-theoretic perspective--has important applications in software engineering, language design, high-performance compilers, and security.This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages. The approach is pragmatic and operational; each new concept is motivated by programming examples and the more theoretical sections are driven by the needs of implementations. Each chapter is accompanied by numerous exercises and solutions, as well as a running implementation, available via the Web. Dependencies between chapters are explicitly identified, allowing readers to choose a variety of paths through the material.The core topics include the untyped lambda-calculus, simple type systems, type reconstruction, universal and existential polymorphism, subtyping, bounded quantification, recursive types, kinds, and type operators. Extended case studies develop a variety of approaches to modeling the features of object-oriented languages.