Hacking: The Art of Exploitation


Jon Erickson - 2003
    This book explains the technical aspects of hacking, including stack based overflows, heap based overflows, string exploits, return-into-libc, shellcode, and cryptographic attacks on 802.11b.

Think Like a Programmer: An Introduction to Creative Problem Solving


V. Anton Spraul - 2012
    In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer. Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You'll also learn how to:Split problems into discrete components to make them easier to solve Make the most of code reuse with functions, classes, and libraries Pick the perfect data structure for a particular job Master more advanced programming tools like recursion and dynamic memory Organize your thoughts and develop strategies to tackle particular types of problems Although the book's examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science. As the most skillful programmers know, writing great code is a creative art—and the first step in creating your masterpiece is learning to Think Like a Programmer.

Two Scoops of Django: Best Practices for Django 1.5


Daniel Roy Greenfeld - 2013
    We'll introduce you to various tips, tricks, patterns, code snippets, and techniques that we've picked up over the years.This book is great for:Beginners who have just finished the Django tutorial.Developers with intermediate knowledge of Django who want to improve their Django projects.

Introduction to Mathematical Thinking


Keith Devlin - 2012
    This is not the same as “doing math.” The latter usually involves the application of formulas, procedures, and symbolic manipulations; mathematical thinking is a powerful way of thinking about things in the world -- logically, analytically, quantitatively, and with precision. It is not a natural way of thinking, but it can be learned. Mathematicians, scientists, and engineers need to “do math,” and it takes many years of college-level education to learn all that is required. Mathematical thinking is valuable to everyone, and can be mastered in about six weeks by anyone who has completed high school mathematics. Mathematical thinking does not have to be about mathematics at all, but parts of mathematics provide the ideal target domain to learn how to think that way, and that is the approach taken by this short but valuable book. The book is written primarily for first and second year students of science, technology, engineering, and mathematics (STEM) at colleges and universities, and for high school students intending to study a STEM subject at university. Many students encounter difficulty going from high school math to college-level mathematics. Even if they did well at math in school, most are knocked off course for a while by the shift in emphasis, from the K-12 focus on mastering procedures to the “mathematical thinking” characteristic of much university mathematics. Though the majority survive the transition, many do not. To help them make the shift, colleges and universities often have a “transition course.” This book could serve as a textbook or a supplementary source for such a course. Because of the widespread applicability of mathematical thinking, however, the book has been kept short and written in an engaging style, to make it accessible to anyone who seeks to extend and improve their analytic thinking skills. Going beyond a basic grasp of analytic thinking that everyone can benefit from, the STEM student who truly masters mathematical thinking will find that college-level mathematics goes from being confusing, frustrating, and at times seemingly impossible, to making sense and being hard but doable. Dr. Keith Devlin is a professional mathematician at Stanford University and the author of 31 previous books and over 80 research papers. His books have earned him many awards, including the Pythagoras Prize, the Carl Sagan Award, and the Joint Policy Board for Mathematics Communications Award. He is known to millions of NPR listeners as “the Math Guy” on Weekend Edition with Scott Simon. He writes a popular monthly blog “Devlin’s Angle” for the Mathematical Association of America, another blog under the name “profkeithdevlin”, and also blogs on various topics for the Huffington Post.

