Programming in Lua


Roberto Ierusalimschy - 2001
    Currently, Lua is being used in areas ranging from embedded systems to Web development and is widely spread in the game industry, where knowledge of Lua is an indisputable asset. "Programming in Lua" is the official book about the language, giving a solid base for any programmer who wants to use Lua. Authored by Roberto Ierusalimschy, the chief architect of the language, it covers all aspects of Lua 5---from the basics to its API with C---explaining how to make good use of its features and giving numerous code examples. "Programming in Lua" is targeted at people with some programming background, but does not assume any prior knowledge about Lua or other scripting languages. This Second Edition updates the text to Lua 5.1 and brings substantial new material, including numerous new examples, a detailed explanation of the new module system, and two new chapters centered on multiple states and garbage collection.

Python Crash Course: A Hands-On, Project-Based Introduction to Programming


Eric Matthes - 2015
    You'll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you'll put your new knowledge into practice with three substantial projects: a Space Invaders-inspired arcade game, data visualizations with Python's super-handy libraries, and a simple web app you can deploy online.As you work through Python Crash Course, you'll learn how to: Use powerful Python libraries and tools, including matplotlib, NumPy, and PygalMake 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progressesWork with data to generate interactive visualizationsCreate and customize simple web apps and deploy them safely onlineDeal with mistakes and errors so you can solve your own programming problemsIf you've been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code!

How to Write a Thesis


Umberto Eco - 1977
    Some years before that, in 1977, Eco published a little book for his students, "How to Write a Thesis," in which he offered useful advice on all the steps involved in researching and writing a thesis -- from choosing a topic to organizing a work schedule to writing the final draft. Now in its twenty-third edition in Italy and translated into seventeen languages, "How to Write a Thesis "has become a classic. Remarkably, this is its first, long overdue publication in English.Eco's approach is anything but dry and academic. He not only offers practical advice but also considers larger questions about the value of the thesis-writing exercise. "How to Write a Thesis" is unlike any other writing manual. It reads like a novel. It is opinionated. It is frequently irreverent, sometimes polemical, and often hilarious. Eco advises students how to avoid "thesis neurosis" and he answers the important question "Must You Read Books?" He reminds students "You are not Proust" and "Write everything that comes into your head, but only in the first draft." Of course, there was no Internet in 1977, but Eco's index card research system offers important lessons about critical thinking and information curating for students of today who may be burdened by Big Data."How to Write a Thesis" belongs on the bookshelves of students, teachers, writers, and Eco fans everywhere. Already a classic, it would fit nicely between two other classics: "Strunk and White" and "The Name of the Rose."This MIT Press edition will be available in three different cover colors.ContentsThe Definition and Purpose of a ThesisChoosing the TopicConducting ResearchThe Work Plan and the Index CardsWriting the ThesisThe Final Draft

Capital: A Critique of Political Economy, Volume 1


Karl Marx - 1867
    This new translation of Volume One, the only volume to be completed and edited by Marx himself, avoids some of the mistakes that have marred earlier versions and seeks to do justice to the literary qualities of the work. The introduction is by Ernest Mandel, author of Late Capitalism, one of the only comprehensive attempts to develop the theoretical legacy of Capital.

The Mammoth Book of Chess


Graham Burgess - 2009
    It includes: sections on online chess, computers and openings; courses in tactics and attacking strategy; analysis of some of the greatest games ever played; and, information and advice on club, national, and international tournaments.

The Rust Programming Language


Steve Klabnik
    This is the undisputed go-to guide to Rust, written by two members of the Rust core team, with feedback and contributions from 42 members of the community. The book assumes that you’ve written code in another programming language but makes no assumptions about which one, meaning the material is accessible and useful to developers from a wide variety of programming backgrounds.Known by the Rust community as "The Book," The Rust Programming Language includes concept chapters, where you’ll learn about a particular aspect of Rust, and project chapters, where you’ll apply what you’ve learned so far to build small programs.The Book opens with a quick hands-on project to introduce the basics then explores key concepts in depth, such as ownership, the type system, error handling, and fearless concurrency. Next come detailed explanations of Rust-oriented perspectives on topics like pattern matching, iterators, and smart pointers, with concrete examples and exercises--taking you from theory to practice.The Rust Programming Language will show you how to: Grasp important concepts unique to Rust like ownership, borrowing, and lifetimes Use Cargo, Rust’s built-in package manager, to build and maintain your code, including downloading and building dependencies Effectively use Rust’s zero-cost abstractions and employ your ownYou’ll learn to develop reliable code that’s speed and memory efficient, while avoiding the infamous and arcane programming pitfalls common at the systems level. When you need to dive down into lower-level control, this guide will show you how without taking on the customary risk of crashes or security holes and without requiring you to learn the fine points of a fickle toolchain.You’ll also learn how to create command line programs, build single- and multithreaded web servers, and much more.The Rust Programming Language fully embraces Rust’s potential to empower its users. This friendly and approachable guide will help you build not only your knowledge of Rust but also your ability to program with confidence in a wider variety of domains.

