Compilers: Principles, Techniques, and Tools


Alfred V. Aho - 1986
    The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free grammars, fine state machines, and syntax-directed translation.

Getting Started with Arduino


Massimo Banzi - 2008
    Getting Started with Arduino gives you lots of ideas for Arduino projects and helps you get going on them right away. From getting organized to putting the final touches on your prototype, all the information you need is right in the book. Inside, you'll learn about:Interaction design and physical computing The Arduino hardware and software development environment Basics of electricity and electronics Prototyping on a solderless breadboard Drawing a schematic diagram And more. With inexpensive hardware and open-source software components that you can download free, getting started with Arduino is a snap. To use the introductory examples in this book, all you need is a USB Arduino, USB A-B cable, and an LED. Join the tens of thousands of hobbyists who have discovered this incredible (and educational) platform. Written by the co-founder of the Arduino project, with illustrations by Elisa Canducci, Getting Started with Arduino gets you in on the fun! This 128-page book is a greatly expanded follow-up to the author's original short PDF that's available on the Arduino website.

Get Your Hands Dirty on Clean Architecture: A hands-on guide to creating clean web applications with code examples in Java


Tom Hombergs - 2019
    

Writing Idiomatic Python 2.7.3


Jeff Knupp - 2013
    Each idiom comes with a detailed description, example code showing the "wrong" way to do it, and code for the idiomatic, "Pythonic" alternative. *This version of the book is for Python 2.7.3+. There is also a Python 3.3+ version available.* "Writing Idiomatic Python" contains the most common and important Python idioms in a format that maximizes identification and understanding. Each idiom is presented as a recommendation to write some commonly used piece of code. It is followed by an explanation of why the idiom is important. It also contains two code samples: the "Harmful" way to write it and the "Idiomatic" way. * The "Harmful" way helps you identify the idiom in your own code. * The "Idiomatic" way shows you how to easily translate that code into idiomatic Python. This book is perfect for you: * If you're coming to Python from another programming language * If you're learning Python as a first programming language * If you're looking to increase the readability, maintainability, and correctness of your Python code What is "Idiomatic" Python? Every programming language has its own idioms. Programming language idioms are nothing more than the generally accepted way of writing a certain piece of code. Consistently writing idiomatic code has a number of important benefits: * Others can read and understand your code easily * Others can maintain and enhance your code with minimal effort * Your code will contain fewer bugs * Your code will teach others to write correct code without any effort on your part

The Waite Group's Turbo C Programming for the PC


Robert Lafore - 1987
    Assuming no prior knowledge of C, this introductory-level book demonstrates and explains how to write useful and marketable programs in Turbo C on the IBM PC, XT, AT, and PC/Z computers.

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.""

Algorithmic Puzzles


Anany V. Levitin - 2011
    This logic extends far beyond the realm of computer science and into the wide and entertaining world of puzzles. In Algorithmic Puzzles, Anany and Maria Levitin use many classic brainteasers as well as newer examples from job interviews with major corporations to show readers how to apply analytical thinking to solve puzzles requiring well-defined procedures.The book's unique collection of puzzles is supplemented with carefully developed tutorials on algorithm design strategies and analysis techniques intended to walk the reader step-by-step through the various approaches to algorithmic problem solving. Mastery of these strategies--exhaustive search, backtracking, and divide-and-conquer, among others--will aid the reader in solving not only the puzzles contained in this book, but also others encountered in interviews, puzzle collections, and throughout everyday life. Each of the 150 puzzles contains hints and solutions, along with commentary onthe puzzle's origins and solution methods. The only book of its kind, Algorithmic Puzzles houses puzzles for all skill levels. Readers with only middle school mathematics will develop their algorithmic problem-solving skills through puzzles at the elementary level, while seasoned puzzle solvers will enjoy the challenge of thinking throughmore difficult puzzles.

Object Thinking