Dataclysm: Who We Are (When We Think No One's Looking)


Christian Rudder - 2014
    In Dataclysm, Christian Rudder uses it to show us who we truly are.   For centuries, we’ve relied on polling or small-scale lab experiments to study human behavior. Today, a new approach is possible. As we live more of our lives online, researchers can finally observe us directly, in vast numbers, and without filters. Data scientists have become the new demographers.   In this daring and original book, Rudder explains how Facebook "likes" can predict, with surprising accuracy, a person’s sexual orientation and even intelligence; how attractive women receive exponentially more interview requests; and why you must have haters to be hot. He charts the rise and fall of America’s most reviled word through Google Search and examines the new dynamics of collaborative rage on Twitter. He shows how people express themselves, both privately and publicly. What is the least Asian thing you can say? Do people bathe more in Vermont or New Jersey? What do black women think about Simon & Garfunkel? (Hint: they don’t think about Simon & Garfunkel.) Rudder also traces human migration over time, showing how groups of people move from certain small towns to the same big cities across the globe. And he grapples with the challenge of maintaining privacy in a world where these explorations are possible.   Visually arresting and full of wit and insight, Dataclysm is a new way of seeing ourselves—a brilliant alchemy, in which math is made human and numbers become the narrative of our time.

Elements of the Theory of Computation


Harry R. Lewis - 1981
    The authors are well-known for their clear presentation that makes the material accessible to a a broad audience and requires no special previous mathematical experience. KEY TOPICS: In this new edition, the authors incorporate a somewhat more informal, friendly writing style to present both classical and contemporary theories of computation. Algorithms, complexity analysis, and algorithmic ideas are introduced informally in Chapter 1, and are pursued throughout the book. Each section is followed by problems.

How Not to Be Wrong: The Power of Mathematical Thinking


Jordan Ellenberg - 2014
    In How Not to Be Wrong, Jordan Ellenberg shows us how terribly limiting this view is: Math isn’t confined to abstract incidents that never occur in real life, but rather touches everything we do—the whole world is shot through with it.Math allows us to see the hidden structures underneath the messy and chaotic surface of our world. It’s a science of not being wrong, hammered out by centuries of hard work and argument. Armed with the tools of mathematics, we can see through to the true meaning of information we take for granted: How early should you get to the airport? What does “public opinion” really represent? Why do tall parents have shorter children? Who really won Florida in 2000? And how likely are you, really, to develop cancer?How Not to Be Wrong presents the surprising revelations behind all of these questions and many more, using the mathematician’s method of analyzing life and exposing the hard-won insights of the academic community to the layman—minus the jargon. Ellenberg chases mathematical threads through a vast range of time and space, from the everyday to the cosmic, encountering, among other things, baseball, Reaganomics, daring lottery schemes, Voltaire, the replicability crisis in psychology, Italian Renaissance painting, artificial languages, the development of non-Euclidean geometry, the coming obesity apocalypse, Antonin Scalia’s views on crime and punishment, the psychology of slime molds, what Facebook can and can’t figure out about you, and the existence of God.Ellenberg pulls from history as well as from the latest theoretical developments to provide those not trained in math with the knowledge they need. Math, as Ellenberg says, is “an atomic-powered prosthesis that you attach to your common sense, vastly multiplying its reach and strength.” With the tools of mathematics in hand, you can understand the world in a deeper, more meaningful way. How Not to Be Wrong will show you how.

Making Things Talk: Practical Methods for Connecting Physical Objects


Tom Igoe - 2007
    But when devices that you've built start to talk to each other, things really start to get interesting. Through a series of simple projects, you'll learn how to get your creations to communicate with one another by forming networks of smart devices that carry on conversations with you and your environment. Whether you need to plug some sensors in your home to the Internet or create a device that can interact wirelessly with other creations, Making Things Talk explains exactly what you need. This book is perfect for people with little technical training but a lot of interest. Maybe you're a science teacher who wants to show students how to monitor weather conditions at several locations at once, or a sculptor who wants to stage a room of choreographed mechanical sculptures. Making Things Talk demonstrates that once you figure out how objects communicate -- whether they're microcontroller-powered devices, email programs, or networked databases -- you can get them to interact. Each chapter in contains instructions on how to build working projects that help you do just that. You will:Make your pet's bed send you email Make your own seesaw game controller that communicates over the Internet Learn how to use ZigBee and Bluetooth radios to transmit sensor data wirelessly Set up communication between microcontrollers, personal computers, and web servers using three easy-to-program, open source environments: Arduino/Wiring, Processing, and PHP. Write programs to send data across the Internet based on physical activity in your home, office, or backyard And much more With a little electronics know-how, basic (not necessarily in BASIC) programming skills, a couple of inexpensive microcontroller kits and some network modules to make them communicate using Ethernet, ZigBee, and Bluetooth, you can get started on these projects right away. With Making Things Talk, the possibilities are practically endless.

Calculus and Analytic Geometry


George B. Thomas Jr. - 1920
    It features a visual presentation, designed to encourage learning; revised exercises to ensure clarity, balance and relevance; and clear commentary on the difficult subject of critical multivariable calculus topics.

Moneyball: The Art of Winning an Unfair Game


Michael Lewis - 2003
    Conventional wisdom long held that big name, highly athletic hitters and young pitchers with rocket arms were the ticket to success. But Beane and his staff, buoyed by massive amounts of carefully interpreted statistical data, believed that wins could be had by more affordable methods such as hitters with high on-base percentage and pitchers who get lots of ground outs. Given this information and a tight budget, Beane defied tradition and his own scouting department to build winning teams of young affordable players and inexpensive castoff veterans. Lewis was in the room with the A's top management as they spent the summer of 2002 adding and subtracting players and he provides outstanding play-by-play. In the June player draft, Beane acquired nearly every prospect he coveted (few of whom were coveted by other teams) and at the July trading deadline he engaged in a tense battle of nerves to acquire a lefty reliever. Besides being one of the most insider accounts ever written about baseball, Moneyball is populated with fascinating characters. We meet Jeremy Brown, an overweight college catcher who most teams project to be a 15th round draft pick (Beane takes him in the first). Sidearm pitcher Chad Bradford is plucked from the White Sox triple-A club to be a key set-up man and catcher Scott Hatteberg is rebuilt as a first baseman. But the most interesting character is Beane himself. A speedy athletic can't-miss prospect who somehow missed, Beane reinvents himself as a front-office guru, relying on players completely unlike, say, Billy Beane. Lewis, one of the top nonfiction writers of his era (Liar's Poker, The New New Thing), offers highly accessible explanations of baseball stats and his roadmap of Beane's economic approach makes Moneyball an appealing reading experience for business people and sports fans alike. --John Moe

Learning PHP and MySQL


Michele E. Davis - 2006
    When working hand-in-hand, they serve as the standard for the rapid development of dynamic, database-driven websites. This combination is so popular, in fact, that it's attracting manyprogramming newbies who come from a web or graphic design background and whose first language is HTML. If you fall into this ever-expanding category, then this book is for you."Learning PHP and MySQL" starts with the very basics of the PHP language, including strings and arrays, pattern matching and a detailed discussion of the variances in different PHP versions. Next, it explains how to work with MySQL, covering information on SQL data access for language and data fundamentals like tables and statements.Finally, after it's sure that you've mastered these separate concepts, the book shows you how to put them together to generate dynamic content. In the process, you'll also learn about error handling, security, HTTP authentication, and more.If you're a hobbyist who is intimidated by thick, complex computer books, then this guide definitely belongs on your shelf. "Learning PHP and MySQL" explains everything--from basic concepts to the nuts and bolts of performing specific tasks--in plain English.Part of O'Reilly's bestselling Learning series, the book is an easy-to-use resource designed specifically for newcomers. It's also a launching pad for future learning, providing you with a solid foundation for more advanced development.

3D Math Primer for Graphics and Game Development


Fletcher Dunn - 2002
    The Authors Discuss The Mathematical Theory In Detail And Then Provide The Geometric Interpretation Necessary To Make 3D Math Intuitive. Working C++ Classes Illustrate How To Put The Techniques Into Practice, And Exercises At The End Of Each Chapter Help Reinforce The Concepts. This Book Explains Basic Concepts Such As Vectors, Coordinate Spaces, Matrices, Transformations, Euler Angles, Homogenous Coordinates, Geometric Primitives, Intersection Tests, And Triangle Meshes. It Discusses Orientation In 3D, Including Thorough Coverage Of Quaternions And A Comparison Of The Advantages And Disadvantages Of Different Representation Techniques. The Text Describes Working C++ Classes For Mathematical And Geometric Entities And Several Different Matrix Classes, Each Tailored To Specific Geometric Tasks. Also Included Are Complete Derivations For All The Primitive Transformation Matrices.

The Shape of Space: How to Visualize Surfaces and Three-Dimensional Manifolds


Jeffrey R. Weeks - 1985
    Bridging the gap from geometry to the latest work in observational cosmology, the book illustrates the connection between geometry and the behavior of the physical universe and explains how radiation remaining from the big bang may reveal the actual shape of the universe.

Data Science For Dummies


Lillian Pierson - 2014
    Data Science For Dummies is the perfect starting point for IT professionals and students interested in making sense of their organization’s massive data sets and applying their findings to real-world business scenarios. From uncovering rich data sources to managing large amounts of data within hardware and software limitations, ensuring consistency in reporting, merging various data sources, and beyond, you’ll develop the know-how you need to effectively interpret data and tell a story that can be understood by anyone in your organization. Provides a background in data science fundamentals before moving on to working with relational databases and unstructured data and preparing your data for analysis Details different data visualization techniques that can be used to showcase and summarize your data Explains both supervised and unsupervised machine learning, including regression, model validation, and clustering techniques Includes coverage of big data processing tools like MapReduce, Hadoop, Dremel, Storm, and Spark It’s a big, big data world out there – let Data Science For Dummies help you harness its power and gain a competitive edge for your organization.

A Bug Hunter's Diary: A Guided Tour Through the Wilds of Software Security


Tobias Klein - 2011
    In this one-of-a-kind account, you'll see how the developers responsible for these flaws patched the bugs—or failed to respond at all. As you follow Klein on his journey, you'll gain deep technical knowledge and insight into how hackers approach difficult problems and experience the true joys (and frustrations) of bug hunting.Along the way you'll learn how to:Use field-tested techniques to find bugs, like identifying and tracing user input data and reverse engineering Exploit vulnerabilities like NULL pointer dereferences, buffer overflows, and type conversion flaws Develop proof of concept code that verifies the security flaw Report bugs to vendors or third party brokersA Bug Hunter's Diary is packed with real-world examples of vulnerable code and the custom programs used to find and test bugs. Whether you're hunting bugs for fun, for profit, or to make the world a safer place, you'll learn valuable new skills by looking over the shoulder of a professional bug hunter in action.