Programming Entity Framework: DbContext


Julia Lerman - 2011
    This concise book shows you how to use the API to perform set operations with the DbSet class, handle change tracking and resolve concurrency conflicts with the Change Tracker API, and validate changes to your data with the Validation API.With DbContext, you’ll be able to query and update data, whether you’re working with individual objects or graphs of objects and their related data. You’ll find numerous C# code samples to help you get started. All you need is experience with Visual Studio and database management basics.Use EF’s query capabilities to retrieve data, and use LINQ to sort and filter dataLearn how to add new data, and change and delete existing dataUse the Change Tracker API to access information EF keeps about the state of entity instancesControl change tracking information of entities in disconnected scenarios, including NTier applicationsValidate data changes before they’re sent to the database, and set up validation rulesBypass EF’s query pipeline and interact directly with the database

Level Up!: The Guide to Great Video Game Design


Scott Rogers - 2010
    Written by leading video game expert Scott Rogers, who has designed the hits Pac Man World, Maxim vs. Army of Zin, and SpongeBob Squarepants, this book is full of Rogers's wit and imaginative style that demonstrates everything you need to know about designing great video games.Features an approachable writing style that considers game designers from all levels of expertise and experience Covers the entire video game creation process, including developing marketable ideas, understanding what gamers want, working with player actions, and more Offers techniques for creating non-human characters and using the camera as a character Shares helpful insight on the business of design and how to create design documents So, put your game face on and start creating memorable, creative, and unique video games with this book!

The REST API Design Handbook


George Reese - 2012
    The RESTful approach to web services design is rapidly become the approach of choice. Unfortunately, too few people have truly solid REST API design skills, and discussions of REST can become bogged down in dry theory.The REST API Design Handbook is a simple, practical guide to aid software engineers and software architects create lasting, scalable APIs based on REST architectural principles. The book provides a sound foundation in discussing the constraints that define a REST API. It quickly goes beyond that into the practical aspects of implementing such an API in the real world.Written by cloud computing expert George Reese, The REST API Design Handbook reflects hands on work in consuming many different third party APIs as well the development of REST-based web services APIs. It addresses all of the debates the commonly arise while creating these APIs. Subjects covered include:* REST architectural constraints* Using HTTP methods and response codes in an API* Authenticating RESTful API calls* Versioning* Asynchronous Operations* Pagination and Streaming* Polling and Push Notifications* Rate Limiting

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

Open Sources


Chris DiBona - 1999
    Open Source has grabbed the computer industry's attention. Netscape has opened the source code to Mozilla; IBM supports Apache; major database vendors haved ported their products to Linux. As enterprises realize the power of the open-source development model, Open Source is becoming a viable mainstream alternative to commercial software.Now in Open Sources, leaders of Open Source come together for the first time to discuss the new vision of the software industry they have created. The essays in this volume offer insight into how the Open Source movement works, why it succeeds, and where it is going.For programmers who have labored on open-source projects, Open Sources is the new gospel: a powerful vision from the movement's spiritual leaders. For businesses integrating open-source software into their enterprise, Open Sources reveals the mysteries of how open development builds better software, and how businesses can leverage freely available software for a competitive business advantage.The contributors here have been the leaders in the open-source arena:Brian Behlendorf (Apache) Kirk McKusick (Berkeley Unix) Tim O'Reilly (Publisher, O'Reilly & Associates) Bruce Perens (Debian Project, Open Source Initiative) Tom Paquin and Jim Hamerly (mozilla.org, Netscape) Eric Raymond (Open Source Initiative) Richard Stallman (GNU, Free Software Foundation, Emacs) Michael Tiemann (Cygnus Solutions) Linus Torvalds (Linux) Paul Vixie (Bind) Larry Wall (Perl) This book explains why the majority of the Internet's servers use open- source technologies for everything from the operating system to Web serving and email. Key technology products developed with open-source software have overtaken and surpassed the commercial efforts of billion dollar companies like Microsoft and IBM to dominate software markets. Learn the inside story of what led Netscape to decide to release its source code using the open-source mode. Learn how Cygnus Solutions builds the world's best compilers by sharing the source code. Learn why venture capitalists are eagerly watching Red Hat Software, a company that gives its key product -- Linux -- away.For the first time in print, this book presents the story of the open- source phenomenon told by the people who created this movement.Open Sources will bring you into the world of free software and show you the revolution.