Game Programming Patterns


Robert Nystrom - 2011
    Commercial game development expert Robert Nystrom presents an array of general solutions to problems encountered in game development. For example, you'll learn how double-buffering enables a player to perceive smooth and realistic motion, and how the service locator pattern can help you provide access to services such as sound without coupling your code to any particular sound driver or sound hardware. Games have much in common with other software, but also a number of unique constraints. Some of the patterns in this book are well-known in other domains of software development. Other of the patterns are unique to gaming. In either case, Robert Nystrom bridges from the ivory tower world of software architecture to the in-the-trenches reality of hardcore game programming. You'll learn the patterns and the general problems that they solve. You'll come away able to apply powerful and reusable architectural solutions that enable you to produce higher quality games with less effort than before. Applies classic design patterns to game programming. Introduces new patterns specific to game programming. Brings abstract software architecture down to Earth with approachable writing and an emphasis on simple code that shows each pattern in practice. What you'll learn Overcome architectural challenges unique to game programming Apply lessons from the larger software world to games. Tie different parts of a game (graphics, sound, AI) into a cohesive whole. Create elegant and maintainable architecture. Achieve good, low-level performance. Gain insight into professional, game development. Who this book is forGame Programming Patterns is aimed at professional game programmers who, while successful in shipping games, are frustrated at how hard it sometimes is to add and modify features when a game is under development. Game Programming Patterns shows how to apply modern software practices to the problem of game development while still maintaining the blazing-fast performance demanded by hard-core gamers. Game Programming Patterns also appeals to those learning about game programming in their spare time. Hobbyists and aspiring professionals alike will find much to learn in this book about pathfinding, collision detection, and other game-programming problem domains.

The Go Programming Language


Alan A.A. Donovan - 2015
    It has been winning converts from dynamic language enthusiasts as well as users of traditional compiled languages. The former appreciate the robustness and efficiency that Go's lightweight type system brings to their code; the latter find Go's simplicity and fast tools a refreshing change. Thanks to its well-designed standard libraries and its excellent support for concurrent programming, Go is fast becoming the language of choice for distributed systems. The Go Programming Language is the definitive book on Go for the working programmer. It assumes no prior knowledge of Go, nor any other specific programming language, so you'll find it an accessible guide whether you come from JavaScript, Ruby, Python, Java, or C++. The book will quickly get you started using Go effectively from the beginning, and by the end, you will know how to use it well to write clear, idiomatic and efficient programs to solve real-world problems. You'll understand not just how to use its standard libraries, but how they work, and how to apply the same design techniques to your own projects. The earlier chapters will introduce you to the basic concepts of Go programming---numbers, strings, functions---while at the same time presenting important computer science concepts like recursion, and useful examples of graphics, UTF-8, and error handling. The chapters on methods and interfaces will show you a new way to think about object-oriented programming; the chapter on concurrency explains why concurrency is so important in modern programming, and how Go helps you handle it well. You'll also learn about Go's pragmatic but effective approach to testing; how to build, test, and manage projects using the go tool, and the art of metaprogramming using reflection. The book contains hundreds of interesting and practical examples that cover the whole language and a wide range of applications. The code samples from the book are available for download from gopl.io.

Learning PHP, MySQL, and JavaScript: A Step-By-Step Guide to Creating Dynamic Websites


