How You Play the Game: A Philosopher Plays Minecraft (Kindle Single)


Charlie Huenemann - 2015
    At a glance, it bears few similarities to any place we know and inhabit. But upon closer examination, the differences between this complex virtual reality and our own might not be as vast as we think. In “How You Play the Game,” author and philosopher Charlie Huenemann looks philosophically at the game of Minecraft (“What is the point of this game? How does one win? Well, this depends on what you want to do”) and grapples with the ethical conundrums, existential crises and moral responsibilities of the virtual realm. From the Overworld to the Ender Dragon, Huenemann offers an entertaining, insightful and often hilarious examination of Minecraft and the strange worlds—both virtual and not—surrounding it.Charlie Huenemann is a Professor of Philosophy at Utah State University. He writes for 3quarksdaily, and has published several books on the history of philosophy.Cover design by Adil Dara.

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.

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.

Let Over Lambda


Doug Hoyte - 2008
    Starting with the fundamentals, it describes the most advanced features of the most advanced language: Common Lisp. Only the top percentile of programmers use lisp and if you can understand this book you are in the top percentile of lisp programmers. If you are looking for a dry coding manual that re-hashes common-sense techniques in whatever langue du jour, this book is not for you. This book is about pushing the boundaries of what we know about programming. While this book teaches useful skills that can help solve your programming problems today and now, it has also been designed to be entertaining and inspiring. If you have ever wondered what lisp or even programming itself is really about, this is the book you have been looking for.

Dawn of the Code War: America's Battle Against Russia, China, and the Rising Global Cyber Threat


John P. Carlin - 2018
    We've seen North Korea's retaliatory hack of Sony Pictures, China's large-scale industrial espionage against American companies, Russia's 2016 propaganda campaign, and quite a lot more. The cyber war is upon us.As the former Assistant Attorney General and Chief of Staff to FBI Director Robert Mueller, John Carlin has spent 15 years on the frontlines of America's ongoing cyber war with its enemies. In this dramatic book, he tells the story of his years-long secret battle to keep America safe, and warns us of the perils that await us as we embrace the latest digital novelties -- smart appliances, artificial intelligence, self-driving cars -- with little regard for how our enemies might compromise them. The potential targets for our enemies are multiplying: our electrical grid, our companies, our information sources, our satellites. As each sector of the economy goes digital, a new vulnerability is exposed.The Internet of Broken Things makes the urgent case that we need to start innovating more responsibly. As a fleet of web-connected cars and pacemakers rolls off the assembly lines, the potential for danger is overwhelming. We must see and correct these flaws before our enemies exploit them.

Geographic Information Systems and Science


Paul A. Longley - 2001
    Its unique approach communicates the richness and diversity of CIS in a lucid and accessible format. This fully revised and updated second edition reinforces the view of CIS as a gateway to science and problem solving, sets out the scientific principles that govern its use, and describes the impact of people on its development, design, and success. The second edition of Geographic Information Systems and Science includes:A new five-part structure: Foundations; Principles; Techniques; Analysis; and Management and Policy.All-new personality boxes of current GIS practitioners.New real-world applications of GIS.New or expanded coverage of important current topics:Location-based servicesDistributed computingVirtual and augmented realitiesHomeland securityBusiness GIS and geodemographicsThe emergence of geoportalsGrand challenges of GIScienceA new suite of instructor and student resources http://www.wiley.com/go/longleyThe second edition of Geographic Information Systems and Science is essential reading for undergraduates taking courses in GIS within departments of Geography, Environmental Science, Business (and Public) Administration, Computer Science, Urban Studies, Planning, Information Science, Civil Engineering, and Archaeology. It is also provides a key resource for foundation GIS courses on taught MSc and other higher-degree programs. Professional users of GIS from governmental organizations and industries across the private sector will find this book an invaluable resource with a wealth of relevant applications.

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.

Readings for a History of Anthropological Theory


Paul A. Erickson - 2001
    The readings have broad anthropological appeal, emphasizing cultural anthropology in the North American and European traditions.Thematic coverage begins with nineteenth-century foundations and forerunners, before moving on to the early and mid-twentieth century when anthropology comes of age. The last section looks at numerous late twentieth-century and early twenty-first-centurydevelopments in anthropological theory, including feminist anthropology, postmodernity, medical anthropology, and globalization. "

Practical Electronics for Inventors


