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.

The Functional Art: An Introduction to Information Graphics and Visualization


Alberto Cairo - 2011
    With the right tools, we can start to make sense of all this data to see patterns and trends that would otherwise be invisible to us. By transforming numbers into graphical shapes, we allow readers to understand the stories those numbers hide. In this practical introduction to understanding and using information graphics, you'll learn how to use data visualizations as tools to see beyond lists of numbers and variables and achieve new insights into the complex world around us. Regardless of the kind of data you're working with-business, science, politics, sports, or even your own personal finances-this book will show you how to use statistical charts, maps, and explanation diagrams to spot the stories in the data and learn new things from it.You'll also get to peek into the creative process of some of the world's most talented designers and visual journalists, including Conde Nast Traveler's John Grimwade, National Geographic Magazine's Fernando Baptista, The New York Times' Steve Duenes, The Washington Post's Hannah Fairfield, Hans Rosling of the Gapminder Foundation, Stanford's Geoff McGhee, and European superstars Moritz Stefaner, Jan Willem Tulp, Stefanie Posavec, and Gregor Aisch. The book also includes a DVD-ROM containing over 90 minutes of video lessons that expand on core concepts explained within the book and includes even more inspirational information graphics from the world's leading designers.The first book to offer a broad, hands-on introduction to information graphics and visualization, The Functional Art reveals:- Why data visualization should be thought of as "functional art" rather than fine art - How to use color, type, and other graphic tools to make your information graphics more effective, not just better looking - The science of how our brains perceive and remember information - Best practices for creating interactive information graphics - A comprehensive look at the creative process behind successful information graphics - An extensive gallery of inspirational work from the world's top designers and visual artistsOn the DVD-ROM: In this introductory video course on information graphics, Alberto Cairo goes into greater detail with even more visual examples of how to create effective information graphics that function as practical tools for aiding perception. You'll learn how to: incorporate basic design principles in your visualizations, create simple interfaces for interactive graphics, and choose the appropriate type of graphic forms for your data. Cairo also deconstructs successful information graphics from The New York Times and National Geographic magazine with sketches and images not shown in the book.

Running Lean: Iterate from Plan A to a Plan That Works


Ash Maurya - 2012
    We’re building more products than ever before, but most of them fail—not because we can’t complete what we set out to build, but because we waste time, money, and effort building the wrong product.What we need is a systematic process for quickly vetting product ideas and raising our odds of success. That’s the promise of Running Lean.In this inspiring book, Ash Maurya takes you through an exacting strategy for achieving a "product/market fit" for your fledgling venture, based on his own experience in building a wide array of products from high-tech to no-tech. Throughout, he builds on the ideas and concepts of several innovative methodologies, including the Lean Startup, Customer Development, and bootstrapping.Running Lean is an ideal tool for business managers, CEOs, small business owners, developers and programmers, and anyone who’s interested in starting a business project.Find a problem worth solving, then define a solutionEngage your customers throughout the development cycleContinually test your product with smaller, faster iterationsBuild a feature, measure customer response, and verify/refute the ideaKnow when to "pivot" by changing your plan’s courseMaximize your efforts for speed, learning, and focusLearn the ideal time to raise your "big round" of fundingGet on track with The Lean Series Presented by Eric Ries—bestselling author of The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses—The Lean Series gives you solid footing in a proven methodology that will help your business succeed.

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

101 Design Methods: A Structured Approach for Driving Innovation in Your Organization


Vijay Kumar - 2012
    Strategists, managers, designers, and researchers who undertake the challenge of innovation, despite a lack of established procedures and a high risk of failure, will find this an invaluable resource. Novices can learn from it; managers can plan with it; and practitioners of innovation can improve the quality of their work by referring to it.

The Sketchnote Handbook: The Illustrated Guide to Visual Note Taking


Mike Rohde - 2012
    Author Mike Rohde shows you how to incorporate sketchnoting techniques into your note-taking process--regardless of your artistic abilities--to help you better process the information that you are hearing and seeing through drawing, and to actually have fun taking notes. The Sketchnote Handbook explains and illustrates practical sketchnote techniques for taking visual notes at your own pace as well as in real time during meetings and events. Rhode also addresses most people's fear of drawing by showing, step-by-step, how to quickly draw people, faces, type, and simple objects for effective and fast sketchnoting. The book looks like a peek into the author's private sketchnote journal, but it functions like a beginner's guide to sketchnoting with easy-to-follow instructions for drawing out your notes that will leave you itching to attend a meeting just so you can draw about it.