David West - 2004
    Delving into the history, philosophy, and even politics of object-oriented programming, West reveals how the best programmers rely on analysis and conceptualization on thinking rather than formal process and methods. Both provocative and pragmatic, this book gives form to what s primarily been an oral tradition among the field s revolutionary thinkers and it illustrates specific object-behavior practices that you can adopt for true object design and superior results.Gain an in-depth understanding of: Prerequisites and principles of object thinking. Object knowledge implicit in eXtreme Programming (XP) and Agile software development. Object conceptualization and modeling. Metaphors, vocabulary, and design for object development.Learn viable techniques for: Decomposing complex domains in terms of objects. Identifying object relationships, interactions, and constraints. Relating object behavior to internal structure and implementation design. Incorporating object thinking into XP and Agile practice."

plygs


Ed Kociela - 2012
    It's a story of justice, through fate and the legal system. It was hard to read for the mother of an independent daughter, but GOOD.”“As a father of daughters and growing up in the West in the shadows of the LDS Church, this book was as interesting as it was shocking. The author conveyed a firm grasp of the realities of polygamy and the details of a hidden culture outside of American mainstream right in our backyard; hidden by religious beliefs.”“’plygs’ is an extremely well-written piece of fact-based fiction. It is emotionally gripping, and once I started reading, I could not put it down. About polygamy, it steers away from the fake, glammed up version of the religious sect, given to the public by ‘Sister Wives’ and ‘Big Love.’ ‘plygs’ is the tough but honest truth. The characters become real to you as you read about the cruelty, the injustice, and the horrors inflicted upon them, and by them.”It wasn’t long, however, before controversy visited the book as members of various fundamentalist Mormon sects began a campaign to offset the acclaim the book was receiving by submitting negative reviews—some from sect members who had not even read the book—to the Amazon.com site to inhibit sales:“Kociela is not from the Plural subculture; neither does he claim an anthropological degree and years of ethnographic experience in studying the cultural subgroups of Southern Utah. And unfortunately, readers are implicated in the invisible assumption that Kociela's knowledge is pure rather than political.”“Most of this book is not true and this man who wrote it could not substantiate it in anyway (sic) with true documented facts. And I just feel bad for these people that people are believing this book to be of true facts and it is not.”“It’s an unfortunate slandery (sic) that will cause more harm to the victims then (sic) good. wouldn't (sic) recommend.”The book, however, is based on research the author undertook during his 16-year career as a newspaper reporter, columnist, and news editor in St. George, Utah, just 40 minutes from the community the book is based on. He interacted with members of the polygamous community as they shopped in the same stores, met women who were brave enough to escape from the lifestyle, wrote columns on the subject, and directed his news staff in a variety of stories that ranged from the worldwide manhunt for FLDS prophet.

Gamechanger: Forget Start-ups, Join Corporate and Still Live the Rich Life you want


M Pattabiraman - 2017
    "This book will change the outlook of those who read it." - Murali Vijay, Indian Cricketer "This book changed the way I looked at vacation planning and...I only wish that I had access to it at the start of my career." - Muthu Krishnan From the Author This step by step guide to your version of the Rich Life includes: - How your attitude toward money should move over from 'past looking' to 'future focusing' -How to find mistake fares to Europe, Pacific and Far East and make that extended 4-day weekend, Thai trip for under 10k INR - Years of research resulting in 40 resources of 'free and cheap accommodations' for vacations - Tried-and-tested scripts to negotiate down credit card, Dish TV, Phone and Internet Bills - How credit cards can help you lower home-loan payments - How to setup the cashflow, so that you can make Diwali, Birthdays and other repetitive expenditures, a breeze - How to make big purchases like a home or a car - a walk in the park - How to invest for your retirement with peanut money now - Enjoy guilt-free irrational spending while also being responsible over the future - Automate every part of your money-life If you are in a 9-5 and are even part-disgruntled, Gamechanger is going to be the turning point of your life

Murder In Miami: A Forest Pines Mystery


Duncan Whitehead - 2017
    The FBI claim they need her expertise; but is she just the bait? Meanwhile, as the killings continue, Jenny finds herself embroiled in a mystery involving the board members of a run down condo building in Fort Lauderdale.

