Book picks similar to
Press on: Principles of Interaction Programming by Harold Thimbleby


human-computer-interaction
ux-дизайн
coding
data-sci-viz

Agile Software Development, Principles, Patterns, and Practices


Robert C. Martin - 2002
    The author incudes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java. Using a practical, problem-solving approach, it shows how to develop an object-oriented application -- from the early stages of analysis, through the low-level design and into the implementation. Walks readers through the designer's thoughts -- showing the errors, blind alleys, and creative insights that occur throughout the software design process. KEY TOPICS: Covers: Statics and Dynamics; Principles of Class Design; Complexity Management; Principles of Package Design; Analysis and Design; Patterns and Paradigm Crossings. Explains the principles of OOD, one by one, and then demonstrates them with numerous examples, completely worked-through designs, and case studies. Covers traps, pitfalls, and work arounds in the application of C++ and OOD and then shows how Agile methods can be used. Discusses the methods for designing and developing big software in detail. Features a three-chapter, in-depth, single case study of a building security system. MARKET: For Software Engineers, Programmers, and Analysts who want to understand how to design object oriented software with state of the art methods.

Lauren Ipsum


Carlos Bueno - 2011
    If the idea of a computer science book without computers upsets you, please close your eyes until you’ve finished reading the rest of this page.The truth is that computer science is not really about the computer. It is just a tool to help you see ideas more clearly. You can see the moon and stars without a telescope, smell the flowers without a fluoroscope, have fun without a funoscope, and be silly sans oscilloscope.You can also play with computer science without... you-know-what. Ideas are the real stuff of computer science. This book is about those ideas, and how to find them.

User-Centered Design: A Developer's Guide to Building User-Friendly Applications


Travis Lowdermilk - 2013
    With practical guidelines and insights from his own experience, author Travis Lowdermilk shows you how usability and user-centered design will dramatically change the way your application interacts with people.You’ll learn valuable strategies for conducting each stage of the design process, from interviewing likely users and discovering your application’s purpose to creating a rich user experience with sound design principles. User-Centered Design is invaluable no matter what platform you use or audience you target.- Explore usability and how it relates to user-centered design- Learn how to deal with users and their unique personalities- Clarify your application’s purpose, using a simple narrative to describe its use- Plan your project’s development with a software development life cycle- Be creative within the context of your user experience goals- Use visibility, consistency, and other design principles to enhance user experience- Gain user feedback of your prototype with surveys, interviews, and usability studies

The Making of Karateka


Jordan Mechner - 2012
    This first volume is a candid account of the personal, creative and technical struggles that led to his breakthrough success with Karateka, which topped bestseller charts in 1985, and planted the seeds of his next game, Prince of Persia.

How to Lie with Maps


Mark Monmonier - 1991
    Monmonier shows that, despite their immense value, maps lie. In fact, they must.The second edition is updated with the addition of two new chapters, 10 color plates, and a new foreword by renowned geographer H. J. de Blij. One new chapter examines the role of national interest and cultural values in national mapping organizations, including the United States Geological Survey, while the other explores the new breed of multimedia, computer-based maps.To show how maps distort, Monmonier introduces basic principles of mapmaking, gives entertaining examples of the misuse of maps in situations from zoning disputes to census reports, and covers all the typical kinds of distortions from deliberate oversimplifications to the misleading use of color."Professor Monmonier himself knows how to gain our attention; it is not in fact the lies in maps but their truth, if always approximate and incomplete, that he wants us to admire and use, even to draw for ourselves on the facile screen. His is an artful and funny book, which like any good map, packs plenty in little space."—Scientific American"A useful guide to a subject most people probably take too much for granted. It shows how map makers translate abstract data into eye-catching cartograms, as they are called. It combats cartographic illiteracy. It fights cartophobia. It may even teach you to find your way. For that alone, it seems worthwhile."—Christopher Lehmann-Haupt, The New York Times". . . witty examination of how and why maps lie. [The book] conveys an important message about how statistics of any kind can be manipulated. But it also communicates much of the challenge, aesthetic appeal, and sheer fun of maps. Even those who hated geography in grammar school might well find a new enthusiasm for the subject after reading Monmonier's lively and surprising book."—Wilson Library Bulletin"A reading of this book will leave you much better defended against cheap atlases, shoddy journalism, unscrupulous advertisers, predatory special-interest groups, and others who may use or abuse maps at your expense."—John Van Pelt, Christian Science Monitor"Monmonier meets his goal admirably. . . . [His] book should be put on every map user's 'must read' list. It is informative and readable . . . a big step forward in helping us to understand how maps can mislead their readers."—Jeffrey S. Murray, Canadian Geographic

Real World OCaml: Functional programming for the masses