Getting Started with Dwarf Fortress: Learn to Play the Most Complex Video Game Ever Made


Peter Tyson - 2012
    The trick is getting started. In this guide, Fortress geek Peter Tyson takes you through the basics of this menacing realm, and helps you overcome the formidable learning curve.The book’s focus is the game’s simulation mode, in which you’re tasked with building a dwarf city. Once you learn how to establish and maintain your very first fortress, you can consult the more advanced chapters on resource management and training a dwarf military. You’ll soon have stories to share from your interactions with the Dwarf Fortress universe.Create your own world, then locate a site for an underground fortressEquip your party of dwarves and have them build workshops and roomsProduce a healthy food supply so your dwarves won’t starve (or go insane)Retain control over a fortress and dozens of dwarves, their children, and their petsExpand your fortress with fortifications, stairs, bridges, and subterranean hallsConstruct fantastic traps, machines, and weapons of mass destruction

Thinking in C++


Bruce Eckel - 1995
    It shows readers how to step back from coding to consider design strategies and attempt to get into the head of the designer.

Professor Frisby's Mostly Adequate Guide to Functional Programming


Brian Lonsdorf
    We'll use the world's most popular functional programming language: JavaScript. Some may feel this is a poor choice as it's against the grain of the current culture which, at the moment, feels predominately imperative. However, I believe it is the best way to learn FP for several reasons:You likely use it every day at work.This makes it possible to practice and apply your acquired knowledge each day on real world programs rather than pet projects on nights and weekends in an esoteric FP language.We don't have to learn everything up front to start writing programs.In a pure functional language, you cannot log a variable or read a DOM node without using monads. Here we can cheat a little as we learn to purify our codebase. It's also easier to get started in this language since it's mixed paradigm and you can fall back on your current practices while there are gaps in your knowledge.The language is fully capable of writing top notch functional code.We have all the features we need to mimic a language like Scala or Haskell with the help of a tiny library or two. Object-oriented programming currently dominates the industry, but it's clearly awkward in JavaScript. It's akin to camping off of a highway or tap dancing in galoshes. We have to bind all over the place lest this change out from under us, we don't have classes[^Yet], we have various work arounds for the quirky behavior when the new keyword is forgotten, private members are only available via closures. To a lot of us, FP feels more natural anyways.That said, typed functional languages will, without a doubt, be the best place to code in the style presented by this book. JavaScript will be our means of learning a paradigm, where you apply it is up to you. Luckily, the interfaces are mathematical and, as such, ubiquitous. You'll find yourself at home with swiftz, scalaz, haskell, purescript, and other mathematically inclined environments.

Automate the Boring Stuff with Python: Practical Programming for Total Beginners


Al Sweigart - 2014
    But what if you could have your computer do them for you?In "Automate the Boring Stuff with Python," you'll learn how to use Python to write programs that do in minutes what would take you hours to do by hand no prior programming experience required. Once you've mastered the basics of programming, you'll create Python programs that effortlessly perform useful and impressive feats of automation to: Search for text in a file or across multiple filesCreate, update, move, and rename files and foldersSearch the Web and download online contentUpdate and format data in Excel spreadsheets of any sizeSplit, merge, watermark, and encrypt PDFsSend reminder emails and text notificationsFill out online formsStep-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks.Don't spend your time doing work a well-trained monkey could do. Even if you've never written a line of code, you can make your computer do the grunt work. Learn how in "Automate the Boring Stuff with Python.""

Gamification by Design