The Queen's Vow (The Legend of Hooper's Dragons Book 2)


Gary J. Darby - 2016
    Though Vay, the Evil One tastes defeat, her rage and wrath only increases. She thirsts for revenge and vows to find Hooper, the Gem Guardian and Golden Wind to reclaim the golden dragon, and deal death to Hooper for daring to challenge her. The quest continues in book two, Queen’s Vow, as the company seeks a safe haven from Vay’s wrath. But there is no sanctuary. They are the hunted, the pursued. Outcast from all they know, they feel the heavy weight of the condemned just waiting for Death to write the last sentence in their book of life. As the company flees from Vay’s tempest, even Hooper has to question whether one dragon is worth the pain and suffering. Indeed, is a dragon worth dying for, or for that matter, is there ever any one thing worth the ultimate price? For Hooper, it may well be the question that decides his ultimate fate.

Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency


Tom DeMarco - 2001
    That principle is the value of slack, the degree of freedom in a company that allows it to change. Implementing slack could be as simple as adding an assistant to a department and letting high-priced talent spend less time at the photocopier and more time making key decisions, or it could mean designing workloads that allow people room to think, innovate, and reinvent themselves. It means embracing risk, eliminating fear, and knowing when to go slow. Slack allows for change, fosters creativity, promotes quality, and, above all, produces growth. With an approach that works for new- and old-economy companies alike, this revolutionary handbook debunks commonly held assumptions about real-world management, and gives you and your company a brand-new model for achieving and maintaining true effectiveness.

Reactive Design Patterns


Roland Kuhn - 2014
    The Reactive Application model addresses these demands through new patterns designed to "react" effectively to user and system events, changes in load, competition for shared system resources, and unanticipated failures. Although reactive design patterns can be implemented using standard enterprise development tools, you best realize the benefits when you pair them with a functional programming language like Scala and an Actor-based concurrency system like Akka.Reactive Design Patterns is a clearly-written guide for building event-driven distributed systems that are resilient, responsive, and scalable. Written by the authors of the Reactive Manifesto, this book teaches you to apply reactive design principles to the real problems of distributed application development. You'll discover technologies and paradigms that can be used to build reactive applications including Akka and other actor-based systems, functional programming, replication and distribution, and implementation techniques such as futures, iteratees, and reactive streams. While the book presents concrete examples in Scala, Java, JavaScript, and Erlang, the primary goal is to introduce patterns and best practices that you can use to apply reactive principles to common problems you'll face when building distributed systems.WHAT'S INSIDE* Discover best practices and patterns for building responsive applications* Build applications that can withstand hardware or software failure at any level* Patterns for fault tolerance, scalability, and responsiveness* Maximize multicore hardware using asynchronous and event-driven solutions* Scale applications under tremendous loadReaders should be familiar with a standard programming language like Java, C++ or C# and be comfortable with the basics of distributed systems. Software engineers and architects will learn how to avoid common pitfalls and apply patterns for solving day-to-day problems in a fault-tolerant and scalable way to maximize their application's responsiveness to users and clients. Project leaders and CTOs will gain a deeper understanding of the philosophy behind resilience and scalability in distributed systems, as well as their limitations, challenges and benefits.

Programming Clojure


Stuart Halloway - 2009
    Clojure's clean, careful design lets you write programs that get right to the essence of a problem, without a lot of clutter and ceremony. Clojure is Lisp reloaded. Clojure has the power inherent in Lisp, but is not constrained by the history of Lisp. Clojure is a functional language. Data structures are immutable, and functions tend to be side-effect free. This makes it easier to write correct programs, and to compose large programs from smaller ones. Clojure is concurrent. Rather than error-prone locking, Clojure provides software transactional memory. Clojure embraces Java. Calling from Clojure to Java is direct, and goes through no translation layer. Clojure is fast. Wherever you need it, you can get the exact same performance that you could get from hand-written Java code. Many other languages offer some of these features, but the combination of them all makes Clojure sparkle. Programming Clojure shows you why these features are so important, and how you can use Clojure to build powerful programs quickly.