Robin Nixon - 2009
    You'll learn how to create responsive, data-driven websites with PHP, MySQL, and JavaScript, regardless of whether you already know how to program. Discover how the powerful combination of PHP and MySQL provides an easy way to build modern websites complete with dynamic data and user interaction. You'll also learn how to add JavaScript to create rich Internet applications and websites.Learning PHP, MySQL, and JavaScript explains each technology separately, shows you how to combine them, and introduces valuable web programming concepts, including objects, XHTML, cookies, and session management. You'll practice what you've learned with review questions in each chapter, and find a sample social networking platform built with the elements introduced in this book. This book will help you:-Understand PHP essentials and the basics of object-oriented programming-Master MySQL, from database structure to complex queries-Create web pages with PHP and MySQL by integrating forms and other HTML features-Learn about JavaScript, from functions and event handling to accessing the Document Object Model-Use libraries and packages, including the Smarty web template system, PEAR program repository, and the Yahoo! User Interface Library -Make Ajax calls and turn your website into a highly dynamic environment-Upload and manipulate files and images, validate user input, and secure your applications

How to Live on 24 Hours a Day


Arnold Bennett - 1908
    Out of it you have to spin health, pleasure, money, content, respect, and the evolution of your immortal soul. This timeless classic is one of the first self-help books ever written and was a best-seller in both England and America. It remains as useful today as when it was written, and offers fresh and practical advice on how to make the most of the daily miracle of life.

1,000 Books to Read Before You Die: A Life-Changing List


James Mustich - 2018
    Covering fiction, poetry, science and science fiction, memoir, travel writing, biography, children’s books, history, and more, 1,000 Books to Read Before You Die ranges across cultures and through time to offer an eclectic collection of works that each deserve to come with the recommendation, You have to read this. But it’s not a proscriptive list of the “great works”—rather, it’s a celebration of the glorious mosaic that is our literary heritage. Flip it open to any page and be transfixed by a fresh take on a very favorite book. Or come across a title you always meant to read and never got around to. Or, like browsing in the best kind of bookshop, stumble on a completely unknown author and work, and feel that tingle of discovery. There are classics, of course, and unexpected treasures, too. Lists to help pick and choose, like Offbeat Escapes, or A Long Climb, but What a View. And its alphabetical arrangement by author assures that surprises await on almost every turn of the page, with Cormac McCarthy and The Road next to Robert McCloskey and Make Way for Ducklings, Alice Walker next to Izaac Walton.  There are nuts and bolts, too—best editions to read, other books by the author, “if you like this, you’ll like that” recommendations , and an interesting endnote of adaptations where appropriate. Add it all up, and in fact there are more than six thousand titles by nearly four thousand authors mentioned—a life-changing list for a lifetime of reading.

JavaScript & jQuery: The Missing Manual


David Sawyer McFarland - 2008
    This jargon-free guide covers JavaScript basics and shows you how to save time and effort with the jQuery library of prewritten JavaScript code. You’ll soon be building web pages that feel and act like desktop programs, without having to do much programming.The important stuff you need to know:Make your pages interactive. Create JavaScript events that react to visitor actions.Use animations and effects. Build drop-down navigation menus, pop-ups, automated slideshows, and more.Improve your user interface. Learn how the pros make websites fun and easy to use.Collect data with web forms. Create easy-to-use forms that ensure more accurate visitor responses.Add a dash of Ajax. Enable your web pages to communicate with a web server without a page reload.Practice with living examples. Get step-by-step tutorials for web projects you can build yourself.

The Complete Patrick Melrose Novels


Edward St. Aubyn - 2015
    For the first time, all five books in the Patrick Melrose series are collected in a single edition: NEVER MIND BAD NEWS SOME HOPE MOTHER'S MILK AT LAST Acclaimed for their searing wit and their deep humanity, this magnificent cycle of novels - in which Patrick Melrose battles to survive the savageries of his childhood and lead a self-determined life - is one of the major achievements in English fiction.

Design Patterns: Elements of Reusable Object-Oriented Software


Erich Gamma - 1994
    Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.

A Little History of the World


E.H. Gombrich - 1936
    Amazingly, he completed the task in an intense six weeks, and Eine kurze Weltgeschichte für junge Leser was published in Vienna to immediate success, and is now available in seventeen languages across the world. Toward the end of his long life, Gombrich embarked upon a revision and, at last, an English translation. A Little History of the World presents his lively and involving history to English-language readers for the first time. Superbly designed and freshly illustrated, this is a book to be savored and collected. In forty concise chapters, Gombrich tells the story of man from the stone age to the atomic bomb. In between emerges a colorful picture of wars and conquests, grand works of art, and the spread and limitations of science. This is a text dominated not by dates and facts, but by the sweep of mankind's experience across the centuries, a guide to humanity's achievements and an acute witness to its frailties. The product of a generous and humane sensibility, this timeless account makes intelligible the full span of human history.