Gabe Zichermann - 2011
    This book provides the design strategy and tactics you need to integrate game mechanics into any kind of consumer-facing website or mobile app. Learn how to use core game concepts, design patterns, and meaningful code samples to a create fun and captivating social environment.Whether you're an executive, developer, producer, or product specialist, Gamification by Design will show you how game mechanics can help you build customer loyalty.Discover the motivational framework game designers use to segment and engage consumersUnderstand core game mechanics such as points, badges, levels, challenges, and leaderboardsEngage your consumers with reward structures, positive reinforcement, and feedback loopsCombine game mechanics with social interaction for activities such as collecting, gifting, heroism, and statusDive into case studies on Nike and Yahoo!, and analyze interactions at Google, Facebook, and ZyngaGet the architecture and code to gamify a basic consumer site, and learn how to use mainstream gamification APIs from Badgeville"Turning applications into games is a huge trend. This book does a great job of identifying the core lasting principals you need to inspire your users to visit again and again." —Adam Loving Freelance Social Game Developer and founder of Twibes Twitter Groups

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.

Jumping into C++


Alex Allain - 2013
    As a professional C++ developer and former Harvard teaching fellow, I know what you need to know to be a great C++ programmer, and I know how to teach it, one step at a time. I know where people struggle, and why, and how to make it clear. I cover every step of the programming process, including:Getting the tools you need to program and how to use them*Basic language feature like variables, loops and functions*How to go from an idea to code*A clear, understandable explanation of pointers*Strings, file IO, arrays, references*Classes and advanced class design*C++-specific programming patterns*Object oriented programming*Data structures and the standard template library (STL)Key concepts are reinforced with quizzes and over 75 practice problems.

Structure and Interpretation of Computer Programs


Harold Abelson - 1984
    This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.

Life in Code: A Personal History of Technology


Ellen Ullman - 2017
    In 1997, she wroteClose to the Machine, the now classic and still definitive account of life as a coder at the birth of what would be a sweeping technological, cultural, and financial revolution.The intervening twenty years has seen, among other things, the rise of the Internet, the ubiquity of once unimaginably powerful computers, and the thorough transformation of our economy and society—as Ullman’s clique of socially awkward West Coast geeks became our new elite, elevated for and insulated by a technical mastery that few could achieve.In Life in Code, Ullman presents a series of essays that unlock and explain—and don’t necessarily celebrate—how we got to now, as only she can, with a fluency and expertise that’s unusual in someone with her humanistic worldview, and with the sharp insight and brilliant prose that are uniquely her own. Life in Code is an essential text toward our understanding of the last twenty years—and the next twenty.

Perl Cookbook


Tom Christiansen - 1998
    Perl Cookbook is a comprehensive collection of problems, solutions, and practical examples for anyone programming in Perl. The book contains hundreds of rigorously reviewed Perl "recipes" and thousands of examples ranging from brief one-liners to complete applications.The second edition of Perl Cookbook has been fully updated for Perl 5.8, with extensive changes for Unicode support, I/O layers, mod_perl, and new technologies that have emerged since the previous edition of the book. Recipes have been updated to include the latest modules. New recipes have been added to every chapter of the book, and some chapters have almost doubled in size.Covered topic areas include: • Manipulating strings, numbers, dates, arrays, and hashes • Pattern matching and text substitutions • References, data structures, objects, and classes • Signals and exceptions • Screen addressing, menus, and graphical applications • Managing other processes • Writing secure scripts • Client-server programming • Internet applications programming with mail, news, ftp, and telnet • CGI and mod_perl programming • Web programmingSince its first release in 1998, Perl Cookbook has earned its place in the libraries of serious Perl users of all levels of expertise by providing practical answers, code examples, and mini-tutorials addressing the challenges that programmers face. Now the second edition of this bestselling book is ready to earn its place among the ranks of favorite Perl books as well.Whether you're a novice or veteran Perl programmer, you'll find Perl Cookbook, 2nd Edition to be one of the most useful books on Perl available. Its comfortable discussion style and accurate attention to detail cover just about any topic you'd want to know about. You can get by without having this book in your library, but once you've tried a few of the recipes, you won't want to.