Change by Design: How Design Thinking Transforms Organizations and Inspires Innovation


Tim Brown - 2009
    The reality is that most innovations come from a process of rigorous examination through which great ideas are identified and developed before being realized as new offerings and capabilities.This book introduces the idea of design thinking‚ the collaborative process by which the designer′s sensibilities and methods are employed to match people′s needs not only with what is technically feasible and a viable business strategy. In short‚ design thinking converts need into demand. It′s a human−centered approach to problem solving that helps people and organizations become more innovative and more creative.Design thinking is not just applicable to so−called creative industries or people who work in the design field. It′s a methodology that has been used by organizations such as Kaiser Permanente to icnrease the quality of patient care by re−examining the ways that their nurses manage shift change‚ or Kraft to rethink supply chain management. This is not a book by designers for designers; this is a book for creative leaders seeking to infuse design thinking into every level of an organization‚ product‚ or service to drive new alternatives for business and society.

JavaScript: The Good Parts


Douglas Crockford - 2008
    This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole--a subset you can use to create truly extensible and efficient code.Considered the JavaScript expert by many people in the development community, author Douglas Crockford identifies the abundance of good ideas that make JavaScript an outstanding object-oriented programming language-ideas such as functions, loose typing, dynamic objects, and an expressive object literal notation. Unfortunately, these good ideas are mixed in with bad and downright awful ideas, like a programming model based on global variables.When Java applets failed, JavaScript became the language of the Web by default, making its popularity almost completely independent of its qualities as a programming language. In JavaScript: The Good Parts, Crockford finally digs through the steaming pile of good intentions and blunders to give you a detailed look at all the genuinely elegant parts of JavaScript, including:SyntaxObjectsFunctionsInheritanceArraysRegular expressionsMethodsStyleBeautiful featuresThe real beauty? As you move ahead with the subset of JavaScript that this book presents, you'll also sidestep the need to unlearn all the bad parts. Of course, if you want to find out more about the bad parts and how to use them badly, simply consult any other JavaScript book.With JavaScript: The Good Parts, you'll discover a beautiful, elegant, lightweight and highly expressive language that lets you create effective code, whether you're managing object libraries or just trying to get Ajax to run fast. If you develop sites or applications for the Web, this book is an absolute must.

UX Research: Practical Techniques for Designing Better Products


Brad Nunnally - 2016
    But there's often mystery around product research, with the feeling that you need to be a research Zen master to gather anything useful. Fact is, anyone can conduct product research. With this quick reference guide, you'll learn a common language and set of tools to help you carry out research in an informed and productive manner.This book contains four sections, including a brief introduction to UX research, planning and preparation, facilitating research, and analysis and reporting. Each chapter includes a short exercise so you can quickly apply what you've learned.Learn what it takes to ask good research questionsKnow when to use quantitative and qualitative research methodsExplore the logistics and details of coordinating a research sessionUse softer skills to make research seem natural to participantsLearn tools and approaches to uncover meaning in your raw dataCommunicate your findings with a framework and structure

Get Agile!: Scrum for UX, Design & Development


Pieter Jongerius - 2013
    This manual is aimed at everyone who works on interactive products in a design and development environment. It contains all of the basic information required for getting started with the project management method Scrum, but also offers a number of in-depth chapters looking at topics which even the most experienced Scrummers have trouble with on a daily basis. If you are experienced, you will find the advanced tips and tricks useful. If you are just considering Scrum, this book will most certainly get you enthusiastic.

Eloquent JavaScript: A Modern Introduction to Programming