Yaron Minsky - 2013
    Through the book’s many examples, you’ll quickly learn how OCaml stands out as a tool for writing fast, succinct, and readable systems code.Real World OCaml takes you through the concepts of the language at a brisk pace, and then helps you explore the tools and techniques that make OCaml an effective and practical tool. In the book’s third section, you’ll delve deep into the details of the compiler toolchain and OCaml’s simple and efficient runtime system.Learn the foundations of the language, such as higher-order functions, algebraic data types, and modulesExplore advanced features such as functors, first-class modules, and objectsLeverage Core, a comprehensive general-purpose standard library for OCamlDesign effective and reusable libraries, making the most of OCaml’s approach to abstraction and modularityTackle practical programming problems from command-line parsing to asynchronous network programmingExamine profiling and interactive debugging techniques with tools such as GNU gdb

In the Beginning...Was the Command Line


Neal Stephenson - 1999
    And considering that the "one man" is Neal Stephenson, "the hacker Hemingway" (Newsweek) -- acclaimed novelist, pragmatist, seer, nerd-friendly philosopher, and nationally bestselling author of groundbreaking literary works (Snow Crash, Cryptonomicon, etc., etc.) -- the word is well worth hearing. Mostly well-reasoned examination and partial rant, Stephenson's In the Beginning... was the Command Line is a thoughtful, irreverent, hilarious treatise on the cyber-culture past and present; on operating system tyrannies and downloaded popular revolutions; on the Internet, Disney World, Big Bangs, not to mention the meaning of life itself.

Program or Be Programmed: Ten Commands for a Digital Age


Douglas Rushkoff - 2010
    But for all the heat of claim and counter-claim, the argument is essentially beside the point: it’s here; it’s everywhere. The real question is, do we direct technology, or do we let ourselves be directed by it and those who have mastered it? “Choose the former,” writes Rushkoff, “and you gain access to the control panel of civilization. Choose the latter, and it could be the last real choice you get to make.” In ten chapters, composed of ten “commands” accompanied by original illustrations from comic artist Leland Purvis, Rushkoff provides cyberenthusiasts and technophobes alike with the guidelines to navigate this new universe.In this spirited, accessible poetics of new media, Rushkoff picks up where Marshall McLuhan left off, helping readers come to recognize programming as the new literacy of the digital age––and as a template through which to see beyond social conventions and power structures that have vexed us for centuries. This is a friendly little book with a big and actionable message. World-renowned media theorist and counterculture figure Douglas Rushkoff is the originator of ideas such as “viral media,” “social currency” and “screenagers.” He has been at the forefront of digital society from its beginning, correctly predicting the rise of the net, the dotcom boom and bust, as well as the current financial crisis. He is a familiar voice on NPR, face on PBS, and writer in publications from Discover Magazine to the New York Times.“Douglas Rushkoff is one of the great thinkers––and writers––of our time.” —Timothy Leary“Rushkoff is damn smart. As someone who understood the digital revolution faster and better than almost anyone, he shows how the internet is a social transformer that should change the way your business culture operates." —Walter Isaacson

The Passionate Programmer


Chad Fowler - 2009
    In this book, you'll learn how to become an entrepreneur, driving your career in the direction of your choosing. You'll learn how to build your software development career step by step, following the same path that you would follow if you were building, marketing, and selling a product. After all, your skills themselves are a product. The choices you make about which technologies to focus on and which business domains to master have at least as much impact on your success as your technical knowledge itself--don't let those choices be accidental. We'll walk through all aspects of the decision-making process, so you can ensure that you're investing your time and energy in the right areas. You'll develop a structured plan for keeping your mind engaged and your skills fresh. You'll learn how to assess your skills in terms of where they fit on the value chain, driving you away from commodity skills and toward those that are in high demand. Through a mix of high-level, thought-provoking essays and tactical "Act on It" sections, you will come away with concrete plans you can put into action immediately. You'll also get a chance to read the perspectives of several highly successful members of our industry from a variety of career paths. As with any product or service, if nobody knows what you're selling, nobody will buy. We'll walk through the often-neglected world of marketing, and you'll create a plan to market yourself both inside your company and to the industry in general. Above all, you'll see how you can set the direction of your career, leading to a more fulfilling and remarkable professional life.

The Little Schemer


Daniel P. Friedman - 1974
    The authors' enthusiasm for their subject is compelling as they present abstract concepts in a humorous and easy-to-grasp fashion. Together, these books will open new doors of thought to anyone who wants to find out what computing is really about. The Little Schemer introduces computing as an extension of arithmetic and algebra; things that everyone studies in grade school and high school. It introduces programs as recursive functions and briefly discusses the limits of what computers can do. The authors use the programming language Scheme, and interesting foods to illustrate these abstract ideas. The Seasoned Schemer informs the reader about additional dimensions of computing: functions as values, change of state, and exceptional cases. The Little LISPer has been a popular introduction to LISP for many years. It had appeared in French and Japanese. The Little Schemer and The Seasoned Schemer are worthy successors and will prove equally popular as textbooks for Scheme courses as well as companion texts for any complete introductory course in Computer Science.

Modern Vim: Craft Your Development Environment with Vim 8 and Neovim