Paul Scherz - 1998
    Instead, it tells you-and shows you-what basic and advanced electronics parts and components do, and how they work. Chock-full of illustrations, Practical Electronics for Inventors offers over 750 hand-drawn images that provide clear, detailed instructions that can help turn theoretical ideas into real-life inventions and gadgets.

The Art of Computer Programming, Volume 1: Fundamental Algorithms


Donald Ervin Knuth - 1973
     -Byte, September 1995 I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the line-up. -Charles Long If you think you're a really good programmer... read [Knuth's] Art of Computer Programming... You should definitely send me a resume if you can read the whole thing. -Bill Gates It's always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers. -Jonathan Laventhol This first volume in the series begins with basic programming concepts and techniques, then focuses more particularly on information structures-the representation of information inside a computer, the structural relationships between data elements and how to deal with them efficiently. Elementary applications are given to simulation, numerical methods, symbolic computing, software and system design. Dozens of simple and important algorithms and techniques have been added to those of the previous edition. The section on mathematical preliminaries has been extensively revised to match present trends in research. Ebook (PDF version) produced by Mathematical Sciences Publishers (MSP), http: //msp.org

Game Development Essentials: An Introduction


Jeannie Novak - 2004
    This book not only examines content creation and the concepts behind development, but it also give readers a background on the evolution of game development and how it has become what it is today. GAME DEVELOPMENT ESSENTIALS also includes chapters on project management, development team roles and responsibilities, development cycle, marketing, maintenance, and the future of game development. With the same engaging writing style and examples that made the first two editions so popular, this new edition features all the latest games and game technology. Coverage of new game-related technology, development techniques, and the latest research in the field make this an invaluable resource for anyone entering the exciting, competitive, ever-changing world of game development.

Exercises in Programming Style


Cristina Videira Lopes - 2014
    It is designed to be used in conjunction with code provided on an online repository. The book complements and explains the raw code in a way that is accessible to anyone who regularly practices the art of programming. The book can also be used in advanced programming courses in computer science and software engineering programs.The book contains 33 different styles for writing the term frequency task. The styles are grouped into nine categories: historical, basic, function composition, objects and object interactions, reflection and metaprogramming, adversity, data-centric, concurrency, and interactivity. The author verbalizes the constraints in each style and explains the example programs. Each chapter first presents the constraints of the style, next shows an example program, and then gives a detailed explanation of the code. Most chapters also have sections focusing on the use of the style in systems design as well as sections describing the historical context in which the programming style emerged.

MAKE: Electronics: Learning Through Discovery


Charles Platt - 2008
    I also love the sense of humor. It's very good at disarming the fear. And it's gorgeous. I'll be recommending this book highly." --Tom Igoe, author of Physical Computing and Making Things TalkWant to learn the fundamentals of electronics in a fun, hands-on way? With Make: Electronics, you'll start working on real projects as soon as you crack open the book. Explore all of the key components and essential principles through a series of fascinating experiments. You'll build the circuits first, then learn the theory behind them!Build working devices, from simple to complex You'll start with the basics and then move on to more complicated projects. Go from switching circuits to integrated circuits, and from simple alarms to programmable microcontrollers. Step-by-step instructions and more than 500 full-color photographs and illustrations will help you use -- and understand -- electronics concepts and techniques.Discover by breaking things: experiment with components and learn from failureSet up a tricked-out project space: make a work area at home, equipped with the tools and parts you'll needLearn about key electronic components and their functions within a circuitCreate an intrusion alarm, holiday lights, wearable electronic jewelry, audio processors, a reflex tester, and a combination lockBuild an autonomous robot cart that can sense its environment and avoid obstaclesGet clear, easy-to-understand explanations of what you're doing and why

Real World Haskell: Code You Can Believe In


Bryan O'Sullivan - 2008
    You'll learn how to use Haskell in a variety of practical ways, from short scripts to large and demanding applications. Real World Haskell takes you through the basics of functional programming at a brisk pace, and then helps you increase your understanding of Haskell in real-world issues like I/O, performance, dealing with data, concurrency, and more as you move through each chapter. 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.

Hidden In Plain Sight 10: How To Program A Quantum Computer


Andrew H. Thomas - 2018
     This book contains an introduction to quantum mechanics, with complete instructions and videos showing you how to program a real quantum computer, provided by IBM.