Marijn Haverbeke - 2010
    I loved the tutorial-style game-like program development. This book rekindled my earliest joys of programming. Plus, JavaScript!" —Brendan Eich, creator of JavaScriptJavaScript is the language of the Web, and it's at the heart of every modern website from the lowliest personal blog to the mighty Google Apps. Though it's simple for beginners to pick up and play with, JavaScript is not a toy—it's a flexible and complex language, capable of much more than the showy tricks most programmers use it for.Eloquent JavaScript goes beyond the cut-and-paste scripts of the recipe books and teaches you to write code that's elegant and effective. You'll start with the basics of programming, and learn to use variables, control structures, functions, and data structures. Then you'll dive into the real JavaScript artistry: higher-order functions, closures, and object-oriented programming.Along the way you'll learn to:Master basic programming techniques and best practices Harness the power of functional and object-oriented programming Use regular expressions to quickly parse and manipulate strings Gracefully deal with errors and browser incompatibilities Handle browser events and alter the DOM structure Most importantly, Eloquent JavaScript will teach you to express yourself in code with precision and beauty. After all, great programming is an art, not a science—so why settle for a killer app when you can create a masterpiece?

Think Like a Programmer: An Introduction to Creative Problem Solving


V. Anton Spraul - 2012
    In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer. Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You'll also learn how to:Split problems into discrete components to make them easier to solve Make the most of code reuse with functions, classes, and libraries Pick the perfect data structure for a particular job Master more advanced programming tools like recursion and dynamic memory Organize your thoughts and develop strategies to tackle particular types of problems Although the book's examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science. As the most skillful programmers know, writing great code is a creative art—and the first step in creating your masterpiece is learning to Think Like a Programmer.

Gamestorming: A Playbook for Innovators, Rule-breakers, and Changemakers


Dave Gray - 2010
    But creating an environment for creative thinking and innovation can be a daunting challenge. How can you make it happen at your company? The answer may surprise you: gamestorming.This book includes more than 80 games to help you break down barriers, communicate better, and generate new ideas, insights, and strategies. The authors have identified tools and techniques from some of the world's most innovative professionals, whose teams collaborate and make great things happen. This book is the result: a unique collection of games that encourage engagement and creativity while bringing more structure and clarity to the workplace. Find out why -- and how -- with Gamestorming.Overcome conflict and increase engagement with team-oriented gamesImprove collaboration and communication in cross-disciplinary teams with visual-thinking techniquesImprove understanding by role-playing customer and user experiencesGenerate better ideas and more of them, faster than ever beforeShorten meetings and make them more productiveSimulate and explore complex systems, interactions, and dynamicsIdentify a problem's root cause, and find the paths that point toward a solution

Infographics


Jason Lankow - 2012
    Visual content--such as infographics and data visualization--can accomplish this. With DIY functionality, Infographics: The Power of Visual Storytelling will teach you how to find stories in your data, and how to visually communicate and share them with your audience for maximum impact.Infographics will show you the vast potential to using the communication medium as a marketing tool by creating informative and shareable infographic content.Learn how to explain an object, idea, or process using strong illustration that captures interest and provides instant clarity Discover how to unlock interesting stories (in previously buried or boring data) and turn them into visual communications that will help build brands and increase sales Use the power of visual content to communicate with and engage your audience, capture attention, and expand your market.

Learning Java


Patrick Niemeyer - 1996
    With Java 5.0, you'll not only find substantial changes in the platform, but to the language itself-something that developers of Java took five years to complete. The main goal of Java 5.0 is to make it easier for you to develop safe, powerful code, but none of these improvements makes Java any easier to learn, even if you've programmed with Java for years. And that means our bestselling hands-on tutorial takes on even greater significance."Learning Java" is the most widely sought introduction to the programming language that's changed the way we think about computing. Our updated third edition takes an objective, no-nonsense approach to the new features in Java 5.0, some of which are drastically different from the way things were done in any previous versions. The most essential change is the addition of "generics," a feature that allows developers to write, test, and deploy code once, and then reuse the code again and again for different data types. The beauty of generics is that more problems will be caught during development, and "Learning Java" will show you exactly how it's done.Java 5.0 also adds more than 1,000 new classes to the Java library. That means 1,000 new things you can do without having to program it in yourself. That's a huge change. With our book's practical examples, you'll come up to speed quickly on this and other new features such as loops and threads. The new edition also includes an introduction to Eclipse, the open source IDE that is growing in popularity. "Learning Java," 3rd Edition addresses all of the important uses of Java, such as web applications, servlets, and XML that are increasingly driving enterprise applications.