Drew Neil - 2018
    Integrate your editor with tools for building, testing, linting, indexing, and searching your codebase. Discover the future of Vim with Neovim: a fork of Vim that includes a built-in terminal emulator that will transform your workflow. Whether you choose to switch to Neovim or stick with Vim 8, you’ll be a better developer.A serious tool for programmers and web developers, no other text editor comes close to Vim for speed and efficiency. Make Vim the centerpiece of a Unix-based IDE as you discover new ways to work with Vim 8 and Neovim in more than 30 hands-on tips.Execute tasks asynchronously, allowing you to continue in Vim while linting, grepping, building a project, or running a test suite. Install plugins to be loaded on startup—or on-demand when you need them—with Vim 8’s new package support. Save and restore sessions, enabling you to quit Vim and restart again while preserving your window layout and undo history. Use Neovim as a drop-in replacement for Vim—it supports all of the features Vim 8 offers and more, including an integrated terminal that lets you quickly perform interactive commands. And if you enjoy using tmux and Vim together, you’ll love Neovim’s terminal emulator, which lets you run an interactive shell in a buffer. The terminal buffers fit naturally with Vim’s split windows, and you can use Normal mode commands to scroll, search, copy, and paste. On top of all that: Neovim’s terminal buffers are scriptable.With Vim at the core of your development environment, you’ll become a faster and more efficient developer.

Beautiful Security: Leading Security Experts Explain How They Think (Theory In Practice, #28)


Andy Oram - 2009
    Criminals succeed by exercising enormous creativity, and those defending against them must do the same.Beautiful Security explores this challenging subject with insightful essays and analysis on topics that include:The underground economy for personal information: how it works, the relationships among criminals, and some of the new ways they pounce on their prey How social networking, cloud computing, and other popular trends help or hurt our online security How metrics, requirements gathering, design, and law can take security to a higher level The real, little-publicized history of PGP This book includes contributions from:Peiter "Mudge" Zatko Jim Stickley Elizabeth Nichols Chenxi Wang Ed Bellis Ben Edelman Phil Zimmermann and Jon Callas Kathy Wang Mark Curphey John McManus James Routh Randy V. Sabett Anton Chuvakin Grant Geyer and Brian Dunphy Peter Wayner Michael Wood and Fernando Francisco All royalties will be donated to the Internet Engineering Task Force (IETF).

The Red Atlas: How the Soviet Union Secretly Mapped the World


John Davies - 2017
    Revealing how this was possible, The Red Atlas is the never-before-told story of the most comprehensive mapping endeavor in history and the surprising maps that resulted. From 1950 to 1990, the Soviet Army conducted a global topographic mapping program, creating large-scale maps for much of the world that included a diversity of detail that would have supported a full range of military planning. For big cities like New York, DC, and London to towns like Pontiac, MI and Galveston, TX, the Soviets gathered enough information to create street-level maps. What they chose to include on these maps can seem obvious like locations of factories and ports, or more surprising, such as building heights, road widths, and bridge capacities. Some of the detail suggests early satellite technology, while other specifics, like detailed depictions of depths and channels around rivers and harbors, could only have been gained by actual Soviet feet on the ground. The Red Atlas  includes over 350 extracts from these incredible Cold War maps, exploring their provenance and cartographic techniques as well as what they can tell us about their makers and the Soviet initiatives that were going on all around us. A fantastic historical document of an era that sometimes seems less distant, The Red Atlas offers an uncanny view of the world through the eyes of Soviet strategists and spies.

Robots, Robots Everywhere


Sue Fliess - 2013
    . .So begins this rollicking Little Golden Book featuring robots of all kinds, from ones up in space to the ones we use at home. With bold, colorful artwork by award-winner Bob Staake, it's a perfect introduction to the fascinating subject of today's real robots!

Effective Python: 59 Specific Ways to Write Better Python


Brett Slatkin - 2015
    This makes the book random-access: Items are easy to browse and study in whatever order the reader needs. I will be recommending "Effective Python" to students as an admirably compact source of mainstream advice on a very broad range of topics for the intermediate Python programmer. " Brandon Rhodes, software engineer at Dropbox and chair of PyCon 2016-2017" It s easy to start coding with Python, which is why the language is so popular. However, Python s unique strengths, charms, and expressiveness can be hard to grasp, and there are hidden pitfalls that can easily trip you up. " Effective Python " will help you master a truly Pythonic approach to programming, harnessing Python s full power to write exceptionally robust and well-performing code. Using the concise, scenario-driven style pioneered in Scott Meyers best-selling "Effective C++, " Brett Slatkin brings together 59 Python best practices, tips, and shortcuts, and explains them with realistic code examples. Drawing on years of experience building Python infrastructure at Google, Slatkin uncovers little-known quirks and idioms that powerfully impact code behavior and performance. You ll learn the best way to accomplish key tasks, so you can write code that s easier to understand, maintain, and improve. Key features includeActionable guidelines for all major areas of Python 3.x and 2.x development, with detailed explanations and examples Best practices for writing functions that clarify intention, promote reuse, and avoid bugs Coverage of how to accurately express behaviors with classes and objects Guidance on how to avoid pitfalls with metaclasses and dynamic attributes More efficient approaches to concurrency and parallelism Better techniques and idioms for using Python s built-in modules Tools and best practices for collaborative development Solutions for debugging, testing, and optimization in order to improve quality and performance "